Table of Contents |
---|
Construindo requisições para Distance Matrix API
Para realizar a requisição para a API é necessário usar o método POST/problems:
Code Block | ||
---|---|---|
| ||
https://api.maplink.global/matrix/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 a matriz de distância.
...
Parâmetros
...
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.
...
Obrigatórios
...
startDate
: Número inteiro com a data e horário de referência para o parâmetrouseRealSpeeds
seja true. Caso não use o parâmetrouseRealSpeeds
,startDate
poderá ser qualquer número inteiro.calculationMode
:calculationMode
- Indica o modo de cálculo para a rota. Suporta os tipos:THE_FASTEST
: considera - Considera o caminho mais rápido.THE_SHORTEST
: considera - Considera o caminho com menor kilometragemquilometragem.
destinations
: - Descrição dos pontos de destino com:siteId
: - Identificador do ponto de parada.latitude
: coordenada - Coordenada da latitude em graus decimais.longitude
: coordenada - Coordenada da longitude em graus decimais.
origins
: - Descrição dos pontos de origem com:siteId
: - Identificador do ponto de parada.latitude
: coordenada - Coordenada da latitude em graus decimais.longitude
: coordenada - Coordenada da longitude em graus decimais.
tripProfile
- 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:
...
Recomendável utilizar sempre o “MAPLINK”, pois ele contém os mapas mais atualizados.
Exemplo de requisição com parâmetros obrigatórios
Code Block | ||
---|---|---|
| ||
{ "calculationMode": "THE_FASTEST", "destinations": [ { "latitude": -23.5654032561402303338195, "longitude": -46.6211700463862145421187, "siteId": "destination1Cambucidestination1Liberdade" } ], "origins": [ { "latitude": -23.5866431755363650451996, "longitude": -46.63833618620810158377516, "siteId": "origin1VilaMarianaorigin1Mooca" } ], "startDate": 0, "tripProfile": "MAPLINKBRMAPLINK" } |
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 Texto com o nome do usuário caso o endpoint precisar de autenticação.password
- texto 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 ].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.
speed
: Número inteiro com a velocidade personalizada da via.
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": "avoidanceTypes": [ "TUNNELS", "BRIDGES", "FERRIES", "TOLL_ROADS", "TOLL_GATES" ], "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 | ||
---|---|---|
| ||
"vehicleSpecification": { "maxLengthBetweenAxles": 1.8, "maxWeightForDangerousMaterials": 14, "maxWeightForExplodingMaterials": 10, "maxWeightForPollutingMaterials": 5.5, "maxWeightPerAxle": 5.2 "destinations": [ { "latitude": -23.682211, "longitude": -46.546867, "siteId": "SantoAndre" } ], "origins": [ { "latitude": -23.337132, "longitude": -46.835427, "siteId": "Cajamar" } ], "restrictionZones": [], "tripProfile": "MAPLINK" } |