Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:api:puntos-finales

API: puntos finales (visión operativa)

Propósito

Documentar los endpoints HTTP realmente consumidos por Machine y RutaPAE.

Base URL

  • Formato: https:{host}/v1.0 * Definición en MachineData/…/local/Server.kt (Server.BASE_URL) * En RutaPAE, el fallback es https:${BuildConfig.DEFAULT_API_HOST}/v1.0

Endpoints consumidos por Machine

Método Endpoint Consumido desde Propósito
POST /machines Machine.ensureMachineIdRegistered Registrar/recrear máquina remota
POST /health-checks HealthCheck Latido operativo del dispositivo
POST /logs SyncLogs Envío de logs remotos
GET /machine-enrollments?page={p}&size={s}&machineId={id}&machine.id={id} SyncMachineEnrollment Sincronizar jornadas/sedes de la máquina
GET /beneficiaries-enrollments?page={p}&size={s}&campusOfferIds={ids} SyncBeneficiaries Descarga paginada de beneficiarios por oferta
GET /photos/{beneficiaryId}/beneficiary?nameFrom=machine SyncBeneficiaries Descargar foto de beneficiario
GET /beneficiaries?page={p}&size={s}&machineEnrollmentId={id} MachineEndpoints Consultas de beneficiarios por jornada máquina
GET /beneficiaries?page={p}&size={s}&institutionContractId={id} MachineEndpoints Consultas por contrato institucional
GET /beneficiaries?page={p}&size={s}&sinceModified={ts} MachineEndpoints Delta de beneficiarios por fecha de modificación
GET /beneficiaries?page={p}&size={s}&beneficiaryEnrollmentIds={ids} MachineEndpoints Consulta por ids de matrícula
GET /beneficiaries-enrollments?page={p}&size={s}&beneficiaryId={id} MachineEndpoints Matrículas por beneficiario
GET /campuses?page={p}&size={s}&campusOfferIds={ids} MachineEndpoints Resolver sedes por ofertas
GET /campus-offers?page={p}&size={s}&ids={ids} MachineEndpoints Resolver ofertas por ids
GET /modalities?page={p}&size={s}&campusOfferIds={ids} MachineEndpoints Resolver modalidades por ofertas
GET /minuta-menu-dues?page={p}&size={s}&modality.id={ids} MachineEndpoints Resolver minuta/cuotas por modalidad
GET /minuta-menu-dues/delivery-goals?since={yyyy-MM-dd}&until={yyyy-MM-dd}&campusId={id} SyncDeliveryGoals Sincronizar metas de entrega
GET /shifts?page={p}&size={s}&campusOfferIds={ids} MachineEndpoints Resolver turnos por ofertas
PATCH /beneficiaries/{beneficiaryId} MachineEndpoints.patchBeneficiary Actualizar beneficiario
PATCH /minuta-menu-dues/{minutaMenuDueId} MachineEndpoints.patchMinutaMenuDue Actualizar minuta/cuota
POST /deliveries/data SyncDeliveries.postDeliveryData Subir datos de entrega
POST /deliveries/photos SyncDeliveries.postDeliveryPhotos Subir evidencia fotográfica

Endpoints consumidos por RutaPAE

Método Endpoint Consumido desde Propósito
POST /deliveries/data RutaPAEDomain.SyncDeliveries.sendDeliveryData Subir datos de entrega desde ruta
POST /deliveries/photos RutaPAEDomain.SyncDeliveries.sendDeliveryPhotos Subir fotos de entrega desde ruta

Notas de RutaPAE:

  • RutaPAE puede usar delivery.url y delivery.photosUrl almacenados por registro.
  • Si esos campos no están presentes, usa fallback al host por defecto (DEFAULT_API_HOST) en v1.0.

Consideraciones operativas

  • La entrega se valida/persiste primero en local; HTTP sincroniza después.
  • Los errores HTTP no deben bloquear la captura en campo.
  • Hay manejo explícito de conflictos 208 (entrega ya existente).
  • Para fotos de entrega existe reintento por consistencia eventual cuando el backend responde 404 temporal.

Flujo paso a paso

Para ver el orden de ejecución, paralelismo, condiciones de disparo y cómo impacta el filtrado de jornadas en ShiftSelectionScreen, revisar:

Fuentes de verdad

  • MachineData/src/main/java/co/ada/data/local/Server.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/MachineEndpoints.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/SyncMachineEnrollment.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/SyncBeneficiaries.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/SyncDeliveries.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/SyncDeliveryGoals.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/SyncLogs.kt
  • MachineDomain/src/main/java/co/ada/domain/network/request/HealthCheck.kt
  • MachineDomain/src/main/java/co/ada/domain/util/Machine.kt
  • RutaPAEDomain/src/main/java/co/ada/rutapaedomain/network/request/SyncDeliveries.kt

Ultima verificacion

  • Fecha: 2026-04-23
  • Verificado contra definición de URLs y consumidores HTTP activos en dominio.
ada/howto/sicoferp/factory/new-migracion-sicoferp/machine/api/puntos-finales.txt · Última modificación: 2026/05/07 20:07 por 192.168.175.130