Estructura de respuesta – Endpoint independiente
Nota: El endpoint independiente sólo se recomienda si utiliza routers de terceros. Si utiliza la Trip API, puede obtener los peajes en la misma solicitud.
En este ejemplo tenemos una ruta simple que pasa por la caseta de peaje de Tres Marías en México. Utilizaremos el endpoint independiente para obtener el cálculo del peaje.
La ruta fue generada por la API Routes de Google y está en formato de polyline.
Solicitud
Dado que la ruta fue generada por una API de Google, deberá establecer el parámetro source
en GMAPS
. Si la ruta fue generada por la API Trip, o por algún otro servicio, no será necesario informar el parámetro source
.
En billing
lo definiremos como FREE_FLOW
, para obtener el retorno tanto de peajes como de pórticos. Si el valor es DEFAULT
, solo se devolverán los peajes convencionales (casetas).
El parámetro legs
es una matriz de objetos donde cada objeto representa una sección de la ruta. En cada tramo debemos definir el parámetro points
, que contiene las coordenadas que componen el recorrido. En este caso sólo tendremos un leg que corresponde a todo el recorrido. Las coordenadas de la ruta están en formato de string, codificadas como una polyline.
Para cada objeto contenido en legs
, deberá informar el tipo de vehículo utilizado para esa sección. En el parámetro vehicleType
definiremos que la ruta se realizará con un camión de cuatro ejes dobles, para ello utilizaremos el valor TRUCK_WITH_FOUR_DOUBLE_AXLES. En el parámetro condition
, estableceremos billingType
como NORMAL
y period
como NORMAL
.
La solicitud completa se puede encontrar a continuación:
{ "source": "GMAPS", "billing": "FREE_FLOW", "legs": [ { "vehicleType": "TRUCK_WITH_FOUR_DOUBLE_AXLES", "condition": { "period": "NORMAL", "billingType": "NORMAL" }, "points": "gzwtBnkk|Q_EoAGqDyAKiIh@cID_HcGiA}H_@iLCcHd@wMhAqSTuGbAcO|Dak@vBcJ|FiJtZyTfJ{GrHkExD{BrBEbAZfAxAdLlRbO~WhFtGrJ|FfYzOvGdCfDWpFcCdPgGrFG~H~AtWjG~G~AnD?fB_@~CyBrJiMnTmYvJ}LlEuB~CSpJ\\hEeAvGoGnFsHhBiFbBqExCyChGuF~GaDrG{@rGgBtUuJdNiFtOwCzDp@zBdCzAzBjBnAjD`@vKQfCqA`CqE`AcFeA}DwBgEAcDbBmClCkC`@_Dm@iCqCkBaFJkFYwFmE}B{FcBaHTgDjBwCpMsH~EaB~LVrE~@zCvEnAbAfB^dF[nDh@hFpEjPhKbEhArIZ|Hs@tC~@vIrHdIhDlIj@nI@~DfAfB`BvAvD@pGo@`Qf@|F`Sjh@`InTzCnLhAtCrBdClExB~HTdOwExRuG|KsCvRuA~HeC`a@gVxJaFtCObI`@~FhA~CvCbBtFdCzFzDbCxBd@zDAzOOnCj@hFfDfMrJhLtF|g@xQfg@nQbTvHpFrBrD`CtCfDvIpOpOrMlb@b\\|NdLjInFxc@fLzKzF|KvGzIdGlCpD|JxZ`ElMnFtKtWnf@dTt`@jKrRxDhEli@na@dE|FdBpFnDxe@rAzPtBnF~EdE|KbDvj@tOvCzAvGrF|GhFpE|@|DUfHsAxE\\bG`CtFXlHi@bDf@hGbElJlGbJtB~JWzNcCpGiDrFaJ|EqHlKwJvUmThKmMhC}BhEsAlJ_DlFuE`J_JpB}EpFuTGwFiB_LFeElBuKWyFcDiLi@iK]qTbEcN|EkM|CoDxNsHrH{DtCoEl@{EqA_Zk@sG}A}HiOs_@m@uFnDqPjDaOGiND}MhBkEhEeDzCyCdAgCfDoKlGyIpAgF@{Fm@yLbAqFfF{KxAwJr@cK}CuSv@cKSiG_EyKwAuFWsLDaPt@eA|Ak@rCh@fApB?bBkDbI@rGdUxi@~HtMtA|E`Bhg@vDl`@lAfKdBlFbJxQxChLdGjZtL`[|BzSjZhm@hEhEdMnIhBpC`BlGtE~PxJbJdNzKfDtDdApC`ElMrSjYxQxV|AnFj@tHpBrc@gA~QRjE~AtHhAlFtAxCxAvAnCnAfPh@jFtA~CbCdBrCjAxEFxEC|Nd@xCnBbDnCzAbC`@vEB|DyBdD{Dx@A`Ar@b@xD\\xAvKx[lCrJ\\Vh@Slw@iGvc@mCNIDIhTmEfScG|CoAi@UeCGYs@rAcC`@o@UOwBd@yC|AoJvBv@vDHb@RhAcAX}@VkBf@" } ] }
Respuesta
En la respuesta tendremos los siguientes campos:
totalCost
– Valor total del peaje en todo el recorrido;legs
– Array de objetos donde cada objeto representa un tramo de la ruta. Cada leg de la respuesta corresponde a un leg de la solicitud. Se devolverán los siguientes campos en cada objeto:tolls
– Objeto con los valores e información de cada peaje en el tramo correspondiente. Cada objeto devuelto entolls
representa un peaje y contendrá la siguiente información::name
– Nombre del peaje;address
– Dirección de peaje;city
– Ciudad de peaje;state
– Objeto que contiene el nombre del Estado (name
) y su acrónimo (code
);country
– País de peaje;concession
– Concesionario responsable del peaje;coordinates
– Coordenadas (latitud y longitud) del peaje;price
– Precio por peaje;serviceTypes
– Array con códigos para la integración con sistemas de pago automático. Actualmente sólo está disponible en BrasilserviceId
– Código para la integración;name
– Descripción del código de servicio.
legTotalCost
– Costo total del peaje para la sección;vehicleType
– Tipo de vehículo considerado para el tramo;calculationDate
– Fecha y hora consideradas para el tramo, en formato de timestamp;condition
– Si se utiliza el parámetrocondition
en la solicitud, se devolverá este objeto que contiene elbillingType
yperiod
se consideraron para el tramo.
A continuación encontrará la respuesta completa:
{ "legs": [ { "tolls": [ { "id": "1910", "name": "Pórtico - Cuicuilco", "address": "Anillo Periférico Boulevard Adolfo López Mateos", "city": "Ciudad de México", "state": { "name": "Ciudad de México", "code": "Ciudad de México" }, "country": "México", "concession": " ", "direction": "EAST", "coordinates": { "latitude": 19.302997, "longitude": -99.176205 }, "serviceTypes": [], "price": 0.00 }, { "id": "1909", "name": "Pórtico - Caminero (insurgentes)", "address": "Anillo Periférico", "city": "Ciudad de México", "state": { "name": "Ciudad de México", "code": "Ciudad de México" }, "country": "México", "concession": " ", "direction": "EAST", "coordinates": { "latitude": 19.301797, "longitude": -99.166269 }, "serviceTypes": [], "price": 0.00 }, { "id": "2602", "name": "Pórtico - Viaducto Tlalpan (V.E.T.)", "address": "Ciudad de México - Cuernavaca", "city": "Ciudad de México", "state": { "name": "Ciudad de México", "code": "Ciudad de México" }, "country": "México", "concession": " ", "direction": "SOUTH", "coordinates": { "latitude": 19.23586718, "longitude": -99.14526105 }, "serviceTypes": [], "price": 0.00 }, { "id": "1878", "name": "Caseta - Tres Marías", "address": "Autopista México - Cuernavaca", "city": "Tres Marías", "state": { "name": "Morelos", "code": "Morelos" }, "country": "México", "concession": "CAPUFE", "direction": "WEST", "coordinates": { "latitude": 19.05632, "longitude": -99.241111 }, "serviceTypes": [], "price": 111.00 } ], "legTotalCost": 111.00, "vehicleType": "TRUCK_WITH_FOUR_DOUBLE_AXLES", "condition": { "billingType": "NORMAL", "period": "NORMAL" }, "calculationDate": 1743709167209 } ], "totalCost": 111.00 }