Cómo integrar la API de GLS con tu TMS en 7 pasos

Guía paso a paso para integrar la API de GLS con tu TMS: credenciales, endpoints de etiquetado y seguimiento, pruebas en sandbox y errores comunes.

Share

Si gestionas tanto carga completa como paquetería y tu TMS solo ve la primera, tienes un problema de visibilidad que nadie te va a señalar hasta que falte un KPI en el informe trimestral. Este artículo explica cómo integrar la API de GLS con tu TMS paso a paso: qué credenciales pedir, qué endpoints usar, cómo pasar de sandbox a producción y qué hacer cuando la API te devuelve un 401 justo el día que menos tiempo tienes.

Por qué conectar GLS directamente a tu TMS (y no solo usar su portal)

Porque sin esos datos en el TMS, no puedes calcular el OTIF real de tu operación ni construir un scorecard de transportista completo. Si combinas carga completa con paquetería y dejas GLS fuera del sistema, tienes un agujero negro: los pedidos que llegan en 24-48h por paquetería simplemente no existen para tu capa de KPIs, aunque representen un porcentaje relevante del volumen y del gasto anual.

Aquí viene el primer matiz que mucha gente pasa por alto: GLS no tiene una sola API. Existe la API paneuropea conocida como MyGLS, usada en países como Hungría, República Checa, Eslovaquia o Croacia, y existe la API de GLS España, conocida como ASM, que es la que aplica si tu cuenta está contratada en España. Para usar la API global de GLS, se requeriría una integración específica adicional distinta de la de GLS España, según confirma la documentación de integración de Gextia. Si tu equipo de desarrollo empieza a mirar documentación de MyGLS pensando que aplica a tu cuenta española, vas a perder semanas.

Qué necesitas antes de empezar

Antes de escribir una sola línea de código, reúne lo siguiente:

  • Cuenta activa de GLS España con acceso a la API ASM habilitado por tu gestor comercial o soporte técnico.
  • Credenciales de usuario y contraseña del API ASM, más el código de cliente asociado a tu cuenta de facturación. Según la documentación de FlexigoTech para el conector GLS ASM, estas son las credenciales mínimas: ASM API username and password provided by GLS Spain.
  • Acceso a un entorno de pruebas antes de tocar producción. GLS ASM dispone de un entorno de test específico para validar la integración sin generar envíos reales, tal y como señala esa misma documentación.
  • Un TMS con capacidad de conectores personalizados (REST o SOAP), o un middleware intermedio si tu TMS no admite llamadas salientes nativas.
  • La librería SOAP correspondiente si tu stack lo requiere (por ejemplo, suds-py3 en Python para comunicarse con el API ASM, según el mismo conector OCA).
  • El manual de integración técnica que te entrega tu gestor de GLS, que no es público.

Paso a paso: integración de GLS con tu TMS

Con las credenciales en mano, el proceso se reduce a siete pasos concretos.

  1. Solicita credenciales y acceso sandbox a GLS España. Pide explícitamente el entorno de test antes que el de producción. GLS entrega URLs y claves distintas para cada entorno, y no son intercambiables.
  2. Define el flujo de datos TMS → GLS → TMS. Decide qué campos salen del pedido (dirección de entrega, referencia de cliente, peso, importe de contrareembolso si aplica) y qué debe volver (número de expedición, estado, PDF de etiqueta).
  3. Mapea los campos al endpoint de creación de envío. En la familia de API de GLS, la llamada relevante es PrepareLabels, que según documentación técnica de integración requiere enviar un POST con un objeto Parcel que incluye ClientNumber, ClientReference, Count, DeliveryAddress y opcionalmente CODAmount. El campo ClientNumber es obligatorio en toda llamada, tal y como especifica la documentación oficial de integración de sistemas de GLS. En GLS España vía ASM el mapeo de campos es equivalente pero con nomenclatura propia del gestor, así que no asumas que el nombre exacto del campo coincide byte a byte con lo que veas en ejemplos de otros países.
  4. Implementa la generación automática de etiquetas. Cada vez que se confirma un pedido en el TMS, dispara la llamada a PrepareLabels y guarda el ParcelId devuelto para trazabilidad interna. Si necesitas el PDF en el mismo paso, algunas implementaciones llaman después a GetPrintedLabels pasando ese mismo ID.
  5. Configura la actualización de estados. Consulta periódicamente el estado del envío o, si tu cuenta lo soporta, recibe eventos vía webhook para evitar polling constante. Esto es lo que te permite que un envío de paquetería aparezca en el TMS con el mismo nivel de detalle que uno de carga completa.
  6. Haz pruebas de extremo a extremo en sandbox. Crea un envío de prueba, confirma que la etiqueta se genera, que el estado se actualiza en el TMS y que la prueba de entrega llega correctamente antes de tocar producción.
  7. Pasa a producción con monitorización activa. Revisa manualmente los primeros envíos reales durante al menos una semana antes de confiar el proceso al 100% a la automatización. No es paranoia, es sentido común cuando hablamos de direcciones de entrega reales y clientes reales esperando el paquete.

