Quais eventos e dados o webhook envia?
webhook eventos json campos do webhook compra aprovada abandono assinatura afiliação
O webhook envia avisos de compras, assinaturas, afiliação e abandono conforme os eventos escolhidos no cadastro. Nas mensagens de compra, o JSON traz o evento, a situação, o comprador, os itens e o pagamento; abandono e afiliação têm formatos próprios. Pix ou boleto gerado ainda não é venda paga: a confirmação chega em Compra aprovada.
Um webhook é um aviso automático que a Celetus envia para o seu sistema quando algo acontece em uma venda. Cada aviso é uma mensagem em JSON (um texto organizado em campos, fácil de ler por programas) enviada por POST. Você escolhe os eventos ao cadastrar o webhook e confere os envios em Webhooks Enviados. Este guia explica cada evento e os campos que chegam. Se o aviso não chega, veja Meu webhook não foi entregue: o que fazer?. Para ver tudo o que a Celetus conecta, veja Quais integrações a Celetus oferece?.
Quais eventos posso receber?
Os nomes abaixo são os que aparecem na lista Evento do cadastro, em Apps, Webhooks. A coluna event_type mostra como o evento vem escrito dentro da mensagem.
| Evento na tela | event_type | Quando é enviado |
|---|---|---|
| Boleto gerado | BoletoGenerated |
O comprador gerou o boleto. Ainda não foi pago. |
| Pix gerado | PixGenerated |
O comprador gerou o Pix. Ainda não foi pago. |
| Aguardando pagamento | WaitingPayment |
Compra por Pix ou boleto à espera do pagamento. Sai junto de Pix gerado ou Boleto gerado: se marcar os dois, o mesmo pedido gera duas mensagens. |
| Compra aprovada | ApprovedPurchase |
O pagamento foi confirmado, por cartão, Pix ou boleto. O campo payment_method da mensagem mostra o meio usado. |
| Compra recusada | PurchaseDeclined |
O pagamento no cartão foi recusado (pelo banco, pelo próprio cartão ou pela plataforma de pagamento). |
| Compra expirada | ExpiredPurchase |
Pix ou boleto que não foi pago. |
| Solicitação reembolso | Protested |
O comprador pediu o reembolso. Veja Como pedir reembolso. |
| Reembolso | Refunded |
O reembolso foi feito. |
| Estorno - (ChargeBack) | Chargeback |
O comprador contestou o pagamento com o emissor do cartão. Veja Como funciona o chargeback. |
| Assinatura Ativa | SubscriptionActive |
A assinatura ficou ativa. |
| Assinatura Atrasada | SubscriptionDelayed |
Uma cobrança da assinatura está em atraso. |
| Assinatura Cancelada | SubscriptionCanceled |
A assinatura foi cancelada. |
| Assinatura Bloqueada | SubscriptionBlocked |
O acesso da assinatura foi bloqueado. |
| Assinatura Concluída | SubscriptionCompleted |
A assinatura chegou ao fim do ciclo contratado. |
| Compras abandonadas | AbandonedCheckout |
A pessoa começou o checkout, deixou o contato e saiu sem finalizar. |
| Afiliação | Affiliation.Approved |
Alguém se afiliou a um produto. |
Para entender as assinaturas, veja Como gerenciar assinaturas e cobranças recorrentes?. O botão [Selecionar todos os eventos] marca tudo de uma vez; marque só o que seu sistema sabe tratar. Compra expirada e Compras abandonadas são eventos diferentes: confira quais eventos o destino recebe e os códigos de retorno em Webhooks Enviados.


