Odoberie číslo z blacklistu, prípadne celú skupinu čísel podľa `source_id`.

## API URL

Adresa URL používaná na odosielanie HTTP požiadaviek:

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

> [!NOTE]
> Ak sa požiadavka nedostane k cieľu, zopakujte ju na [záložnom serveri](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/zalozny-server/) `backup1.bulkgate.com`.

## Podporované HTTP metódy

- `POST` - `application/json`

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

## Tabuľka s parametrami

| NÁZOV PARAMETRA   | HODNOTA                                                | POVINNÝ                | PREDVOLENÁ HODNOTA   |
|:------------------|:-------------------------------------------------------|:-----------------------|:------------------|
| application_id    | [Aplikačný identifikátor](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/administracia-api/) | **Áno**                | -                 | 
| application_token | [Aplikačný overovací token](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-tokeny/)	      | **Áno**                | -                 |
| wallet            | Peňaženka, z ktorej budú čísla odstránené             | Nie                     | Predvolená peňaženka |
| number            | Číslo, ktoré bude odstránené z blacklistu	             | **Áno** alebo `source_id` | -               |
| source_id         | Identifikátor skupiny čísel na odstránenie z blacklistu	 | **Áno** alebo `number`  | -                 |
| type              | Zoznam, z ktorého sa čísla odoberú — `black-list` alebo `opt-out` | Nie       | `black-list`      |

> [!NOTE]
> Parametre `number` a `source_id` nie je možné zadať súčasne — použite práve jeden z nich.

## Príklad požiadavky

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

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "wallet": "bg1905014138000023",
  "source_id": "api-my-import"
}
```

## Odpoveď

**V prípade úspechu:**

```json
{
    "data": {
        "message": "Black list contacts have been removed"
    }
}
```

**V prípade chyby:**

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

```json
{
    "type": "no_valid_numbers",
    "code": 400,
    "error": "No valid numbers",
    "detail": null
}
```

```json
{
    "type": "missing_parameters",
    "code": 400,
    "error": "Missing parameters",
    "detail": null
}
```

```json
{
    "type": "use_number_or_source_id_not_both",
    "code": 400,
    "error": "Use number or source id not both",
    "detail": null
}
```

```json
{
    "type": "number_doesnt_exist",
    "code": 400,
    "error": "Number doesnt exist",
    "detail": null
}
```

```json
{
    "type": "invalid_number",
    "code": 400,
    "error": "Invalid number",
    "detail": null
}
```

Kde:

- **type** a **error** (popis chyby) nájdete v [tabuľke typov chýb](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/typy-chyb-api/)
- **code** je HTTP kód chyby
- **detail** je doplňujúca informácia o chybe

### Typy chýb Blacklist API

Okrem [všeobecných typov](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/typy-chyb-api/) vracia Blacklist API vlastné:

| TYP                                | KEDY NASTANE                                             |
|:-----------------------------------|:---------------------------------------------------------|
| `invalid_wallet`                   | Zadaná peňaženka neexistuje alebo k nej nemáte prístup.    |
| `no_valid_numbers`                 | Žiadne z uvedených čísel nie je platné.                     |
| `missing_parameters`               | Chýba `number` aj `source_id`.                            |
| `use_number_or_source_id_not_both` | `number` a `source_id` boli zadané súčasne.             |
| `number_doesnt_exist`              | Číslo v blackliste nie je.                                 |
| `invalid_number`                   | `number` nie je platné telefónne číslo.                    |
