Guía de campos

Esta guía reúne y explica los campos entre el ERP y Logistiko

Documentación relacionada:

Diferencias de nombres entre creación, actualización y webhooks

ConceptoCreaciónActualizaciónWebhookObservaciones
Referencia principal del servicioalbaranservicio para localizarlo; referenciaNueva para cambiarlaserviceRefEn creación se envía la referencia inicial. En actualización se separa la referencia usada para localizar de la referencia nueva.
Referencia externareferenciaExternareferenciaExterna para localizarla; referenciaExternaNueva para cambiarlaserviceIdOrderEs una referencia complementaria, puede ser el numero de pedido por ejemplo.
Identificador único de LogístikoNo se envía como dato inicial; se obtiene tras crear el serviciouniqueIduniqueIdEs el identificador recomendado para actualizaciones e idempotencia.
Referencia de rutarutaReferenciarutaReferenciarouteRefMismo concepto con naming español en API y naming inglés en webhook.
Identificador interno de rutarouteIdSolo se comunica en los webhooks. Es el id de la ruta
Código del conductorconductorCodigoconductorCodigodriverCodeEl webhook también puede incluir driverId, identificador interno de Logístiko.
Posición del servicioposicionServicio en el OpenAPI de creaciónservicePosIndica el orden del servicio dentro de la ruta.
Tipo de actividadactividadtypeValores habituales: 1 = recogida; 2 = entrega.
Latitud planificadacliente.latitudlatitudelatitudeServiceNo debe confundirse con latitudeArrive o latitudeDeparture, que son coordenadas reales del evento.
Longitud planificadacliente.longitudlongitudelongitudeServiceNo debe confundirse con longitudeArrive o longitudeDeparture.
Ciudad o localidadcliente.ciudadlocalidadEl nombre cambia entre creación y actualización.
Inicio de ventana horariahorarioDesdellegadaMinEn actualización se utilizan campos de llegada mínima y máxima.
Fin de ventana horariahorarioHastallegadaMaxEn actualización se utilizan campos de llegada mínima y máxima.
Duración de paradaparadaDuracionduracionFormato recomendado: HH:mm.
Comentarios generalescomentarioscomentariosnotesArrive, notesDeparture o notesIncidenceLos campos del webhook son observaciones registradas en momentos concretos, no una copia directa de comentarios.
Lista de bultos o artículosbultosListabultosListaparcelListEl nombre de la lista cambia en los webhooks.
Código de barras del bultobultosLista[].barcodebultosLista[].barcodeparcelList[].barcodeMismo dato dentro de listas con nombres diferentes.
Nombre del bultobultosLista[].nombrebultosLista[].nombreparcelList[].nameNaming español en API y naming inglés en webhook.
Cantidad del bultobultosLista[].cantidadbultosLista[].cantidadparcelList[].qty, qtyStart, qtyFinalEl webhook diferencia cantidad planificada, inicial y final.
Peso del bultobultosLista[].pesobultosLista[].pesoparcelList[].weight, weightStart, weightFinalEl webhook diferencia peso planificado, inicial y final.
Lista de facturas anterioresfacturasPasadaspreviousInvoiceListEl nombre de la colección cambia y el webhook añade el estado done.
Importe de factura anteriorfacturasPasadas[].importepreviousInvoiceList[].valueEl mismo concepto cambia de importe a value.
Tipo de pago de facturafacturasPasadas[].tipoPagopreviousInvoiceList[].paymentTypeNaming español en creación y naming inglés en webhook.

La pestaña Inyección (1) conserva el nombre ordenIdentificador para la referencia externa. El OpenAPI de creación aportado utiliza referenciaExterna. Para nuevas integraciones debe utilizarse el nombre definido en la versión publicada del endpoint.

1. Inyección de servicios

La inyección crea uno o varios servicios dentro de pedidosLista.

Estructura simplificada:

{
  "pedidosLista": [
    {
      "albaran": "ALB-2026-000125",
      "actividad": 2,
      "cliente": {
        "clienteCodigo": "CLI-00025",
        "clienteNombre": "Cliente de ejemplo",
        "direccion": "Calle Mayor 25",
        "codigoPostal": "28013",
        "ciudad": "Madrid"
      }
    }
  ]
}

