Redirige un lien court existant vers une autre URL cible. Le lien court lui-même reste identique, il continue donc de fonctionner dans les messages déjà envoyés.

## URL de l'API

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

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

> [!NOTE]
> Si la requête n'atteint pas sa destination, renvoyez-la au [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/change HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> L'API est limitée à `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**     | -                 |
| short_url         | URL raccourcie à modifier	                               | **Oui**     | -                 |
| target_url        | Nouvelle URL                                             | **Oui**     | -                 |

## Exemple de requête

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

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "short_url": "ur7.wf/K",
  "target_url": "www.insymbo.com"
}
```

## Réponse

**En cas de succès :**

```json
{
    "data": {
        "short_url": "http://ur7.wf/K",
        "target_url": "http://www.insymbo.com/",
        "final_url": "www.insymbo.com",
        "title": "Online assessment tool for employee selection - INSYMBO"
    }
}
```

Les champs de la réponse fonctionnent comme pour [shorten](https://www.bulkgate.com/fr/documentation/raccourcisseur-d-url/raccourcisseur-raccourcir-url/), à une différence près : `final_url` contient ici l'adresse **exactement telle que vous l'avez envoyée**, sans ajout du schéma.

**En cas d'erreur :**

```json
{
    "type": "url_not_found",
    "code": 400,
    "error": "Url not found",
    "detail": null
}
```

```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** contient des informations complémentaires 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/), l'API Shortener renvoie ses propres types :

| TYPE                                    | QUAND CELA SE PRODUIT                                                  |
|:----------------------------------------|:-----------------------------------------------------------------------|
| `url_not_found`                         | `short_url` n'existe pas dans le compte.                               |
| `url_is_not_valid`                      | La nouvelle `target_url` n'a pas pu être analysée.                     |
| `domain_is_not_white_listed`            | Le nouveau domaine cible ne figure pas sur la liste blanche (pour les domaines restreints). |
| `the_per_minute_quota_has_been_exceeded`| Le quota de 20 requêtes par minute est épuisé.                         |
