Pular para o conteúdo
CeletusCentral de Ajuda
Idioma: Português (Brasil)

Quais eventos e dados o webhook envia?

Para produtoresPor Equipe CeletusPublicado em Atualizado em

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.

Cadastro de webhook com os quatro grupos de eventos visíveis
Exemplo com dados fictícios.
Zoom dos nomes dos eventos disponíveis
Zoom dos grupos de eventos.

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.

Janela Especificações da compra com tabela de eventos e início dos campos
Visão geral da janela; consulte a tabela no painel em uma tela maior para ler todos os campos.

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?