Exemplo 1 – Pedágio de uma rota simples
Neste exemplo, temos um cálculo de pedágio simples para uma rota de 3 pontos de um trecho da Rodovia Ayrton Senna em São Paulo, vinda da resposta da Google Maps Directions API, cuja requisição original foi a seguinte:
https://maps.googleapis.com/maps/api/directions/json?origin=-23.465395,-46.375007&waypoints=-23.465957,-46.371015&destination=-23.467154, -46.365598&mode=driving&key={API_KEY}
A resposta da Directions API será usada como body na request para o endpoint https://api.maplink.global/toll/v1/directions, como no exemplo abaixo:
curl -X POST "https://api.maplink.global/toll/v1/directions?vehicleType=TRUCK_WITH_TWO_DOUBLE_AXLES" -H "Authorization: Bearer 3O0d0YjOL72Roqp5CrnGwh5yvgKH" -H "Content-Type: application/json" -d @C:\temp\Directions_Response.json
Onde:
vehicleType
– Tipo de veículo a calcular o pedágio;Directions_Response.json
– Resposta da Directions API contendo a rota.
A resposta virá no formato JSON.
Em results
serão obtidos os valores de pedágio de cada rota.
Caso a Directions API for processada com rotas alternativas, será retornado 3 results
, sendo 1 resultado para cada rota.
Dentro de cada results
será retornado um objeto legs
que corresponde a rota em si. O objeto irá conter o valor total da rota em totalCost
e um objeto tolls
com os valores e informações de cada pedágio presentes na rota. Também será retornado o campo vehicleType
que indica o veículo utilizado nesse trecho.
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;serviceId
– Código para a integração;name
– Descrição do código do serviço.
A resposta completa encontra-se abaixo:
{ "results": [ { "legs": [ { "tolls": [ { "id": "17", "name": "Pedágio - Itaquaquecetuba Leste", "address": "SP 070 - Rod. Ayrton Senna - Km 32,9", "city": "Itaquaquecetuba", "state": { "name": "São Paulo", "code": "SP" }, "country": "Brasil", "concession": "Ecopistas", "coordinates": { "latitude": -23.4656821, "longitude": -46.3727036 }, "serviceTypes": [ { "serviceId": "80", "name": "Via Facil" }, { "serviceId": "35350700329000103", "name": "ANTTCODE" } ], "price": 7.8 } ], "legTotalCost": 7.8 }, { "tolls": [], "legTotalCost": 0 } ], "totalCost": 7.8 } ] }