Construindo requisições para Distance Matrix API
Para realizar a requisição para a API é necessário usar o método POST/problems:
https://api.maplink.global/matrix/v1/problems
os seguintes headers são necessários:
--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.
Body e Parâmetros da Request
Parâmetros Obrigatórios:
startDate
: Número inteiro com a data e horário de referência no formato timestamp.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 quilometragem.
destinations
: Descrição dos pontos de destino com:siteId
: Identificador do ponto de parada.latitude
: coordenada da latitude em graus decimais.longitude
: coordenada da longitude em graus decimais.
origins
: Descrição dos pontos de origem com:siteId
: Identificador do ponto de parada.latitude
: coordenada da latitude em graus decimais.longitude
: coordenada da longitude em graus decimais.
tripProfile:
Identificador do perfil para realizar a rota. Somente serão considerados os parâmetros do perfil 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. É sempre recomendável utilizar o “MAPLINKBR” no Brasil , “MAPLINK” na América Latina e “MAPLINKMEXICO” para o México, pois eles contêm os mapas mais atualizados.
Exemplo de Request com parâmetros obrigatórios:
{ "calculationMode": "THE_FASTEST", "destinations": [ { "latitude": -23.561402303338195, "longitude": -46.63862145421187, "siteId": "destination1Liberdade" } ], "origins": [ { "latitude": -23.55363650451996, "longitude": -46.620810158377516, "siteId": "origin1Mooca" } ], "startDate": 0, "tripProfile": "MAPLINKBR" }
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. 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.
Exemplo de requisição com parâmetros opcionais:
{ "avoidanceTypes": [ "TUNNELS", "BRIDGES", "FERRIES", "TOLL_ROADS", "TOLL_GATES" ], "calculationMode": "THE_FASTEST", "destinations": [ { "latitude": -23.682211, "longitude": -46.546867, "siteId": "SantoAndre" } ], "origins": [ { "latitude": -23.337132, "longitude": -46.835427, "siteId": "Cajamar" } ], "restrictionZones": [], "startDate": 1618315200000, "tripProfile": "MAPLINKBR" }