Nesse exemplo, vamos considerar como a API retorna os valores de praças de pedágio ou pórticos, do tipo livre passagem (Free Flow)
No exemplo abaixo vamos requisitar uma rota entre Campinas - SP e Mogi-Guaçu - SP. Na request vamos acrescentar o parâmetro toll para obter os pedágios e em billing vamos informar o valor "FREE_FLOW" para obtermos o retorno de todos os pórticos e pedágios que já utilizam esse sistema.
Abaixo a requisição completa:
{
"calculationMode": "THE_FASTEST",
"points": [
{
"latitude": -22.361126269657383,
"longitude": -46.957666772776484,
"siteId": "p1-mogi-guacu"
},
{
"latitude": -22.84872588900371,
"longitude": -47.04198582063482,
"siteId": "p2-campinas"
}
],
"toll": {
"vehicleType": "TRUCK_WITH_TWO_SINGLE_AXIS",
"billing": "FREE_FLOW"
}
}
Observando o resultado no mapa, é possível visualizar que um Pórtico e a Praça de Pedágio são retornados com os preços proporcionais por trecho:
Na reposta, em tollCosts teremos o valor total dos pedágios em toda a rota. Dentro de cada objeto retornado em legs será retornado um objeto tollCalculation contendo um objeto tolls com os valores e informações de cada pedágio no trecho correspondente, e a legTotalCost que mostrará o valor total de pedágios naquele trecho.
Assim como no exemplo anterior, todas as informações de cada pedágio ou pórtico serão retornadas em tolls.
Abaixo a resposta completa. As coordenadas estão codificadas como object:
{
"id": "63e3f94b14afae02576eff13",
"clientId": "qBPERsYpGuBp9ksxA1EGncIYlVM8ULee",
"totalDistance": 57899,
"totalNominalDuration": 2748,
"averageSpeed": 62.31,
"tollCosts": 22.80,
"legs": [
{
"distance": 57899,
"nominalDuration": 2748,
"averageSpeed": 62.31,
"points": "zkngChlr}GqGrPuFrNwAxDc@bAa@j@u@t@??OLIPMhA[p@cBxAe@PoAZ??SDOLGRATDRJNPHT@PERUv@IR?V@`@J`@TnDdDdCrBdA|@`BfAvBhAbDjAjAV~B^nCRtGTbWx@zYbAbHTzGX~YfAb[~@|o@|BpQn@bNdAbKfAdLxAbLtBbZfHt`@fKhNnDfP`E|IbCf_@pJre@|LbOtDtDv@hAP`CXnCVxENjEE`H[xC[nBW~A[xe@kK`AQpAQhDa@lCUvLYxc@y@dNOlUe@pQWrTa@dHI~GQdFCxBEv@ElGM~[c@nUc@pDGfGFxF^pFl@~ATxCj@rRtDfXrFnObDbLrD~JlDzp@|T~D|@pF`A|ATxAJrk@|CtEl@~X`Gvb@fJp_@dIza@|IvCl@zATjCVhEHjVOxHHbCJjG\\vLhA~QhBlV|Bf\\bDrATrAZ`ElAlAj@lSbKnBx@~Bn@fEx@`CTbBJlBDju@fA~DNbBLfALtCb@tDt@`Cn@fMzDlBp@XHpA^bB\\tAN|BJzBDdEOpSkArKYhSYb^e@v`@m@|TYbG?lEFvFNbEBrEKbBK`CSzEo@`Dq@jCq@zDsAtOeGfBq@vBg@vBYrAIxBC|@@hAF~AR`Ch@hMvDrDbAjEdAvBZbBJ|ADxCCrJe@xUwAdE_@f^aExBSdDa@zIq@fCO|Nq@zV}@dRy@vEMbE?bCJvBR|ARjCj@~A^vFnBvKhFhXvM`HnDjH~DhSfLrDzA|DjAnDl@~CZpEP|DDfp@tA|CBtTb@rYl@|\\p@|DHni@hAbVf@zFRhDXhEj@to@rNl@PbCh@dPrDlObDjG`A|D^vHb@z]tApp@jCnOl@tI\\dNh@zJ\\xEHnIb@hFHlH`@xHj@dDn@dD|@~CzArNvIpEjChJzF|ThNt@b@zC|AxCpAdFbB`B`@xBb@hCb@bFd@lc@~ApUr@nT~@tFh@jRpDzKbCVFbI|AlMlCpMdC~KxAlBThDXrCCtC[dCy@p@]~@m@jKyHhDkCrAy@vBiAvAi@lBk@vBe@bBYfAKhAGlCC`CJjCVxDbA`Bf@tAh@`GhCjT`JbCp@xFdBj@TdAh@dHbExD`CfA~@nBbCtAdBvAfAfBbAbBx@tFzA??",
"tollCalculation": {
"tolls": [
{
"id": "821",
"name": "Pórtico - Santo Antônio de Posse",
"address": "SP 340, Km 147+100",
"city": "Santo Antônio de Posse",
"state": {
"name": "São Paulo",
"code": "SP"
},
"country": "Brasil",
"concession": "Renovias",
"direction": "SOUTH",
"coordinates": {
"latitude": -22.56286671,
"longitude": -47.00042384
},
"serviceTypes": [],
"price": 7.60
},
{
"id": "174",
"name": "Pedágio - Jaguariuna",
"address": "SP 340 - Km 123,5",
"city": "Campinas",
"state": {
"name": "São Paulo",
"code": "SP"
},
"country": "Brasil",
"concession": "Renovias",
"direction": "SOUTH",
"coordinates": {
"latitude": -22.7711332,
"longitude": -47.0222253
},
"serviceTypes": [
{
"serviceId": "90",
"name": "Via Facil"
},
{
"serviceId": "35353401235000103",
"name": "ANTTCODE"
}
],
"price": 15.20
}
],
"legTotalCost": 22.80
}
}
],
"source": "MAPLINK",
"createdAt": "2023-02-08T19:34:35.643444Z",
"expireIn": "2023-02-15T19:34:35.643479Z""
}