Добавление/обновление записей дополнительных таблиц Sherlock Platform

Последние изменения: 29.02.2024

В Sherlock Platform в алгоритме работы бота могу использоваться дополнительные таблицы, созданные с использованием встроенного инструмента таблиц. Такие таблицы могут использоваться:

  • Для хранения справочных данных (например, справочника услуг или продуктов)

  • Для сохранения различных заявок

  • Синхронизации данных с внешними системами (например, расписания)

  • И так далее

Для работы с таблицами в Sherlock используется контроллер Table (https://<sherlock_url>/API/V2/Table)

Для чтения записей используется метод GET: https://<sherlock_url>/API/v2/Table/<SystemDictionaryID>?PageNumber=<PageNumber>&PageSize=<PageSize>

В текущей версии метод возвращает все записи с постраничной разбивкой. В данном запросе необходимо указывать:

  • SystemDictionaryID - идентификатор таблицы в Sherlock

  • PageNumber - страница для отражения. Передается опционально

  • PageSize - количество записей на странице. Передается опционально


Для получения отдельной записи из таблицы дополнительных реквизитов по ID основной записи можно использовать метод GET: https://<sherlock_url>/API/v2/Table/<SystemDictionaryID>/Parent/<RecordId>

Например, для получения дополнительных реквизитов клиента по ClientId GET https://<sherlock_url>/API/v2/Table/a57c30a7-05c5-4f33-82e4-22dcefd22e29/Parent/<ClientId>




Для создание записи используется метод POST: https://<sherlock_url>/API/v2/Table/<SystemDictionaryID>, для обновления метод PUT  https://<sherlock_url>/API/v2/Table/<SystemDictionaryID>/<RecordId>

В данном запросе необходимо указывать:

  • SystemDictionaryID - идентификатор таблицы в Sherlock

  • В теле запроса передается JSON с реквизитами таблицы. Например:

{
"ID":"2688fa3d-8029-2533-360a-8cd301cef03f",
"Code":"333",
"Title":"Другое"
}

Важно: формат json при чтении и записи отличается, так как при чтении возвращается еще и метаданные о полях в таблице. Json для записи необходимо сформировать на основе значений полей fieldName и value json, полученного при чтении 

Для работы с контроллером требуется авторизоваться. Полученный токен надо передать в заголовке как Bearer Token.

Помогла ли вам статья?