Saltar al contenido principal
Advanced Shipping Carrier

Advanced Shipping Carrier Integration: lo que no te cuentan al ponerlo en marcha

Para poner en marcha Advanced Shipping Carrier Integration das de alta cada transportista con Carrier Name, Carrier Type, Company y la casilla Enabled, junto con las credenciales de tu cuenta con ese transportista: API Key, API Secret y Account Number. La primera semana conviene vigilar Connection Status, Last Sync Time y Last API Response de cada transportista y, cuando una petición falla, leer su HTTP Status Code y su Error Message. Debajo tienes los detalles prácticos que conviene saber antes de empezar.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del conector, versión 20.0 · en las fuentes enlazadas al final
Lectura
6 min

Antes de dar de alta el primer transportista

La puesta en marcha se juega en pocos sitios: la ficha de cada transportista, el registro de cada petición y los campos de estado que vas a ver en las listas. Estos son los detalles que conviene tener claros antes de tocar nada. Si buscas la visión de conjunto de menús y flujo, la tienes en cómo funciona el módulo por dentro.

Las credenciales son las de tu cuenta con cada transportista

El alta de un transportista lleva Carrier Name, Carrier Type (un campo de selección), Enabled y Company. Junto a ellos van las credenciales. El propio módulo describe API Key como «API key of the carrier account» y API Secret como «API secret of the carrier account». Account Number es el número de cuenta propio de cada transportista, y el campo pone como ejemplos «FedEx account, UPS account, etc.».

La lectura práctica: esos tres datos son los de tu cuenta con cada transportista, así que tenlos a mano antes de sentarte a configurar. Y como cada alta lleva su propio Company, si trabajas con varias empresas en la misma base, comprueba a cuál queda asignado cada transportista.

Custom Endpoint URL es opcional y tiene un caso concreto

Entre los campos del transportista está Custom Endpoint URL. Su descripción lo define como una URL de API personalizada y opcional para «non-standard carriers». Si tu transportista no entra en ese caso, no tienes por qué rellenarlo.

Enabled y Connection Status se miran por separado

Enabled es una casilla; Connection Status es un campo de selección aparte. Son dos datos distintos y conviene revisarlos por separado. Al lado tienes Last Sync Time, con la fecha y hora de la última sincronización, y Last API Response, con la última respuesta de la API. En la misma ficha quedan también Created y Created By, con la fecha de alta y el usuario que la hizo.

Lista de Hazmat Categories del módulo Shipping con seis registros, cada uno con código, nombre de categoría y recargo a cero, con barra de búsqueda y paginación
Otra de las listas del módulo: Hazmat Categories, con seis categorías y su recargo a cero.

Cada petición queda guardada campo a campo

El módulo guarda un registro con estos campos: Carrier, Request Type, Status, Timestamp, HTTP Status Code, Response Snippet, Error Message, Request Payload y Company. Cuando algo no cuadra, ese es el sitio donde mirar:

  • Request Type: qué tipo de petición era.
  • Request Payload: lo que se envió.
  • HTTP Status Code: el código HTTP de la respuesta.
  • Response Snippet: un fragmento de la respuesta.
  • Error Message: el texto del error.
  • Timestamp: cuándo ocurrió.

Con Carrier y Timestamp acotas rápido de qué transportista y de qué momento hablas. Para interpretar cada mensaje concreto, tienes la guía de errores y avisos del módulo.

Hay varios campos de estado y no significan lo mismo

En el módulo vas a encontrar varios campos llamados status o state, cada uno con su propio juego de valores:

  • status con Success, Failed y Timeout.
  • status con Success, Error y Label Exists.
  • status con Draft, Generated, Printed y Failed.
  • status con Active, Degraded y Down.
  • status con Draft, In Progress, Completed, Failed y Paused.
  • status con Draft, Completed, Failed y Partial.
  • state con Open, Submitted, Approved, Rejected y Paid.
  • state con Draft y Done.
  • status_filter con Draft, Ready-to-Ship y All.

