Supprime un numéro de la blacklist, ou tout un groupe de numéros via `source_id`.

## URL de l'API

URL utilisée pour l'envoi des requêtes HTTP :

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

> [!NOTE]
> Si la requête n'atteint pas sa destination, renvoyez-la sur le [serveur de secours](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/serveur-de-secours/) `backup1.bulkgate.com`.

## Méthodes HTTP prises en charge

- `POST` - `application/json`

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

## Tableau des paramètres

| NOM DU PARAMÈTRE    | VALEUR                                                   | OBLIGATOIRE              | VALEUR PAR DÉFAUT  |
|:------------------|:---------------------------------------------------------|:-----------------------|:---------------|
| application_id    | [ID d'application](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/administration-api/)           | **Oui**                | -              | 
| application_token | [Jeton d'authentification de l'application](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/tokens-d-api/)	 | **Oui**                | -              |
| wallet            | Portefeuille dont les numéros doivent être retirés de la blacklist     | Non                     | Portefeuille par défaut |
| number            | Numéro à retirer de la blacklist	                 | **Oui** ou `source_id` | -              |
| source_id         | Identifiant du groupe de numéros à retirer	       | **Oui** ou `number`    | -              |
| type              | Liste dont les numéros sont retirés — `black-list` ou `opt-out` | Non           | `black-list`   |

> [!NOTE]
> Les paramètres `number` et `source_id` ne peuvent pas être combinés — utilisez exactement l'un des deux.

## Exemple de requête

```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"
}
```

## Réponse

**En cas de succès :**

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

**En cas d'erreur :**

```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
}
```

Où :

- **type** et **error** (description de l'erreur) sont décrits dans le [tableau des types d'erreurs](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/)
- **code** est le code d'erreur HTTP
- **detail** contient des informations complémentaires sur l'erreur

### Types d'erreurs de l'API Blacklist

Outre les [types généraux](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/), l'API Blacklist renvoie ses propres types :

| TYPE                               | QUAND SE PRODUIT-ELLE                                          |
|:-----------------------------------|:---------------------------------------------------------|
| `invalid_wallet`                   | Le portefeuille indiqué n'existe pas ou vous n'y avez pas accès. |
| `no_valid_numbers`                 | Aucun des numéros indiqués n'est valide.                      |
| `missing_parameters`               | Les paramètres `number` et `source_id` sont tous deux absents.               |
| `use_number_or_source_id_not_both` | `number` et `source_id` ont été envoyés ensemble.             |
| `number_doesnt_exist`              | Le numéro ne figure pas dans la blacklist.                      |
| `invalid_number`                   | `number` n'est pas un numéro de téléphone valide.                    |