El objeto cliente es obligatorio en la creación. Dentro de él son obligatorios clienteCodigo, clienteNombre, direccion, codigoPostal y ciudad.

1.1 Campos generales del servicio

CampoTipoObligatorioDescripción y valores
albaranstringObligatorio. Referencia principal del servicio. Normalmente corresponde al número de albarán, pedido u otro documento del ERP.
ordenIdentificador (mapeo) / referenciaExterna (OpenAPI)stringNoIdentificador o referencia externa adicional del pedido o servicio en el ERP. Permite conservar una segunda referencia distinta de albaran.
comentariosstringNoObservaciones e instrucciones generales del servicio que pueden mostrarse en planificación y en la APP del conductor.
etiquetastringNoEtiqueta para mostrar, buscar, filtrar o clasificar el servicio. Puede contener varios valores separados por punto y coma.
sedeCodigostringNoCódigo que identifica la sede en Logístiko. Debe coincidir con una sede configurada previamente.
conductorCodigostringNoCódigo que identifica al conductor en Logístiko. Puede omitirse cuando la asignación se realizará posteriormente en Logístiko.
fechaDeseadastringNoFecha y hora deseada para realizar el servicio. Formato recomendado: yyyy-MM-dd'T'HH:mm:ssZ, por ejemplo 2025-02-21T09:37:42+0200.
prioridadnumberNoPrioridad del servicio. Valores: 0 = normal; 1 = prioritario. Valor por defecto: 0.
actividadnumberObligatorio. Tipo de actividad. Valores: 1 = recogida; 2 = entrega. Valor por defecto: 2.
cantidadnumberNoCantidad total asociada al servicio.
pesonumberNoPeso total asociado al servicio.
volumennumberNoVolumen total asociado al servicio.
importeCobrarnumberNoImporte total, en euros, que el conductor debe cobrar al destinatario durante el servicio.
tipoPagostringNoMétodo de pago previsto que se mostrará al conductor, por ejemplo EFECTIVO, TARJETA, CHEQUE, PAGARE, TRANSFERENCIA o CONTADO.
horarioDesdestringNoHora de inicio de la ventana horaria permitida. Formato HH:mm.
horarioHastastringNoHora de finalización de la ventana horaria permitida. Formato HH:mm.
horarioCierreIniciostringNoHora de inicio de una franja en la que no debe realizarse el servicio. Formato HH:mm.
horarioCierreFinalstringNoHora de finalización de una franja en la que no debe realizarse el servicio. Formato HH:mm.
paradaDuracionstringNoDuración estimada de la parada. Formato HH:mm.
zonastringNoZona o clasificación territorial u operativa del servicio. Se utiliza como criterio auxiliar de planificación y filtrado.
rutaReferenciastringNoCódigo o referencia de ruta procedente del ERP. Puede utilizarse desde la APP para autoasignar la ruta o para localizarla posteriormente.
fechaCreacionstringNoFecha de creación del pedido. Formato recomendado: yyyy-MM-dd'T'HH:mm:ssZ.
fechaPreparacionstringNoFecha de preparación del pedido. Formato recomendado: yyyy-MM-dd'T'HH:mm:ssZ.

1.2 Datos del cliente

CampoTipoObligatorioDescripción y valores
cliente.clienteNombrestringObligatorio. Nombre comercial o razón social del cliente o destinatario.
cliente.direccionstringObligatorio. Calle y número donde se realizará la recogida o entrega.
cliente.direccionDetallesstringNoDetalles adicionales de la dirección, como piso, puerta, bloque, muelle o instrucciones de acceso.
cliente.codigoPostalstringObligatorio. Código postal de la dirección del cliente.
cliente.ciudadstringObligatorio. Ciudad o localidad donde se realizará el servicio.
cliente.telefonostringNoTeléfono de contacto del cliente o destinatario.
cliente.clienteCodigostringObligatorio. Código único de la dirección del cliente en el ERP.
cliente.latitudnumberNoLatitud de la dirección del servicio. Debe enviarse junto con cliente.longitud.
cliente.longitudnumberNoLongitud de la dirección del servicio. Debe enviarse junto con cliente.latitud.
cliente.emailstringNoCorreo electrónico de contacto del cliente o destinatario.
cliente.dnistringNoDNI, NIF u otro documento identificativo del cliente o contacto.
cliente.clienteNombreFiscalstringNoNombre o razón social fiscal del cliente.
cliente.clienteDireccionFiscalstringNoDirección fiscal principal del cliente.
cliente.clienteDireccionFiscalCPstringNoCódigo postal de la dirección fiscal.
cliente.clienteDireccionFiscalCiudadstringNoCiudad o localidad de la dirección fiscal.
cliente.clienteCIFstringNoCIF, NIF o identificador fiscal del cliente.

