RutaDocs

Integraciones

Conectar Tiendanube

En un par de minutos los pedidos pagos de una Tiendanube (o Nuvemshop) empiezan a llegar a Ruta como entregas. No hay claves que copiar: autorizás la app de Ruta en tu tienda y listo. Necesitás entrar al administrador de la tienda y al panel de Ruta como administrador de tu courier.

Nota

Ruta usa la API de Tiendanube versión 2025-03 con dos permisos: ver pedidos (read_orders) y órdenes de envío (write_fulfillment_orders), sólo para marcar como enviados y entregados los pedidos que reparte. No crea, borra ni cambia nada más en tu tienda.

Antes de empezar

Requisito Dónde se ve
Podés entrar al administrador de la tienda (dueño o usuario con acceso a Mis aplicaciones). https://<tu-tienda>.mitiendanube.com/admin
Tus envíos a domicilio están configurados como envío a cargo de la tienda (envío personalizado). Tiendanube → Configuración → Medios de envío.
Tu plan de Ruta incluye integraciones (Pro). Ruta → Mi cuenta → Tu plan.

1. Conectá la tienda

  1. En Ruta, andá a Integraciones (en la barra de arriba del panel) y elegí Tiendanube (en Tiendas online, o buscala).
  2. Tocá Conectar en su tarjeta o en su página.
  3. Tocá Conectar con Tiendanube. Ruta te lleva a Tiendanube; si te lo pide, ingresá con tu cuenta de la tienda.
  4. Tiendanube te muestra los permisos que pide Ruta: ver tus pedidos y marcar sus envíos. Tocá Aceptar (o Instalar).
  5. Volvés a Ruta con el aviso «Tienda … conectada». La conexión aparece en la página de Tiendanube como Conectada, con sus Ajustes de la conexión.

Consejo

En Ajustes de la conexión elegís qué medios de pago se cobran al entregar, el comercio de retiro y la zona, y si las entregas se asignan solas al entrar. Ver Ajustes de cada conexión.

El enlace de autorización vale cinco minutos y sirve una sola vez. Si tardaste más, Ruta te avisa que venció: tocá Conectar con Tiendanube de nuevo.

Al conectar, Ruta:

  • guarda el permiso de la tienda cifrado (no se vuelve a mostrar, ni en el panel ni en la API);
  • registra en Tiendanube tres avisos (webhooks): pedido creado, pedido pagado y pedido cancelado, para que los pedidos lleguen segundos después de pagarse, y uno más, app desinstalada, para enterarse si sacás la app;
  • deja prendido Avisar a Tiendanube (ver abajo) si la tienda aceptó el permiso de envíos;
  • hace la primera revisión de la tienda y, después, una cada 15 minutos por si algún aviso se pierde.

2. Verificá que funciona

  1. Hacé un pedido de prueba con envío a domicilio a cargo de la tienda y pagalo (o marcalo como pagado en el administrador).
  2. En Ruta, en la conexión, tocá Buscar pedidos ahora (o esperá unos segundos el aviso de Tiendanube).
  3. En Últimas búsquedas de pedidos aparece una consulta con resultado correcto, y en Entregas la entrega nueva con el nombre y la dirección de envío del pedido.

Qué pedidos se importan

Pedido en Tiendanube Qué hace Ruta
Abierto y pagado, con envío a domicilio a cargo de la tienda Crea la entrega.
Pedido manual (borrador) creado en el administrador, pagado y con envío a domicilio Crea la entrega.
Retiro en el local o en un punto de retiro Lo ignora: no es un envío.
Envío por Correo, OCA, Andreani u otra transportista integrada Lo ignora: lo entrega esa empresa.
Pago pendiente con un medio que marcaste como contra entrega Crea la entrega con el total del pedido como monto a cobrar.
Pago pendiente con otro medio (por ejemplo, transferencia) Lo ignora. Cuando lo marcás como pagado, llega solo.
Ya enviado o entregado, o archivado Lo ignora.

Pago contra entrega

