Table of Contents |
---|
Construindo requisições para Restriction Zone API
Para realizar a requisição para a API é necessário usar o endpoint restrictionZones
:
...
Para inserir uma nova área de restrição você realizará uma requisição do tipo POST para o seguinte endpoint:
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 a área de restrição.
Inserindo nova área de restrição
...
- 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:
...
Os seguintes parâmetros devem ser informados:
name
- Nome ú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
...
polígonos na mesma área de restrição, desde que
...
geometries
.name
: Nome opcional da geometria.
...
cada polígono possua um nome único;
name
- Nome opcional do polígono;vertices
- Array de vértices contendo latitude e longitude.
...
Abaixo um exemplo de requisição:
Code Block | ||
---|---|---|
| ||
{
"name": " |
...
RestrictionZone1", "geometries": [ { "name": "Polygon1", "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 } ] } ] |
...
|
...
} |
Uma vez recebido a mensagem “201 - Restriction zone successfully created” a área de restrição poderá ser consultada e usada com a
...
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_202201",
"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"
|
Rota 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:
...
Planning API, Trip API ou Distance Matrix API.