Pular para o conteúdo

Eventos e campos dos webhooks

Os webhooks têm seis eventos (cadastro, pedidos, matrículas, início de checkout, carrinho abandonado e assinatura em atraso), e este artigo mostra quando cada um é enviado e quais campos chegam no corpo da requisição.

7 min de leituraAdmin de Plataforma, Admin de LojaAtualizado em

Onde escolher os eventos

Em Plataforma > Configuração > Webhooks ou Loja > Configurações > Webhooks, ao criar ou editar um webhook, na parte Seleciona eventos para enviar.

Ao passar o cursor sobre um evento, aparece a explicação e o link Campos disponíveis, que abre a lista de campos daquele evento na própria janela.

Resumo

Evento na tela Valor do campo event Quando é enviado
Cadastro de novos usuários NewMember ou NewMemberGiftPurchase Na hora do cadastro
Pedidos SuccessTransaction Depois que a compra é aprovada
Matrículas enrollment ou graduated Quando a matrícula é criada ou atualizada
Iniciate Checkout init_checkout Quando há carrinho com os dados preenchidos
Carrinho abandonado abandoned_cart Quando o carrinho passa do tempo definido
Assinatura em atraso OverdueTransaction Quando a cobrança da assinatura atrasa

⚠️ Cadastro de novos usuários só pode ser escolhido em webhook sem loja e sem produto selecionados. Ao escolher uma loja ou um produto, esse evento some da lista.

Formato do envio

  • Método: POST.
  • Corpo: JSON.
  • Cabeçalhos: Content-Type: application/json e Authorization, com o valor que você configurou.

Todo envio tem o campo event, que diz qual foi o evento. Use esse campo para decidir o que fazer no destino.

Cadastro de novos usuários

Enviado no momento em que a conta é criada.

Campo Tipo O que é
event texto NewMember para cadastro comum, NewMemberGiftPurchase para conta criada por compra feita por outra pessoa
id número Identificador do usuário
name texto Nome
email texto E-mail
phone texto Telefone cadastrado
document texto Documento
brand_id número Identificador da plataforma
ads_opt_in verdadeiro ou falso Se aceitou receber comunicações de marketing
has_password verdadeiro ou falso Verdadeiro para usuário com senha. Falso para pré-cadastro
{
  "event": "NewMember",
  "id": 170292,
  "name": "Maria Silva",
  "email": "maria@exemplo.com",
  "phone": "11912345678",
  "document": "12345678900",
  "brand_id": 10,
  "ads_opt_in": true,
  "has_password": true
}

No evento NewMemberGiftPurchase chegam menos campos (nome, e-mail e plataforma), e has_password e ads_opt_in vêm como falso.

Pedidos

Enviado para pedidos aprovados. O envio é feito por um processo que roda a cada poucos segundos, não no instante exato da aprovação.

Campo Tipo O que é
event texto SuccessTransaction
order_id número Número do pedido
name texto Nome do comprador
email texto E-mail do comprador
phone texto Telefone
document texto Documento do comprador
total_amount número Total do pedido
store_name texto Nome da loja
course_name texto Nome do produto
brand_id número Identificador da plataforma
origin texto Origem do pedido: EVOB
{
  "event": "SuccessTransaction",
  "order_id": 98765,
  "name": "Maria Silva",
  "email": "maria@exemplo.com",
  "phone": "11912345678",
  "document": "12345678900",
  "total_amount": 29700,
  "store_name": "Minha Loja",
  "course_name": "Colorimetria Avançada",
  "brand_id": 10,
  "origin": "EVOB"
}

Um pedido aprovado que é atualizado depois pode ser enviado de novo. Use order_id como chave para não duplicar o registro no destino.

Não há evento separado para pedido pendente, recusado ou estornado.

Matrículas

Enviado para matrículas ativas, quando são criadas ou atualizadas. O envio também é feito pelo processo periódico.

