Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Para realizar a requisição para a API é necessário usar o méotodo método POST/problemscalculagions:

Code Block
languagejson
https://api.maplink.global/triptoll/v1/problemscalculations

os seguintes headers são necessários

...

Body e Parâmetros da Request

Alguns parâmetros que são obrigatórios estão denotados com ( * ) e outros são opcionais. A lista dos parâmetros estão descritos separados pelos grupos que eles pertencem.

Parâmetros Obrigatórios:

  • points: Descrição dos pontos de parada com:

    siteId: Identificador do ponto de parada.

    startDatelegs: Número inteiro Array com a data e horário de referência para o parâmetro useRealSpeedsseja true. Caso não use o parâmetro useRealSpeeds, startDate poderá ser qualquer número inteiro.

  • calculationMode: Indica o modo de cálculo para a rota. Suporta os tipos:

    • THE_FASTEST: considera o caminho mais rápido.

    • THE_SHORTEST: considera o caminho com menor kilometragem.

  • points e vehicleType para serem calculados os pedágios.

  • points: Coordenadas da polilinha:

    • latitude: coordenada da latitude em graus decimais.

    • longitude: coordenada da longitude em graus decimais.

  • profileName Identificador do perfil para realizar a rota. Ver mais em profileName. Somente será considerado os parâmetros do profile caso não estejam explicitamente declarados na request. Exemplo: se a request tiver áreas de restrição, não será considerado o do Trip Profile.vehicleType : Texto que define o tipo de veículo a ser considerado para calcular o pedágio. Os valores possíveis são: [ CAR, MOTORCYCLE, CAR_WITH_THREE_SIMPLE_AXLES, CAR_WITH_FOUR_SIMPLE_AXLES, BUS_WITH_TWO_DOUBLE_AXLES, BUS_WITH_THREE_DOUBLE_AXLES, BUS_WITH_FOUR_DOUBLE_AXLES, BUS_WITH_FIVE_DOUBLE_AXLES, TRUCK_WITH_TWO_SINGLE_AXIS, TRUCK_WITH_TWO_DOUBLE_AXLES, TRUCK_WITH_THREE_DOUBLE_AXLES, TRUCK_WITH_FOUR_DOUBLE_AXLES, TRUCK_WITH_FIVE_DOUBLE_AXLES, TRUCK_WITH_SIX_DOUBLE_AXLES, TRUCK_WITH_SEVEN_DOUBLE_AXLES, TRUCK_WITH_EIGHT_DOUBLE_AXLES, TRUCK_WITH_NINE_DOUBLE_AXLES ]

Exemplo de Request com parâmetros obrigatórios:

