Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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

    - Resultados encontrados:

    • 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.

  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 score do elasticsearch, consulte o link:

how-scoring-works-in-elasticsearchmaior será a relevância do resultado para o endereço solicitado.