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 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
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_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
languagejson
{
    "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
languagejson
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
languagejson
{
    "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: