Criar Webhook
- Vá para Configurações → APIs & Webhooks → Webhooks
- Clique em + Criar webhook
- Insira a URL do seu webhook (deve ser publicamente acessível)
- Clique em Salvar
Gerenciar Webhooks
Editar: Clique no webhook → Atualizar URL → Salvar Excluir: Clique no webhook → Excluir → ConfirmarEventos
O Twenty envia webhooks para estes tipos de eventos:| Evento | Exemplo |
|---|---|
| Registro criado | person.created, company.created, note.created |
| Registro atualizado | person.updated, company.updated, opportunity.updated |
| Registro excluído | person.deleted, company.deleted |
Formato do payload
Cada webhook envia um HTTP POST com um corpo JSON:| Campo | Descrição |
|---|---|
event | O que aconteceu (por exemplo, person.created) |
data | O registro completo que foi criado/atualizado/excluído |
timestamp | Quando o evento ocorreu (UTC) |
Responda com um status HTTP 2xx (200-299) para confirmar o recebimento. Respostas não 2xx são registradas como falhas de entrega.
Validação de Webhook
O Twenty assina cada solicitação de webhook por segurança. Valide as assinaturas para garantir que as solicitações sejam autênticas.Cabeçalhos
| Cabeçalho | Descrição |
|---|---|
X-Twenty-Webhook-Signature | Assinatura HMAC SHA256 |
X-Twenty-Webhook-Timestamp | Timestamp da solicitação |
Etapas de validação
- Obtenha o timestamp de
X-Twenty-Webhook-Timestamp - Crie a string:
{timestamp}:{JSON payload} - Calcule o HMAC SHA256 usando o segredo do seu webhook
- Compare com
X-Twenty-Webhook-Signature
Exemplo (Node.js)
Webhooks vs Fluxos de trabalho
| Método | Direção | Caso de uso |
|---|---|---|
| Webhooks | SAÍDA | Notificar automaticamente sistemas externos sobre qualquer alteração de registro |
| Fluxo de trabalho + Solicitação HTTP | SAÍDA | Enviar dados para fora com lógica personalizada (filtros, transformações) |
| Gatilho de webhook de fluxo de trabalho | ENTRADA | Receber dados no Twenty a partir de sistemas externos |