Campo Tipo O que é
event texto enrollment (matrícula em andamento) ou graduated (conclusão, quando o progresso chega a 80% ou mais)
ticket_id número Número da matrícula
order_id número Número do pedido que gerou a matrícula
member_id número Número do aluno
name, email, document, phone texto Dados do aluno
course_id, course_name número e texto Produto
store_id, store_name número e texto Loja
classroom_id número Turma
offer_id número Oferta adquirida
progress texto Percentual do conteúdo realizado, como "45%"
watched_lessons lista Identificadores das aulas assistidas
certificate verdadeiro ou falso Se o certificado foi emitido
situation texto Situação do aluno no conteúdo
created_at, updated_at texto Datas de criação e da última atualização
brand_id número Identificador da plataforma
origin texto EVOB

Como o evento é reenviado a cada atualização da matrícula, o mesmo aluno chega várias vezes, com o progresso mais recente. Use ticket_id como chave para atualizar o registro no destino, em vez de criar um novo.

Iniciate Checkout

Enviado quando existe um carrinho ativo com os dados dos participantes preenchidos.

O corpo tem dois níveis: event e data, e dentro de data a lista cart_items.

Campo Tipo O que é
event texto init_checkout
data.cart_items lista Itens do carrinho
cart_items[].id número Identificador do item
cart_items[].qty número Quantidade
cart_items[].status texto Situação do item: active, inactive, purchased ou deleted
cart_items[].offer.id, .name, .price número, texto, número Oferta do item
cart_items[].classroom.classroom_id, .classroom_name, .course_name número, texto, texto Turma e produto
{
  "event": "init_checkout",
  "data": {
    "cart_items": [
      {
        "id": 5521,
        "qty": 1,
        "status": "active",
        "offer": { "id": 301, "name": "Turma de Março", "price": 29700 },
        "classroom": {
          "classroom_id": 88,
          "classroom_name": "Turma de Março",
          "course_name": "Colorimetria Avançada"
        }
      }
    ]
  }
}

⚠️ O mesmo carrinho pode ser enviado mais de uma vez enquanto estiver ativo. Use o identificador do item para ignorar repetições.

Carrinho abandonado

Ao marcar este evento, aparece o campo obrigatório Tempo para o alerta (em minutos). O carrinho é considerado abandonado quando fica ativo por mais tempo que o informado. Com Adicionar novo tempo, você inclui outros tempos.

O corpo segue o mesmo formato do início de checkout, com event igual a abandoned_cart e a lista data.cart_items.

💡 Faça um teste real antes de depender deste evento: crie um carrinho, aguarde o tempo configurado e confira se o envio chegou ao seu sistema.

Assinatura em atraso

Enviado quando a cobrança de uma assinatura fica em atraso, junto com o e-mail de aviso ao aluno.

Campo Tipo O que é
event texto OverdueTransaction
order_id texto Número do pedido
name, email texto Dados do assinante
store_id, store_name número e texto Loja
course_id, course_name número e texto Produto
due_date texto Data de vencimento do período, no formato dia/mês/ano
brand_id número Identificador da plataforma

Filtro por loja e por produto

  • Webhook com produto escolhido: recebe só os eventos daquele produto.
  • Webhook com loja escolhida e sem produto: recebe os eventos da loja.
  • Webhook sem loja e sem produto: recebe os eventos da plataforma inteira.

O que não tem evento

Estorno, contestação, pedido pendente, comentário em aula, pesquisa respondida, certificado emitido (fora o campo certificate da matrícula) e alteração de cadastro.

Erros comuns

"Recebo a mesma matrícula várias vezes"

É o comportamento do evento Matrículas: ele reenvia quando a matrícula muda. Trate como atualização, usando ticket_id.

"Os valores vêm sem vírgula"

Confira, com um pedido de teste, se o valor chega em centavos ou em reais no seu caso, e ajuste a conversão no destino.

"Não vejo o evento de cadastro na lista"

Ele só aparece em webhook sem loja e sem produto selecionados, criado em Plataforma > Configuração > Webhooks.

"O campo que eu vi na tela Campos disponíveis não chegou"

A lista da tela é a referência do que pode ser enviado. Faça um envio real, veja o que chegou e mapeie só os campos presentes.

Termos que mudaram

  • Os eventos "Novo Pedido" e "Atualização de Pedido" agora são um só: Pedidos.

Veja também

Não resolveu? Fale com o suporte e informe este artigo.