# Conectar Wix

Conectá un sitio de Wix eCommerce para traer sus pedidos de reparto local a Ruta. Necesitás el plan **Pro**, ser dueño o administrador del sitio en Wix y que la integración esté habilitada en tu entorno.

La forma simple es la **app de Ruta para Wix**: un clic, sin claves. Si tu entorno todavía no la ofrece, o preferís no instalar una app, podés conectar con una **API key** (más abajo, «Opción avanzada»).

## 1. Conectá con la app de Ruta

1. En **Integraciones** (en la barra de arriba del panel), elegí **Wix → Conectar** y tocá **Conectar con Wix**.
2. Wix te pide elegir el sitio y aceptar los permisos de Ruta: ver tus pedidos (**Read Orders**) y marcarlos como enviados (**Manage Orders**).
3. Volvés a Ruta con el sitio conectado.

También podés empezar desde Wix: instalá **Ruta** desde el Wix App Market (o desde el enlace que te pasemos) y abrila desde el panel de tu sitio. Ruta te pide confirmar que ese sitio es de tu empresa: tocá **Conectar el sitio**. Si no tenías la sesión abierta, primero entrás a Ruta y después confirmás.

> [!NOTE]
> Ruta no guarda claves de Wix: guarda, cifrada, la identificación de la instalación y le pide a Wix un permiso nuevo cada pocas horas. Si desinstalás la app, la conexión queda en **Requiere revisión** y tus entregas no cambian. Para volver, tocá **Volver a instalar la app en Wix**: es la misma conexión y no se duplican pedidos.

## 2. Elegí qué opciones de envío reparte tu equipo

Wix trata el reparto local, el correo y el retiro como opciones de envío. Ruta sólo trae las que vos elegís:

1. En la conexión, abrí **Ajustes de la conexión** (se abre solo mientras no elegiste ninguna).
2. Tocá **Buscar las opciones en mis pedidos**: Ruta lee tus últimos pedidos y te muestra sus opciones de envío con cuántos pedidos tuvo cada una.
3. Marcá las de **reparto local** y tocá **Guardar opciones de reparto**. Los retiros aparecen deshabilitados: nunca se reparten.

Si una opción todavía no tiene pedidos, escribí su código en **Agregar un código a mano** (es el `shippingInfo.code` de un pedido de esa opción).

Desde ahí, los pedidos llegan **al instante** y Ruta revisa además cada **15 minutos** por si algún aviso se perdió. **Buscar pedidos ahora** pide una consulta antes.

## 3. Avisar a Wix

Con **Avisar a Wix** encendido (viene encendido si aceptaste el permiso para marcar pedidos):

- Cuando la entrega **sale**, Ruta crea un envío en el pedido con la empresa **Ruta**, el código de seguimiento y el link de seguimiento, en estado **en reparto** (`In_Delivery`). Wix puede mandarle al comprador su email de envío, según cómo tengas configurados los emails de tu sitio.
- Cuando se **entrega**, ese envío pasa a **entregado** (`Fulfilled`).

Ruta no toca un pedido cancelado ni uno que ya marcaste como preparado a mano. Si Wix rechaza el aviso, la entrega sigue igual y la conexión muestra **Requiere revisión** con el motivo; tocá **Reintentar** cuando lo resuelvas. Para no avisar, apagá **Avisar a Wix** en los ajustes de la conexión.

## Opción avanzada: conectar con una API key

Si tu entorno no ofrece la app de Ruta, o preferís una clave de tu cuenta:

1. En tu cuenta Wix, abrí **Configuración de la cuenta → API Keys** y generá una clave para el sitio que vas a conectar. Elegí **Read Orders** (y **Manage Orders** si querés que Ruta avise a Wix).
2. Copiá la clave y el **Site ID**. El Site ID es el identificador del sitio (cinco grupos separados por guiones), no la dirección web ni el ID de tu cuenta.
3. Identificá los códigos de las opciones de **reparto local** de tu tienda: son los valores de `shippingInfo.code` de un pedido de cada opción, no el título visible. Una vez conectada, **Buscar las opciones en mis pedidos** también te los muestra.
4. En **Wix → Conectar**, abrí **Opción avanzada: conectar con una clave** y completá **Código de tu sitio** (el Site ID), **Clave de Wix** y los códigos (uno por línea, hasta 20). Elegí **Conectar tienda**.

Ruta guarda la clave cifrada y encola una consulta. Revisá **Tus conexiones → Últimas búsquedas de pedidos**: guardar la conexión no confirma todavía que Wix haya aceptado la clave. Con una API key, **Avisar a Wix** empieza apagado; encendelo en los ajustes si la clave tiene **Manage Orders**.

