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
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
items | array | Si | Array de objetos de ruta a sincronizar |
Cada elemento en items:
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
code | string | Si | Codigo unico de la ruta (clave de coincidencia) |
name | string | Si | Nombre 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
| Estado | Descripcion |
|---|---|
400 | Error de validacion — campos invalidos o faltantes |
401 | Token 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