Primeiro evento
Agora que você concluiu a Instalação e tem uma credencial em mãos, vamos enviar o primeiro evento real para a CRM API. O exemplo usa o módulo Analytics, que é o ponto mais comum de integração.
Cenário
Você quer registrar que um visitante viu um produto na sua loja online. O evento canônico para isso é Product Viewed (parte da Segment V2 Ecommerce Spec).
Pré-requisitos
- Uma API Key válida (UUID). Veja Instalação.
- O host do API Gateway. Veja Instalação.
- Um identificador anônimo (
anonymousId) — uma string estável (idealmente UUID v4) que você gera no primeiro contato com o visitante e persiste emlocalStorageou cookie. (anonymousId e sessionId é criado e salvo automaticamente quando o script de Instalação é carregado no site)
Disparando o evento
- JavaScript
- cURL
const response = await fetch(
'https://api-crm.ecommerceapp.com.br/api/v1/analytics/track',
{
method: 'POST',
headers: {
'Authorization': 'Bearer SUA-KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
key: 'Product Viewed',
anonymousId: 'anon-7c1f3a', //(anonymousId gerado no site/app)
sessionId: 'session-123-id', //(sessionId gerado no identify do usuário)
data: {
product_id: 'PROD-123',
sku: 'SKU-123'
name: 'Camiseta Preta',
price: 89.90,
currency: 'BRL',
},
context: {
page: {
url: 'https://loja.exemplo.com/p/SKU-123',
title: 'Camiseta Preta',
},
},
}),
}
);
const data = await response.json();
curl -X POST https://api-crm.ecommerceapp.com.br/api/v1/analytics/track \
-H "Authorization: Bearer SUA-KEY" \
-H "Content-Type: application/json" \
-d '{
"key": "Product Viewed",
"anonymousId": "anon-7c1f3a",
"data": {
"product_id": "SKU-123",
"name": "Camiseta Preta",
"price": 89.90,
"currency": "BRL"
},
"context": {
"page": {
"url": "https://loja.exemplo.com/p/SKU-123",
"title": "Camiseta Preta"
}
}
}'
Resposta esperada
event: {
success: true,
session: {
sessionId: "01J9XK8E7G5R3M2N4P6Q8S0T1V",
isNew: false
}
}
O sessionId retornado é a sessão atual do visitante (timeout de 30 min de inatividade). Guarde-o e envie-o em eventos subsequentes para que pertençam à mesma sessão.
Variações comuns
Disparar do browser via tag GTM
Se você não quer chamar a API direto do seu código, use o script gtm.js que já implementa anonymous ID, sessão e UTMs automaticamente:
<script src="https://api-crm.ecommerceapp.com.br/api/v1/analytics/SUA-KEY/gtm.js"></script>
<script>
window._eapp = {
eventName: "Product Viewed",
data: { sku: "SKU-123", name: "Camiseta Preta", price: 89.9 },
};
</script>
📖 Detalhes em Endpoints → GTM Script.
Disparar do backend (server-to-server)
Se o evento parte do seu servidor (ex.: webhook do gateway de pagamento confirmando uma compra), use /customer-events com API Key + HMAC — mais seguro e com garantia de integridade do payload.
Próximos passos
- Veja a lista completa de eventos aceitos em Conceitos → Eventos suportados.
- Entenda o ciclo de vida da identidade em Conceitos → Sessões e identidade.
- Anexe contexto rico (UTMs, página, IP) ao seu evento — veja Conceitos → SegmentContext.
- Explore a referência completa de cada endpoint na sidebar à esquerda.