Skip to main content

Endpoint

POST /v1/webhooks
Escopo necessário: write:webhooks

Corpo da requisição

CampoTipoObrigatórioDescrição
namestringSimNome descritivo (máx. 100 chars)
urlstringSimURL HTTPS de destino
eventsstring[]SimMínimo 1 evento. Ver lista abaixo

Eventos disponíveis

EventoDescrição
contact.createdNovo contato criado
contact.updatedContato atualizado
deal.createdNovo negócio criado
deal.stage.changedNegócio mudou de etapa
deal.wonNegócio marcado como ganho
deal.lostNegócio marcado como perdido
message.receivedNova mensagem recebida de contato

Exemplo de requisição

curl -X POST https://api.socialsell.ai/v1/webhooks \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Integração CRM Interno",
    "url": "https://meusistema.com/webhook/socialsell",
    "events": ["contact.created", "contact.updated", "deal.won"]
  }'

Exemplo de resposta

{
  "data": {
    "id": "664m8n9o0p1q2r3s4t5u6v7w",
    "name": "Integração CRM Interno",
    "url": "https://meusistema.com/webhook/socialsell",
    "events": ["contact.created", "contact.updated", "deal.won"],
    "status": "active",
    "secret": "whsec_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6",
    "last_delivery_at": null,
    "last_failure_at": null,
    "consecutive_failures": 0,
    "created_at": "2026-06-10T16:00:00.000Z",
    "updated_at": "2026-06-10T16:00:00.000Z"
  }
}
Retorna HTTP 201.
O campo secret é exibido apenas nesta resposta. Armazene-o imediatamente como variável de ambiente para usar na validação de assinaturas. Não é possível recuperá-lo depois.

Validando entregas

Use o secret para verificar a autenticidade de cada requisição recebida. Veja o Guia de Webhooks para exemplos de código.