Idioma:
  • Português
  • Español

Restriction Zone

A API Restriction Zone tem como objetivo central realizar a gestão e criação das áreas de restrição para desvio das rotas.

  • API dedicada a inserir, recuperar e apagar.
  • Utilize seu clientId para manter a área de restrição privada.
  • Utilize a área de restrição em conjunto com a API Trip para realizar a roteirização evitando essas áreas.

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 com CURL
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:

JSON nova área de restrição
{
    "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
                }
            ]
        }
    ]
}
  • “name”: “teste99” – é o nome da área de restrição;
  • “geometries” – array de geometrias contendo nome e vértices.
  • “geometries”.”name” – é o nome opcional da geometria;
  • “geometries”.”vertices” – array de vértices contendo latitude e longitude.

Responses:

  • 201 – Restriction zone successfully created
  • 400 – Restricton zone with validation errors


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.

Exemplo da requisição com CURL:
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.

Response
{
    "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
                }
            ]
        }
    ],
    "status": {
        "name": "CALCULATED",
        "description": "Roads inside restriction zone calculated"
    }
}

Responses:

  • 200 – Restriction zone found
  • 404 – Restriction zone not found

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.

Exemplo da requisição com CURL:
curl
-H "Content-Type: application/json" 
-H "clientId: meuclientid" 
-H "Authorization: Bearer pwkgGcEWu8IcFCQZtSDfT1GvqTIb" 
-X DELETE "https://api.maplink.global/restriction/v1/restrictionZones/teste99"

Responses:

  • 200 – Restriction zone found
  • 404 – Restriction zone not found

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

Request para API Trip
{
    "calculationMode": "THE_SHORTEST",
    "points": [
        {
            "latitude": -23.337132,
            "longitude": -46.835427,
            "siteId": "Cajamar"
        },
        {
            "latitude": -23.682211,
            "longitude": -46.546867,
            "siteId": "SantoAndre"
        }
    ],
    "restrictionZones": [
        "teste99"
    ]
}
Rota com área de restrição
Rota sem área de restrição
End of Content