Table of Contents |
---|
Construindo requisições para Trip API
Para realizar a requisição para a API é necessário usar o méotodo POST/problems:
Code Block | ||
---|---|---|
| ||
https://api.maplink.global/trip/v1/problems |
os seguintes headers são necessários
Code Block |
---|
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' |
Onde Token é o access token obtido na autenticação.
Em body são enviados todos os parâmetros para resolver o problema logístico.
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:
...
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
: Descrição dos pontos de parada com:
siteId
: Identificador do ponto de parada.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.
Exemplo de Request com parâmetros obrigatórios:
Code Block |
---|
{
"startDate": 1564509260,
"profileName": "MAPLINKBR",
"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 emstartDate
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.maxWidth
: Número decimal com a largura do veículo metros.
Exemplo de requisição com parâmetros opcionais:
Code Block | ||
---|---|---|
| ||
{
"startDate": 1564509260,
"profileName": "MAPLINKBR",
"points": [
{
"siteId": "Point 1-Extrema",
"latitude": -22.859246,
"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:
...
language | json |
---|
...
Os seguintes parâmetros são necessários:
legs
- Array compoints
evehicleType
para serem calculados os pedágios. Cadaleg
representa um trecho da rota. Caso queira calcular o pedágio para veículos diferentes em cada parte da rota, por exemplo, você pode dividi-la em várias legs. (Obrigatório apenas para o endpoint independente)points
- Coordenadas que compõem o trecho da rota. O parâmetropoints
aceita as coordenadas como objetos, arrays, codificadas em geohash ou codificadas como polyline, conforme os exemplos abaixo:Objeto - Objetos compostos pelos parâmetros latitude e longitude:
Code Block language json "points": [ { "latitude": -19.50489, "longitude": -57.43231 } ]
Array - Arrays contendo a latitude e longitude:
Code Block language json "points": [ [-19.50489,-57.43231], ]
Geohash - Strings com a latitude e longitude codificadas em geohash:
Code Block language json "points": [ "6sx1j15pf", ]
Polyline - String com todas as coordenadas da rota codificadas como polyline:
Code Block language json "points": "pp`vB|fp}IlAFhCI"
billing
- Texto que indica o tipo de cobrança de pedágio. Os valores possíveis são:DEFAULT - É o valor padrão caso o parâmetro não seja informado e indica que o cálculo de cobrança convencional de pedágios será utilizado, ou seja, apenas nas praças de pedágio.
FREE_FLOW - Indica que será calculado os valores de pedágios em trechos de rodovias que possuam tanto o sistema de livre de passagem (onde existir pórticos ou praças de pedágio) quanto o sistema convencional (praças de pedágio).
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
TRUCK_WITH_TEN_DOUBLE_AXLES