В 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.