Abrir panel

Documentación de la API y Playground

Introducción

La OSRMRoute Directions API es un servicio web RESTful creado para integrar enrutamiento geoespacial rápido y de alto rendimiento, matrices de viaje, búsqueda de direcciones (geocodificación) y optimización de rutas en tus aplicaciones. Esta documentación explica en detalle todas las capacidades de la API, los parámetros y los pasos de integración.

Autenticación

Las solicitudes a la API de OSRMRoute usan una clave API única para la autenticación. Puedes añadir tu clave API a cada solicitud como parámetro de consulta (?key=YOUR_KEY) o mediante la cabecera HTTP Authorization (como token Bearer).

GETAny endpoint

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
keystringObligatorio-La clave API única obtenida de tu panel personal. Esta clave determina los límites de tus solicitudes.

Códigos de error

OSRMRoute usa códigos de estado HTTP estándar y mensajes de error JSON detallados para indicar el estado de una solicitud.

Explicación de la estructura de la respuesta

Principales códigos de estado y su significado: - **200 OK**: La solicitud se completó correctamente. - **400 Bad Request**: Los parámetros son inválidos o faltan. - **401 Unauthorized**: La clave API no se proporcionó o es inválida. - **403 Forbidden**: La clave API está bloqueada o inactiva. - **429 Too Many Requests**: Se superó el límite diario de créditos. - **500 Internal Error**: Ocurrió un error interno del sistema.

Routing API

Calcula la ruta más rápida y corta del punto A al punto B (con puntos intermedios via). Devuelve instrucciones paso a paso (turn-by-turn) y geometría GeoJSON para diferentes perfiles de transporte (driving, cycling, walking).

GET/api/v1/osrm/route/v1/{profile}/{coordinates}

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
profilestringObligatoriodrivingPerfil de modo de transporte. Valores admitidos: driving (coche), cycling (bici), walking (peatón).
coordinatesstringObligatorio-Coordenadas de los puntos. Formato: lon,lat;lon,lat;lon,lat... (al menos 2 puntos).
overviewstringOpcionalfullNivel de detalle de la geometría de ruta devuelta: simplified (simplificada), full (geometría completa), false (sin geometría).
geometriesstringOpcionalgeojsonFormato de geometría: geojson (objeto GeoJSON), polyline (cadena codificada).
stepsbooleanOpcionaltrueSi se devuelven instrucciones paso a paso para cada giro.

Explicación de la estructura de la respuesta

Una respuesta correcta contiene la distancia total de la ruta (en metros), la duración del viaje (en segundos), los puntos de paso y la línea de ruta en GeoJSON.

Matrix API

Calcula una matriz rápida de distancia y tiempo de viaje entre varios puntos (una tabla NxM). Una herramienta ideal para optimizar rutas logísticas.

GET/api/v1/osrm/table/v1/{profile}/{coordinates}

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
profilestringObligatoriodrivingPerfil de transporte (driving, cycling, walking).
coordinatesstringObligatorio-Puntos de la matriz. Formato: lon,lat;lon,lat;lon,lat...
annotationsstringOpcionalduration,distanceDatos a calcular: duration (tiempo), distance (distancia) o ambos.

Explicación de la estructura de la respuesta

Una respuesta correcta devuelve una tabla-matriz bidimensional de distances (distancias) y durations (duraciones) para cada combinación de punto de inicio y fin.

Map Matching API

Ajusta trazas GPS imprecisas a la red vial real (snap to road). Se usa para limpiar el ruido en las señales GPS.

GET/api/v1/osrm/match/v1/{profile}/{coordinates}

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
profilestringObligatoriodrivingPerfil de transporte.
coordinatesstringObligatorio-La secuencia de coordenadas GPS a ajustar (lon,lat;lon,lat...)
overviewstringOpcionalfullPrecisión de la geometría de la ruta ajustada.

Nearest API

Ajusta cualquier coordenada al segmento de carretera real más cercano (snap) y devuelve información sobre el nombre de la vía.

GET/api/v1/osrm/nearest/v1/{profile}/{coordinates}

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
profilestringObligatoriodrivingPerfil de transporte.
coordinatesstringObligatorio-El punto cerca del cual buscar. Formato: lon,lat (un solo par).
numberintegerOpcional3El número de carreteras candidatas más cercanas a encontrar.

Trip API

Resuelve el Problema del Viajante (TSP): encuentra la ruta circular (o abierta) más óptima para visitar un conjunto de puntos dado y ordena los puntos.

GET/api/v1/osrm/trip/v1/{profile}/{coordinates}

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
profilestringObligatoriodrivingPerfil de transporte.
coordinatesstringObligatorio-Puntos a visitar. Formato: lon,lat;lon,lat...
sourcestringOpcionalanyEl punto desde el que puede empezar la ruta (any o el primer punto).
destinationstringOpcionalanyEl punto donde termina la ruta (any o el último punto).

Geocoding API

Convierte direcciones en coordenadas geográficas (o viceversa). Ideal para sistemas de búsqueda integrados.

GET/api/1/geocode

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
qstringObligatorio-La dirección a buscar (p. ej.: «Calle Nizami, Bakú»).
reversebooleanOpcionalfalseDebe ser true para realizar geocodificación inversa (búsqueda de coordenada a dirección).

Isochrone API

Devuelve polígonos de las zonas geográficas alcanzables desde un punto dado dentro de un tiempo o distancia determinados.

GET/api/1/isochrone

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
pointstringObligatorio-Punto central. Formato: lat,lon.
time_limitintegerOpcional600Límite de tiempo de viaje (en segundos).

Route Optimization API

Optimiza las rutas de una flota de vehículos (Vehicle Routing Problem). Calcula el plan de entrega y transporte de los vehículos con el menor coste.

POST/api/1/vrp

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
vehiclesarrayObligatorio[]La lista de vehículos (id, capacidad, dirección de inicio, etc.).
servicesarrayObligatorio[]Las direcciones a atender (id, coordenadas, tiempo de servicio, etc.).

Location Clustering API

Agrupa (agrupa en clústeres) las coordenadas dadas según su proximidad y densidad geográfica.

POST/api/1/cluster

Parámetros (Query Params)

ParámetroTipoEstadoPredeterminadoDescripción
customersarrayObligatorio[]Coordenadas de clientes y pesos a agrupar en clústeres.