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 } ] } ] }