Evento de compra

Contrato oficial del evento purchase, la fuente de las metricas de ingresos.

purchase es el evento oficial de venta de la plataforma. Es el unico que alimenta las metricas de ingresos: si tu app emite ademas otros eventos de compra con otro nombre, se guardan como eventos normales pero no cuentan para ingresos.

Se envia por el endpoint estandar de eventos:

POST/api/v1/events/track

Registra el evento de compra. La unidad de venta es la ORDEN, no el evento.

Propiedades

ParametroTipoDescripcion
order_id*stringIdentificador de la orden en tu sistema. Es la unidad de deduplicacion: sin el, la compra no cuenta para ingresos.
value*integerMonto total de la orden, entero en la unidad menor de la moneda. En CLP son pesos (no hay decimales).
currency*stringCodigo ISO-4217. Ej: CLP, USD.
num_itemsnumberCantidad de items de la orden.
content_idsstringIdentificadores de los productos.

La unidad de venta es la orden

Recibir el mismo order_id mas de una vez es esperable y seguro: la plataforma se queda con una sola venta por orden. Puedes reintentar tras un fallo de red, o emitir el evento desde mas de un punto de tu app, sin inflar los ingresos.

Esto es parte del contrato, no un detalle de implementacion: la plataforma cuenta ordenes, no eventos.

Un purchase sin order_id se registra como evento —sigue disparando journeys, in-apps y reglas de puntos— pero no entra a los ingresos, y se contabiliza aparte para que el hueco sea visible en los reportes en vez de pasar inadvertido.

El monto va en enteros

value debe ser un entero en la unidad menor de la moneda. En CLP eso son pesos directamente, porque el peso no tiene decimales: una compra de $15.540 se envia como 15540.

Mandar decimales (155.40) hace que las sumas de miles de ordenes deriven por redondeo, y el total del panel deja de cuadrar con tu caja.

Ejemplo

curl -X POST https://southgames.ai/api/v1/events/track \
  -H "Authorization: Bearer sg_live_xxx" \
  -H "X-Org-Id: mi-empresa" \
  -H "Content-Type: application/json" \
  -d '{
    "eventName": "purchase",
    "externalUserId": "user_123",
    "properties": {
      "order_id": "260820-60000106089-2387591",
      "value": 15540,
      "currency": "CLP",
      "num_items": 2
    }
  }'

Que habilita

  • Ingresos y ticket medio en Analiticas, con la serie diaria cortada en la zona horaria de tu organizacion.
  • Disparar mini-juegos o journeys segun el monto de la compra (por ejemplo, "lanza la ruleta si la compra supera $15.000"), usando una condicion sobre value en el trigger.