POIs

Exemplo 1 – Endpoint independente

Nesse exemplo, queremos consultar os restaurantes e academias presentes na Avenida Afonso Pena, na cidade de Campo Grande – MS. Para isso, definimos o parâmetro categories com as categorias "ALIMENTOS_E_BEBIDAS" e "ACADEMIAS".

Em bufferRouteInMeters defimos o raio de busca durante a rota e em bufferStoppingPointsInMeters definimos o raio de busca nos pontos de parada. Em nosso caso, os pontos de parada serão os ponto de origem e destino de cada trecho da rota. Ambos serão definidos como 500 metros.

O parâmetro onlyMyPlaces indica se queremos consultar apenas os estabelecimentos de nossa base proprietária ou também queremos consultar a base nativa do serviço. Como nesse exemplo todos os estabelecimentos foram cadastrados previamente, usaremos o valor true.

O parâmetro legs é um array de objetos onde cada objeto representa um trecho da rota. Em cada leg, devemos definir o parâmetro points, que contém as coordenadas que compõem a rota. No caso, teremos apenas uma leg que corresponde a rota inteira.

A requisição completa pode ser conferida abaixo:

{
    "categories": [
        "ALIMENTOS_E_BEBIDAS",
        "ACADEMIAS"
    ],
    "bufferRouteInMeters": 500,
    "bufferStoppingPointsInMeters": 500,
    "onlyMyPlaces": true,
    "legs": [
        {
            "points": [
                {
                    "latitude": -20.46317952376137,
                    "longitude": -54.612278411463116
                },
                {
                    "latitude": -20.463744,
                    "longitude": -54.615746
                },
                {
                    "latitude": -20.464,
                    "longitude": -54.615697
                },
                {
                    "latitude": -20.462782,
                    "longitude": -54.608564
                }
            ]
        }
    ]
}

As seguintes informações serão retornadas na resposta:

  • total – Número inteiro contendo a quantidade de estabelecimentos encontrados na busca;
  • places – Array de objetos, onde cada objeto representa um estabelecimento. As seguintes informações serão retornadas:
    • id – Identificador único do estabelecimento;
    • name – Nome do estabelecimento;
    • category – Categoria ao qual o estabelecimento pertence;
    • subcategory – Subcategoria ao qual o estabelecimento pertence;
    • address – Objeto com os detalhes do endereço:
      • street – String para informar o endereço;
      • number – String para o número do estabelecimento;
      • district – (Opcional) String para o bairro;
      • city – String para cidade;
      • state – String para estado;
      • zipcode – String para CEP;
      • point – Array com as coordenadas do estabelecimento:
        • latitude – Coordenada da latitude em graus decimais;
        • longitude – Coordenada da longitude em graus decimais;
    • active – Valor booleano que indica se o estabelecimento está ativo ou não;
    • tags – Tags do estabelecimento, caso houver;
    • phones – Telefones de contato do estabelecimento, caso houver.

A resposta completa pode ser conferida abaixo:

{
    "total": 2,
    "legs": [
        {
            "total": 2,
            "places": [
                {
                    "id": "624c3ea5eab1c41162ba996c",
                    "name": "Restaurante Dummy",
                    "category": "ALIMENTOS_E_BEBIDAS",
                    "subCategory": "RESTAURANTES",
                    "address": {
                        "street": "Praça Tiradentes",
                        "number": "23",
                        "city": "Rio de Janeiro",
                        "state": "RJ",
                        "zipcode": "20060-070",
                        "point": {
                            "latitude": -22.90741716416432,
                            "longitude": -43.182738139927416
                        }
                    },
                    "active": true
                },
                {
                    "id": "62431d8583ce9c2ac592db3b",
                    "name": "Academia Y",
                    "category": "ACADEMIAS",
                    "subCategory": "ACADEMIAS",
                    "address": {
                        "street": "Avenida Brasil",
                        "number": "326",
                        "city": "Campo Grande",
                        "state": "MS",
                        "zipcode": "89848650",
                        "point": {
                            "latitude": -20.463744,
                            "longitude": -54.615746
                        }
                    },
                    "active": true
                }
            ]
        }
    ]
}