Desarrolladores

La misma API sobre la que construimos.

El panel y la app para conductores de RouteIQ funcionan sobre la misma API REST que recibes tú: más de 180 endpoints, documentados en una especificación OpenAPI 3.0. Si está en el producto, puedes automatizarlo.

Primeros pasos

Tu primera petición

Cada sede tiene su propio subdominio y toda petición queda acotada a él. Inicia sesión, coge el token de acceso y mándalo como una sola cabecera.

Crear un trabajocurl
# URL base: https://<tu-subdominio>.routeiq.app/api
# Una cabecera autentica todas las peticiones

curl -X POST https://acme.routeiq.app/api/job \
  -H "x-access-token: $ROUTEIQ_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_first_name": "Dana",
    "customer_phone": "2125550100",
    "service_type_id": 12,
    "stops": [ ... ]
  }'

# Listar trabajos, los más recientes primero
curl "https://acme.routeiq.app/api/job?page=1&per_page=20&sort_by=created_at&sort_order=desc" \
  -H "x-access-token: $ROUTEIQ_ACCESS_TOKEN"
Autenticación

Una cabecera, todas las peticiones

El token de acceso identifica al usuario y a la aplicación en una sola credencial. El panel, la app para conductores y tus integraciones se autentican igual. Para procesos servidor a servidor sin usuario conectado, usa una clave de API.

Cabecera Para qué sirve De dónde sale
x-access-token: <token> Todo lo que hace un usuario conectado. La aplicación se resuelve desde el token, en el servidor. Se obtiene al iniciar sesión (ver los endpoints de autenticación en la referencia de la API); caduca y hay que renovarlo.
x-api-key: <clave> Peticiones servidor a servidor sin usuario conectado. La clave actúa a través de su propia cuenta de servicio. Registra una aplicación en los ajustes de tu sede y acota las claves a ella.
Convenciones

Aburrida, en el buen sentido

La API se comporta igual en todas partes, así que la aprendes una vez.

Aspecto Cómo funciona
Multiinquilino Cada petición queda acotada a una sede por subdominio. Los datos están totalmente aislados entre sedes; las credenciales de una sede no pueden tocar otra.
Paginación page y per_page (20 por defecto, 100 como máximo). Las respuestas incluyen un objeto meta con total, page y per_page.
Ordenación sort_by=<campo> con sort_order=asc o desc, p. ej. sort_by=created_at&sort_order=desc.
Errores JSON consistente: {"error": "mensaje", "code": "ERROR_CODE"} con códigos de estado HTTP estándar (400, 401, 403, 404, 409, 422, 500).
Límites de uso Por clave de API o token. Al superarlos devuelve 429 con una cabecera Retry-After que te dice cuándo volver.
Actualizaciones parciales PATCH usa un modelo de tres estados: manda un valor para fijarlo, omite el campo para dejarlo igual, manda null para vaciarlo.
Cartografía

Sin casarnos con un solo proveedor de mapas

El enrutamiento, la geocodificación y los datos de tráfico pasan por una capa de abstracción de proveedores con una interfaz estable. Podemos cambiar de proveedor por sede según precisión, cobertura o coste, y una caída de un proveedor no se lleva por delante el enrutamiento. La cartografía y el enrutamiento incluidos cubren hoy Europa y América; otras regiones requieren una integración cartográfica de terceros compatible.

HERE Maps Google Maps Mapbox Incluido: Europa + América
Eventos

Webhooks que no pierden cosas

Suscribe tus endpoints a los eventos que te importan: cambios de estado de trabajos, pagos, estado de conductores. La entrega va por cola y se reintenta si falla, así que un bache en tu lado no significa una actualización perdida.

Campos personalizados

Adjunta tus propios datos estructurados a trabajos, operarios y paradas desde la API. Sin peticiones de cambio de esquema, sin esperarnos a nosotros.

Flujos de trabajo configurables

Los estados de trabajos, paradas y rutas se definen por sede desde la API. Debajo, cinco fases de ciclo de vida fijas mantienen estables tus automatizaciones se llamen como se llamen los estados.

Integraciones

Stripe, Twilio, Slack, Mailgun, notificaciones push de Firebase y LiveKit son integraciones de primer nivel. Las credenciales se cifran campo a campo en reposo.

Registro de auditoría

Cada cambio queda registrado en un log de solo anexado con el estado antes y después. Consúltalo desde la API como cualquier otra cosa.

Lee la referencia completa

Los más de 180 endpoints con esquemas, parámetros y payloads de ejemplo, generados directamente desde la especificación OpenAPI.