Reten Docs
Rutas

Sincronizar Rutas

Upsert masivo de rutas por codigo.

POST /api/routes/sync

Upsert masivo de rutas usando code como clave de coincidencia. Si una ruta con el codigo dado existe, se actualiza; de lo contrario, se crea una nueva.

Auth: Requerida — permiso SYNC_ROUTES

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
itemsarraySiArray de objetos de ruta a sincronizar

Cada elemento en items:

CampoTipoRequeridoDescripcion
codestringSiCodigo unico de la ruta (clave de coincidencia)
namestringSiNombre visible de la ruta

Ejemplo

curl -X POST https://api.reten.ai/api/routes/sync \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "code": "ROUTE-NORTH", "name": "Zona Norte" },
      { "code": "ROUTE-SOUTH", "name": "Zona Sur" },
      { "code": "ROUTE-CENTRAL", "name": "Zona Central" }
    ]
  }'
const response = await fetch("https://api.reten.ai/api/routes/sync", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    items: [
      { code: "ROUTE-NORTH", name: "Zona Norte" },
      { code: "ROUTE-SOUTH", name: "Zona Sur" },
      { code: "ROUTE-CENTRAL", name: "Zona Central" },
    ],
  }),
});
const result = await response.json();
import requests

response = requests.post(
    "https://api.reten.ai/api/routes/sync",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
    json={
        "items": [
            {"code": "ROUTE-NORTH", "name": "Zona Norte"},
            {"code": "ROUTE-SOUTH", "name": "Zona Sur"},
            {"code": "ROUTE-CENTRAL", "name": "Zona Central"},
        ],
    },
)
result = response.json()

Respuesta 201 Created

Devuelve un resumen de la operacion de sincronizacion con cantidades de creados y actualizados.

Respuestas de Error

EstadoDescripcion
400Error de validacion — campos invalidos o faltantes
401Token de autenticacion faltante o invalido

Notas

  • La coincidencia se hace por code — si una ruta con ese codigo ya existe en el tenant, se actualiza
  • Se crean nuevas rutas para codigos no encontrados
  • Este endpoint esta disenado para pipelines de integracion que sincronizan periodicamente datos de rutas desde sistemas externos