Renvoie la liste des domaines courts disponibles pour votre compte. Ce sont les valeurs de cette liste qui vont dans le paramètre `url_type` lorsque vous [raccourcissez un lien](https://www.bulkgate.com/fr/documentation/raccourcisseur-d-url/raccourcisseur-raccourcir-url/).

## API URL

URL utilisée pour envoyer les requêtes HTTP :

```url
https://portal.bulkgate.com/api/1.0/shortener/domains
```

> [!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/shortener/domains HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> L'API est soumise à un quota de `20` requêtes par minute.

## Tableau des paramètres

| NOM DU PARAMÈTRE  | VALEUR                                                                         | OBLIGATOIRE | VALEUR PAR DÉFAUT |
|:------------------|:---------------------------------------------------------------------------------|:----------|:--------------|
| application_id    | [Application ID](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**   | -             |
| variant           | Forme de la réponse - `list`, `key_value` ou `label_value`, voir [Formes de réponse](#formes-de-reponse) | Non       | `list`        |

### Formes de réponse

Les trois variantes contiennent les mêmes domaines et ne diffèrent que par leur structure - choisissez celle que votre formulaire peut utiliser directement.

| VALEUR        | FORME DE `data`                                          |
|:--------------|:-----------------------------------------------------------|
| `list`        | Un tableau de chaînes.                                     |
| `key_value`   | Un objet dont la clé et la valeur sont toutes deux le domaine. |
| `label_value` | Un tableau d'objets `{"label": …, "value": …}`.            |

> [!NOTE]
> La liste n'est pas la même pour tous les comptes. Elle contient aussi vos [propres domaines](https://www.bulkgate.com/fr/centre-d-aide/campagne/raccourcisseur-d-url/), si vous en avez, et ceux-ci figurent en tête - le premier domaine de la liste est aussi celui que `shorten` utilise lorsque vous omettez `url_type`.

## Exemple de requête

```http-json
POST /api/1.0/shortener/domains HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "variant": "list"
}
```

## Réponse

**En cas de succès :**

```json
{
    "data": [
        "ur7.wf",
        "ms6.fr",
        "ur7.yt",
        "ur7.tf",
        "ms6.wf",
        "ms6.tf",
        "track-message.com"
    ]
}
```

La même liste dans la variante `key_value` :

```json
{
    "data": {
        "ur7.wf": "ur7.wf",
        "ms6.fr": "ms6.fr"
    }
}
```

Et dans la variante `label_value` :

```json
{
    "data": [
        {"label": "ur7.wf", "value": "ur7.wf"},
        {"label": "ms6.fr", "value": "ms6.fr"}
    ]
}
```

**En cas d'erreur :**

```json
{
    "type": "the_per_minute_quota_has_been_exceeded",
    "code": 400,
    "error": "The per minute quota has been exceeded",
    "detail": null
}
```

Où :

- **type** et **error** (description de l'erreur) figurent 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** est une information complémentaire sur l'erreur

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

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

| TYPE                                    | QUAND CELA SE PRODUIT                                                  |
|:----------------------------------------|:-----------------------------------------------------------------------|
| `the_per_minute_quota_has_been_exceeded`| Le quota de 20 requêtes par minute est épuisé.                         |
