Toll

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âmetro condition for usado na requisição, esse objeto será retornado contendo qual billingType e period 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
}