Attribution
Endpoint de captura de atribución para el storefront. Registra visitas (toques) con parámetros UTM para atribución de marketing.
información
Este es un endpoint storefacing (público), no un endpoint admin. Siempre retorna 204 No Content sin importar si la captura fue exitosa o no — nunca rompe el render del storefront.
Capturar toque
POST /api/v1/attribution/touch
| Campo | Tipo | Descripción |
|---|---|---|
visitor_id | uuid | ID del visitante (cookie ob_vid tiene prioridad) |
params | map[string][]string | Parámetros UTM y custom (máx. 40 keys, valores máx. 512 chars) |
referrer | string | URL de referrer |
landing_path | string | Path de la página de aterrizaje |
{
"visitor_id": "uuid-del-visitor",
"params": {
"utm_source": ["google"],
"utm_medium": ["cpc"],
"utm_campaign": ["summer-sale"]
},
"referrer": "https://google.com",
"landing_path": "/products/camiseta-basica"
}
Respuesta: 204 No Content siempre.
Comportamiento
- El endpoint es best-effort: errores se loguean pero nunca se retornan al cliente
- La cookie
ob_vid(HttpOnly, seteada por el storefront middleware) tiene prioridad sobre el campovisitor_id - Los parámetros se sanitizan: se truncan valores a 512 chars y se limitan a 40 keys
- La captura es non-blocking: publica a NATS para persistencia async, nunca toca Postgres en este path
- El IP se hashea con el tenant ID para evitar PII