# Favelas

> Existem 3 entidades que compõem o dado de favelas: Favelas, complexos e ilhas.

**Base**: `https://api.prismadata.io/v1`

**Autenticação**: header `X-Apikey` (ou query `api_key`). Detalhes em [Autenticação](autenticacao.md).

**Formato de resposta**: JSON plano com campos `prismadata__<serviço>__<campo>`; em lote, dicionário indexado pelas chaves enviadas. Detalhes em [Formato de Resposta](guias/formato-de-resposta.md).

## Endpoints

### `POST /location/batch/slum`

Busca as informações de favelas em lote. A cobrança desta api é feita em função do número de coordenadas contidas no lote.

**Exemplo curl**:

```bash
curl -X POST "https://api.prismadata.io/v1/location/batch/slum" \
  -H "X-Apikey: SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
         "point1": [
           -23.5505,
           -46.6333
         ],
         "point2": [
           40.7128,
           -74.006
         ]
       }'
```

**Request body** (`application/json`):

Dicionário `{string: array[number]}`.
Modelo da entrada em batch

**Response 200** (`application/json`):

> Successful Response

Dicionário `{string: object}`.
Resultados por ponto. A chave é o ID do ponto enviado na requisição, ecoado tal e qual, e o valor tem o mesmo formato do endpoint de ponto único.

**Outros códigos**: 401, 403, 422, 429

---

### `GET /location/slum`

Endpoint para consultar a favela mais próxima a determinada coordenada geográfica.

**Exemplo curl**:

```bash
curl -X GET "https://api.prismadata.io/v1/location/slum?lat=-19.933284645466298&lng=-43.9191946695413" \
  -H "X-Apikey: SEU_TOKEN"
```

**Parâmetros**:

| Nome | Local | Tipo | Obrigatório | Descrição |
|------|-------|------|-------------|-----------|
| `lat` | query | number | sim | Latitude do ponto de origem. |
| `lng` | query | number | sim | Longitude do ponto de origem. |

**Response 200** (`application/json`):

> Successful Response

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `prismadata__slum__complexo_area_m2` | number \| null | sim | tamanho da área em metros quadrados do complexo mais próximo ao ponto. |
| `prismadata__slum__complexo_contido` | boolean \| null | sim | indica se o ponto consultado está contido na geometria do complexo mais próximo. `true` quando o ponto cai dentro do complexo, `false` quando está fora. |
| `prismadata__slum__complexo_distancia_centroid_m` | number \| null | sim | a distância em metros do ponto até o miolo, ou ponto central do complexo. |
| `prismadata__slum__complexo_distancia_m` | number \| null | sim | a distância em metros do ponto até a borda do complexo. Se o valor for negativo, o ponto se encontra dentro do complexo. Se for positivo, se encontra fora do complexo de favelas. |
| `prismadata__slum__complexo_dompp_total` | integer \| null | sim | número total de domicílios particulares permanentes que estão contidos no complexo mais próximo ao ponto. |
| `prismadata__slum__complexo_hash_id` | integer \| null | sim | id que identifica unicamente o complexo. |
| `prismadata__slum__complexo_municipio` | string \| null | sim | nome do município em que se encontra o complexo. |
| `prismadata__slum__complexo_nome` | string \| null | sim | nome do complexo de favelas conforme cadastro do IBGE (ex.: 'Complexo do Alemão'). Nulo quando não há complexo no raio de busca ou quando o cadastro não traz nome. |
| `prismadata__slum__complexo_perimetro_m` | number \| null | sim | o perimetro em metros da geometria que define o complexo de favelas. |
| `prismadata__slum__complexo_total_favelas` | integer \| null | sim | quantidade de favelas que formam o complexo de favelas. |
| `prismadata__slum__complexo_uf` | string \| null | sim | Unidade Federativa em que se encontra o complexo. |
| `prismadata__slum__favela_area_m2` | number \| null | sim | tamanho da área em metros quadrados da favela mais próxima ao ponto. |
| `prismadata__slum__favela_contido` | boolean \| null | sim | indica se o ponto consultado está contido na geometria da favela mais próxima. `true` quando o ponto cai dentro da favela, `false` quando está fora. |
| `prismadata__slum__favela_distancia_centroid_m` | number \| null | sim | distância em metros que o ponto se encontra do miolo ou ponto central da favela mais próxima à ele. |
| `prismadata__slum__favela_distancia_m` | number \| null | sim | a distância em metros à fronteira da favela. Valores positivos indicam um ponto fora da favela e valores negativos indicam um ponto dentro dos limites da favela. |
| `prismadata__slum__favela_dompp_total` | integer \| null | sim | quantidade de domicílios particulares permanentes da favela mais próxima ao ponto. |
| `prismadata__slum__favela_hash_id` | integer \| null | sim | identificador que identifica unicamente a favela. |
| `prismadata__slum__favela_municipio` | string \| null | sim | nome do município em que se encontra a favela mais próxima ao ponto. |
| `prismadata__slum__favela_nome` | string \| null | sim | nome da favela conforme cadastro do IBGE. Nulo quando não há favela no raio de busca ou quando o cadastro não traz nome. |
| `prismadata__slum__favela_perimetro_m` | number \| null | sim | o perímetro em metros da geometria que define os limites da favela. |
| `prismadata__slum__favela_uf` | string \| null | sim | Unidade Federativa em que se encontra a favela. |
| `prismadata__slum__ilha_area_m2` | number \| null | sim | área em metros quadrados da ilha mais próxima ao ponto. |
| `prismadata__slum__ilha_contido` | boolean \| null | sim | indica se o ponto consultado está contido na geometria da ilha mais próxima. `true` quando o ponto cai dentro da ilha, `false` quando está fora. |
| `prismadata__slum__ilha_distancia_centroid_m` | number \| null | sim | distância do ponto ao centroid da ilha mais próxima à ele. |
| `prismadata__slum__ilha_distancia_m` | number \| null | sim | distância do ponto à borda da ilha mais próxima à ele. Valores positivos indicam um ponto contido fora dos limites da ilha, enquanto valores negativos indicam o ponto contido dentro dos limites da ilha. |
| `prismadata__slum__ilha_hash_id` | integer \| null | sim | valor que identifica unicamente a ilha mais proxima ao ponto. |
| `prismadata__slum__ilha_perimetro_m` | number \| null | sim | o perimetro em metros da geometria de delimita a ilha mais próxima ao ponto. |
| `prismadata__slum__ilha_tipo_geom_contenedora` | string \| null | sim | indica se a ilha está contida em uma favela ou em um complexo de favelas. |

**Outros códigos**: 401, 403, 422, 429

---

## Recursos relacionados

- Documentação Redoc interativa: https://prismadata.io/redoc.html#tag/Favelas
- OpenAPI só deste produto (JSON): https://prismadata.io/llm/openapi/favelas.json
- OpenAPI completo: https://prismadata.io/openapi.yaml
- Índice geral: https://prismadata.io/llms.txt
