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:

Code Block
languagejson
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

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

geometries.name : - 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
languagejson
{
    "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_202201"
}

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

Resultado: Repare que há um campo “status” indicando que está pronto para uso.

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"
        }
    ],
    "profileName": "MAPLINKBR",
    "restrictionZones": [
        "teste99"
    ],
    "startDate": 1564509260000
}

O Com o resultado no mapa será possível ver diferenciar 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: