Pular para o conteúdo principal

Destinos de Eventos

Destinos definem para onde seus eventos serao enviados alem do NotifyChain. Voce pode integrar com ferramentas de analytics, data warehouses e sistemas customizados.

Destinos Disponiveis

NotifyChain (Padrao)

Todos os eventos sao processados internamente para:

  • Gatilhos de jornadas
  • Segmentacao de audiencias
  • Metas de campanhas
  • Analytics interno

Configuracao: Sempre ativo, nao requer configuracao.

Google Analytics

Envie eventos para o Google Analytics 4.

Configuracao:

  1. Acesse Eventos > Destinos
  2. Clique em Google Analytics
  3. Preencha:
    • Measurement ID: G-XXXXXXXXXX
    • API Secret: Obtido no GA4

Mapeamento de Eventos:

NotifyChainGoogle Analytics
Nome do eventoevent_name
Propriedadesevent_parameters
userIduser_id

Exemplo de configuracao:

Evento: "Compra Realizada"
GA Event Name: "purchase"
Parametros:
- transaction_id = orderId
- value = total
- currency = "BRL"

Mixpanel

Envie eventos para o Mixpanel.

Configuracao:

  1. Acesse Eventos > Destinos
  2. Clique em Mixpanel
  3. Preencha:
    • Project Token: Obtido no Mixpanel
    • API Secret (opcional): Para server-side

Mapeamento:

NotifyChainMixpanel
Nome do eventoEvent Name
PropriedadesProperties
userIddistinct_id
timestamptime

Webhook

Envie eventos para qualquer endpoint HTTP.

Configuracao:

  1. Acesse Eventos > Destinos
  2. Clique em Webhook
  3. Configure:
    • URL: Endpoint de destino
    • Metodo: POST (padrao)
    • Headers: Autenticacao e outros headers
    • Formato: JSON

Headers comuns:

Authorization: Bearer seu-token
Content-Type: application/json
X-Webhook-Secret: seu-secret

Formato do payload:

{
"event": "Compra Realizada",
"userId": "user-123",
"timestamp": "2024-01-15T14:30:00Z",
"properties": {
"orderId": "ORD-12345",
"total": 299.90
},
"context": {
"ip": "189.123.45.67",
"userAgent": "Mozilla/5.0...",
"page": {
"url": "https://seusite.com/checkout",
"title": "Checkout"
}
}
}

Configurando Destinos por Evento

Cada evento pode ter destinos especificos:

  1. Acesse o evento
  2. Na secao Destinos, marque os desejados
  3. Configure mapeamentos especificos

Exemplo:

Evento: "Compra Realizada"
Destinos:
✓ NotifyChain (sempre)
✓ Google Analytics (purchase)
✓ Mixpanel
✓ Webhook (ERP)

Evento: "Pagina Visitada"
Destinos:
✓ NotifyChain (sempre)
✓ Google Analytics
✗ Mixpanel (economizar quota)
✗ Webhook

Transformacao de Dados

Mapeamento de Propriedades

Renomeie propriedades para cada destino:

NotifyChain          →    Google Analytics
-----------------------------------------
orderId → transaction_id
total → value
items[].productId → items[].item_id
items[].name → items[].item_name

Filtros

Envie apenas eventos que atendam criterios:

Evento: "Compra Realizada"
Destino: Webhook (ERP)
Filtro: total > 1000

→ Apenas compras acima de R$ 1000 vao para o ERP

Enriquecimento

Adicione dados extras antes de enviar:

Evento: "Compra Realizada"
Destino: Mixpanel
Adicionar:
- currency: "BRL"
- source: "web"
- environment: "production"

Retry e Fallback

Politica de Retry

Quando um destino falha:

  1. Primeira tentativa: Imediata
  2. Segunda tentativa: Apos 1 minuto
  3. Terceira tentativa: Apos 5 minutos
  4. Quarta tentativa: Apos 30 minutos
  5. Desistir: Apos 4 falhas

Monitoramento

Acompanhe status de entrega:

  1. Acesse Eventos > Logs
  2. Filtre por destino
  3. Veja status: Sucesso, Pendente, Falha

Alertas

Configure alertas para falhas:

Alerta: "Webhook ERP com falhas"
Condicao: > 10 falhas em 1 hora
Acao: Enviar email para equipe

Latencia e Performance

Processamento Assincrono

Eventos sao enviados de forma assincrona:

1. Tracker envia evento → NotifyChain
2. NotifyChain processa internamente (sincrono)
3. NotifyChain envia para destinos (assincrono)

Ordem de Entrega

  • Eventos sao enviados na ordem recebida
  • Nao ha garantia de ordem entre destinos diferentes
  • Timestamps permitem ordenacao no destino

Rate Limits

Respeite limites de cada destino:

DestinoLimite Tipico
Google Analytics500 req/s por propriedade
Mixpanel2000 req/s por projeto
WebhookDepende do seu servidor

Seguranca

Autenticacao

Google Analytics:

  • API Secret armazenada criptografada
  • Comunicacao via HTTPS

Mixpanel:

  • Project Token + API Secret
  • Server-side para dados sensiveis

Webhook:

  • HTTPS obrigatorio
  • Headers de autenticacao
  • Assinatura HMAC (opcional)

Assinatura HMAC (Webhook)

Valide que o webhook veio do NotifyChain:

const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');

return signature === `sha256=${expected}`;
}

// No seu endpoint
app.post('/webhook', (req, res) => {
const signature = req.headers['x-notifychain-signature'];
const isValid = verifyWebhook(
JSON.stringify(req.body),
signature,
'seu-webhook-secret'
);

if (!isValid) {
return res.status(401).send('Invalid signature');
}

// Processar evento
processEvent(req.body);
res.status(200).send('OK');
});

Dados Sensiveis

Filtre dados sensiveis antes de enviar:

Evento original:
{
"userId": "user-123",
"email": "maria@email.com", // PII
"cpf": "123.456.789-00" // PII
}

Evento para Google Analytics:
{
"userId": "user-123"
// email e cpf removidos
}

Boas Praticas

Comece Simples

Configure apenas os destinos que voce realmente usa. Adicione mais conforme necessario.

Monitore Regularmente

Verifique logs de entrega semanalmente para identificar problemas cedo.

Documente Mapeamentos

Mantenha documentacao de como eventos sao transformados para cada destino.

Custos

Alguns destinos cobram por evento. Filtre eventos desnecessarios para controlar custos.