Webhooks que o CrazyLeads recebe

Estes endereços são o contrário do resto desta documentação: em vez de você chamar o CrazyLeads, é o sistema de origem que chama. Você cola o endereço lá — na Hotmart, na Tally, na Kiwify — e os dados passam a chegar sozinhos.

Os endereços

O endereço exato, com a sua chave, aparece na tela da fonte quando você a cria — não monte na mão. A coluna da direita diz como o CrazyLeads confere que a chamada veio mesmo de quem diz ter vindo.

OrigemComo provamos que é você
Hotmart
webhook.crazyleads.com.br/webhooks/hotmart/v1/{chave}
Token da integração, conferido a cada chamada.
Cabeçalho X-HOTMART-HOTTOK
Kiwify
webhook.crazyleads.com.br/webhooks/kiwify/v1/{chave}?signature=…
Assinatura do corpo com o segredo da fonte.
Parâmetro signature, na própria URL
Tally
webhook.crazyleads.com.br/webhooks/tally/v1/{chave}
Assinatura do corpo com o segredo da integração.
Cabeçalho tally-signature
Zoom
webhook.crazyleads.com.br/webhooks/zoom/v1
Assinatura com carimbo de tempo, mais o desafio de validação da Zoom.
Cabeçalhos x-zm-signature e x-zm-request-timestamp
SendGrid
webhook.crazyleads.com.br/webhooks/sendgrid/v1/{chave}
Assinatura de curva elíptica (ECDSA) com a chave pública da sua conta.
Cabeçalhos X-Twilio-Email-Event-Webhook-Signature e -Timestamp
Meta (Facebook e Instagram via Página)
apiserver.crazyleads.com.br/api/sources/meta/webhook/
Assinatura do corpo com o segredo do aplicativo Facebook; verificação por desafio ao assinar. Callback público no apiserver — a Meta chama direto, sem proxy Next.
Cabeçalho X-Hub-Signature-256
Meta (Instagram Login direto)
apiserver.crazyleads.com.br/api/sources/instagram/webhook/
Assinatura com o segredo do aplicativo Instagram Login. Mesmo contrato do webhook Facebook: URL pública no apiserver, HMAC, sem sessão de usuário.
Cabeçalho X-Hub-Signature-256
Webhook genérico
webhook.crazyleads.com.br/webhooks/webhook/v1/{chave}
Assinatura do corpo — configurável, e é você quem decide se existe.
Cabeçalho x-webhook-signature
ActiveCampaign
webhook.crazyleads.com.br/webhooks/activecampaign/v2/{chave}
A chave do endereço é a credencial: não há assinatura no corpo.
A própria URL
Formulário (form proxy)
webhook.crazyleads.com.br/form/{projeto}/{slug}
Endereço público por desenho: recebe o envio do formulário do navegador.
A própria URL
Pixel
pixel.crazyleads.com.br/events
Endereço público por desenho: o pixel roda no navegador do visitante.
Identificação do projeto no corpo

Quando o endereço é a credencial

Em parte dos receptores a chave que vai na URL é a única coisa que identifica você — porque o sistema de origem não assina o que envia. Nesses casos, o endereço é um segredo: não publique em repositório, não cole em ticket de suporte, não deixe em página de configuração compartilhada. Se desconfiar que vazou, recrie a fonte para gerar um endereço novo.

No webhook genérico a assinatura é sua decisão: configure um segredo e assine o corpo. Sem segredo configurado, nada distingue uma chamada sua de qualquer outra que conheça o endereço — e aí vale a mesma regra do parágrafo acima, com menos folga.

O que esperar da entrega

O receptor grava o que chegou e responde rápido; o processamento vem depois, então o 200 significa recebido, não já virou lead. Reenvio em caso de falha é bem-vindo, mas não é tratado igual em todos: Hotmart, ActiveCampaign e o webhook genérico derivam uma chave de idempotência do próprio corpo, então o mesmo conteúdo repetido não vira registro novo. Nos demais isso não está garantido — se a sua origem reenvia com frequência, mande um identificador estável no corpo. Assinatura que não confere é recusada com 403 e a chamada não entra — se uma integração parou de aparecer, o segredo divergente entre os dois lados é a primeira coisa a conferir.