### Webhooks opcionales con una app propia

Con una API key, los pedidos llegan cada 15 minutos. Para recibirlos al instante necesitás además una **app Wix tuya instalada en ese sitio** (una API key no crea suscripciones a webhooks). Quien administra tu app debe:

1. Crear una app autogestionada en Wix con **Read Orders** e instalarla en el sitio (no hace falta publicarla).
2. En **Webhooks**, suscribir **eCommerce → Order Approved, Order Updated y Order Canceled** a la URL que muestra Ruta después de conectar.
3. Copiar **Get Public Key** y el **Instance ID de esa app en ese sitio** (no el Site ID ni el App ID).
4. En **Cambiar la conexión Wix → Recibir pedidos al instante**, pegar la clave pública y el Instance ID junto con la API key. Ruta acepta la clave pública con sus líneas `BEGIN PUBLIC KEY` / `END PUBLIC KEY`.
5. Revisar el registro de entregas de webhooks de Wix: Ruta debe responder **200**.

Ruta verifica el JWT firmado con RSA de esa app y su Instance ID antes de aceptar el aviso, y después consulta el pedido actual a Wix; un aviso repetido no duplica la entrega.

## Qué pedidos entran

Se importan los pedidos **APPROVED**, **PAID**, **NOT_FULFILLED**, con dirección y con un código local de los que elegiste. Los retiros (`pickupDetails`), los envíos por otras opciones, los pedidos pendientes y los ya preparados no crean entregas. El nombre, dirección y teléfono salen del destino de envío; la nota del comprador se usa como instrucciones.

El pago contra entrega no se deduce del total ni de que el pedido esté aprobado. Por defecto los pedidos **NOT_PAID** no entran. Para una operación de cobro con monto fijo, el administrador puede configurar `defaults.amountToCollect` en la API de conexiones; sólo entonces se admiten pedidos locales `NOT_PAID` con ese monto explícito. No se consultan transacciones ni se infiere la deuda.

Un pedido **CANCELED** ya importado cancela su entrega si todavía no salió. Si ya está en camino o cerrada, Ruta conserva su estado y deja un aviso para revisar. Esto se comprueba por webhook y por polling. Un reembolso sin cancelación no cancela la entrega.

Los cambios posteriores de dirección se corrigen manualmente en Ruta. La referencia externa es el número del pedido (`number`), sin `#` inicial. Si ya creás ese pedido mediante la API pública, usá el mismo `externalReference` y comercio remitente: se vincula a la entrega existente. Si conectás sitios cuyos números se repiten, asigná un comercio remitente distinto a cada conexión.

## Si algo falla

| Situación | Qué hacer |
| --- | --- |
| La app dice «venció o ya se usó» | Tocá **Conectar con Wix** de nuevo, o abrí Ruta otra vez desde la app en Wix: el enlace dura unos minutos. |
| Desinstalaste la app o Wix la rechaza | La conexión queda en **Requiere revisión**: tocá **Volver a instalar la app en Wix**. |
| Faltan claves o Wix las rechaza (API key) | Revisá el Site ID, que la clave pertenezca a su cuenta y que tenga Read Orders para ese sitio. Volvé a cargarla. |
| No aparecen pedidos | Revisá que elegiste opciones de reparto local en **Ajustes de la conexión**. |
| No aparecen pedidos | Revisá sus estados, la dirección y los códigos de reparto local. Un retiro siempre queda excluido. |
| Wix limita consultas o no responde | Ruta espera y reintenta; no hace falta volver a conectar. Si persiste, revisá «Últimas búsquedas de pedidos». |
| Webhook rechazado (app propia) | Revisá la clave pública, el Instance ID y la suscripción de la app. El cuerpo debe ser el JWT original de Wix. |
| Un pedido tiene datos inválidos | Completá la dirección o el nombre en Wix. Los demás pedidos de la corrida pueden importarse. |

Con una API key, **Cambiar la conexión Wix** reemplaza todas las credenciales: si recibías webhooks, volvé a pegar también la clave pública y el Instance ID. Para desconectar, elegí **Pausar conexión** y desinstalá la app de Ruta (o revocá la API key) en Wix. No envíes claves ni datos de clientes al pedir ayuda.

## Privacidad

Ruta usa los datos del pedido (nombre, dirección, teléfono y nota del comprador) sólo para hacer la entrega, y no le cambia a Wix nada más que el envío de Ruta. Si desinstalás la app, Ruta deja de leer tu sitio y conserva las entregas ya hechas como registro de tu operación. Para pedir una copia o el borrado de los datos de un comprador, escribinos desde tu cuenta.
