Sincronización de Sedes y Almacenes
En esta sección se documentan los endpoints para sincronizar sedes (hubs) y opcionalmente sus almacenes internos.
1. Sedes (Hubs)
Crea o actualiza sedes y opcionalmente sus almacenes internos.
Caso de uso
- Crear sede origen/destino para guías.
- Sincronizar almacenes de una sede.
- Configurar políticas de preparación WMS por sede.
Campos del Payload
Requeridos
| Campo | Tipo | Descripción |
|---|---|---|
source_id | string | ID único en el sistema de origen |
source_system | string | Sistema externo (ej. external_erp) |
name | string | Nombre de la sede |
Opcionales
| Campo | Tipo | Descripción |
|---|---|---|
is_active | boolean | Estado activo |
hub_id | int | ID interno de la sede |
phone | string | Teléfono de contacto |
address | string | Dirección |
address_extra | string | Información adicional de dirección |
formatted_address | string | Dirección formateada |
is_uber_available | boolean | Disponible para despacho por Uber |
pickup_notes | string | Notas de recolección |
return_notes | string | Notas de devolución |
latitude | number | Latitud |
longitude | number | Longitud |
printer_name | string | Impresora asignada |
is_orders_visible | boolean | Órdenes visibles en la app |
requires_wms_ready_for_dispatch | boolean | Requiere confirmación WMS para despachar |
print_folder_name | string | Carpeta de impresión |
warehouses | object / array | Almacenes de la sede (ver campos abajo) |
Campos de warehouses[]
Requeridos
| Campo | Tipo | Descripción |
|---|---|---|
warehouse_code | string | Código único del almacén dentro de la sede |
Opcionales
| Campo | Tipo | Descripción |
|---|---|---|
source_id | string | ID externo del almacén en el sistema de origen |
source_system | string | Sistema externo del almacén |
description | string | Descripción del almacén |
Los campos
source_id/source_systempermiten rastrear el almacén individualmente con sync posterior desde/transportes/sync/hubs/warehouses.
Ejemplos
Request
{
"source_id": "stock.warehouse:1",
"source_system": "external_erp",
"name": "Cedi",
"phone": "555-0101",
"address": "San Rafael, Escazu",
"latitude": 9.9797944160071,
"longitude": -84.1408946228684,
"requires_wms_ready_for_dispatch": true,
"warehouses": [
{
"source_id": "stock.location:WH/Stock",
"warehouse_code": "WH/Stock",
"description": "Almacen principal"
}
]
}Response
{
"ok": true,
"code": "SYNC_OK",
"message": "Sync processed successfully.",
"data": 3,
"meta": {
"route": "/transportes/sync/hubs",
"method": "PostHubSync",
"operation": "upsert",
"upsert_action": "updated",
"warehouse_summary": {
"processed": 1,
"created": 0,
"updated": 1
},
"timestamp": "2026-04-07T12:00:00.000Z"
}
}2. Almacenes de Sede
Sincroniza almacenes para una sede existente sin necesidad de reenviar todos sus datos.
Caso de uso
- Actualizar almacenes sin reenviar toda la sede.
- Cargar almacenes hijos de una sede desde el sistema externo.
Dependencias
Si origin_hub_id no existe, el endpoint responde con un error SYNC_MISSING_DEPENDENCIES con endpoint_code: hubs.
Campos del Payload
Requeridos
| Campo | Tipo | Descripción |
|---|---|---|
origin_hub_id | string | source_id o identificador externo de la sede |
source_system | string | Sistema externo |
warehouses | object / array | Almacenes a sincronizar |
Opcionales
| Campo | Tipo | Descripción |
|---|---|---|
origin_hub_model | string | Modelo del hub en el sistema origen |
Campos de warehouses[]
Requeridos
| Campo | Tipo | Descripción |
|---|---|---|
warehouse_code | string | Código único del almacén |
Opcionales
| Campo | Tipo | Descripción |
|---|---|---|
source_id | string | ID externo del almacén |
source_system | string | Sistema externo del almacén |
description | string | Descripción del almacén |
Ejemplos
Request
{
"origin_hub_id": "stock.warehouse:1",
"origin_hub_model": "stock.warehouse",
"source_system": "external_erp",
"warehouses": [
{
"source_id": "stock.location:WH/Stock",
"warehouse_code": "WH/Stock",
"description": "Almacen principal"
},
{
"source_id": "stock.location:WH/Input",
"warehouse_code": "WH/Input",
"description": "Entrada"
}
]
}Response
{
"ok": true,
"code": "SYNC_OK",
"message": "Sync processed successfully.",
"data": {
"hub_id": 3
},
"meta": {
"route": "/transportes/sync/hubs/warehouses",
"method": "PostHubWarehousesSync",
"operation": "warehouse_upsert",
"upsert_action": "processed",
"warehouse_summary": {
"processed": 2,
"created": 1,
"updated": 1
},
"timestamp": "2026-04-07T12:00:00.000Z"
}
}