Ejemplo:

{
  "cliente": {
    "clienteCodigo": "CLI-00025",
    "clienteNombre": "Distribuciones Ejemplo",
    "direccion": "Calle Mayor 25",
    "direccionDetalles": "Planta 2, puerta B",
    "codigoPostal": "28013",
    "ciudad": "Madrid",
    "latitud": 40.416775,
    "longitud": -3.70379,
    "telefono": "+34910000000",
    "email": "[email protected]"
  }
}

1.3 Bultos y artículos

bultosLista es opcional. Cuando se incluye, cada elemento representa un bulto, artículo o unidad logística.

CampoTipoObligatorioDescripción y valores
bultosLista[].cantidadnumberNoCantidad asociada al bulto o artículo.
bultosLista[].barcodestringSí, si se envía el bultoObligatorio dentro de cada bulto. Código de barras o identificador único del bulto o artículo.
bultosLista[].nombrestringNoNombre del bulto, artículo o unidad logística.
bultosLista[].pesonumberNoPeso del bulto o artículo.
bultosLista[].volumennumberNoVolumen del bulto o artículo.
bultosLista[].descripcionstringNoDescripción adicional del bulto o artículo.
bultosLista[].costeUnitarionumberNoCoste correspondiente a una unidad de la variable seleccionada en variableActualizarCoste.
bultosLista[].ivaPorcentajenumberNoPorcentaje de IVA aplicado al bulto o artículo.
bultosLista[].descuentoPorcentajenumberNoPorcentaje de descuento aplicado al bulto o artículo.
bultosLista[].recargoPorcentajenumberNoPorcentaje de recargo aplicado al bulto o artículo.
bultosLista[].pickupnumberNoTipo de movimiento del bulto. Valores: 0 = entrega; 1 = recogida.
bultosLista[].posAlmacenstringNoPosición, ubicación o referencia del bulto dentro del almacén.
bultosLista[].variableActualizarCostenumberNoIndica qué atributo se usa para calcular o recalcular el importe a partir de costeUnitario. Valores: 0 = sin variable específica; 1 = peso; 2 = cantidad/unidades; 3 = volumen.

Cálculo de importes mediante variableActualizarCoste

variableActualizarCoste no es un booleano. Indica la magnitud utilizada para calcular o recalcular el importe a partir de costeUnitario.

ValorVariable utilizadaCálculo base
0Sin variable específicaNo se fuerza una base concreta mediante este campo
1PesocosteUnitario × peso
2Cantidad o unidadescosteUnitario × cantidad
3VolumencosteUnitario × volumen

Los impuestos, descuentos y recargos se informan mediante ivaPorcentaje, descuentoPorcentaje y recargoPorcentaje.

1.4 Facturas anteriores o pendientes

facturasPasadas es opcional. Cuando se incluye, cada objeto debe contener como mínimo referencia e importe.

CampoTipoObligatorioDescripción y valores
facturasPasadas[].referenciastringSí, si se envía la facturaObligatorio dentro de cada factura. Referencia de la factura anterior o pendiente.
facturasPasadas[].importenumberSí, si se envía la facturaObligatorio dentro de cada factura. Importe asociado a la factura.
facturasPasadas[].descripcionstringNoDescripción u observaciones de la factura.
facturasPasadas[].tipoPagostringNoMétodo o tipo de pago asociado a la factura.
facturasPasadas[].fechastringNoFecha de la factura. Formato acordado para la integración, preferentemente yyyy-MM-dd'T'HH:mm:ssZ.
facturasPasadas[].fechaVencimientostringNoFecha de vencimiento de la factura. Formato acordado para la integración, preferentemente yyyy-MM-dd'T'HH:mm:ssZ.

