Webhooks de entrada
Inicie uma automação com um evento do Stripe, da Hotmart ou do seu sistema.
Uma automação com o gatilho Webhook recebido tem um endereço próprio que recebe eventos de fora. Cada evento aceito inicia uma execução dessa automação, se ela estiver ativa.
O endereço
Ao abrir o gatilho no construtor de automações, o painel mostra a URL de recebimento, no formato:
https://app.zaplin.com.br/api/hooks/in/wh_…Copie a URL do painel: a chave wh_… é única da automação e é o que identifica o envio.
Fontes
Escolha a Fonte no painel:
| Fonte | Como é verificado | Eventos |
|---|---|---|
| Stripe | Cabeçalho stripe-signature com o Segredo de assinatura do endpoint no Stripe; recusa com mais de 5 minutos de diferença | checkout.session.completed (Compra aprovada), charge.refunded (Reembolso), customer.subscription.deleted (Assinatura cancelada), payment_intent.requires_action (Boleto gerado) |
| Hotmart | Cabeçalho x-hotmart-hottok igual ao Hottok da sua conta | PURCHASE_APPROVED, PURCHASE_REFUNDED, SUBSCRIPTION_CANCELLATION, PURCHASE_BILLET_PRINTED |
| Outro sistema | Sem verificação de assinatura | Qualquer JSON |
No Stripe, cole a URL em Developers › Webhooks › Adicionar endpoint e copie o Signing secret para o painel. Na Hotmart, cole em Ferramentas › Webhook › Cadastrar e copie o hottok. Sem o segredo salvo, Stripe e Hotmart são sempre recusados.
Com Stripe ou Hotmart, o gatilho pode esperar um evento específico; sem evento escolhido, qualquer evento verificado inicia a automação.
Enviando do seu sistema
curl https://app.zaplin.com.br/api/hooks/in/wh_… \
-X POST \
-H "Content-Type: application/json" \
-d '{"id": "pedido-1042", "cliente": {"nome": "Maria Silva", "telefone": "+5511987654321"}, "total": 199.9}'- O corpo é JSON, com até 256 KB.
- As chaves do JSON viram variáveis da execução:
{{webhook.cliente.telefone}},{{webhook.total}}. O painel mostra as variáveis detectadas no último evento de teste, e o JSON inteiro fica em{{webhook.raw}}. - O Zaplin não cria contatos a partir do evento: use um bloco Buscar contato com, por exemplo,
{{webhook.cliente.telefone}}.
No Stripe e na Hotmart, o comprador vira {{webhook.buyer.name}}, {{webhook.buyer.email}} e {{webhook.buyer.phone}}, a compra {{webhook.product}}, {{webhook.amount}}, {{webhook.currency}} e {{webhook.status}}, e o Zaplin procura o contato pelo telefone, depois pelo e-mail. Um evento repetido (mesmo id) não inicia a automação de novo.
Respostas
| Status | Corpo | Quando |
|---|---|---|
200 | received | Aceito |
400 | invalid | O corpo não é JSON |
401 | refused | A assinatura ou o hottok não confere |
404 | unknown | A chave não existe, ou a automação foi excluída |
413 | Too large | Mais de 256 KB |