Estrutura Base do Webhook
Todas as notificações de webhook entregues ao seu endpoint seguirão este formato JSON básico:Identificador único (UUID) para esta tentativa de entrega. Use para idempotência.Exemplo:
"f47ac10b-58cc-4372-a567-0e02b2c3d479"Data e hora (ISO 8601, UTC) em que o evento ocorreu.Exemplo:
"2025-04-15T14:30:00.123Z"Tipo de evento que ocorreu. Determina a estrutura do
Payload.Exemplo: "Communication_EarnPurchasePoints"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.
Endereço de e-mail principal do cliente
Identificador único do cliente no sistema de origem (ex: plataforma e-commerce)
Nome completo do cliente
Número de telefone com código do país
Documento de identificação (ex: CPF), se fornecido. Pode ser
null.Data de nascimento (ISO 8601), se fornecida. Pode ser
null.Saldo de pontos no momento do evento (pode não refletir o saldo após o evento)
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.
| Valor | Nome | Descrição |
|---|---|---|
0 | FixedValue | Valor fixo (ex: R$ 10,00 de desconto) |
1 | Percent | Valor percentual (ex: 10% de desconto) |
2 | FreeShipping | Frete grátis |
3 | DiscountShipping | Desconto em frete |
4 | Others | Outros tipos (frequentemente pré-gerados) |
Garantias de Entrega
Idempotência
Cada entrega inclui um
Uuid único. Armazene e verifique para evitar processamento duplicado.Retentativas
Entregas falhas são retentadas automaticamente com backoff crescente.
Timeout
O sistema espera até 30 segundos por uma resposta HTTP 2xx.
Desativação
Após 5+ falhas consecutivas, a assinatura pode ser desativada automaticamente.
Recomendações:
- Responda com HTTP 2xx idealmente em poucos segundos
- Processe o payload de forma assíncrona para evitar timeouts
- Monitore falhas e reative assinaturas conforme necessário
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
Mantenha a URL do endpoint difícil de adivinhar
3
Configure um segredo compartilhado
Configure um header customizado (ex:
X-Loyalty-Secret) com um valor secreto e valide em cada requisição recebidaLista de Todos os Tópicos Disponíveis
Referência rápida de todos os 26 tópicos de webhook disponíveis:- Ganho de Pontos
- Outras Comunicações
- Transações de Pontos
- Pedidos
| Tópico | Descrição |
|---|---|
Communication_EarnPurchasePoints | Pontos por compra |
Communication_EarnBirthdayPoints | Pontos por aniversário |
Communication_EarnSignupPoints | Pontos por cadastro |
Communication_EarnReviewPoints | Pontos por review |
Communication_ReferralCommunicationPoints | Pontos por indicação |
Communication_EarnQuizPoints | Pontos por quiz |
Communication_EarnCustomObjectivePoints | Pontos por objetivo customizado |
Communication_EarnSocialMediaFollowInstagram | Pontos por seguir no Instagram |
Communication_EarnSocialMediaFollowFacebook | Pontos por seguir no Facebook |
Communication_EarnSocialMediaFollowLinkedin | Pontos por seguir no Linkedin |
Communication_EarnSocialMediaFollowTikTok | Pontos por seguir no TikTok |
Documentação atualizada em Dezembro de 2025.