Integração via Webhook – Hotmart + Leavo
1. Visão Geral
A Hotmart é uma das maiores plataformas de produtos digitais do mundo, especializada em infoprodutos. A integração com o Leavo permite automatizar a qualificação de compradores, assinantes e leads.
Casos de uso principais:
- Qualificar compradores após aprovação de pagamento
- Reengajar clientes que cancelaram assinaturas
- Notificar equipe sobre chargebacks e reembolsos
- Automatizar boas-vindas e onboarding de novos clientes
Fluxos disponíveis:
- ✅ Hotmart → Leavo: Hotmart envia eventos de compra/assinatura para o Leavo
- ⚠️ Leavo → Hotmart: Via API REST com OAuth2 (não webhook direto)
Diferencial: Plataforma consolidada com webhooks robustos e validação de assinatura nativa.
2. Documentação Oficial
Hotmart:
- Documentação Hotmart Developers
- Eventos de Pedido (Webhook 2.0)
- Autenticação OAuth2
- Ambiente Sandbox
Leavo:
3. Recursos disponíveis via Webhook
3.1 Eventos da Hotmart (Webhook 2.0)
A Hotmart suporta múltiplos eventos relacionados a vendas e assinaturas:
| Evento | Descrição | Recomendado Leavo |
|---|---|---|
PURCHASE_APPROVED | Compra aprovada | ✅ Sim |
PURCHASE_COMPLETE | Compra completa | ✅ Sim |
PURCHASE_BILLET_PRINTED | Boleto impresso | ⚠️ Opcional |
PURCHASE_CANCELED | Compra cancelada | ✅ Sim |
PURCHASE_REFUNDED | Reembolso realizado | ✅ Sim |
PURCHASE_CHARGEBACK | Chargeback | ✅ Sim |
PURCHASE_EXPIRED | Compra expirada | ⚠️ Opcional |
Eventos mais relevantes: PURCHASE_APPROVED, PURCHASE_COMPLETE, PURCHASE_CANCELED
4. Como configurar webhooks
4.1 FLUXO 1: Hotmart enviando eventos para o Leavo
Passo 1: Criar Webhook de Entrada no Leavo
- Acesse https://app.leavo.ai/pt-BR/ai-settings/webhooks
- Clique na aba "Entrada" (ícone: ⬇️)
- Clique em "+ Criar Webhook"
No modal:
- Nome:
Hotmart - Compradores [Nome do Produto] - Descrição:
Recebe compradores da Hotmart para qualificação - Webhook ativo: LIGADO
- Clique em "Criar Webhook"
Passo 2: Configurar Webhook na Hotmart
2.1 Acessar painel:
- No painel da Hotmart, vá em Ferramentas
- Clique em Webhook (Postback)
- Clique em "+ Nova Configuração"
2.2 Configurar:
| Campo | Valor |
|---|---|
| Nome | Integração Leavo - Compras |
| Versão | 2.0.0 (Recomendado) |
| URL | https://api.leavo.ai/api/webhooks/[UUID] |
| Produtos | Selecione os produtos |
| Eventos | Marque: PURCHASE_APPROVED |
Passo 3: Estrutura do Payload da Hotmart
Exemplo de payload PURCHASE_APPROVED:
{
"id": "1234567890123456789",
"creation_date": 1702318800000,
"event": "PURCHASE_APPROVED",
"version": "2.0.0",
"data": {
"product": {
"id": 987654,
"name": "Curso Completo de Marketing Digital",
"ucode": "abc-123-def"
},
"buyer": {
"email": "joao.silva@example.com",
"name": "João Silva",
"checkout_phone": "+5511999999999",
"document": "12345678900"
},
"purchase": {
"transaction": "HP17715690036014",
"status": "APPROVED",
"full_price": {
"value": 497.00,
"currency_value": "BRL"
},
"payment": {
"type": "CREDIT_CARD",
"installments_number": 12
}
}
}
}
Campos disponíveis:
data.buyer.name- Nome do compradordata.buyer.email- Emaildata.buyer.checkout_phone- Telefonedata.product.name- Nome do produtodata.purchase.full_price.value- Valor da compra
Passo 4: Mapear Campos no Leavo
4.1 Mapeamento de Campos:
| Campo Leavo | Campo Payload Hotmart | Preview |
|---|---|---|
| Nome * | data.buyer.name | "João Silva" |
data.buyer.email | "joao.silva@example.com" | |
| Telefone * | data.buyer.checkout_phone | "+5511999999999" |
4.2 Campos Personalizados:
| Campo Personalizado | Campo Payload | Preview |
|---|---|---|
Produto | data.product.name | "Curso de Marketing" |
Valor_Compra | data.purchase.full_price.value | "497.00" |
Forma_Pagamento | data.purchase.payment.type | "CREDIT_CARD" |
💡 Dica: Use notação de ponto para campos aninhados: data.buyer.name
Passo 5: Validação de Segurança
A Hotmart envia um header de validação:
X-HOTMART-HOTTOK: abc123xyz789token
⚠️ CRÍTICO: O Leavo valida automaticamente este token.
5. Observações e Limitações
5.1 Limitações da Hotmart
| Aspecto | Limitação |
|---|---|
| Validação | Token X-HOTMART-HOTTOK obrigatório |
| Versão | Use sempre 2.0.0 para eventos de pedido |
| Histórico | Até 60 dias no painel |
| Webhook entrada | NÃO SUPORTA - usar API REST |
| OAuth2 expira | Token expira em ~48h |
6. Troubleshooting
6.1 Webhook não recebe eventos
| Causa | Solução |
|---|---|
| URL incorreta | ✅ Reconfigure na Hotmart |
| Evento não selecionado | ✅ Marque PURCHASE_APPROVED |
| Produto não selecionado | ✅ Selecione produtos |
| Token inválido | ✅ Gere novo token |
6.2 Campos vazios
| Causa | Solução |
|---|---|
| Notação incorreta | ✅ Use data.buyer.name não buyer.name |
| Campo não existe | ✅ Verifique payload real |
7. Casos de Uso Práticos
7.1 Onboarding Automático
Objetivo: Qualificar novos compradores
Fluxo:
- Cliente compra curso na Hotmart
PURCHASE_APPROVEDenviado para Leavo- Lead criado com tag "Comprador"
- Agente IA envia boas-vindas via WhatsApp
- Qualifica satisfação e necessidades adicionais
7.2 Reengajamento de Cancelamentos
Objetivo: Recuperar clientes que cancelaram
Fluxo:
- Cliente cancela assinatura (
PURCHASE_CANCELED) - Lead criado no Leavo com status "Cancelou"
- Após 3 dias, agente IA inicia contato
- Oferece benefício exclusivo