Tiendanube no distingue «efectivo al recibir» de una transferencia pendiente: los dos son pagos offline pendientes. Por eso, en Ajustes de la conexión → Pago contra entrega, elegís qué medios de pago offline se cobran al entregar, escritos como se llaman en Tiendanube → Configuración → Medios de pago (por ejemplo, «Efectivo al recibir»; no importan mayúsculas ni espacios de más).

  • Un pedido abierto, con pago pendiente de uno de esos medios y envío a cargo de la tienda, entra como entrega sin esperar el pago, con el total del pedido como monto a cobrar en su moneda (pesos uruguayos o dólares; en otra moneda no se importa y figura con el motivo; si la conexión ya tiene un monto fijo, se usa ese).
  • Los demás pagos pendientes siguen esperando a que los marques como pagados.
  • Con la lista vacía (como viene), sólo entran los pedidos pagos.

Nota

Con esta opción, la revisión cada 15 minutos lista todos los pedidos abiertos (no sólo los pagos) y elige ella: si tu tienda tiene muchos pedidos abiertos, cada revisión tarda un poco más.

Consejo

La primera vez, Ruta trae todos los pedidos abiertos y pagos con envío a cargo de la tienda, aunque sean viejos. Si ya entregaste algunos, archivalos o marcalos como enviados en Tiendanube antes de conectar.

Un pedido se importa una sola vez, aunque Tiendanube lo avise de nuevo. Si un pedido no se puede importar (por ejemplo, no tiene dirección de envío), Ruta importa los demás igual y la ejecución lo marca con INTEGRATION_PAYLOAD_INVALID.

