Criar Evento
Este guia explica como criar e configurar eventos no NotifyChain.
Acessando o Modulo
- No menu lateral, clique em Eventos
- Clique no botao Novo Evento
Informacoes Basicas
Nome do Evento
Digite um nome descritivo seguindo o padrao [Objeto] + [Acao]:
Exemplos:
- Compra Realizada
- Usuario Cadastrado
- Carrinho Abandonado
- Pagina Visitada
Descricao
Explique quando e por que este evento e disparado:
Exemplo:
"Disparado quando o usuario finaliza uma compra com sucesso.
Inclui dados do pedido, produtos e pagamento."
Configurando Propriedades
Propriedades sao os dados adicionais enviados com o evento.
Adicionar Propriedade
- Clique em Adicionar Propriedade
- Preencha os campos:
- Nome: Identificador (camelCase)
- Tipo: Tipo de dado
- Obrigatorio: Se deve sempre estar presente
- Descricao: Explicacao do campo
Tipos de Propriedade
| Tipo | Descricao | Exemplo |
|---|---|---|
| string | Texto | "SKU-12345" |
| number | Numero | 99.90 |
| boolean | Verdadeiro/Falso | true |
| object | Objeto JSON | {"name": "..."} |
| array | Lista | ["a", "b", "c"] |
| date | Data/hora | "2024-01-15" |
Exemplo de Configuracao
Evento: "Compra Realizada"
| Propriedade | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| orderId | string | Sim | ID unico do pedido |
| total | number | Sim | Valor total em reais |
| items | array | Sim | Lista de produtos |
| paymentMethod | string | Sim | Metodo de pagamento |
| discount | number | Nao | Desconto aplicado |
| coupon | string | Nao | Codigo do cupom |
Propriedades Aninhadas
Para objetos complexos, defina a estrutura:
{
"items": [
{
"productId": "SKU-123",
"name": "Camiseta",
"price": 79.90,
"quantity": 2
}
],
"shipping": {
"method": "express",
"cost": 15.00,
"address": {
"city": "Sao Paulo",
"state": "SP"
}
}
}
Configurando Destinos
Selecione para onde o evento sera enviado.
NotifyChain (Padrao)
Sempre ativo. Permite:
- Usar em jornadas
- Criar segmentos
- Definir metas
- Analytics interno
Google Analytics
- Marque Google Analytics
- Configure o mapeamento:
- Nome do evento no GA
- Parametros a enviar
Mixpanel
- Marque Mixpanel
- Configure:
- Token do projeto
- Propriedades a enviar
Webhook
- Marque Webhook
- Configure:
- URL de destino
- Headers (autenticacao)
- Formato do payload
Exemplo de Webhook:
URL: https://api.seusite.com/webhooks/events
Headers:
Authorization: Bearer seu-token
Content-Type: application/json
Gerando Codigo de Rastreamento
Apos criar o evento, gere o codigo para implementacao.
Ver Codigo
- Na lista de eventos, clique no icone de codigo
- Selecione a linguagem/plataforma
- Copie o codigo
JavaScript (Web)
NotifyChain.track('Compra Realizada', {
orderId: 'ORD-12345',
total: 299.90,
items: [
{ productId: 'SKU-001', name: 'Produto A', price: 99.90, quantity: 1 },
{ productId: 'SKU-002', name: 'Produto B', price: 200.00, quantity: 1 }
],
paymentMethod: 'cartao'
});
API REST
curl -X POST https://api.notifychain.io/v1/events \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event": "Compra Realizada",
"userId": "user-123",
"properties": {
"orderId": "ORD-12345",
"total": 299.90
}
}'
Validacao de Eventos
Propriedades Obrigatorias
O sistema valida se propriedades obrigatorias estao presentes:
// Erro: faltando propriedade obrigatoria
NotifyChain.track('Compra Realizada', {
total: 299.90
// orderId esta faltando!
});
Tipos de Dados
Propriedades sao validadas pelo tipo:
// Erro: tipo incorreto
NotifyChain.track('Compra Realizada', {
orderId: 'ORD-123',
total: '299.90' // Deveria ser number, nao string
});
Modo de Validacao
Configure o comportamento em caso de erro:
| Modo | Comportamento |
|---|---|
| Strict | Rejeita eventos invalidos |
| Warn | Aceita com aviso no log |
| Permissive | Aceita qualquer evento |
Editando Eventos
Adicionar Propriedades
Voce pode adicionar novas propriedades a qualquer momento.
Remover Propriedades
Remover propriedades pode quebrar:
- Segmentos que usam a propriedade
- Jornadas que filtram por ela
- Templates que a exibem
Renomear Eventos
Nao e possivel renomear eventos em uso. Crie um novo e migre gradualmente.
Testando Eventos
Modo Debug
Ative o modo debug no tracker:
NotifyChain.debug(true);
NotifyChain.track('Teste', { foo: 'bar' });
// Console: [NotifyChain] Event tracked: Teste { foo: 'bar' }
Verificar Recebimento
- Dispare o evento
- Acesse Eventos > Logs
- Verifique se o evento aparece
- Confira as propriedades
Enviar Evento de Teste
Na pagina do evento:
- Clique em Enviar Teste
- Preencha as propriedades
- Selecione um usuario de teste
- Clique em Enviar
- Verifique nos logs
Boas Praticas
Planejamento
Antes de criar eventos:
- Liste as acoes importantes do usuario
- Defina quais dados sao necessarios
- Identifique onde sera implementado
- Documente o plano
Consistencia
Mantenha padroes:
✅ Consistente:
- Compra Realizada (total: number)
- Assinatura Criada (valor: number)
❌ Inconsistente:
- Compra Realizada (total: number)
- Assinatura Criada (value: string)
Documentacao
Para cada evento, documente:
- Quando e disparado
- Quem dispara (frontend, backend, ambos)
- Propriedades e seus significados
- Destinos configurados
Exemplos de Eventos Comuns
E-commerce
Produto Visualizado
- productId, productName, price, category
Produto Adicionado ao Carrinho
- productId, productName, price, quantity
Checkout Iniciado
- cartTotal, itemCount
Compra Realizada
- orderId, total, items, paymentMethod, shipping
Pedido Entregue
- orderId, deliveryDate
SaaS
Usuario Cadastrado
- source, plan, referrer
Login Realizado
- method (email, google, etc)
Feature Usada
- featureName, context
Plano Atualizado
- oldPlan, newPlan, mrr
Cancelamento Solicitado
- reason, feedback
Conteudo
Artigo Visualizado
- articleId, title, category, author
Video Assistido
- videoId, duration, percentWatched
Conteudo Compartilhado
- contentId, platform
Newsletter Assinada
- source, interests