Cada evento es un objeto JSON con los campos comunes y un extra propio de su
tipo. Los campos desconocidos se rechazan. El JSON Schema completo está en
esquemas/v1/evento.schema.json.
Campos comunes
ts es cuándo ocurrió el evento, no cuándo se envía. Lleva zona horaria; el motor
lo guarda y lo devuelve en UTC (Z). El dinero va en MXN sin IVA, con dos decimales.
Tipos de evento
COMPRA_CAT
Compras de un ticket agregadas por categoría: un ticket con 3 lácteos y 1 pan
produce dos eventos (§2.2).
extra (obligatorio):
CUPON_RECIBIDO
extra (obligatorio):
CUPON_REDIMIDO
extra (obligatorio):
CUPON_CADUCADO
extra (obligatorio):
BAJA
comunicaciones es la baja que penaliza la recompensa (R-17); cuenta es
el cierre de la cuenta y solo cierra el historial.
extra (opcional):
ALTA
extra (opcional):
Lote
POST /v1/eventos recibe {"eventos": [...]} con entre 1 y 1.000 eventos y hasta 1 MB.
La respuesta dice cuántos se aceptaron, cuántos eran duplicados y cuáles se
rechazaron, con la posición, el campo y el motivo de cada uno: