Herramientas de usuario

Herramientas del sitio


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

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:api:puntos-finales [2026/05/07 20:07] (actual)
192.168.175.130 creado
Línea 1: Línea 1:
 +====== 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:
 +
 +  * [[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​machine:​..:​flujos-clave:​flujo-de-sincronizacion-http|Flujo De Sincronizacion Http]]
 +
 +===== 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