API Externa
La API Externa maneja la comunicación entre Gateways para sincronizar paquetes y movimientos.
Base URL: https://otro-gateway.local/gateway-externa/v1
Endpoints Principales
Notificación de Paquetes
-
POST /paquetes/notificar: Notificar paquetes disponibles.
- Body:
{"institucion": "uuid", "identificadores": ["uuid1", "uuid2"]} - Respuesta:
200 OK
- Body:
-
PUT /paquetes/{id}/anular: Anular paquete en origen.
- Body:
{"institucion": "uuid", "motivo": "razón"} - Respuesta:
204 No Content
- Body:
Sincronización de Movimientos
- POST /movimientos-paquetes: Obtener movimientos de paquetes.
- Body:
{"institucion": "uuid", "identificadores": ["uuid1"]} - Respuesta: Movimientos detallados por paquete.
- Body:
Descargas
-
PUT /descargas/{id}/iniciar: Iniciar descarga desde Gateway origen.
- Respuesta: Metadata del paquete.
-
GET /descargas/{id}/contenido?parte={id_parte}: Descargar parte del contenido.
- Respuesta: Contenido binario o texto.
-
PUT /descargas/{id}/finalizar: Confirmar descarga exitosa.
- Respuesta:
204 No Content
- Respuesta:
-
PUT /descargas/{id}/fallida: Reportar fallo en descarga.
- Respuesta:
204 No Content
- Respuesta:
-
PUT /descargas/{id}/entregado: Confirmar entrega al módulo destino.
- Respuesta:
204 No Content
- Respuesta:
Comportamientos Importantes
- Idempotencia: Endpoints como
/descargas/{id}/finalizarson idempotentes. - Reintentos: El Gateway destino reintenta descargas fallidas hasta un límite configurable.
- Estados: Los paquetes cambian de estado automáticamente (OG_ENVIADO, DG_DESCARGADO, etc.).