2. Actualización de servicios

La actualización modifica un servicio ya existente. Se recomienda identificarlo mediante uniqueId.

Cuando no se utiliza uniqueId, la integración puede localizar el servicio por su referencia principal o externa, según el contrato configurado.

2.1 Identificación y cambio de referencias

CampoTipoUsoDescripción y valores
uniqueIdstringRecomendadoIdentificador único del servicio en Logístiko. Es el identificador recomendado para localizar exactamente el servicio que debe actualizarse.
serviciostringIdentificador alternativoReferencia principal actual del servicio. Puede utilizarse para localizarlo cuando no se informa uniqueId.
referenciaExternastringIdentificador alternativoReferencia externa actual del servicio utilizada para localizar o validar el registro que se desea actualizar.
referenciaNuevastringOpcional; solo si cambia la referenciaNueva referencia principal del servicio. Sustituye la referencia anterior; por ejemplo, permite cambiar el número de pedido por el número de albarán.
referenciaExternaNuevastringOpcional; solo si cambia la referenciaNueva referencia externa del servicio. Es opcional y puede utilizarse para conservar el número de pedido después de sustituir la referencia principal por el albarán.

Paso de pedido a albarán

Para reutilizar el mismo servicio cuando un pedido se convierte en albarán:

{
  "uniqueId": "687000000000000000000001",
  "referenciaNueva": "ALB-2026-00457",
  "referenciaExternaNueva": "PED-2026-00125",
  "documentoConcepto": "Albaran"
}
  • referenciaNueva sustituye la referencia principal original.
  • referenciaExternaNueva permite conservar opcionalmente el número de pedido.
  • documentoConcepto cambia de Pedido a Albaran.
  • No debe crearse un segundo servicio: debe actualizarse el servicio existente.
  • Los artículos de bultosLista también pueden actualizarse si han cambiado entre el pedido y el albarán.

2.2 Dirección y contacto

CampoTipoUsoDescripción y valores
latitudenumberOpcionalNueva latitud de la dirección del servicio. Debe enviarse junto con longitude.
longitudenumberOpcionalNueva longitud de la dirección del servicio. Debe enviarse junto con latitude.
direccionstringOpcionalNueva dirección principal del servicio.
codigoPostalstringOpcionalNuevo código postal de la dirección del servicio.
localidadstringOpcionalNueva ciudad o localidad de la dirección del servicio.
telefonostringOpcionalNuevo teléfono de contacto del destinatario.
emailstringOpcionalNuevo correo electrónico de contacto del destinatario.
contactostringOpcionalNuevo nombre de la persona de contacto.
dnistringOpcionalNuevo DNI, NIF u otro documento identificativo del cliente o contacto.

2.3 Datos operativos y de planificación

CampoTipoUsoDescripción y valores
comentariosstringOpcionalNuevas observaciones o instrucciones generales del servicio.
rutaReferenciastringOpcionalNueva referencia de ruta asociada al servicio.
etiquetastringOpcionalNueva etiqueta de clasificación o filtrado. Puede contener varios valores separados por punto y coma.
cantidadnumberOpcionalNueva cantidad total asociada al servicio.
pesonumberOpcionalNuevo peso total asociado al servicio.
volumennumberOpcionalNuevo volumen total asociado al servicio.
llegadaMinstringOpcionalInicio de la ventana horaria de llegada. Utilizar el formato admitido por la integración, normalmente HH:mm o fecha y hora completa.
llegadaMaxstringOpcionalFin de la ventana horaria de llegada. Utilizar el formato admitido por la integración, normalmente HH:mm o fecha y hora completa.
duracionstringOpcionalNueva duración estimada de la parada. Formato recomendado HH:mm.
conductorCodigostringOpcionalCódigo del nuevo conductor asociado al servicio. Debe coincidir con un conductor configurado en Logístiko.
prioridadnumberOpcionalNueva prioridad del servicio. Valores: 0 = normal; 1 = prioritario.
fechaAuxiliarstringOpcionalFecha auxiliar asociada al servicio. Su uso concreto debe acordarse durante el mapeo de la integración.
fechaPedidostringOpcionalFecha del pedido. Formato recomendado: yyyy-MM-dd'T'HH:mm:ssZ.
fechaPreparacionstringOpcionalFecha de preparación del pedido. Formato recomendado: yyyy-MM-dd'T'HH:mm:ssZ.
asignablebooleanOpcionalIndica si el servicio puede incluirse en la planificación. Valores: true = asignable; false = no asignable.
documentoConceptostringOpcionalConcepto del documento. Valores habituales: Pedido o Albaran. Permite reflejar el paso de pedido a albarán sin crear un servicio nuevo.

