Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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 geometries na mesma área de restrição, desde que geometries.name tenham nomes únicos

...

  • ;

...

    • name - Nome opcional da geometria

...

    • ;

...

    • 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.

Abaixo um exemplo de requisição:

Code Block
languagejson
{
    "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
                }
            ]
        }
    ],
    "roadMap": "MAPLINKBR_202201"
}

Uma vez recebido a mensagem “201 - Restriction zone successfully created” a área de restrição poderá ser consultada e usada com a Planning API, Trip API ou Distance Matrix 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"

...

.

...

Code Block
languagejson
{
    "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
languagejson
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
languagejson
{
    "profileName": "MAPLINKBR",
    "calculationMode": "THE_SHORTEST",
    "points": [
        {
            "latitude": -23.337132,
            "longitude": -46.835427,
            "siteId": "Cajamar"
        },
        {
            "latitude": -23.682211,
            "longitude": -46.546867,
            "siteId": "SantoAndre"
        }
    ],    
    "restrictionZones": [
        "teste99"
    ],
}

Com o resultado no mapa será possível diferenciar a rota com área de restrição e a outra sem:

Rota com área de restrição:

Image Removed

Rota sem área de restrição:

...