Table of Contents |
---|
Construindo requisições para Restriction Zone API
Para realizar a requisição para a API é necessário usar o endpoint restrictionZones
:
Code Block | ||
---|---|---|
| ||
https://api.maplink.global/restriction/v1/restrictionZones |
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ísticoa área de restrição.
Inserindo nova área de restrição
Para inserir uma nova área de restrição você realizará uma requisição do tipo POST. Será necessário ter um array com as latitudes e longitudes de cada vértice do polígono.
Exemplo da requisição criar a área de restrição:
curl
-H "Content-Type: application/json"
-H "clientId: meuclientid"
-H "Authorization: Bearer pwkgGcEWu8IcFCQZtSDfT1GvqTIb"
-X POST "https://api.maplink.global/restriction/v1/restrictionZones"
-d @C:/TEMP/post_restrictionzone_teste99.json
O arquivo JSON deverá ter o seguinte conteúdo, onde:
name
: é o texto único com o nome da área de restrição.
geometries
: Array contendo os polígonos com seus respectivos vértices da área de restrição. É possível cadastrar um ou mais geometries
na mesma área de restrição, desde que geometries
.name
tenham nomes únicos.
geometries
.name
: é o nome opcional da geometria.
geometries
.vertices
: array de vértices contendo latitude e longitude.
roadMap
: Versão do mapa a qual será processada a área de restrição. Entre em contato com a Maplink para saber qual a versão do mapa mais atualizada. Deverá ser o mesmo que o utilizado nas outras APIs para considerar a mesma base de ruas.
Code Block | ||
---|---|---|
| ||
{ "name": "teste99", "geometries": [ { "name": "", "vertices": [ { "latitude": -23.694834, "longitude": -46.777038 }, { "latitude": -23.694834, "longitude": -46.448822 }, { "latitude": -23.472064, "longitude": -46.448822 }, { "latitude": -23.472064, "longitude": -46.777038 } ] } ], "roadMap": "MAPLINKBR_202104" } |
Uma vez recebido a mensagem “201 - Restriction zone successfully created” poderá ser consultada e usada com a Trip API.
Consultando a área de restrição
Para consultar uma área de restrição você realizará uma requisição do tipo GET. Será necessário ter o nome da área de restrição e o clientId.
curl
-H "Content-Type: application/json"
-H "clientId: meuclientid"
-H "Authorization: Bearer pwkgGcEWu8IcFCQZtSDfT1GvqTIb"
-X GET "https://api.maplink.global/restriction/v1/restrictionZones/teste99"
Resultado: Repare que há um campo “status” indicando que está pronto para uso.
Code Block | ||
---|---|---|
| ||
{ "name": "teste99", "roadMap": "MAPLINKBR_202104", "geometries": [ { "name": "", "vertices": [ { "latitude": -23.694834, "longitude": -46.777038 }, { "latitude": -23.694834, "longitude": -46.448822 }, { "latitude": -23.472064, "longitude": -46.448822 }, { "latitude": -23.472064, "longitude": -46.777038 } ] } ], "status": { "name": "CALCULATED", "description": "Roads inside restriction zone calculated" } } |
Apagando a área de restrição
Para apagar uma área de restrição você realizará uma requisição do tipo DELETE. Será necessário ter o nome da área de restrição e o clientId.
Code Block | ||
---|---|---|
| ||
curl -H "Content-Type: application/json" -H "clientId: meuclientid" -H "Authorization: Bearer pwkgGcEWu8IcFCQZtSDfT1GvqTIb" -X DELETE "https://api.maplink.global/restriction/v1/restrictionZones/teste99" |
Roteirizando com área de restrição
Neste exemplo iremos realizar a requisição para a Trip API considerando a área de restrição. Informe o clientId no header e o nome da área de restrição no corpo da requisição em “restrictionZones”:
Code Block | ||
---|---|---|
| ||
{ "calculationMode": "THE_SHORTEST", "points": [ { "latitude": -23.337132, "longitude": -46.835427, "siteId": "Cajamar" }, { "latitude": -23.682211, "longitude": -46.546867, "siteId": "SantoAndre" } ], "profileName": "MAPLINKBR", "restrictionZones": [ "teste99" ], "startDate": 1564509260000 } |
O resultado no mapa será possível ver a diferença de rota com área de restrição e a outra sem:
Rota com área de restrição:
Rota sem área de restrição: