Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
Visão geral
Web Push Webhooks permitem que você receba notificações HTTP POST em tempo real sempre que usuários interagem com suas notificações push. Quando uma notificação é exibida, clicada ou dispensada, OneSignal envia automaticamente os dados da notificação e quaisquer parâmetros personalizados para a URL webhook especificada. Benefícios Principais:- Rastreie engajamento de notificação em tempo real
- Acione workflows automatizados baseados em interações de usuário
- Sincronize dados de notificação com sua plataforma de analytics
- Implemente lógica de negócios personalizada para eventos de notificação
Suporte de Navegador
| Browser | Platform Support | Webhook Events Available |
|---|---|---|
| Chrome | macOS, Windows, Android | Todos os eventos (exibir, clicar, dispensar) |
| Firefox | macOS, Windows, Android | Eventos de exibição e clique |
| Safari | Não suportado | Nenhum |
Eventos de Webhook Disponíveis
notification.willDisplay
Acionado imediatamente após uma notificação aparecer na tela do usuário. Casos de uso: Rastreie taxas de entrega, registre dados de impressão, acione campanhas de acompanhamentonotification.clicked
Acionado quando um usuário clica no corpo da notificação ou em qualquer botão de ação. Casos de uso: Rastreie taxas de engajamento, acione eventos de conversão, redirecione usuários para conteúdo específiconotification.dismissed
Acionado quando um usuário dispensa ativamente uma notificação ou quando ela expira automaticamente. Suporte de navegador: Apenas Chrome Casos de uso: Rastreie taxas de dispensação, otimize tempo de notificação, teste A/B de conteúdo de notificação Importante: Clicar no corpo da notificação ou botões de ação NÃO aciona o webhook dispensado.Métodos de Configuração
- Configuração do Dashboard (Recomendado para a Maioria dos Usuários)
- Integração com Código Personalizado
Certifique-se de que suas URLs webhook sejam HTTPS (necessário pelas políticas de segurança do Chrome).
Configuração CORS
A configuraçãocors determina quais headers e dados seu endpoint webhook recebe:
cors: false(Recomendado): Configuração mais simples, nenhuma configuração CORS necessária no seu servidorcors: true: Fornece headers adicionais mas requer suporte CORS no seu servidor
cors: true:
- Você precisa do header
Content-Type: application/json - Você quer o header
X-OneSignal-Eventpara identificação de evento mais fácil - Seu servidor já suporta CORS para requisições não-simples
Formato de Requisição Webhook
Requisição Padrão (cors: false)
Seu endpoint webhook recebe uma requisição POST com esta estrutura de payload:Requisição Aprimorada (cors: true)
Mesmo payload acima, mais estes headers adicionais:Referência de Campos do Payload
| Field | Type | Description | Always Present |
|---|---|---|---|
event | string | Tipo de evento que acionou o webhook | ✅ |
notificationId | string | Identificador único de notificação OneSignal | ✅ |
heading | string | Título da notificação | Apenas se fornecido |
content | string | Corpo da mensagem da notificação | Apenas se fornecido |
additionalData | object | Dados personalizados enviados com a notificação | Apenas se fornecido |
actionId | string | ID do botão de ação clicado (string vazia = corpo da notificação clicado) | Apenas eventos de clique |
url | string | URL de lançamento para a notificação | Apenas se fornecido |
subscriptionId | string | ID de usuário/subscription OneSignal | Apenas com CORS habilitado |
Melhores Práticas de Implementação
Requisitos do Endpoint Webhook
Segurança:- Use URLs HTTPS apenas (URLs HTTP serão bloqueadas pelo Chrome)
- Implemente autenticação/validação adequada para seus endpoints webhook
- Considere limitação de taxa para lidar com notificações de alto volume
- Retorne status HTTP 200 para processamento bem-sucedido
- Responda dentro de 10 segundos para evitar timeouts
- Lide com chamadas de webhook duplicadas graciosamente (implemente idempotência)
Tratamento de Erros
Problemas Comuns e Soluções
Webhooks Não Disparam
Causas possíveis:- Código de webhook não presente em todas as páginas com inicialização OneSignal
- Usuário não visitou uma página com código webhook após ele ser adicionado
- Requisito HTTPS não atendido
- Servidor retornando códigos de status não-200
Dados Ausentes em Webhooks
Causa: Webhooks rastreiam apenas eventos para usuários que visitam páginas com a configuração de webhook ativa. Solução: Implante código webhook em todas as páginas com OneSignal, não apenas páginas de destino específicas.Chamadas de Webhook Duplicadas
Causa: Problemas de rede ou comportamento do navegador podem causar requisições duplicadas. Solução: Implemente idempotência usando o camponotificationId para deduplicar eventos.
Limitações de Webhook
- Uma URL webhook por evento: Você não pode definir múltiplas URLs webhook para o mesmo tipo de evento
- Apenas HTTPS: URLs HTTP não funcionarão devido a restrições de segurança do navegador
- Rastreamento de dispensação apenas no Chrome: O evento
notification.dismissedfunciona apenas no Chrome - Dependência de página: Usuários devem visitar páginas com código webhook ativo para rastreamento funcionar
Testando Seus Webhooks
- Envie uma notificação de teste através do seu dashboard OneSignal
- Monitore seu endpoint webhook para requisições recebidas
- Verifique estrutura do payload corresponde às suas expectativas
- Teste diferentes cenários:
- Exibição de notificação
- Clique no corpo da notificação
- Clique em botões de ação (se configurados)
- Dispensação de notificações (apenas Chrome)
Próximos Passos
Após configurar webhooks, considere:- Integração de Analytics: Encaminhe dados de webhook para sua plataforma de analytics
- Segmentação de Usuário: Use eventos de webhook para criar segmentos de usuário baseados em engajamento
- Workflows Automatizados: Acione campanhas de email ou notificações de app baseadas em interações de notificação push
- Teste A/B: Use dados de webhook para medir a eficácia de diferentes estratégias de notificação