Campo asignable

  • true: el servicio puede incluirse en la planificación.
  • false: el servicio no debe utilizarse como servicio disponible para asignación.

2.4 Actualización de bultos y artículos

CampoTipoUsoDescripción y valores
bultosLista[].barcodestringOpcionalObligatorio dentro de cada bulto. Código de barras o identificador único del bulto o artículo.
bultosLista[].nombrestringOpcionalNuevo nombre del bulto, artículo o unidad logística.
bultosLista[].cantidadnumberOpcionalNueva cantidad asociada al bulto o artículo.
bultosLista[].pesonumberOpcionalNuevo peso del bulto o artículo.
bultosLista[].volumennumberOpcionalNuevo volumen del bulto o artículo.
bultosLista[].costeUnitarionumberOpcionalNuevo coste correspondiente a una unidad de la variable seleccionada en variableActualizarCoste.
bultosLista[].descripcionstringOpcionalNueva descripción del bulto o artículo.
bultosLista[].formatostringOpcionalFormato, presentación o tipo de unidad logística, por ejemplo CAJA, PALET o UNIDAD.
bultosLista[].variableActualizarCostenumberOpcionalIndica qué atributo se usa para calcular o recalcular el importe a partir de costeUnitario. Valores: 0 = sin variable específica; 1 = peso; 2 = cantidad/unidades; 3 = volumen.
bultosLista[].ivaPorcentajenumberOpcionalNuevo porcentaje de IVA aplicado al bulto o artículo.
bultosLista[].descuentoPorcentajenumberOpcionalNuevo porcentaje de descuento aplicado al bulto o artículo.
bultosLista[].recargoPorcentajenumberOpcionalNuevo porcentaje de recargo aplicado al bulto o artículo.
bultosLista[].pickupnumberOpcionalTipo de movimiento del bulto. Valores: 0 = entrega; 1 = recogida.

Al actualizar artículos deben enviarse los identificadores necesarios para relacionarlos correctamente. Cuando la integración sustituya la lista completa, el ERP debe enviar todos los artículos definitivos y no solamente los que hayan cambiado.

3. Campos recibidos en los webhooks

Los webhooks son comunicaciones iniciadas por Logístiko:

Logístiko → ERP

La presencia de cada campo depende del evento. Por ejemplo, una llegada puede incluir coordenadas de llegada, mientras que una entrega puede incluir firma, fotografías, cantidades finales y respuestas de formularios.

3.1 Identificación, ruta y conductor

CampoTipoDisponibilidadDescripción y valores
routeIdstringSegún eventoIdentificador interno de la ruta en Logístiko.
routeRefstringSegún eventoReferencia visible o externa de la ruta.
driverIdstringSegún eventoIdentificador interno del conductor en Logístiko.
driverCodestringSegún eventoCódigo del conductor en Logístiko.
licensePlatestringSegún eventoMatrícula del vehículo asociado a la ruta, cuando esté disponible.
uniqueIdstringSegún eventoIdentificador único del servicio en Logístiko. Debe utilizarse como referencia principal para relacionar el webhook con el servicio del ERP.
serviceIdstringSegún eventoIdentificador interno de la asignación o servicio dentro de la ruta.
serviceRefstringSegún eventoReferencia principal del servicio, normalmente el número de albarán o pedido.
serviceIdOrderstringSegún eventoReferencia externa u orden del servicio procedente del ERP.
trackingLinkstringSegún eventoEnlace público de seguimiento del servicio, cuando esté habilitado.
olKeystringSegún eventoClave externa o identificador de integración asociado al servicio, cuando esté configurado.
serviceLabelstringSegún eventoEtiqueta o texto descriptivo asociado al servicio.
servicePosnumberSegún eventoPosición u orden del servicio dentro de la ruta.
typenumberSegún eventoTipo de actividad del servicio. Valores habituales: 1 = recogida; 2 = entrega.

