Сохранение данных по REST API

Сохранение данных по REST API

Надстройка SaveToDB поддерживает сохранение изменений для сервисов OData и приложения DBGate из коробки.

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

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

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

Разработчики могут использовать таблицу xls.objects или представления списка запросов.

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

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_OBJECTUPDATE_OBJECTDELETE_OBJECT
 <schema><name>HTTP<select command><insert command><update command><delete command>

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

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_PROCEDUREUPDATE_PROCEDUREDELETE_PROCEDUREPROCEDURE_TYPE
 <schema><name>HTTP<select command><insert command><update command><delete command>

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

IDTABLE_SCHEMATABLE_NAMETABLE_TYPETABLE_CODEINSERT_OBJECTUPDATE_OBJECTDELETE_OBJECT
 ZohoCRMAccountsHTTPhttps://www.zohoapis.com/crm/v2/AccountsPOST {$url}

{"data":[{@json_row_values}]}
PUT {$url}/{id}

{"data":[{@json_row_values}]}
DELETE {$url}/{id}
 ZohoCRMContactsHTTPhttps://www.zohoapis.com/crm/v2/ContactsPOST {$url}

{"data":[{@json_row_values}]}
PUT {$url}/{id}

{"data":[{@json_row_values}]}
DELETE {$url}/{id}
 ZohoCRMLeadsHTTPhttps://www.zohoapis.com/crm/v2/LeadsPOST {$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. Формат определяется автоматически по содержимому тела сообщения.