Table of Contents |
---|
Construindo requisições para a Multi Geocode API
O objetivo desse último endpoint é retornar as coordenadas geográficas a partir de multiplos endereços, completos ou parciais.
Para realizar a requisição para a Multi Geocode API é necessário usar enviar a requisição usando o método POST /multi-geocode:
...
para o seguinte endpoint:
...
os seguintes headers são necessários:
Code Block |
---|
--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 obter a coordenada geográfica do endereço.
...
- POST
Parâmetros da requisição
Os parâmetros são os mesmos usados na Geocode API, com a adição do parâmetro id
, que irá identificar os endereços desejados.
Parâmetros obrigatórios
Obs: É obrigatório informar Com exceção do id, o restante ao menos um é obrigatório, não é preciso há necessidade de informar todos. No entanto, quanto mais informação for fornecida, mais preciso será o resultado.
id
:identificador - Identificador único do endereço;road
: nome - Nome da rua ou parte dele;number
: número - Número do logradouro. NÃO informar os dados do complemento.city
: nome - Nome da cidade;state
: estado - Estado;district
: nome - Nome do bairro;zipcode:
- CEP.
Parâmetro opcional
type
: limita - Limita o tipo da pesquisa. Valores possíveis:ZIPCODE
: - CEP;STATE:
- Estado;CITY:
- Cidade;POI:
- Pedágios (Até a data deste documento 13/04/2021atual);DISTRICT:
- Bairro.
Info |
---|
Há o limite de 200 pontos para o envio em uma mesma requisição |
Exemplo 1 - Busca coordenadas de dois endereços na mesma requisição
Exemplo de Request com parâmetrosNesse exemplo vamos buscar dois endereços diferentes na mesma requisição. Para isso precisamos identificar cada um dos endereços com o parâmetro id. O primeiro será Address1 e o segundo Address2. A requisição encontra-se abaixo:
Code Block |
---|
[ { "id": "Address1", "road": "Leopoldo Hess", "number": 75, "district": "São João", "zipcode": "88304-260", "city": "Itajai", "state": "SC" }, { "id": "Address2", "road": "Alameda Campinas", "number": 579, "zipcode": "01419-001", "city": "São Paulo", "state": "SP" } ] |
Exemplo de Response Na resposta, as seguintes informações são retornadas:
found
: quantidade - Quantidade de registros encontrados.results
: resultados encontrados:id
: identificador do endereço;address
- Endereço:road
: nome - Nome da via;district
: bairro - Bairro;zipCode
: - CEP;city
: cidade - Cidade;state
: estado - Estado;mainLocation
: coordenadas - Coordenadas geográficas em latitude/longitude;
type
: indica - Indica qual o melhor elemento encontrado na base cartográfica para o retorno da coordenada geográfica;score
: pontuação - Pontuação de referência do resultado do processo de geocodificação;label
: endereço - Endereço completo encontrado utilizado no processo de geocodificação.
address
: endereço- Resultados encontrados:
A resposta completa pode ser conferida abaixo:
Code Block |
---|
{ "found": 2, "results": [ { "id": "Address1", "address": { "road": "Rua Leopoldo Hess", "number": "75", "district": "São João", "zipCode": "88304260", "city": "Itajaí", "state": { "code": "SC", "name": "Santa Catarina" }, "mainLocation": { "lat": -26.90314282963394, "lon": -48.68023153051618 } }, "type": "ROAD", "score": 154.34358, "label": "Rua Leopoldo Hess, 75, São João, 88304260, Itajaí, Santa Catarina, SC" }, { "id": "Address2", "address": { "road": "Alameda Santos", "district": "Cerqueira César", "zipCode": "01419001", "city": "São Paulo", "state": { "code": "SP", "name": "São Paulo" }, "mainLocation": { "lat": -23.568495, "lon": -46.650085 } }, "type": "ZIPCODE", "score": 48.98619, "label": "Alameda Santos, Cerqueira César, 01419001, São Paulo, São Paulo, SP" } ] } |
Info |
---|
Nota: Verifique Quanto maior o score para verificar a pontuação alcançada a partir dos elementos usados nos parâmetros. Por exemplo, se a request possui todos os elementos de endereço preenchidos e os mesmos foram encontrados na base cartográfica, se espera uma pontuação maior. Se a request possuir somente CEP, a pontuação será menor. Para informações detalhadas de como funciona o how-scoring-works-in-elasticsearchmaior será a relevância do resultado para o endereço solicitado. |