Pular para o conteúdo principal

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 em localStorage ou cookie. (anonymousId e sessionId é criado e salvo automaticamente quando o script de Instalação é carregado no site)

Disparando o evento

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();

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