Documentación de la API

URL Base: http://localhost:3000/backend/api

Meses de Pago (Payment Months)

Endpoint base: /payment-months/

Endpoints

Listar Meses por Año --> Servicio a modificar para incorporar el detalle por indicador

  • GET /payment-months/?year={year}
  • Descripción: Obtiene todos los meses de pago para un año específico
  • Respuesta: Array de meses de pago
interface paymentMonth {
  id: number;
  month: string;
  total_us: number;
  done_us: number;
  assigned_us: number;
}

Obtener Mes Específico --> Servicio a modificar trae los indicadores en detalle

  • GET /payment-months/{id}/
  • Descripción: Obtiene los detalles de un mes de pago específico
  • Respuesta: Detalles del mes de pago
interface paymentMonthDetails {
  id: number;
  month: string;
  creator: number;
  icri_weights: string;
  icri_weights_loading_status: ValidationStatuses;
  icri_weights_error_message: string;
  files_status: PaymentMonthStatuses;
}

Crear Mes

  • POST /payment-months/
  • Descripción: Crea un nuevo mes de pago
  • Payload:
{
  "month": "YYYY-MM"
}

Actualizar Mes

  • PUT /payment-months/{id}/
  • Descripción: Actualiza la información de un mes de pago

Eliminar Mes

  • DELETE /payment-months/{id}/
  • Descripción: Elimina un mes de pago

Eliminar Archivo

  • PATCH /payment-months/{id}/delete-file/
  • Descripción: Elimina un archivo específico del mes
  • Query Params: attr (nombre del archivo)

Descargar Archivo Consolidado

  • GET /payment-months/{id}/consolidated-file/
  • Descripción: Descarga el archivo consolidado del mes
  • Respuesta: Blob (archivo)

Subir Archivo Masivo

  • POST /payment-months/{id}/upload-massive-file/
  • Descripción: Sube un archivo masivo para el mes
  • Body: FormData con el archivo

Operadores por Mes (Payment Month Operators)

Endpoint base: /payment-month-operators/

Endpoints

Listar Operadores --> servicio a utilizar en el proceso , posible modificacion

  • GET /payment-month-operators/
  • Descripción: Obtiene todos los operadores asociados a meses de pago

Obtener Operador

  • GET /payment-month-operators/{id}/
  • Descripción: Obtiene los detalles de un operador específico

Insumos por Operador (Payment Month Operator Inputs)

Endpoint base: /payment-month-operator-inputs/

Endpoints

Listar Insumos

  • GET /payment-month-operator-inputs/
  • Descripción: Obtiene todos los insumos de operadores

Obtener Insumo

  • GET /payment-month-operator-inputs/{id}/
  • Descripción: Obtiene los detalles de un insumo específico

Ejecuciones (Executions)

Endpoint base: /executions/

Endpoints

Listar Ejecuciones

  • GET /executions/
  • Descripción: Obtiene todas las ejecuciones

Obtener Ejecución

  • GET /executions/{id}/
  • Descripción: Obtiene los detalles de una ejecución específica

APIs de Configuración

Parámetros ICRI

Endpoint base: /icri-params/ - GET /icri-params/ - Listar parámetros - GET /icri-params/{id}/ - Obtener parámetro específico

Parámetros ICRP

Endpoint base: /icrp-params/ - GET /icrp-params/ - Listar parámetros - GET /icrp-params/{id}/ - Obtener parámetro específico

Particiones de Día

Endpoint base: /day-partitions/ - GET /day-partitions/ - Listar particiones - GET /day-partitions/{id}/ - Obtener partición específica

Períodos de Operación

Endpoint base: /operation-periods/ - GET /operation-periods/ - Listar períodos - GET /operation-periods/{id}/ - Obtener período específico

APIs de Datos Operacionales

Exclusiones

Endpoint base: /exclusions/ - GET /exclusions/ - Listar exclusiones - GET /exclusions/{id}/ - Obtener exclusión específica

Exclusiones ICRP

Endpoint base: /icrp-exclusions/ - GET /icrp-exclusions/ - Listar exclusiones ICRP - GET /icrp-exclusions/{id}/ - Obtener exclusión ICRP específica

Eventos Operacionales

Endpoint base: /operational-events/ - GET /operational-events/ - Listar eventos - GET /operational-events/{id}/ - Obtener evento específico

Eventos Operacionales ICRP

Endpoint base: /icrp-operational-events/ - GET /icrp-operational-events/ - Listar eventos ICRP - GET /icrp-operational-events/{id}/ - Obtener evento ICRP específico

APIs de Frecuencias

Frecuencias ICF

Endpoint base: /icf-frequencies/ - GET /icf-frequencies/ - Listar frecuencias - GET /icf-frequencies/{id}/ - Obtener frecuencia específica

Frecuencias SSPD ICF

Endpoint base: /sspd-icf-frequencies/ - GET /sspd-icf-frequencies/ - Listar frecuencias SSPD - GET /sspd-icf-frequencies/{id}/ - Obtener frecuencia SSPD específica

APIs de Análisis

Expediciones por Fechas

Endpoint base: /expedition-by-dates/ - GET /expedition-by-dates/ - Listar expediciones - GET /expedition-by-dates/{id}/ - Obtener expedición específica

Puntos de Partida por Fechas

Endpoint base: /departure-point-by-dates/ - GET /departure-point-by-dates/ - Listar puntos de partida - GET /departure-point-by-dates/{id}/ - Obtener punto de partida específico

Cumplimientos ICRI

Endpoint base: /icri-fulfillments/ - GET /icri-fulfillments/ - Listar cumplimientos - GET /icri-fulfillments/{id}/ - Obtener cumplimiento específico

APIs de Gestión

Archivos Masivos

Endpoint base: /massive-files/ - GET /massive-files/ - Listar archivos - GET /massive-files/{id}/ - Obtener archivo específico

Eventos Personalizados

Endpoint base: /custom-events/ - GET /custom-events/ - Listar eventos - GET /custom-events/{id}/ - Obtener evento específico

Fechas Excepcionales

Endpoint base: /exceptional-dates/ - GET /exceptional-dates/ - Listar fechas - GET /exceptional-dates/{id}/ - Obtener fecha específica

Bitácora

Endpoint base: /bitacora/ - GET /bitacora/ - Obtener registro de actividades

Notas Generales

  1. Todos los endpoints soportan los siguientes códigos de respuesta HTTP:
  2. 200: OK
  3. 201: Creado (POST)
  4. 204: Sin Contenido (DELETE)
  5. 400: Solicitud Incorrecta
  6. 401: No Autorizado
  7. 403: Prohibido
  8. 404: No Encontrado
  9. 500: Error Interno del Servidor

  10. La autenticación se realiza mediante tokens JWT en el header: Authorization: Bearer <token>

  11. Las respuestas de error incluyen: json { "error": "Mensaje de error", "detail": "Detalles adicionales del error" }

  12. La paginación está disponible en endpoints que devuelven listas usando los parámetros:

  13. page: número de página
  14. page_size: tamaño de página