Catálogos Maestros
Vehículos y Tipos

Sincronización de Vehículos y Tipos

En esta sección se documentan los endpoints para sincronizar el catálogo de vehículos de la flota y sus clasificaciones por tipo, las cuales dictan las reglas base de capacidad para las rutas.


1. Tipos de Vehículo

POST/transportes/sync/vehicles/vehicle-types

Crea o actualiza tipos de vehículo y su capacidad base de carga.

Caso de uso

  • Crear tipos de vehículos desde el sistema externo.
  • Actualizar capacidad base de un tipo de vehículo.

Campos del Payload

Requeridos

CampoTipoDescripción
source_idstringID único en el sistema de origen
source_systemstringSistema externo (ej. external_erp)
vehicle_type_descriptionstringNombre del tipo (ej. Camion 3.5T)

Opcionales

CampoTipoDescripción
is_activebooleanEstado activo
vehicle_type_idintID interno del tipo
min_weightnumberPeso mínimo en kg
max_weightnumberPeso máximo en kg
max_volumenumberVolumen máximo en m³
max_lengthnumberLargo máximo en metros

Ejemplos

Request

{
  "source_id": "fleet.vehicle.model.category:3",
  "source_system": "external_erp",
  "vehicle_type_description": "Camion 3.5T",
  "min_weight": 0,
  "max_weight": 3500,
  "max_volume": 18,
  "max_length": 6
}

Response

{
  "ok": true,
  "code": "SYNC_OK",
  "message": "Sync processed successfully.",
  "data": 3,
  "meta": {
    "route": "/transportes/sync/vehicles/vehicle-types",
    "method": "PostVehicleTypeSync",
    "operation": "upsert",
    "upsert_action": "created",
    "timestamp": "2026-04-07T12:00:00.000Z"
  }
}

2. Vehículos

POST/transportes/sync/vehicles

Crea o actualiza vehículos. Permite configurar excepciones de capacidad sobre el tipo base.

Caso de uso

  • Crear vehículos desde flota u el sistema externo.
  • Definir capacidad adicional por vehículo.
  • Definir categorías o zonas que el vehículo puede cubrir.

Dependencias

  • vehicle_type_source_id requiere que el tipo de vehículo exista.
  • hub_source_id, driver_source_id y license_type_source_id requieren sus recursos correspondientes previamente sincronizados.

Campos del Payload

Requeridos

CampoTipoDescripción
source_idstringID único en el sistema de origen
source_systemstringSistema externo
vehicle_type_id / vehicle_type_source_idint/stringTipo de vehículo
platestringPlaca del vehículo

Opcionales

CampoTipoDescripción
is_activebooleanEstado activo
vehicle_idintID interno
vehicle_type_modelstringModelo del tipo
driver_id / driver_source_idint/stringChofer asignado
driver_modelstringModelo del chofer
vehicle_descriptionstringDescripción del vehículo
is_enabledbooleanHabilitado para operar
extra_weightnumberPeso adicional permitido (kg)
extra_volumenumberVolumen adicional (m³)
extra_lengthnumberLargo adicional (metros)
categoriesstring[] / stringCategorías o zonas habilitadas
hub_id / hub_source_idint/stringSede asignada
hub_modelstringModelo del hub
license_type_id / license_type_source_idint/stringTipo de licencia requerida
license_type_modelstringModelo del tipo de licencia

Ejemplos

Request

{
  "source_id": "fleet.vehicle:12",
  "source_system": "external_erp",
  "vehicle_type_source_id": "fleet.vehicle.model.category:3",
  "vehicle_type_model": "fleet.vehicle.model.category",
  "plate": "ABC123",
  "vehicle_description": "Camion especial",
  "hub_source_id": "stock.warehouse:1",
  "driver_source_id": "hr.employee:401",
  "extra_weight": 250,
  "extra_volume": 2,
  "extra_length": 0,
  "categories": ["PVC", "GAM"],
  "is_enabled": true
}

Response

{
  "ok": true,
  "code": "SYNC_OK",
  "message": "Sync processed successfully.",
  "data": [
    {
      "vehicle_id": 12
    }
  ],
  "meta": {
    "route": "/transportes/sync/vehicles",
    "method": "PostVehicleSync",
    "operation": "upsert",
    "upsert_action": "updated",
    "timestamp": "2026-04-07T12:00:00.000Z"
  }
}