Получение данных из REST API
Специальное предложение: скидка 50% (115 200 рублей) на ODataDB Enterprise до 24 июня 2024

Получение данных из REST API

Пользователи могут подключаться к источникам REST API используя мастер подключения к данным.

Разработчики могут настроить подключения REST API в таблице xls.objects или представлениях списков запросов, чтобы предоставить пользователям возможность подключения без дополнительных шагов по настройке.

Пользователи в этом случае должны подключаться к базе данных, а не напрямую к сервису.

Ниже приведен формат настройки для таблицы xls.objects:

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_OBJECTUPDATE_OBJECTDELETE_OBJECT
 <schema><name>HTTP<select command>

Ниже приведен формат настройки для представления списка запросов:

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_PROCEDUREUPDATE_PROCEDUREDELETE_PROCEDUREPROCEDURE_TYPE
 <schema><name>HTTP<select command>

В таблицы приведен пример настройки для ZohoCRM:

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_OBJECTUPDATE_OBJECTDELETE_OBJECT
 ZohoCRMAccountsHTTPhttps://www.zohoapis.com/crm/v2/Accounts
 ZohoCRMContactsHTTPhttps://www.zohoapis.com/crm/v2/Contacts
 ZohoCRMLeadsHTTPhttps://www.zohoapis.com/crm/v2/Leads

Пример содержит три настроенных объекта в схеме ZohoCRM: Accounts, Contacts, and Leads.

Поле TABLE_CODE содержит URL для загрузки данных.

Другие поля могут содержать форматы команд REST API для добавления, изменения и удаления данных. См. Сохранение данных по REST API.

Объекты REST API имеют тип HTTP, как и объекты получения данных из веб.

Однако, следует иметь ввиду несколько важных различий:

  1. REST API возвращает типизированный JSON или XML, тогда как для объектов веб обычно требуется специфическое извлечение данных.
  2. REST API поддерживает сохранение изменений.
  3. REST API обычно требует аутентификацию пользователя.
  4. REST API может поддерживать постраничную выдачу данных.
  5. REST API может поддерживать операции SELECT, WHERE, GROUP BY и ORDER BY на уровне сервиса.

Для обработки типизированных данных, надстройка использует специальный парсер. Для его использования добавьте параметр парсера ApiResult=true.

Например:

https://www.zohoapis.com/crm/v2/Contacts;ApiResult=true

Чтобы узнать, как настроить сохранение изменений, см. Сохранение данных по REST API.

Чтобы узнать больше об аутентификации, см. HTTP-аутентификация.

Чтобы загрузить все страницы данных, используйте специальную вставку {$page} как значение параметра страницы. Надстройка будет автоматически увеличивать номер страницы и делать новый запрос, если данные текущей страницы получены.

Например:

https://www.zohoapis.com/crm/v2/Contacts?page={$page};ApiResult=true

В URL можно добавить любые другие параметры, которые поддерживаются API сервиса.

SaveToDB 10 позволяет настроить колонки, которые определены для API, в таблице xls.columns.

В этом случае, надстройка будет позволять пользователям выбирать колонки для вывода в мастере подключения.

Например, если пользователь выберет поля ID, First_Name и Last_Name, то надстройка сгенерирует команду

SELECT ID, First_Name, Last_Name FROM [https://www.zohoapis.com/crm/v2/Contacts?page={$page};ApiResult=true]

В этом случае будут загружены все данные, однако в Excel будут вставлены только выбранные колонки.

В URL можно использовать вставку {$select_fields}, чтобы передать список выбранных полей.

Например:

https://www.zohoapis.com/crm/v2/Contacts?fields={$select_fields}&page={$page};ApiResult=true

В приведенном примере, надстройка сгенерирует команду:

SELECT ID, First_Name, Last_Name FROM [https://www.zohoapis.com/crm/v2/Contacts?fields=ID,First_Name,Last_Name&page={$page};ApiResult=true]

В результате сервис вернет только те поля, которые требуются, с экономией трафика и времени.

Если пользователь выберет все колонки, то надстройка удалит параметр списка полей, и команда будет выглядеть как

https://www.zohoapis.com/crm/v2/Contacts?page={$page};ApiResult=true

См. также: