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.

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.
{
  "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": []
  }
}
{
  "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": ""
    }]
  }
}
{
  "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": []
  }
}

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.