Estrutura da resposta – Endpoint independente
Nota: O endpoint independente só é recomendável caso você utilize roteirizadores de terceiros. Caso utilize a Trip API, é possível obter os pedágios na mesma requisição.
Nesse exemplo, temos uma rota simples que passa pelo pedágio de Tres Marías, no México. Iremos utilizar o endpoint independente para obter o cálculo dos pedágios.
A rota foi gerada pela API Routes do Google, e está no formato de polyline.
Requisição
Como a rota foi gerada por uma API do Google, será preciso definir o parâmetro source
como GMAPS
. Caso a rota tenha sido gerada pela Trip API, ou por algum outro serviço, não será necessário informar o parâmetro source
.
Em billing
defineremos como FREE_FLOW
, para obter o retorno tanto de pedágios quanto de pórticos. Se o valor for DEFAULT
, apenas pedágios convencionais serão retornados.
O parâmetro legs
é um array de objetos onde cada objeto representa um trecho da rota. Em cada leg
, devemos definir o parâmetro points
, que contém as coordenadas que compõem a rota. No caso, teremos apenas uma leg
que corresponde a rota inteira. As coordenadas da rota estão em formato de string, codificadas como polyline.
Em cada objeto contido em legs
, será preciso informar o tipo de veículo utilizado para aquele trecho. No parâmetro vehicleType
vamos definir que a rota será realizada com um caminhão de quatro eixos duplos, para isso usaremos o valor TRUCK_WITH_FOUR_DOUBLE_AXLES
. Em condition
, informaremos billingType
como NORMAL
e period
como NORMAL
.
Abaixo a requisição completa:
{ "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@" } ] }
Resposta
Na resposta, teremos os seguintes campos:
totalCost
– Valor total dos pedágios em toda rota;legs
– Array de objetos onde cada objeto representa um trecho da rota. Cada leg da resposta corresponde a um leg da requisição. Em cada objeto será retornado os seguintes campos:tolls
– Objeto com os valores e informações de cada pedágio no trecho correspondente. Cada objeto retornado em tolls representa um pedágio e irá conter as seguintes informações:name
– Nome do pedágio;address
– Endereço do pedágio;city
– Cidade do pedágio;state
– Objeto contendo o nome do estado (name
) e sua sigla (code
);country
– País do pedágio;concession
– Concessionária responsável pelo pedágio;coordinates
– Coordenadas (latitude e longitude) do pedágio;price
– Valor por pedágio;serviceTypes
– Array com códigos para integração com sistemas de pagamento automático. Atualmente disponível apenas no Brasil;
legTotalCost
– Valor total de pedágios para o trecho;vehicleType
– Tipo de veículo considerado para o trecho;calculationDate
– Data e hora considerados para o trecho, em formato timestamp;condition
– Se o parâmetrocondition
for usado na requisição, esse objeto será retornado contendo qualbillingType
eperiod
foram considerados para o trecho.
A resposta completa pode ser conferida abaixo:
{ "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 }