Um gancho da SeaTable tem uma estrutura claramente definida. Isto permite que o evento seja facilmente processado por qualquer linguagem de programação. Este artigo apresenta a estrutura geral e os valores possíveis.
Que mudanças é que um gancho da web desencadeia
Se for criado um webhook para uma base, é enviado um pedido HTTP para cada alteração ao conteúdo da base. Assim, por exemplo, as seguintes alterações desencadeiam um gancho da web:
- Uma nova fila é acrescentada ou duplicada.
- Uma linha é eliminada.
- O conteúdo de uma linha é alterado.
Exemplos de anzóis enviados pela SeaTable
Exemplo 1: uma nova linha foi adicionada (por exemplo, na interface web SeaTable, via formulário web ou via chamada 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": [] } }
Exemplo 2: foi seleccionado um valor de selecção única
{ "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": "" }] } }
Exemplo 3: uma linha foi eliminada
{ "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": [] } }
Possíveis valores que um gancho da web pode assumir
O pedido enviado por um webhook contém sempre os valores "evento" e "dados". Atualmente, o valor "evento" é sempre "atualização". No futuro, é possível que outros valores sejam adicionados aqui.
O valor "data" contém uma matriz com outros elementos. Estes estão listados na tabela seguinte:
Valor | Tipo | Exemplo |
---|---|---|
dtable_uuid | Cordão (32) | fae0a3a42ba94df88e8303fd385e37de |
row_id | Cordão (22) | QoNno3QiTF26sxmG1sl3_g |
op_user | String (32) + "auth.local | 4bc9a7c79c5942c5b6238413f2132bea@auth.local |
op_type | inserir_linha, apagar_linha, modificar_linha | inserir_linha |
op_time | Timestamp | 1649929650.668 |
table_id | Cordão (4) | 9g8f |
table_name | Cordão | Tarefas |
nome_da_fila | Cordão | |
row_data | Objecto | { ... } |
op_app | Cordão | Nome simbólico API |
Equipado com esta estrutura, pode agora desenvolver a sua própria interface Webhook.