Skip to main content

2026-11-04

  • SDK de Python: definir_campana() llama a PUT /v1/campanas/{campana_id} (canal y presupuesto antes de pedir el lote). La API no cambia.

2026-11-03

  • Evento DEVOLUCION: reembolso de unidades de una compra, por categoría. valor es el importe reembolsado sin IVA; extra.ticket_id enlaza con la COMPRA_CAT original y extra.margen es el margen perdido, con la misma base que el de la compra. Si la compra usó un cupón del motor, extra.descuento_cupon lleva la parte del descuento devuelta. Resta de la recompensa cuando la compra original cae en la ventana, aunque la devolución llegue durante la gracia; no cuenta como compra. Tipo nuevo y opcional: los clientes existentes no cambian.

2026-10-23

  • SDK de JavaScript 0.2.0: exige Node 22.23.4, 24.22.1 o 26.12.1 (o posteriores en su rama), las versiones con la corrección de seguridad de Node.js de octubre de 2026. Node 20 deja de admitirse porque está fuera de soporte. La API no cambia.

2026-09-25

  • resultado_url de un lote (en el estado y en el webhook lote.completado) puede ser una URL firmada de 60 minutos para descargar el JSONL directamente del almacén de objetos; GET /v1/lotes-decision/{job_id}/resultado sigue funcionando igual.
  • en_sombra en la respuesta de decisión y guía «Modo sombra» (cómo integrar mientras el motor solo sugiere). Campo opcional: los clientes existentes no cambian.
  • Todas las operaciones documentan las respuestas de error 401, 403, 422 y 429 con el cuerpo uniforme ErrorV1 y Retry-After.

v1 (en construcción)

  • Eventos: seis tipos, lotes de hasta 1.000, idempotencia por event_id.
  • Decisiones en línea con Idempotency-Key, confirmación de ejecución, respaldo.
  • Lotes por campaña con resultado JSONL y webhook lote.completado firmado.
  • Catálogo de acciones y campañas con presupuesto.
  • Clientes: exportación y borrado (derechos ARCO).
La versión v1 se mantiene estable; los cambios incompatibles llegarán como v2 y ambas coexistirán.