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.
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.
# 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"
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. |
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. |
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.
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.