Construindo requisições para Multi Geocode API
Para realizar a requisição para a Multi Geocode API é necessário usar o método POST/multi-geocode:
https://api.maplink.global/geocode/v1/multi-geocode
os seguintes headers são necessários:
--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.
Body e Parâmetros da Request
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 ao menos um, não é preciso informar todos. No entanto, quanto mais informação for fornecida, mais preciso será o resultado.
id
:identificador único do endereço;road
: nome da rua ou parte dele;number
: número do logradouro. NÃO informar os dados do complemento.city
: nome da cidade;state
: estado;district
: nome do bairro;zipcode:
CEP.
Parâmetro opcional
type
: limita o tipo da pesquisa. Valores possíveis:ZIPCODE
: CEP;STATE:
Estado;CITY:
Cidade;POI:
Pedágios (Até a data deste documento 13/04/2021);DISTRICT:
Bairro.
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âmetros:
[ { "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, as seguintes informações são retornadas:
found
: quantidade de registros encontrados.results
: resultados encontrados:id
: identificador do endereço;address
: endereço:road
: nome da via;district
: bairro;zipCode
: CEP;city
: cidade;state
: estado;mainLocation
: coordenadas geográficas em latitude/longitude;
type
: indica qual o melhor elemento encontrado na base cartográfica para o retorno da coordenada geográfica;score
: pontuação de referência do resultado do processo de geocodificação;label
: endereço completo encontrado utilizado no processo de geocodificação.
{ "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" } ] }
Nota: Verifique 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 score
do elasticsearch, consulte o link: