Exemplo 1 - Como obter os pedágios com rotas geradas por serviços de terceiros?

Nesse exemplo, veremos com utilizar a Toll API em rotas geradas por serviços de terceiros.

Para obter o retorno de pedágios em rotas geradas por serviços de terceiros (com exceção da Directions API do Google), será necessário utilizar o endpoint independente. 

A requisição deverá ser feita utilizando o método POST para o seguinte endpoint:

https://api.maplink.global/toll/v1/calculations

Nesse exemplo, temos uma rota simples que passa pelo pedágio de Itaquaquecetuba. Iremos utilizar o endpoint independente para obter o cálculo dos pedágios.

Em legs precisamos definir os points, parâmetro que contém as coordenadas que compõem a rota. No caso, teremos apenas uma leg que corresponde a rota inteira.

Em vehicleType definimos que queremos realizar a rota com um caminhão de dois eixos duplos, TRUCK_WITH_TWO_DOUBLE_AXLES.

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. Caso utilize a Directions API do Google, o recomendável é que você utilize a Toll for Maps API.

Nos próximos exemplos, será utilizado a integração com a Trip API, porém o formato da resposta será o mesmo, tanto para o endpoint independente, quanto para a Toll for Maps.

{
"legs": [
{
"points": [
{
"latitude": -23.465395,
"longitude": -46.375007
},
{
"latitude": -23.465957,
"longitude": -46.371015
},
{
"latitude": -23.467154,
"longitude": -46.36559
}
],
"vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
}
]
}

A resposta virá no formato JSON.

Em totalCost temos o valor total dos pedágios em toda a rota. Dentro de cada objeto retornado em legs será retornado um objeto tolls com os valores e informações de cada pedágio no trecho correspondente, e a legTotalCost que mostra o valor total de pedágios naquele 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 (Código ANTT, Via Fácil e SemPararPay);

    • serviceId - Código para a integração;

    • name - Descrição do código do serviço.

A resposta completa encontra-se abaixo:

{
"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",
"direction": "EAST",
"coordinates": {
"latitude": -23.4656821,
"longitude": -46.3727036
},
"serviceTypes": [
{
"serviceId": "80",
"name": "Via Facil"
},
{
"serviceId": "35350700329000103",
"name": "ANTTCODE"
}
],
"price": 8.40
}
],
"legTotalCost": 8.40
}
],
"totalCost": 8.40
}