Сохранение данных по REST API
Надстройка SaveToDB поддерживает сохранение изменений для сервисов OData и приложения DBGate из коробки.
Пользователи могут настроить сохранение для других сервисов 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> | <insert command> | <update command> | <delete command> |
Ниже приведен формат для представления списка запросов:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_PROCEDURE | UPDATE_PROCEDURE | DELETE_PROCEDURE | PROCEDURE_TYPE |
---|---|---|---|---|---|---|---|---|
<schema> | <name> | HTTP | <select command> | <insert command> | <update command> | <delete 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 | POST {$url}
{"data":[{@json_row_values}]} | PUT {$url}/{id}
{"data":[{@json_row_values}]} | DELETE {$url}/{id} | |
ZohoCRM | Contacts | HTTP | https://www.zohoapis.com/crm/v2/Contacts | POST {$url}
{"data":[{@json_row_values}]} | PUT {$url}/{id}
{"data":[{@json_row_values}]} | DELETE {$url}/{id} | |
ZohoCRM | Leads | HTTP | https://www.zohoapis.com/crm/v2/Leads | POST {$url}
{"data":[{@json_row_values}]} | PUT {$url}/{id}
{"data":[{@json_row_values}]} | DELETE {$url}/{id} |
Пример содержит три настроенных объекта типа HTTP в схеме ZohoCRM: Accounts, Contacts, Leads.
Поле TABLE_CODE содержит URL для получения данных. См. подробности в статье Получение данных по REST API.
Оставшиеся поля содержат формат HTTP-команд для операций вставки, обновления и удаления.
Формальная грамматика команд HTTP:
HTTP-command = method SP absolute-URI [ SP "HTTP/1.1"] *( NEWLINE header-name ":" header-value ) [ 2*NEWLINE message-body ] method = "POST" | "PUT" | "PATCH" | "MERGE" | "DELETE" NEWLINE = CR | LF | CRLF
URL могут содержать параметры в фигурных скобках, как {id} в приведенном примере.
Надстройка заменяет такие параметры значениями из колонок таблицы данных и параметров URL, используемого для запроса данных.
Также, в командах можно использовать предопределенный параметр {url}, который получает URL получения данных (без параметров).
Тело сообщения может содержать параметры, с префиксом @.
Параметры можно задать вручную для требуемых свойств.
Также можно использовать встроенные параметры @json_row_values и @form_row_values, которые включают все значения строки.
Надстройка поддерживает форматы кодирования тела сообщений application/json и application/x-www-form-urlencoded. Формат определяется автоматически по содержимому тела сообщения.