Toll

Exemplo 1 – Endpoint independente

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.

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.

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

Caso utilize a Trip API, a resposta obtida na Trip poderá ser usada como requisição para a Toll API, bastando apenas adicionar o parâmetro vehicleType em cada leg

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. 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.

Abaixo a requisição completa:

{
    "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 leg 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. 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:

{
    "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": 10.40
                }
            ],
            "legTotalCost": 10.40,
            "vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
        }
    ],
    "totalCost": 10.40
}