Fíjate en que Failed y Draft aparecen en varios de ellos. Cuando filtres o cuando alguien del equipo te diga que algo está en Failed, pregunta en qué lista lo ha visto antes de buscar la causa.

El campo state más largo va de Draft a Cancelled

Uno de los campos state del módulo recorre estos valores: Draft, Blocked, Cost Quoted, Ready to Ship, In Transit, Out for Delivery, Delivered, Attempted Delivery, Returned to Sender, Lost, Damaged y Cancelled. Hay además dos campos, status y current_status, con Pre-Label, In-Transit, Out-for-Delivery, Delivered, Exception y Returned.

Ojo con la escritura: en un caso es Out for Delivery y en el otro Out-for-Delivery; lo mismo con Ready to Ship y el Ready-to-Ship de status_filter. Tenlo en cuenta al buscar o al crear filtros guardados.

Asistente Export Intrastat con mes y año, texto explicativo del CSV y botones Export y Cancel, abierto sobre la lista de envíos de DHL Express en estados Ready to Ship y Delivered
El asistente Export Intrastat sobre la lista de envíos (Shipping › Shipments), con envíos de DHL Express en Ready to Ship y Delivered.
Asistente Bulk Print Labels abierto sobre la lista de envíos con dos envíos de DHL Express seleccionados, botones Download Labels y Cancel y texto sobre PDF único o ZIP
Bulk Print Labels con dos envíos de DHL Express seleccionados; el texto del asistente habla de un PDF único o un ZIP.
Secuencia del asistente Bulk Print Labels con dos envíos seleccionados, el diálogo Create Return sobre un envío en estado Delivered y el diálogo Record Carrier Invoice con DHL Express
De la impresión masiva de etiquetas al diálogo Create Return (con envío original, transportista, tipo de servicio, Email Customer y notas de devolución) y al registro de la factura del transportista con Record Carrier Invoice.

last_health_check_status tiene tres valores

El campo last_health_check_status toma Success, Failed o Unknown. Durante la primera semana, apunta cuál de los tres muestra cada día y compáralo con Last Sync Time y Last API Response del transportista.

Qué revisar durante la primera semana

Con lo anterior, la revisión de los primeros días se resume así:

  • Cada transportista tiene API Key, API Secret y Account Number de su cuenta, y la Company correcta.
  • Custom Endpoint URL solo está relleno donde aplica el caso de «non-standard carriers».
  • Enabled y Connection Status de cada transportista, mirados por separado.
  • Last Sync Time y Last API Response, a diario.
  • El valor de last_health_check_status.
  • En cada petición fallida: HTTP Status Code, Error Message, Response Snippet y Request Payload.
  • Qué registros están en Blocked, Exception o Attempted Delivery.

Lo que cuesta y cómo te ayuda FlexigoTech

El módulo cuesta 9 € sin IVA por versión de Odoo, en pago único, para 17, 18, 19 y 20; en Odoo 19 y 20, además, necesita la suscripción a FlexigoTech Cloud, cuyo plan Conector cuesta 49 €/mes o 490 €/año sin IVA (Pro: 98 €/mes o 980 €/año), con hasta 3 cuentas de la plataforma (Pro: 10). Esa conexión por FlexigoTech Cloud guarda cifradas las credenciales, vigila la sincronización y avisa por correo si falla; sin suscripción, o con el servicio suspendido, se para lo que da la suscripción y los datos se quedan en tu Odoo.

Tienes los detalles en la ficha de Odoo Apps y en la página del módulo en flexigotech.com.

En FlexigoTech implantamos Odoo 17, 18, 19 y 20 y desarrollamos conectores e integraciones a medida. Si necesitas ayuda para dar de alta tus transportistas, revisar los primeros fallos o adaptar el flujo de envíos a tu operativa, cuéntanos tu caso.

Sigue leyendo

Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas

Fuentes