Pular para o conteúdo principal

POST /api/v1/analytics/track

Envia um evento de cliente (e-commerce, page view, login etc.) para a plataforma. Endpoint público, autenticado por Write Key — pode ser chamado diretamente do browser.

Autenticação

API Key.

Headers

HeaderValor
AuthorizationBearer <api-key>
Content-Typeapplication/json

Body

CampoTipoObrigatórioDescrição
keystring (Event Key)SimTipo do evento (Product Viewed, Order Completed, ...)
dataobjectSimPayload específico do evento
anonymousIdstringSimIdentificador anônimo persistente do visitante
userIdstring | nullNãoID do usuário autenticado, se houver
sessionIdUUIDNãoSessão atual; se omitido, será resolvida automaticamente
dispatchIdstringNãoID único do disparo (correlaciona eventos a um envio)
contextSegmentContextNãoContexto de ambiente (UTM, página, IP)

Exemplo de requisição

curl -X POST https://api-crm.ecommerceapp.com.br/api/v1/analytics/track \
-H "Authorization: Bearer 8f9e0c11-5b2d-4a7e-9f08-1b6c2d3e4f5a" \
-H "Content-Type: application/json" \
-d '{
"key": "Order Completed",
"anonymousId": "anon-7c1f3a",
"userId": "user-9182",
"data": {
"order_id": "ORD-9182",
"total": 199.90,
"currency": "BRL",
"products": [
{ "product_id": "SKU-123", "name": "Camiseta", "price": 89.90, "quantity": 1 },
{ "product_id": "SKU-456", "name": "Calça", "price": 110.00, "quantity": 1 }
]
},
"context": {
"campaign": { "source": "google", "medium": "cpc", "name": "black-friday" },
"page": { "url": "https://loja.exemplo.com/checkout/success" }
}
}'

Resposta

200 OK

{
"success": true,
"session": {
"sessionId": "01J9XK8E7G5R3M2N4P6Q8S0T1V",
"isNew": false
}
}

Comportamentos especiais

  • Resolução automática de userId: se você não enviar userId, o sistema busca um mapeamento anonymousId → userId previamente registrado via /identify e o aplica automaticamente.
  • Atribuição em Order Completed: este evento dispara o fluxo assíncrono de atribuição, usando UTMs/touchpoints anteriores dentro da janela de 7 dias.

Erros

StatusCausa
400 Bad RequestBody inválido (campo obrigatório ausente, tipo incorreto)
401 UnauthorizedWrite Key inválida ou ausente
404 Not Foundkey não pertence à lista de eventos suportados