Получение данных из REST API
Пользователи могут подключаться к источникам REST API с помощью мастера подключения к данным.
Разработчики могут настроить подключения REST API в таблице xls.objects или представлениях списков запросов, чтобы предоставить пользователям возможность подключения без дополнительных шагов настройки.
В этом случае пользователи должны подключаться к базе данных, а не напрямую к сервису.
Ниже приведен формат настройки для таблицы xls.objects:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
<schema> | <name> | HTTP | <select command> |
Ниже приведен формат настройки для представления списка запросов:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_PROCEDURE | UPDATE_PROCEDURE | DELETE_PROCEDURE | PROCEDURE_TYPE |
---|---|---|---|---|---|---|---|---|
<schema> | <name> | HTTP | <select command> |
Пример настройки для ZohoCRM:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
ZohoCRM | Accounts | HTTP | https://www.zohoapis.com/crm/v2/Accounts | ||||
ZohoCRM | Contacts | HTTP | https://www.zohoapis.com/crm/v2/Contacts | ||||
ZohoCRM | Leads | HTTP | https://www.zohoapis.com/crm/v2/Leads |
Этот пример содержит три настроенных объекта в схеме ZohoCRM: Accounts, Contacts и Leads.
Поле TABLE_CODE содержит URL для загрузки данных.
Другие поля могут содержать форматы команд REST API для добавления, изменения и удаления данных. См. Сохранение данных по REST API.
Объекты REST API имеют тип HTTP, как и объекты получения данных из веб.
Однако есть несколько важных различий:
- REST API возвращает типизированный JSON или XML, тогда как для объектов веб обычно требуется специфическое извлечение данных.
- REST API поддерживает сохранение изменений.
- REST API обычно требует аутентификацию пользователя.
- REST API может поддерживать постраничную выдачу данных.
- 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
См. также: