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