Diferencias importantes entre identificadores

  • uniqueId identifica de forma estable el servicio en Logístiko.
  • serviceRef contiene la referencia principal del servicio.
  • serviceIdOrder contiene la referencia externa o la referencia de pedido del ERP.
  • serviceId identifica internamente la asignación o servicio dentro de la ruta.
  • routeId es el identificador interno de la ruta.
  • routeRef es la referencia visible o externa de la ruta.

3.2 Estados del webhook

EstadoSignificado habitual
0Servicio sin asignar
1Servicio asignado a una ruta
2Ruta iniciada
3Llegada al destino
4Servicio completado
5Servicio con incidencia
9Formulario de inicio de ruta
10Formulario de fin de ruta
40Predespacho o planificación previa
50Evento externo
99Estado forzado

El significado exacto de algunos campos secundarios depende del evento y de la configuración:

  • status1 y status1Label describen el resultado principal de un servicio completado.
  • status2 y status2Label identifican un motivo secundario o un motivo de servicio incompleto.
  • codeIncidence y labelIncidence identifican la incidencia registrada.
  • 99 representa una modificación o estado forzado.

3.3 Fechas, coordenadas y observaciones

CampoTipoDisponibilidadDescripción y valores
barcodeReadStartRoutenumberSegún eventoFecha y hora, en epoch milisegundos, en la que se leyó el código de barras al inicio de la ruta.
barcodeReadCompleteServicenumberSegún eventoFecha y hora, en epoch milisegundos, en la que se leyó el código de barras al completar el servicio.
latitudeServicenumberSegún eventoLatitud de la dirección planificada del servicio.
longitudeServicenumberSegún eventoLongitud de la dirección planificada del servicio.
dateEstimatednumberSegún eventoFecha y hora estimada de llegada al servicio, en epoch milisegundos.
dateArrivenumberSegún eventoFecha y hora real de llegada al destino, en epoch milisegundos.
dateDeparturenumberSegún eventoFecha y hora real de salida o finalización del servicio, en epoch milisegundos.
notesArrivestringSegún eventoObservaciones registradas durante la llegada al destino.
notesDeparturestringSegún eventoObservaciones registradas durante la salida o finalización del servicio.
notesIncidencestringSegún eventoObservaciones registradas para la incidencia.
latitudeArrivenumberSegún eventoLatitud registrada durante la llegada al destino.
longitudeArrivenumberSegún eventoLongitud registrada durante la llegada al destino.
latitudeDeparturenumberSegún eventoLatitud registrada durante la salida o finalización del servicio.
longitudeDeparturenumberSegún eventoLongitud registrada durante la salida o finalización del servicio.

Las coordenadas tienen significados diferentes:

  • latitudeService y longitudeService: ubicación planificada del servicio.
  • latitudeArrive y longitudeArrive: ubicación registrada durante la llegada.
  • latitudeDeparture y longitudeDeparture: ubicación registrada durante la salida o finalización.

3.4 Resultado, incidencia y evidencias

CampoTipoDisponibilidadDescripción y valores
statusnumberSegún eventoEstado comunicado. Valores habituales: 0 = sin asignar; 1 = asignado a ruta; 2 = ruta iniciada; 3 = llegada; 4 = servicio completado; 5 = incidencia; 9 = formulario de inicio; 10 = formulario de fin; 40 = predespacho; 50 = evento externo; 99 = estado forzado.
status1numberSegún eventoResultado principal del servicio completado. Valores habituales: 0 = completado correctamente; 1 = incompleto. Su uso depende del estado y de la configuración.
status1LabelstringSegún eventoDescripción legible correspondiente a status1.
status2numberSegún eventoCódigo del motivo secundario o motivo de servicio incompleto. Los valores dependen de la configuración de Logístiko.
status2LabelstringSegún eventoDescripción legible correspondiente a status2.
codeIncidencestringSegún eventoCódigo de la incidencia registrada en Logístiko.
labelIncidencestringSegún eventoDescripción o etiqueta de la incidencia registrada.
podSignstringSegún eventoFirma de la entrega codificada en Base64, normalmente como data URI.
podSignNamestringSegún eventoNombre de la persona que firma la entrega.
podSignIDstringSegún eventoDNI, NIF u otro identificador de la persona que firma.
podPhotostringSegún eventoFotografía principal de la entrega o incidencia codificada en Base64.
podPhotoListstring[]Según eventoLista de fotografías de la entrega o incidencia codificadas en Base64.