Cómo saber que la integración funciona

Lo sabes cuando dejan de pasar tres cosas: nadie genera etiquetas manualmente en el portal de GLS, los estados de entrega aparecen en el TMS con el mismo nivel de detalle que los de carga completa (permitiendo incluirlos en el carrier scorecard), y no hay discrepancias entre el número de expedición del TMS y el de GLS al cruzar reportes. Si alguna de estas tres señales falla, algo en el mapeo de campos del paso 3 no está bien cerrado, normalmente en la correspondencia entre el ClientReference interno y el número de pedido que usa tu equipo de atención al cliente.

Fallo común: error 401 o credenciales rechazadas

La causa más habitual no es un problema de permisos, sino de entorno: usar la URL de producción con credenciales de sandbox, o viceversa. Son URLs distintas con claves distintas, y mezclarlas produce exactamente el mismo mensaje de error genérico que un problema real de autenticación, lo que confunde a cualquiera que lo depure por primera vez.

Un detalle que Gextia documentó en sus notas de versión de agosto de 2026: cuando una misma cuenta opera con distintas cuentas de GLS ASM para envíos, recogidas y seguimiento, hay que asegurarse de que cada operación usa la cuenta asociada al albarán correcto, evitando errores de autenticación que en la práctica se ven como un 401 intermitente que no tiene relación con la contraseña en sí. Si gestionas varios centros o marcas con contratos GLS separados, revisa primero esto antes de sospechar de la credencial.

Otra causa frecuente: límites de volumen por llamada en operaciones de consulta o cancelación masiva. Si envías lotes grandes de IDs en una sola petición, la API puede rechazar la llamada completa en lugar de procesar lo que sí es válido. La solución práctica es trocear los lotes y no asumir que el límite documentado para una operación aplica igual a todas.

Alternativa: no construir la integración desde cero

Si no tienes equipo de desarrollo dedicado, construir y mantener este conector tiene un coste de oportunidad real. Como señala Sendcloud en su documentación sobre integración de transportistas, una integración directa con la API de GLS implica gestionar la autenticación, códigos de tarifa específicos por país y los payloads propios de cada producto por tu cuenta, mantenimiento que se multiplica si trabajas con varios transportistas de paquetería a la vez.

Para operaciones mixtas de carga completa y paquetería, plataformas como Cargoson, Transporeon, nShift o la propia Sendcloud ya traen GLS integrado junto a decenas de transportistas, evitando mantener el conector internamente.

PlataformaEnfoque principalModo de transporteCoste de añadir un transportista nuevo
CargosonCargadores (fabricantes, mayoristas, retailers)Parcel, LTL, FTL, aéreo, marítimo, ferroviarioGratuito, simplemente se solicita según su propia documentación
TransporeonGrandes cargadores, enfoque fuerte en FTLPrincipalmente carretera, con módulos de visibilidad marítimaLas integraciones personalizadas pueden tener coste
SendcloudE-commerce y paqueteríaParcelIncluido en el modelo por envío
nShiftE-commerce y retail con volumen de paqueteríaParcelNo publicado

Esta tabla no es una recomendación cerrada: si ya tienes GLS junto a DHL Express, Seur o UPS y buscas una capa única de visibilidad sin multiplicar integraciones punto a punto, el criterio de decisión real es cuántos transportistas de paquetería gestionas hoy y cuántos vas a añadir en los próximos 18 meses. Un solo conector directo tiene sentido con un transportista; con cuatro o cinco, el cálculo cambia.

Próximos pasos

Si tu volumen de paquetería con GLS justifica el desarrollo, empieza pidiendo hoy mismo el acceso sandbox a tu gestor comercial de GLS España, no esperes a tener el documento técnico completo para hacer esa solicitud porque el tiempo de aprovisionamiento interno de GLS suele ser el cuello de botella real del proyecto. Si tu volumen está repartido entre varios transportistas de paquetería y no tienes capacidad de desarrollo dedicada, evalúa primero qué plataforma de conectividad ya tiene GLS España resuelto antes de reservar horas de ingeniería para un conector que vas a tener que mantener cada vez que GLS actualice su documentación.