Verifica se os números indicados estão na blacklist. Devolve um mapa número → `true`/`false`.

## URL da API

URL utilizado para enviar os pedidos HTTP:

```url
https://portal.bulkgate.com/api/1.0/black-list/is-black-listed
```

> [!NOTE]
> Se o pedido não chegar ao destino, repita-o no [servidor de reserva](https://www.bulkgate.com/pt/documentacao/administracao-da-api/servidor-de-reserva/) `backup1.bulkgate.com`.

## Métodos HTTP suportados

- `POST` - `application/json`

```http
POST /api/1.0/black-list/is-black-listed HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> A API tem uma quota de `20` pedidos por minuto.

## Tabela de parâmetros

| NOME DO PARÂMETRO | VALOR                                                    | OBRIGATÓRIO | VALOR PREDEFINIDO   |
|:------------------|:---------------------------------------------------------|:------------|:--------------------|
| application_id    | [Application ID](https://www.bulkgate.com/pt/documentacao/administracao-da-api/administracao-de-apis/)            | **Sim**     | -                   | 
| application_token | [Token de autenticação da aplicação](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tokens-de-api/) | **Sim**    | -                   |
| numbers           | Números a verificar — um array ou uma string separada por vírgulas | **Sim** | -            |
| wallet            | Carteira na qual os números são verificados              | Não         | Carteira predefinida |
| route             | A rota para a qual o bloqueio é avaliado — `promotional`, `transactional` ou `all` | Não | `promotional` |

## Exemplo de pedido

```http-json
POST /api/1.0/black-list/is-black-listed HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "numbers": ["420123456789", "420987654321"],
  "wallet": "bg1905014138000023"
}
```

## Resposta

**Em caso de sucesso:**

```json
{
    "data": {
        "420123456789": true,
        "420987654321": false
    }
}
```

Em que:

- a **chave** é o número de telefone que enviou
- o **valor** é `true` quando o número está na blacklist; caso contrário, `false`

Os números inválidos não devolvem erro — aparecem na resposta com o valor `false`.

**Em caso de erro:**

```json
{
    "type": "invalid_wallet",
    "code": 400,
    "error": "Invalid wallet",
    "detail": null
}
```

```json
{
    "type": "minute_quota_exceeded",
    "code": 400,
    "error": "Minute quota exceeded",
    "detail": null
}
```

Em que:

- **type** e **error** (descrição do erro) encontram-se na [tabela de tipos de erros](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tipos-de-erro-api/)
- **code** é o código de erro HTTP
- **detail** contém informações adicionais sobre o erro

### Tipos de erros da Blacklist API

Além dos [tipos gerais](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tipos-de-erro-api/), a Blacklist API devolve tipos próprios:

| TIPO                    | QUANDO OCORRE                                           |
|:------------------------|:--------------------------------------------------------|
| `invalid_wallet`        | A carteira indicada não existe ou não tem acesso a ela. |
| `minute_quota_exceeded` | A quota de 20 pedidos por minuto está esgotada.         |
