> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/api-rest/identity-api/identity-api-reference/other-services/reverse-geocoding.md).

# Geocodificação reversa

Esta API traduz uma localização no mapa (coordenadas de **latitude e longitude**) para uma **endereço legível para humanos**.

O serviço converte coordenadas geográficas em informações detalhadas de endereço, incluindo **país**, **áreas administrativas** e **endereços formatados**.

### Endpoint

```
POST /reverse-geocoding
```

### Cabeçalhos

| Nome          | Tipo   | Obrigatório | Descrição                         |
| ------------- | ------ | ----------- | --------------------------------- |
| **x-api-key** | string | **Sim**     | API Key de autorização de acesso. |

### Corpo da solicitação

**Content-Type:** `application/json`

#### Parâmetros

| Parâmetro   | Tipo   | Obrigatório | Descrição                                              |
| ----------- | ------ | ----------- | ------------------------------------------------------ |
| `latitude`  | number | **Sim**     | Representação numérica da **coordenada de latitude**.  |
| `longitude` | number | **Sim**     | Representação numérica da **coordenada de longitude**. |

#### Exemplo de solicitação

```json
{
  "latitude": -70.961452,
  "longitude": 100.714224
}
```

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta

| Parâmetro                                   | Tipo   | Descrição                                                                             |
| ------------------------------------------- | ------ | ------------------------------------------------------------------------------------- |
| `results`                                   | array  | Array de resultados de geocodificação com informações de endereço.                    |
| `results[].address_components`              | array  | Array de componentes de endereço com informações detalhadas de localização.           |
| `results[].address_components[].long_name`  | string | **Nome completo** do componente de endereço.                                          |
| `results[].address_components[].short_name` | string | **Nome abreviado** do componente de endereço.                                         |
| `results[].address_components[].types`      | array  | Tipos do componente de endereço.                                                      |
| `results[].formatted_address`               | string | Endereço formatado **legível para humanos**.                                          |
| `results[].geocoding.distance`              | number | Distância a partir das coordenadas solicitadas (`null` para correspondências exatas). |
| `results[].geocoding.type`                  | string | Tipo de correspondência de geocodificação (por ex., `"Exact"`).                       |
| `results[].types`                           | array  | Tipos do resultado de geocodificação.                                                 |

#### Exemplo de resposta

```json
{
  "results": [
    {
      "address_components": [
        {
          "long_name": "Antártida",
          "short_name": "AQ",
          "types": [
            "country",
            "political",
            "Admin-0 country",
            "Indeterminate"
          ]
        }
      ],
      "formatted_address": "Antártida",
      "geocoding": {
        "distance": null,
        "type": "Exact"
      },
      "types": [
        "country",
        "political"
      ]
    }
  ]
}
```

#### `400` Requisição inválida

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Não autorizado

```json
{
  "message": "Unauthorized"
}
```

#### `403` Acesso negado

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `502` Gateway inválido

```json
{
  "status": 502,
  "title": "Bad Gateway",
  "detail": "Server got an invalid response.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Tempo limite do gateway

```json
{
  "message": "Endpoint request timed out"
}
```