Si tu sistema ya había creado la entrega por la API con el número de pedido como referencia externa (externalReference: 306 para el pedido #306), Ruta no crea otra: une el pedido a esa entrega.

Qué datos se usan

En Ruta Sale del pedido de Tiendanube
Destinatario Dirección de envío → nombre
Dirección Calle, número, piso/depto, barrio y ciudad (Av. Italia 1234 Apto 5, Malvín, Montevideo)
Teléfono Teléfono de la dirección de envío; si no tiene, el del comprador
Instrucciones Nota del comprador
Referencia externa Número de pedido (306)

Avisar a la tienda

Como Shipday, Ruta le cuenta a Tiendanube cómo va cada entrega, así el comprador recibe el seguimiento por la propia tienda:

En Ruta En Tiendanube
La entrega sale (en camino) La orden de envío del pedido pasa a Despachada, con el código y el link de seguimiento de Ruta; Tiendanube le avisa al comprador.
La entrega se entrega Ruta agrega el evento de seguimiento Entregado.
  • Sólo se marcan las órdenes de envío a cargo de la tienda; si un pedido tiene otra parte enviada por una transportista, esa no se toca.
  • Ruta lee primero cómo está la orden en Tiendanube y sólo cambia lo que falta: si ya está despachada, no la vuelve a despachar; un reintento no duplica nada.
  • Si Tiendanube rechaza el cambio (por ejemplo, porque alguien marcó el envío a mano), la conexión pasa a Requiere revisión con INTEGRATION_STORE_UPDATE_REJECTED. La entrega sigue igual y los pedidos nuevos siguen llegando.
  • Se apaga y se prende en Ajustes de la conexión → Avisar a Tiendanube. Viene prendido en las conexiones nuevas que aceptaron el permiso de envíos. Las conexiones hechas antes del 2026-10-22 sólo tienen permiso de lectura: tocá Volver a autorizar la tienda, aceptá el permiso nuevo y prendé la opción.

Si cancelás un pedido que ya es una entrega

Cuando un pedido importado se cancela, o su pago se anula o reembolsa, Ruta se entera por el aviso «pedido cancelado» o en la revisión siguiente (cada 15 minutos):

La entrega en Ruta Qué hace Ruta
Todavía no salió (creada, asignada o con un intento fallido) La cancela, igual que si la cancelaras en el panel.
Ya está en camino o entregada No la toca. La marca con un aviso en su detalle y en Últimas búsquedas de pedidos (INTEGRATION_ORDER_CANCELLED_LATE) para que decidas con el repartidor.

Cada cancelación se aplica una sola vez. Si después reabrís el pedido, Ruta no reactiva la entrega: creá una nueva desde el panel.

Varias tiendas, pausar y desconectar

  • Varias tiendas: cada tienda es su propia conexión. Si dos tiendas tienen un pedido con el mismo número, son dos entregas distintas.
  • Pausar: Pausar conexión en Ruta deja de traer pedidos sin tocar la tienda.
  • Desconectar: en Tiendanube, andá a Mis aplicaciones y desinstalá Ruta. Ruta deja de poder leer la tienda al instante, borra el permiso guardado y la conexión pasa a Requiere revisión con el aviso «Se desinstaló la app de Ruta». Las entregas ya creadas siguen en tu historial.
  • Volver a conectar: en la conexión, tocá Volver a conectar y aceptá el permiso otra vez. Es la misma conexión: no se duplican pedidos.

Cómo llegan los avisos (para técnicos)

Tiendanube manda cada aviso a:

Texto
https://<tu-courier>/api/integrations/sources/<id-de-la-conexion>/webhooks/tiendanube

Los avisos de la app (app desinstalada y los tres de privacidad) van a una dirección fija de la app:

Texto
https://<tu-courier>/api/integrations/tiendanube/webhooks/{app-uninstalled|store-redact|customers-redact|customers-data-request}

El cuerpo de un aviso de pedido trae sólo store_id, event e id del pedido. Ruta lo acepta si la firma x-linkedstore-hmac-sha256 (HMAC-SHA256 en hexadecimal del cuerpo, con el secreto de la app de Ruta) es correcta, si la tienda es la de esa conexión y si el evento es order/created, order/paid u order/cancelled. Después vuelve a pedir el pedido a Tiendanube con el permiso de la tienda: un aviso falso no puede inventar una dirección.

Privacidad: pedidos de datos de Tiendanube

Tiendanube puede pedirle a la app de Ruta que borre los datos de una tienda o de un cliente, o que informe qué datos tiene de un cliente. Ruta los recibe, los registra sólo con números de identificación (nunca el email, teléfono ni documento del cliente) y te deja un aviso en Últimas búsquedas de pedidos:

Pedido de Tiendanube Qué hace Ruta
Borrar los datos de la tienda (después de desinstalar) Borra el permiso guardado y los avisos recibidos de esa tienda. Las entregas y la conexión quedan en tu historial.
Borrar los datos de un cliente Lo registra con la cantidad de entregas de Ruta que vienen de sus pedidos. No borra nada automáticamente: lo resuelve el equipo de Ruta.
Informar los datos de un cliente Lo registra igual y lo resuelve el equipo de Ruta.

Problemas frecuentes

Lo que ves Causa probable Solución
«La autorización venció o ya se usó» Pasaron más de cinco minutos, o recargaste la página de vuelta. Tocá Conectar con Tiendanube de nuevo.
«Tiendanube no nos dio permiso para leer los pedidos» (INTEGRATION_SCOPE_MISSING) No se aceptó el permiso de pedidos. Volvé a conectar y aceptá el permiso ver tus pedidos.
Requiere revisión con INTEGRATION_CREDENTIALS_REJECTED justo después de que una entrega salió La conexión es anterior al permiso de envíos y Avisar a Tiendanube está prendido. Tocá Volver a autorizar la tienda y aceptá el permiso nuevo, o apagá la opción.
Requiere revisión con INTEGRATION_STORE_UPDATE_REJECTED Tiendanube no aceptó marcar el envío (por ejemplo, ya se había marcado a mano de otra forma). Revisá el pedido en Tiendanube y tocá Reintentar. La entrega no cambia.
Requiere revisión: «Tiendanube ya no acepta la conexión» (INTEGRATION_CREDENTIALS_REJECTED) Se desinstaló la app de Ruta, o se volvió a autorizar desde otra cuenta de Ruta. Tocá Volver a conectar.
RATE_LIMITED Tiendanube limita a 2 consultas por segundo por tienda. Ruta espera y reintenta solo.
Conectada, pero un pedido no llegó El pedido no está pagado, es retiro en el local, va por una transportista o no tiene dirección. Revisá el pago, el medio de envío y la dirección del pedido en Tiendanube.
Los pedidos llegan sólo cada 15 minutos Los avisos no se pudieron registrar (Ruta sin dirección pública) o Tiendanube los dio de baja tras muchos fallos. Tocá Volver a conectar: Ruta los registra otra vez. Mientras tanto, sigue revisando cada 15 minutos.

¿Seguís con problemas? Mandale al soporte de tu courier la hora del pedido, su número y el código que muestra la conexión.

Ver en Markdown