Saltar al contenido principal

Operar en Lote Enlaces de Paradas

Descripción

Ejecuta operaciones en lote para asociar/desasociar/reemplazar/limpiar sesiones de pago (session_id) visibles en una o varias Paradas (stop_id) en una sola llamada.

Operaciones soportadas:

  • add: Agrega 1..N session_id como activos (si ya estaban, es no-op y se reportan en already_present)
  • remove: Desasocia 1..N session_id activos (si no estaban activos, se reportan en not_active o not_found)
  • replace: Sustituye atómicamente el conjunto activo por session_ids. Con lista vacía ⇒ clear
  • clear: Elimina todos los activos (la Parada puede quedar en estado Empty)

Características:

  • Idempotente mediante encabezado Idempotency-Key (TTL: 24 horas)
  • Cada ítem se procesa de forma independiente
  • El resultado se devuelve por Parada
  • Rate limit: 100 requests/minuto por comercio

Notas importantes:

  • Solo sesiones pending pueden activarse (add/replace). Las sesiones paid/expired pasan a histórico automáticamente
  • replace con lista vacía equivale a clear (limpieza atómica)
  • Usa siempre Idempotency-Key en operaciones en lote
  • Máximo 100 items por batch

Endpoint

POST 

/api/v1/ext/payment-stops/payment-sessions/batch

Autenticación Requerida

Bearer / Token: BearerAuth

Requiere el uso de el token obtenido en /auth/login

Esquema: bearer (JWT)

Request

Ejemplos de Body (JSON)

Operaciones mixtas en múltiples paradas

{
"continue_on_error": true,
"items": [
{
"stop_id": "stp_111",
"op": "add",
"session_ids": [
"sess_A",
"sess_B"
]
},
{
"stop_id": "stp_222",
"op": "remove",
"session_ids": [
"sess_C"
]
},
{
"stop_id": "stp_333",
"op": "replace",
"session_ids": [
"sess_D"
]
},
{
"stop_id": "stp_444",
"op": "clear"
}
]
}

Responses

Batch procesado exitosamente - todas las operaciones completadas