# Soporte y preguntas frecuentes

## Cómo pedir ayuda

Por una entrega o una integración, escribile al soporte de tu courier (el que te dio acceso a Ruta). Para que te respondan rápido, mandá:

<div class="steps">

1. **El `code`** del error (`EXTERNAL_REFERENCE_TAKEN`, `INTEGRATION_CREDENTIALS_REJECTED`…) y, ante un `5xx`, su **`id`** (también en el encabezado `X-Incident-Id`): con él encontramos el pedido exacto en los registros.
2. **La hora** de la llamada (con zona horaria) y el **endpoint** (`POST /api/v1/deliveries`).
3. **Lo que mandaste** (el cuerpo, sin la clave) y, si es un webhook, el `Ruta-Event-Id`.

</div>

> [!WARNING]
> **Nunca** mandes una clave de API, un secreto de webhook ni las claves de tu tienda, ni siquiera parciales. Si alguna se filtró, revocala en el panel y creá otra.

### Hablar con Ruta

Si sos una empresa y tu consulta es sobre Ruta (los planes, crear la cuenta, el panel), escribinos a **soporte@ruta.com.uy**.

## Preguntas frecuentes

### ¿La API tiene costo?

No. La API está disponible en todos los planes; las entregas que crea cuentan para el cupo mensual del plan como cualquier otra. Las [claves de prueba](entorno-de-prueba.html) no consumen cupo. Las [integraciones con tiendas](integraciones.html) son del plan Pro.

### ¿Hay un entorno de prueba separado?

Sí, en el mismo dominio: una clave `ruta_test_…` trabaja en un espacio aislado, sin repartidores reales, sin cupo y con un simulador del recorrido. Ver [Entorno de prueba](entorno-de-prueba.html).

### Se cortó la conexión al crear una entrega. ¿La reintento?

Sí, con **la misma** `Idempotency-Key` y el mismo cuerpo: si la primera llegó, recibís la misma entrega; si no, se crea. Nunca se duplica. Ver [Idempotencia](idempotencia.html).

### ¿Cómo sé que un webhook es de Ruta?

Verificá la firma `Ruta-Signature` (HMAC-SHA256 con tu secreto) sobre el cuerpo crudo. Hay ejemplos en JavaScript, Python y PHP en [Webhooks](webhooks.html#verificar-la-firma).

### Me llegó el mismo aviso dos veces.

Es esperable: la entrega es «al menos una vez». Guardá los `Ruta-Event-Id` que ya procesaste y descartá los repetidos.

### ¿Puedo ver dónde está el repartidor?

No por la API: Ruta no expone la identidad ni la ubicación del repartidor. Compartí `trackingUrl` con el destinatario: es la página de seguimiento del courier.

### Tengo una tienda WooCommerce. ¿Necesito programar?

No. Conectala desde el panel con una clave de lectura: [Conectar WooCommerce](woocommerce.html).

### ¿Puedo probar la API desde Postman?

Sí: importá el contrato OpenAPI. Ver [Postman e Insomnia](ejemplos.html#postman-e-insomnia).

### ¿Cómo me entero de los cambios?

En [Cambios](cambios.html). Dentro de `/api/v1` sólo hay cambios aditivos: tu código tiene que ignorar campos y eventos que no conoce. Ver [Límites y versiones](limites.html).