Code Block
languagejson
{
        "startDate": 1564509260,
    "profileName": "MAPLINKBR",
    legs": [
        {
            "points":  [
        {
            "siteId": "Point 1-Extrema",
            "latitude": -22.859246,
            "longitude": -46.339289
        },
        {
            "siteId": "Point 2-Betim",
            "latitude": -19.985117,
            "longitude": -44.202667
        }
    ],
    "calculationMode": "THE_FASTEST"
}

Parâmetros Opcionais:

  • avoidanceTypes: Indica que a rota deverá determinados tipos de elementos do sistema viário. Valores permitidos são: [TUNNELS, BRIDGES, FERRIES, TOLL_ROADS, TOLL_GATES].

  • callback: Contém os dados do callback que é uma URL de webhook para receber os eventos do cálculo do problema. Útil para evitar o consumo de créditos com a API de feedback para checar os eventos, visto que o callback irá enviar o status do processamento. Ver mais em callback (Planning API). Os argumentos possíveis são:

    • url- URL com o endereço que irá receber o callback.

    • user- texto com o nome do usuário caso o endpoint precisar de autenticação.

    • password- texto com a senha caso o endpoint precisar de autenticação.

...

restrictionZones: Array com o texto do nome da área de restrição previamente cadastradas na Restriction Zone API.

...

speedPreferences: Usado para personalizar a velocidade da via para o cálculo da rota e suas estimativas. Os argumentos possíveis são:

  • roadType: tipo de segmento da via. Valores permitidos: [ FERRY, PENALIZED_LOCAL_ROAD, LOCAL_ROAD, PENALIZED_SECONDARY_ROAD, SECONDARY_ROAD, PENALIZED_MAIN_ROAD, MAIN_ROAD, EXPRESSWAY, HIGHWAY ].

  • speed: Número inteiro com a velocidade personalizada da via.

  • speedAtToll: Número inteiro com a velocidade personalizada da via que há pedágio.

...

useRealSpeeds: Habilita informações de trânsito histórico para o cálculo da Trip. As velocidades vão se basear no trânsito do horário configurado em startDate

vehicleSpecification: Especificação do veículo como peso, altura, tipo de carga etc.

...

loadTypes: Texto com o tipo de carga. Usado apenas para descrição, não interfere no cálculo da rota. Valores possíveis: [ GOODS, PERSONS, AGRICULTURAL_PRODUCTS, COAL, BUILDING_PRODUCTS, HEALTH_WASTES, SAND_GRAVELS, RAW_MATERIALS, NATURAL_RESOURCES ].

...

maxHeight: Número decimal com a altura do veículo em metros. Interfere na rota, podendo pegar acesso para evitar passar por viadutos.

...

maxLength: Número decimal com a extensão do veículo em metros.

...

maxWeight: Número decimal com a capacidade de peso do veículo em toneladas.

...


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

Info

Nota: A maneira mais prática de processar a Toll e obter o resultado da Trip API e adicionar o "vehicleType" em cada leg.

Parâmetros Opcionais:

  • source: Texto que indica qual o mapa base a ser usado de referência para o pedágio. Valores possíveis são [ DEFAULT, OSM, MAPLINK ]. Até a data deste texto, 12/04/2021, o DEFAULT e NULL utiliza o mapa Tom Tom; MAPLINK e OSM utilizam o mapa OSM.

Info

Nota: Utilizar em source o valor MAPLINK pois é o compatível com o mapa padrão da Trip.

Exemplo de requisição com parâmetros opcionais:

Code Block
languagejson
{
        "startDate": 1564509260,
    "profileName": "MAPLINKBR",
    legs": [
        {
            "points":  [
        {
            "siteId": "Point 1-Extrema",
            
                {
                    "latitude":  -2223.859246,
            465395,
                    "longitude":  -46.339289
        },
        {
            "siteId": "Point 2-Betim",
            "latitude": -19.985117,
            "longitude": -44.202667
        }
    ],
    "calculationMode": "THE_FASTEST",
    "useRealSpeeds": false,
    "vehicleSpecification": {
        "maxHeight": 5.90,
        "maxLength": 30,
        "maxWidth": 3.60,
        "maxWeight": 150
    },
    "restrictionZones": [
        "MG_BR381_530_km_AltCentl_5_75",
        "MG_BR381_620_km_AltCentl_5_61"
    ],
    "speedPreferences": [
        {
            "roadType": "FERRY",
            "speed": 20,
            "speedAtToll": 20
        },
        {
            "roadType": "PENALIZED_LOCAL_ROAD",
            "speed": 20,
            "speedAtToll": 20
        },
        {
            "roadType": "LOCAL_ROAD",
            "speed": 30,
            "speedAtToll": 20
        },
        {
            "roadType": "PENALIZED_SECONDARY_ROAD",
            "speed": 30,
            "speedAtToll": 30
        },
        {
            "roadType": "SECONDARY_ROAD",
            "speed": 30,
            "speedAtToll": 30
        },
        {
            "roadType": "PENALIZED_MAIN_ROAD",
            "speed": 30,
            "speedAtToll": 30
        },
        {
            "roadType": "MAIN_ROAD",
            "speed": 30,
            "speedAtToll": 30
        },
        {
            "roadType": "EXPRESSWAY",
            "speed": 50,
            "speedAtToll": 50
        },
        {
            "roadType": "HIGHWAY",
            "speed": 50,
            "speedAtToll": 50
        }
    ]
}

Parâmetros Não Testados:

Code Block
languagejson
    "vehicleSpecification": {
        "maxLengthBetweenAxles": 1.8,
        "maxWeightForDangerousMaterials": 14,
        "maxWeightForExplodingMaterials": 10,
        "maxWeightForPollutingMaterials": 5.5,
        "maxWeightPerAxle": 5.2
    375007
                },
                {
                    "latitude": -23.465957,
                    "longitude": -46.371015
                },
                {
                    "latitude": -23.467154,
                    "longitude": -46.36559
                }
            ],
            "vehicleType": "TRUCK_WITH_TWO_DOUBLE_AXLES"
        }
    ],
    "source": "MAPLINK"
}