Integração via Webhook – Cakto + Leavo
1. Visão Geral
A Cakto é uma plataforma de pagamentos e gestão de negócios digitais, focada em infoprodutores e afiliados. A integração com o Leavo permite automatizar a qualificação de leads gerados por vendas, assinaturas e outros eventos da Cakto.
Casos de uso principais:
- Qualificar compradores automaticamente após aprovação de pagamento
- Reengajar leads que abandonaram o checkout
- Gerenciar assinaturas e renovações com follow-up inteligente
- Notificar o time de vendas sobre chargebacks e reembolsos
Fluxos disponíveis:
- ✅ Cakto → Leavo: Cakto envia eventos de compra/assinatura para qualificação no Leavo
- ✅ Leavo → Cakto: Leavo envia leads qualificados de volta para a Cakto (via API REST - webhook não suportado nativamente pela Cakto)
2. Documentação Oficial
Cakto:
- Documentação Principal da API Cakto
- Guia de Autenticação OAuth2
- Como funcionam os Webhooks?
- Endpoint de Criação de Webhook
Leavo:
- Painel de Webhooks
- Suporte: contato via plataforma
3. Recursos disponíveis via Webhook
3.1 Eventos da Cakto
A Cakto suporta 14 eventos que podem ser enviados via webhook:
| Evento (custom_id) | Descrição | Recomendado para Leavo |
|---|---|---|
purchase_approved | Compra aprovada | ✅ Sim |
purchase_refused | Compra recusada | ⚠️ Opcional |
initiate_checkout | Início de Checkout | ⚠️ Opcional |
checkout_abandonment | Abandono de Checkout | ✅ Sim |
pix_gerado | Pix gerado | ⚠️ Opcional |
boleto_gerado | Boleto gerado | ⚠️ Opcional |
picpay_gerado | PicPay gerado | ⚠️ Opcional |
openfinance_nubank_gerado | Nubank gerado | ⚠️ Opcional |
chargeback | Chargeback | ✅ Sim |
refund | Reembolso | ✅ Sim |
subscription_created | Assinatura criada | ✅ Sim |
subscription_canceled | Assinatura cancelada | ✅ Sim |
subscription_renewed | Assinatura renovada | ⚠️ Opcional |
subscription_renewal_refused | Renovação recusada | ✅ Sim |
Eventos mais relevantes para qualificação: purchase_approved, checkout_abandonment, subscription_created
4. Como configurar webhooks
4.1 FLUXO 1: Cakto enviando eventos para o Leavo
Este fluxo permite que a Cakto notifique o Leavo sobre eventos importantes (compras, assinaturas, etc.) para que leads sejam criados e qualificados automaticamente.
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 "Criar Novo Webhook":
- Nome:
Leads Cakto - [Nome do Evento]- Exemplo: "Leads Cakto - Compra Aprovada"
- Descrição:
Recebe compradores da Cakto para qualificação - Webhook ativo: LIGADO (toggle vermelho)
- Clique em "Criar Webhook"
Passo 2: Copiar URL do Webhook
O Leavo gera uma URL única:
https://api.leavo.ai/api/webhooks/7b64df31-bedd-41c2-9f84-85fc668dcb54
⚠️ IMPORTANTE: Copie esta URL - você vai precisar dela na Cakto.
Passo 3: Configurar Webhook na Cakto
3.1 Acessar painel de webhooks:
- No painel da Cakto, vá em Apps > Webhooks
- Clique em "+ Adicionar"
3.2 Preencher informações:
| Campo | Valor |
|---|---|
| Nome | Integração Leavo - Compras |
| URL | https://api.leavo.ai/api/webhooks/[SEU-UUID] |
| Produtos | Selecione os produtos que deseja monitorar |
| Eventos | Selecione: purchase_approved |
3.3 Salvar webhook
Passo 4: Estrutura do Payload da Cakto
Exemplo de payload enviado pela Cakto no evento purchase_approved:
{
"event": "purchase_approved",
"order_id": "ORD-12345",
"customer": {
"id": "CUST-67890",
"name": "João Silva",
"email": "joao.silva@example.com",
"phone": "+5511999999999",
"document": "12345678900"
},
"product": {
"id": "PROD-111",
"name": "Curso de Marketing Digital",
"price": 497.00
},
"payment": {
"method": "credit_card",
"status": "approved",
"amount": 497.00,
"installments": 12
},
"created_at": "2025-12-11T15:30:00Z",
"metadata": {
"source": "checkout",
"utm_source": "facebook",
"utm_campaign": "verao2025"
}
}
Campos disponíveis para mapeamento:
customer.name- Nome do compradorcustomer.email- Emailcustomer.phone- Telefoneproduct.name- Nome do produtopayment.amount- Valor da comprametadata.utm_source- Origem do lead
Passo 5: Mapear Campos no Leavo
5.1 Mapeamento de Campos do Lead:
| Campo do Leavo | Campo do Payload Cakto | Preview |
|---|---|---|
| Nome * | customer.name | "João Silva" |
customer.email | "joao.silva@example.com" | |
| Telefone * | customer.phone | "+5511999999999" |
| Empresa | (deixar vazio) | - |
5.2 Campos Personalizados (Recomendado):
| Campo Personalizado | Campo do Payload | Preview |
|---|---|---|
Produto_Comprado | product.name | "Curso de Marketing Digital" |
Valor_Compra | payment.amount | "497.00" |
Forma_Pagamento | payment.method | "credit_card" |
Origem_UTM | metadata.utm_source | "facebook" |
💡 Dica: Use notação de ponto para campos aninhados: customer.name, payment.amount
5. Observações e Limitações
5.1 Limitações da Cakto
| Aspecto | Limitação |
|---|---|
| Tempo de resposta | Endpoint deve responder em até 5 segundos |
| Autenticação de webhooks | Campo secret disponível para validação HMAC |
| Rate limit | Não especificado na documentação |
| Formato | Apenas JSON |
| Webhook de entrada | NÃO suportado - usar API REST com OAuth2 |
5.2 Limitações do Leavo
| Aspecto | Limitação |
|---|---|
| Rate limit entrada | 100 requisições/minuto por webhook |
| Rate limit saída | 50 requisições/minuto por webhook |
| Tamanho de payload | Máximo 5 MB |
| Timeout | 30 segundos |
| Retry | 3 tentativas (30s, 2min, 10min) |
6. Troubleshooting
6.1 Webhook não recebe eventos
| Causa | Solução |
|---|---|
| URL incorreta na Cakto | ✅ Copie novamente a URL do Leavo e cole na Cakto |
| Webhook desativado na Cakto | ✅ Verifique status na Cakto: Apps > Webhooks |
| Eventos não selecionados | ✅ Certifique-se de marcar purchase_approved na Cakto |
| Produtos não selecionados | ✅ Selecione pelo menos um produto na Cakto |
6.2 Campos não mapeados corretamente
| Causa | Solução |
|---|---|
| Notação de ponto incorreta | ✅ Use customer.name e não customer_name |
| Campo não existe no payload | ✅ Verifique payload real em "Ver Payload" |
| Campo selecionado errado | ✅ Revise mapeamento campo por campo |
7. Casos de Uso Práticos
7.1 Qualificação Pós-Venda
Objetivo: Qualificar compradores para upsell ou cross-sell
Configuração:
- Evento:
purchase_approved - Tags:
Comprador,Produto-[Nome],Upsell - Status:
Comprador Ativo - Agente IA: Configurado para oferecer produtos relacionados
7.2 Recuperação de Carrinho Abandonado
Objetivo: Reengajar leads que abandonaram checkout
Configuração:
- Evento:
checkout_abandonment - Tags:
Carrinho-Abandonado,Produto-[Nome] - Status:
Lead Frio - Agente IA: Configurado para oferecer desconto


