Como Funciona
1
Um Evento Ocorre
Uma operação na BonifiQ, como a criação de um cliente, o registro de um pedido ou uma alteração de pontos, gera um evento.
2
A BonifiQ Prepara a Notificação
O evento recebe um
Uuid, um tópico e o payload correspondente. O mesmo Uuid é preservado caso a entrega precise ser repetida.3
A Notificação é Enviada
A BonifiQ chama a URL configurada usando o método HTTP e os headers definidos na assinatura.
4
Seu Endpoint Confirma o Recebimento
Valide o header secreto e salve ou enfileire o payload. Ao usar o envelope padrão, registre o
Uuid de forma durável e responda com HTTP 2xx.5
Falhas Transitórias são Repetidas
Quando a entrega falha de forma transitória, a BonifiQ tenta novamente com backoff exponencial.
Processe o evento de forma assíncrona depois de confirmar o recebimento. Com o envelope padrão, se o
Uuid já tiver sido registrado, trate a entrega como duplicada e responda com 2xx sem processá-la novamente.Comece por Aqui
Configurar uma Assinatura
Crie o webhook, escolha os tópicos e configure URL, método e autenticação.
Comunicações
Eventos de ganho e resgate de pontos, cupons, tiers, objetivos e OTP.
Transações de Pontos
Inclusão, atualização e remoção de pontos.
Pedidos
Criação e atualização de pedidos.
Afiliados
Pontos concedidos por indicação de afiliados.
Clientes
Criação e atualização de clientes.
Estrutura Base do Webhook
Todas as notificações de webhook entregues ao seu endpoint seguirão este formato JSON básico:string
required
Identificador único do evento. Ele permanece igual durante as retentativas de entrega e deve ser usado para idempotência.Exemplo:
"f47ac10b-58cc-4372-a567-0e02b2c3d479"string
required
Data e hora (ISO 8601, UTC) em que o evento de webhook foi criado na BonifiQ.Exemplo:
"2025-04-15T14:30:00.123Z"number
required
Código numérico do tipo de evento (enum). Veja a Lista de Tópicos.Exemplo:
3 (Communication_EarnPurchasePoints)string
required
Nome do tipo de evento como string. Determina a estrutura do
Payload.Exemplo: "Communication_EarnPurchasePoints"object
required
Objeto JSON com os detalhes específicos do evento. A estrutura varia conforme o
Topic.Objetos de Dados Comuns
Estes objetos JSON aparecem frequentemente dentro de diferentes estruturas dePayload:
Objeto Cliente (Customer)
Objeto Cliente (Customer)
Contém informações sobre o cliente relacionado ao evento.
string
required
Endereço de e-mail principal do cliente
string
required
Identificador único do cliente no sistema de origem (ex: plataforma e-commerce)
string
required
Nome completo do cliente
string
required
Número de telefone com código do país
string
Documento de identificação (ex: CPF), se fornecido. Pode ser
null.string
Data de nascimento (ISO 8601), se fornecida. Pode ser
null.number
required
Saldo de pontos no momento do evento (pode não refletir o saldo após o evento)
object
Dados RFM (Recency, Frequency, Monetary) do cliente, se disponível. Pode ser
null.Definições de Enum
Vários campos do payload representam tipos enumerados, enviados como inteiros no JSON.- CouponType
- ObjectiveType
- PointType
- PointAction
Indica o tipo de um cupom.
Garantias de Entrega
Confirmação
Qualquer resposta HTTP
2xx confirma que o evento foi recebido com sucesso.Idempotência
O mesmo
Uuid é enviado em todas as tentativas do evento. Armazene e verifique esse valor para evitar processamento duplicado.Retentativas
Falhas transitórias são retentadas automaticamente com backoff exponencial.
Timeout
O sistema espera até 30 segundos por uma resposta HTTP 2xx.
Personalização
Ao configurar sua assinatura de webhook, você pode personalizar:Corpo Personalizado
Defina uma estrutura JSON customizada usando linguagem de template
Variáveis na URL
Use variáveis do payload na URL (ex:
https://endpoint.com/{{Customer.Id}})Método HTTP
Especifique
PUT, POST, etc. (padrão: POST)Cabeçalhos
Configure headers estáticos para autenticação ou roteamento
Considerações de Segurança
1
Use HTTPS
Sempre use
https:// para criptografia em trânsito2
Mantenha o sigilo do endpoint
Não exponha a URL nem os headers de autenticação em logs, repositórios ou código público.
3
Configure um segredo compartilhado
Configure um header customizado, como
X-Bonifiq-Secret, e compare seu valor em todas as requisições recebidas.Referência dos Tópicos
Os 29 tópicos disponíveis estão organizados por domínio. Consulte a página correspondente para ver quando cada evento é disparado e a estrutura completa do seuPayload.
Comunicações
Ganho e resgate de pontos, cupons, tiers, objetivos, participação, redes sociais e OTP.
Transações de Pontos
Eventos
Point_Add, Point_Update e Point_Removed.Pedidos
Eventos
OrderInsert e OrderUpdate.Afiliados
Pontos concedidos por indicação de afiliados.
Clientes
Eventos
Customer_Created e Customer_Updated.