Os eventos dependem da forma de pagamento?
Em parte. Pix gerado, Boleto gerado, Aguardando pagamento e Compra expirada são de Pix e boleto; Compra recusada e Estorno são de cartão. Os demais valem para qualquer meio. Na dúvida, marque o evento, faça um teste (Como configurar um webhook) e confira a mensagem recebida.
Quais campos vêm na mensagem?
Estes são os campos principais de uma mensagem de compra. Eles podem variar com o evento e com o tipo de venda, então trate campos ausentes com cuidado no seu sistema.
| Campo | O que traz |
|---|---|
id |
Identificador da mensagem. |
event_name |
O Nome que você deu ao webhook. |
event_type |
Tipo do evento (veja a tabela acima). |
event_type_identifier |
Tipo do evento junto da situação, por exemplo ApprovedPurchase.Approved. |
order_id e order_code |
Identificador da compra e código curto dela. |
order_status |
Situação do evento, como Approved ou WaitingPayment. |
payment_method |
Meio de pagamento, como pix, boleto ou credit_card (cartão). |
created_date, approved_date, refunded_date |
Datas da criação, da aprovação e do reembolso (podem vir vazias). |
customer |
Comprador: nome, e-mail, telefone, documento e endereço. |
items |
Produtos da compra: nome, oferta, valor, tipo (principal ou order bump, a oferta extra do checkout) e, se for recorrente, a frequência. |
charge |
Dados do pagamento: situação e valor. Em Pix e boleto vêm também os dados para pagar (pix_data ou boleto_data; só o do meio usado). |
trackingParameters |
Parâmetros de origem da venda, como utm_source e utm_campaign. Veja Como acompanhar a origem das vendas com UTM?. Para levar a venda à UTMify, veja Como integrar a Celetus com a UTMify?. |
commission |
Valores da venda para o dono do webhook: total, comissão dele e moeda; podem listar coprodutores e afiliados. |
voucher |
Cupom usado na compra, se houver. |
seller_name e seller_type |
Quem vendeu e o papel (por exemplo produtor). |
subscription |
Dados da assinatura (número do ciclo, frequência, próxima cobrança), quando a venda é recorrente. |
delivery |
Itens para entrega (link de download, convite de comunidade). Só vem preenchido em Compra aprovada e Assinatura ativa; nos outros eventos a lista vem vazia. |
Como é uma mensagem de compra aprovada?
O exemplo abaixo é fictício e resumido (sem endereço, comissão, cupom e assinatura). Os valores, nomes e endereços foram inventados só para mostrar o formato.
{
"id": "00000000-0000-4000-8000-000000000001",
"event_name": "Pedidos para o CRM",
"event_type": "ApprovedPurchase",
"event_type_identifier": "ApprovedPurchase.Approved",
"payment_method": "pix",
"order_id": "00000000-0000-4000-8000-0000000000a1",
"order_code": "EX0000001",
"order_status": "Approved",
"created_date": "2026-01-15T14:32:10+00:00",
"approved_date": "2026-01-15T14:33:02+00:00",
"refunded_date": null,
"customer": {
"name": "Maria Exemplo",
"email": "maria@example.com",
"phone": "5511900000000",
"document": "00000000000"
},
"items": [
{
"name": "Curso Exemplo",
"offer_name": "Oferta Exemplo",
"amount": 97.0,
"quantity": 1,
"item_type": "Principal"
}
],
"charge": {
"status": "paid",
"amount": "97.00"
},
"trackingParameters": {
"utm_source": "exemplo",
"utm_campaign": "lancamento-exemplo"
},
"seller_name": "Produtor Exemplo",
"seller_type": "Produtor",
"delivery": {
"items": [
{
"product_name": "Curso Exemplo",
"type": "EBook",
"access_url": "https://exemplo.com.br/arquivo-exemplo.pdf"
}
]
}
}
Use o exemplo só para entender a estrutura. A referência do seu caso é a mensagem real: abra Webhooks Enviados, clique no ícone de + da coluna Ação e leia a aba Envio (veja Meu webhook não foi entregue: o que fazer?).
Por que o exemplo da tela é diferente?
Ao cadastrar um webhook, o link Exemplos abre uma janela com três abas: Especificações da compra, Exemplo JSON de compra e Exemplo JSON de afiliação. Elas servem de guia, mas não são o contrato completo: o exemplo da tela usa valores genéricos (por exemplo, no campo event_type) e a tabela de especificações não lista todos os campos que o envio real traz. Quando houver diferença, vale a mensagem recebida em Webhooks Enviados. Para a descrição técnica dos campos, veja a documentação da API da Celetus.

Como é a mensagem de abandono?
A mensagem de Compras abandonadas é diferente da de compra: ela não tem pedido. Traz o contato que a pessoa deixou (nome, e-mail, telefone e, quando informado, o CEP), o bloco lostSaleData com os dados da compra perdida e o event_type AbandonedCheckout. Campos de pedido, como order_code e items, podem vir vazios. Para usar esses contatos pela tela do painel, veja Como recuperar vendas de carrinho abandonado?.
Como é a mensagem de afiliação?
O evento Afiliação também tem formato próprio: traz os dados de quem se afiliou (código, nome, e-mail e telefone) e do produto (código, nome e as porcentagens de comissão), em vez de pedido, itens e pagamento. Nesse formato, o campo event_type vem como Affiliation.Approved; a estrutura não é a mesma das mensagens de compra. O exemplo da aba Exemplo JSON de afiliação mostra a estrutura.
E se o webhook não chegar ou eu não achar o campo?
- Confira se o evento está marcado e se o produto certo está selecionado: Como configurar um webhook na Celetus?.
- Veja o histórico de envios e o código de resposta: Meu webhook não foi entregue: o que fazer?.
- Se ainda faltar informação, fale com o suporte com o nome do webhook, o evento e o horário. Nunca envie o Token da conta.