- Webhook direto: a Hotmart envia eventos para um endpoint da Timely (ou seu próprio servidor), que aciona automações no workspace.
- Integração nativa: configure a URL de webhook gerada pelo seu agente Timely diretamente no painel da Hotmart.
Configurar a URL de webhook na Hotmart
Acesse o painel da Hotmart
Vá para Ferramentas → Webhooks na conta da Hotmart (produtor ou coprodutor).
Adicione um novo webhook
Clique em Adicionar webhook e informe a URL. Para enviar eventos para um agente Timely, use o endpoint gerado em Configurações → Canais → Webhook de entrada do seu workspace.
Selecione os eventos
Selecione
PURCHASE_COMPLETE, PURCHASE_CANCELED, PURCHASE_REFUNDED, SUBSCRIPTION_CANCELLATION e outros conforme sua necessidade.Validação da assinatura Hotmart
A Hotmart envia o headerX-Hotmart-Webhook-Token com um token fixo configurado por você no painel. Não é HMAC — é uma comparação direta de token. Por isso, certifique-se de usar HTTPS e de manter o token em segredo.
Node.js
Evento: PURCHASE_COMPLETE
Disparado quando uma compra é aprovada (cartão, boleto compensado, PIX confirmado).Evento: PURCHASE_CANCELED
Disparado quando uma compra é cancelada antes da compensação (boleto vencido, cartão recusado definitivamente).Evento: PURCHASE_REFUNDED
Disparado quando um reembolso é aprovado após a compra já ter sido completada.Evento: SUBSCRIPTION_CANCELLATION
Disparado quando uma assinatura recorrente é cancelada (pelo comprador ou pelo produtor).Outros eventos disponíveis
| Evento | Quando ocorre |
|---|---|
PURCHASE_COMPLETE | Compra aprovada |
PURCHASE_CANCELED | Compra cancelada |
PURCHASE_REFUNDED | Reembolso aprovado |
PURCHASE_CHARGEBACK | Chargeback registrado |
PURCHASE_PROTEST | Disputa aberta |
PURCHASE_DELAYED | Pagamento atrasado (boleto) |
PURCHASE_EXPIRED | Boleto vencido sem pagamento |
SUBSCRIPTION_CANCELLATION | Assinatura cancelada |
SWITCH_PLAN | Comprador mudou de plano |
Campos principais do payload
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único do evento Hotmart (HP-*) |
event | string | Tipo do evento |
creation_date | number | Timestamp em milissegundos |
data.product.id | number | ID do produto na Hotmart |
data.purchase.transaction | string | Código de transação único |
data.purchase.status | string | Status da compra |
data.buyer.email | string | Email do comprador |
data.buyer.phone | string | Telefone (formato internacional) |
data.subscription.subscriber_code | string | Código único do assinante |
Automações comuns com Hotmart
Boas-vindas via WhatsApp
Ao receber
PURCHASE_COMPLETE, dispare uma mensagem automática pelo agente Timely usando o phone do comprador.Revogar acesso
Ao receber
SUBSCRIPTION_CANCELLATION, remova o contato de grupos ou marque como inativo no CRM da Timely.Recuperação de boleto
Ao receber
PURCHASE_EXPIRED, inicie um fluxo de recuperação com mensagem e novo link de pagamento.Atualização de CRM
Sincronize dados do comprador como contato na Timely usando a API de Contacts.
Próximos passos
Contacts — API Reference
Crie e atualize contatos programaticamente ao receber eventos da Hotmart.
Webhooks — API Reference
Configure endpoints para receber eventos do seu workspace Timely.