Orden de Sincronización

Orden Recomendado de Sincronización

Para reducir errores de dependencias y asegurar que todos los registros se enlacen correctamente, se recomienda sincronizar las entidades en el siguiente orden:

  1. POST/transportes/sync/products
  2. POST/transportes/sync/clients
  3. POST/transportes/sync/projects
  4. POST/transportes/sync/hubs
  5. POST/transportes/sync/hubs/warehouses
  6. POST/transportes/sync/suppliers
  7. POST/transportes/sync/vehicles/vehicle-types
  8. POST/transportes/sync/drivers/licenses/types
  9. POST/transportes/sync/vehicles
  10. POST/transportes/sync/drivers
  11. POST/transportes/sync/receipts/types
  12. POST/transportes/sync/restrictions/types
  13. POST /transportes/sync/stops/typeseliminado (stop types son constantes del sistema; ver GET /transportes/sync/stops/types/getAll)
  14. POST/transportes/sync/receipts
  15. POST/transportes/sync/pickups
  16. POST/transportes/sync/transfers
  17. POST/transportes/sync/returns

Ciclo de vida del dispatch (desde sistema externo):

  1. POST/transportes/sync/dispatch
    — crear dispatch con stops
  2. POST/transportes/sync/dispatch/start
    — iniciar (ASIGNADA → EN_TRANSITO)
  3. POST/transportes/sync/dispatch/task/start
    — iniciar stop individual
  4. POST/transportes/sync/dispatch/task/complete
    — completar stop (con líneas entregadas)
  5. POST/transportes/sync/dispatch/pickup/status
    — confirmar/completar recolección
  6. POST/transportes/sync/dispatch/task/cancel
    — cancelar stop (revierte dispatch a ASIGNADA)
  7. GET/transportes/sync/dispatch/{source_id}
    — consultar estado del dispatch

Nota: El paso 16 (/transfers) es un alias de /pickups con tipo TRANSFER. El paso 17 (devoluciones) requiere que la factura esté en status_id = 4 (entregada). Los pasos 18-24 usan IDs internos (driver_id, dispatch_id) ya que operan sobre registros previamente sincronizados. Ver Ciclo de vida del Dispatch y la Guía Completa del Dispatch para todos los casos y reglas de negocio.