Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 6 Next »

Construindo requisições para Restriction Zone API

Para realizar a requisição para a API é necessário usar o endpoint restrictionZones:

https://api.maplink.global/restriction/v1/restrictionZones

os seguintes headers são necessários

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

{
    "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.

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.

{
    "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.

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

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

  • No labels