Lead Delivery Webhook

Envia cada lead captado pelo AES a um endpoint externo conforme acontece, assinado e com entrega pelo menos uma vez.

1. Visão geral

O Lead Delivery Webhook envia cada lead captado pelo AES para um endpoint externo escolhido pelo cliente, conforme acontece. É a forma mais simples de espelhar a captação do AES em um sistema de terceiros sem conceder acesso à plataforma.

A entrega é de envio ativo e pelo menos uma vez. Espera-se que o endpoint receptor seja idempotente sobre event_id.

2. Configuração

A entrega é configurada por ambiente e vem desativada por omissão. É habilitada no painel de administração do cliente, onde se define a URL de destino e o segredo de assinatura.

AjusteDescrição
URL de destinoEndpoint HTTPS que recebe a carga.
Segredo de assinaturaSegredo compartilhado usado para calcular o cabeçalho de assinatura.
EventosQuais eventos do ciclo de vida são entregues.
EstadoA entrega permanece desligada até ser habilitada explicitamente.

3. Carga

POST {seu_endpoint}
Content-Type:     application/json
X-AES-Event:      lead.created
X-AES-Signature:  sha256=<hmac_hex>
X-AES-Timestamp:  1787923271

{
  "event":      "lead.created",
  "event_id":   "evt_71ab30cd",
  "lead_id":    "AES-38-104772",
  "occurred_at":"2026-08-27T14:02:11-03:00",
  "contact": {
    "name":       "Maria Fernanda Rios",
    "phone_e164": "+5531912345678",
    "email":      "mfrios@example.com"
  },
  "origin": {
    "channel":   "landing_form",
    "source":    "example.com/norte/servico",
    "campaign":  "primavera-norte"
  },
  "branch_code": "ACME-NORTE",
  "fields": {
    "message": "Pediu horário no fim da tarde."
  }
}

4. Eventos

EventoEnviado quando
lead.createdUm novo lead é captado em qualquer canal.
lead.updatedMudam os dados de contato ou os campos de qualificação.
lead.stage_changedO lead passa a outra etapa do funil.

5. Assinatura

signature = HMAC_SHA256(secret, timestamp + "." + raw_body)
header    = "sha256=" + hex(signature)

Rejeitar toda requisição cujo timestamp esteja fora de uma janela de 300 segundos, e comparar assinaturas em tempo constante.

6. Entrega e reenvios

O AES considera aceita qualquer resposta 2xx. Qualquer outro status, ou um tempo de espera maior que 10 segundos, é reenviado com recuo exponencial por até 24 horas. Como a entrega é pelo menos uma vez, o endpoint receptor deve deduplicar sobre event_id.

A falha contínua durante toda a janela de reenvios desativa a entrega e gera um aviso no painel do cliente. A entrega é retomada quando o endpoint é corrigido e reabilitado.

7. Controle de versões

Campos novos podem ser acrescentados sem aviso prévio e campos não reconhecidos devem ser ignorados. Nenhum campo é removido nem muda de significado dentro da mesma versão maior.

Contato

Dúvidas sobre esta especificação: developers@omb.cloud.