Las firmas y fotografías pueden recibirse codificadas en Base64. El ERP debe evitar registrar el contenido completo en logs y debe disponer de un límite de tamaño suficiente para procesar la petición.

3.5 Bultos recibidos en parcelList

CampoTipoDisponibilidadDescripción y valores
parcelList[].uniqueIdstringSegún eventoIdentificador interno único del bulto o artículo en Logístiko.
parcelList[].codestringSegún eventoCódigo interno o referencia del bulto o artículo.
parcelList[].barcodestringSegún eventoCódigo de barras del bulto o artículo.
parcelList[].namestringSegún eventoNombre del bulto o artículo.
parcelList[].qtynumberSegún eventoCantidad planificada del bulto o artículo.
parcelList[].qtyStartnumberSegún eventoCantidad registrada al inicio de la ruta.
parcelList[].qtyFinalnumberSegún eventoCantidad registrada al completar el servicio.
parcelList[].readStartbooleanSegún eventoIndica si el bulto fue leído o validado al inicio de la ruta. Valores: true o false.
parcelList[].readFinalbooleanSegún eventoIndica si el bulto fue leído o validado al completar el servicio. Valores: true o false.
parcelList[].weightnumberSegún eventoPeso planificado del bulto o artículo.
parcelList[].weightStartnumberSegún eventoPeso registrado al inicio de la ruta.
parcelList[].weightFinalnumberSegún eventoPeso registrado al completar el servicio.
parcelList[].reasonIncidencestringSegún eventoMotivo de incidencia asociado específicamente al bulto o artículo.
parcelList[].commentsstringSegún eventoComentarios u observaciones asociados al bulto o artículo.

El webhook puede diferenciar tres momentos:

  • Valor planificado: qty y weight.
  • Valor registrado al inicio de la ruta: qtyStart y weightStart.
  • Valor registrado al finalizar el servicio: qtyFinal y weightFinal.

Los campos readStart y readFinal indican si el bulto fue leído o validado en cada momento.

3.6 Respuestas de formularios

CampoTipoDisponibilidadDescripción y valores
form[].labelstringCuando el evento incluye formularioTexto o etiqueta visible de la pregunta del formulario.
form[].keystringCuando el evento incluye formularioClave técnica que identifica la pregunta del formulario.
form[].valuevariableCuando el evento incluye formularioRespuesta registrada. El tipo del valor depende de valueType.
form[].valueTypenumberCuando el evento incluye formularioTipo de respuesta. Valores: 0 = texto; 1 = número; 2 = booleano; 3 = identificador de documento.
form[].valueTypeStringstringCuando el evento incluye formularioNombre legible del tipo de respuesta, por ejemplo text, number, boolean o documentId.

Valores de valueType:

ValorTipo
0Texto
1Número
2Booleano
3Identificador de documento

El valor real de form[].value puede ser texto, número o booleano según valueType.

3.7 Facturas anteriores recibidas en previousInvoiceList

CampoTipoDisponibilidadDescripción y valores
previousInvoiceList[].valuenumberSegún configuraciónImporte de la factura anterior o pendiente.
previousInvoiceList[].referencestringSegún configuraciónReferencia de la factura anterior o pendiente.
previousInvoiceList[].paymentTypestringSegún configuraciónMétodo o tipo de pago asociado a la factura.
previousInvoiceList[].donebooleanSegún configuraciónIndica si la factura ya fue gestionada o cobrada. Valores: true o false.

4. Recomendaciones de mapeo para el ERP

  1. Almacenar siempre el uniqueId devuelto por Logístiko y utilizarlo como identificador principal en las actualizaciones.
  2. Interpretar las fechas de webhook como epoch milisegundos.
  3. No asumir que todos los campos estarán presentes en todos los webhooks.
  4. No sustituir un estado reciente por otro anterior únicamente por el orden de recepción. (si tu servidor no estaba disponible temporalmente el reintento nuestro puede ser posterior)