Вебхук от SeaTable имеет четко определенную структуру. Это позволяет легко обрабатывать событие любым языком программирования. В этой статье представлена общая структура и возможные значения.
Какие изменения вызывает веб-крючок
Если для базы настроен webhook, то при каждом изменении содержимого базы отправляется HTTP-запрос. Так, например, следующие изменения вызывают срабатывание веб-крючка:
- Добавляется или дублируется новый ряд.
- Строка удаляется.
- Содержимое строки изменяется.
Примеры вебхуков, отправляемых SeaTable
Пример 1: был добавлен новый ряд (например, в веб-интерфейсе SeaTable, через веб-форму или через вызов API)
{ "event": "update", "data": { "dtable_uuid": "fae0a3a42ba94df88e8303fd385e37de", "row_id": "Fk-i7xZGS5iA5aSvaG5HAA", "op_user": "4bc9a7c79c5942c5b6238413f2132bea@auth.local", "op_type": "insert_row", "op_time": 1649922777.279, "table_id": "9g8f", "table_name": "Opportunities", "row_name": "", "row_data": [] } }
Пример 2: было выбрано значение с единственным выбором
{ "event": "update", "data": { "dtable_uuid": "fae0a3a42ba94df88e8303fd385e37de", "row_id": "QoNno3QiTF26sxmG1sl3_g", "op_user": "4bc9a7c79c5942c5b6238413f2132bea@auth.local", "op_type": "modify_row", "op_time": 1649929622.589, "table_id": "9g8f", "table_name": "Opportunities", "row_name": "", "row_data": [{ "column_key": "589r", "column_name": "Prio", "column_type": "single-select", "column_data": { "options": [{ "name": "++", "color": "#F4667C", "textColor": "#FFFFFF", "id": "381992" }, { "name": "+", "color": "#FBD44A", "textColor": "#FFFFFF", "id": "830278" } ]}, "value": "381992", "old_value": "" }] } }
Пример 3: строка была удалена
{ "event": "update", "data": { "dtable_uuid": "fae0a3a42ba94df88e8303fd385e37de", "row_id": "QoNno3QiTF26sxmG1sl3_g", "op_user": "4bc9a7c79c5942c5b6238413f2132bea@auth.local", "op_type": "delete_row", "op_time": 1649929650.668, "table_id": "9g8f", "table_name": "Opportunities", "row_name": "", "row_data": [] } }
Возможные значения, которые может принимать веб-крючок
Запрос, отправляемый webhook, всегда содержит значения "event" и "data". В настоящее время значение "событие" - это всегда "обновление". В будущем, возможно, сюда будут добавлены и другие значения.
Значение "data" содержит массив с последующими элементами. Они перечислены в следующей таблице:
Значение | Тип | Пример |
---|---|---|
dtable_uuid | Строка (32) | fae0a3a42ba94df88e8303fd385e37de |
row_id | Струна (22) | QoNno3QiTF26sxmG1sl3_g |
op_user | Строка (32) + "auth.local" | 4bc9a7c79c5942c5b6238413f2132bea@auth.local |
op_type | вставить_строку, delete_row, изменить_строку | вставить_строку |
оп_время | Временная метка | 1649929650.668 |
идентификатор таблицы | Струна (4) | 9g8f |
имя_стола | Строка | Задачи |
имя_строки | Строка | |
данные строки | Объект | { ... } |
op_app | Строка | Имя токена API |
Вооружившись этой структурой, вы теперь можете разработать свой собственный интерфейс Webhook.