API Technical Docs

Mantente al día con las innovaciones tecnológicas que están transformando el mercado.

Reportes, exportaciones y programaciones

Estado documental: Contrato propuesto. Las rutas, campos, límites y tiempos pasan a estado confirmado solo después de su implementación y verificación.

Objetivo: Inventariar consultas, exportaciones grandes y reportes programados para la empresa.

Filtros comunes

from
to
timezone
status
financial_status
operational_status
payment_method
channel
user_id
shift_id
device_id
external_transaction_id
min_amount
max_amount
page
page_size
sort

Los filtros disponibles dependen del reporte. El rango temporal y la zona horaria deben aparecer en la respuesta.

Reportes de consulta inmediata

Audiencia Método Ruta propuesta Uso Idempotencia Eventos o callbacks relacionados
Reportes GET /v1/reports/overview Resumen ejecutivo del periodo. No Ninguno
Reportes GET /v1/reports/transactions Detalle de transacciones. No Ninguno
Reportes GET /v1/reports/reconciliation Resultados de conciliación. No Ninguno
Reportes GET /v1/reports/pending-cases Pendientes y antigüedad. No Ninguno
Reportes GET /v1/reports/late-payments Pagos tardíos. No Ninguno
Reportes GET /v1/reports/amount-differences Todas las diferencias. No Ninguno
Reportes GET /v1/reports/underpayments Pagos incompletos. No Ninguno
Reportes GET /v1/reports/overpayments Pagos en exceso. No Ninguno
Reportes GET /v1/reports/ambiguous-payments Casos ambiguos. No Ninguno
Reportes GET /v1/reports/cancelled-with-payment Canceladas con pago posterior. No Ninguno
Reportes GET /v1/reports/evidence Constancias recibidas. No Ninguno
Reportes GET /v1/reports/ocr Resultados y calidad OCR. No Ninguno
Reportes GET /v1/reports/refunds Devoluciones y estados. No Ninguno
Reportes GET /v1/reports/shifts Turnos. No Ninguno
Reportes GET /v1/reports/users Actividad por usuario. No Ninguno
Reportes GET /v1/reports/devices Actividad por dispositivo. No Ninguno
Reportes GET /v1/reports/payment-options Uso de QR y transferencia. No Ninguno
Reportes GET /v1/reports/checkout-sessions Sesiones y vencimientos. No Ninguno
Reportes GET /v1/reports/deliveries Entregas conversacionales. No Ninguno
Reportes GET /v1/reports/webhook-deliveries Callbacks enviados. No Ninguno
Reportes GET /v1/reports/api-usage Consumo de API. No Ninguno
Reportes GET /v1/reports/duplicate-detections Duplicados detectados. No Ninguno
Reportes GET /v1/reports/confirmation-times Tiempos de confirmación. No Ninguno
Reportes GET /v1/reports/claims Reclamos. No Ninguno
Reportes GET /v1/reports/audit-log Auditoría cliente. No Ninguno
Reportes GET /v1/reports/source-health Salud resumida de fuentes, sin secretos. No Ninguno

Ejemplo: pagos tardíos

GET /v1/reports/late-payments?from=2026-07-01T00:00:00-05:00&to=2026-07-31T23:59:59-05:00&page=1&page_size=50
{
  "report_type": "late_payments",
  "period": {
    "from": "2026-07-01T00:00:00-05:00",
    "to": "2026-07-31T23:59:59-05:00",
    "timezone": "America/Lima"
  },
  "data": [
    {
      "yupy_transaction_id": "ypt_01JXYZ",
      "external_transaction_id": "ORDER-10482",
      "expected_amount": "85.50",
      "detected_amount": "85.50",
      "detected_at": "2026-07-20T15:10:00-05:00",
      "state": "late_detected"
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 50,
    "total_items": 1,
    "total_pages": 1
  },
  "request_id": "req_01JXYZ"
}

Exportaciones grandes

Audiencia Método Ruta propuesta Uso Idempotencia Eventos o callbacks relacionados
Reportes POST /v1/report-jobs Solicitar exportación grande. Obligatoria report.queued
Reportes GET /v1/report-jobs Listar trabajos. No Ninguno
Reportes GET /v1/report-jobs/{job_id} Consultar estado. No Ninguno
Reportes GET /v1/report-jobs/{job_id}/download Descargar archivo temporal. No Ninguno
Reportes POST /v1/report-jobs/{job_id}/cancel Cancelar trabajo pendiente. Obligatoria report.cancelled

Ejemplo: solicitar CSV

POST /v1/report-jobs
Idempotency-Key: 64d4fde2-a6d4-41a5-bb75-6a5f4fa94fa7
{
  "report_type": "late_payments",
  "format": "csv",
  "filters": {
    "from": "2026-07-01T00:00:00-05:00",
    "to": "2026-07-31T23:59:59-05:00"
  }
}
{
  "job_id": "rpt_01JXYZ",
  "status": "queued",
  "report_type": "late_payments",
  "format": "csv",
  "request_id": "req_01JXYZ"
}

Eventos de trabajos

report.queued
report.processing
report.ready
report.failed
report.cancelled

Reportes programados

Audiencia Método Ruta propuesta Uso Idempotencia Eventos o callbacks relacionados
Administración POST /v1/report-schedules Crear programación. Obligatoria report_schedule.created
Administración GET /v1/report-schedules Listar programaciones. No Ninguno
Administración GET /v1/report-schedules/{id} Consultar programación. No Ninguno
Administración PATCH /v1/report-schedules/{id} Modificar programación. Obligatoria report_schedule.updated
Administración DELETE /v1/report-schedules/{id} Desactivar programación. Obligatoria report_schedule.deactivated
Administración POST /v1/report-schedules/{id}/run Ejecutar ahora. Obligatoria report.queued
Administración GET /v1/report-schedules/{id}/runs Consultar ejecuciones. No Ninguno

Ejemplo: programación

{
  "report_type": "late_payments",
  "frequency": "hourly",
  "timezone": "America/Lima",
  "recipients": [
    {
      "channel": "email",
      "address": "operaciones@empresa.com"
    },
    {
      "channel": "whatsapp",
      "recipient_reference": "supervisor_norte"
    }
  ],
  "active": true
}

La frecuencia, horario, destinatarios y formatos se acuerdan con la empresa. La documentación no promete una frecuencia fija universal.

Errores principales

HTTP Código Descripción
422 report_type_not_supported Tipo no disponible.
202 report_not_ready Trabajo todavía en proceso.
410 report_expired Descarga temporal vencida.
500 report_generation_failed No pudo generarse.
422 invalid_report_filter Filtro no válido para el reporte.