Presmeruje už existujúci skrátený odkaz na inú cieľovú URL. Samotný krátky odkaz zostáva bez zmeny, takže funguje aj v správach, ktoré už sú odoslané.

## API URL

Adresa URL, na ktorú sa posielajú požiadavky HTTP:

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

> [!NOTE]
> Ak sa požiadavka nedostane do cieľa, 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/shortener/change HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> API má nastavenú kvótu `20` požiadaviek za minútu.

## Tabuľka s parametrami

| NÁZOV PARAMETRA   | HODNOTA                                                | POVINNÝ | PREDVOLENÁ HODNOTA |
|:------------------|:-------------------------------------------------------|:--------|:----------------|
| application_id    | [Identifikátor aplikácie](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/administracia-api/) | **Áno** | -               | 
| application_token | [Overovací token aplikácie](https://www.bulkgate.com/sk/dokumentacia/api-administracia-a-tokeny/api-tokeny/)	      | **Áno** | -               |
| short_url         | Skrátená URL, ktorá sa má zmeniť	                    | **Áno** | -               |
| target_url        | Nová URL                                               | **Áno** | -               |

## Príklad požiadavky

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

## Odpoveď

**V prípade úspechu:**

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

Polia odpovede fungujú rovnako ako pri [shorten](https://www.bulkgate.com/sk/dokumentacia/skracovac/skracovac-skratenie-url/), s jedným rozdielom: `final_url` tu nesie adresu **presne tak, ako ste ju poslali**, bez doplnenia schémy.

**V prípade chyby:**

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

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 Shortener API

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

| TYP                                     | KEDY NASTANE                                                           |
|:----------------------------------------|:-----------------------------------------------------------------------|
| `url_not_found`                         | `short_url` v účte neexistuje.                                         |
| `url_is_not_valid`                      | Novú `target_url` sa nepodarilo rozparsovať.                           |
| `domain_is_not_white_listed`            | Nová cieľová doména nie je na whiteliste (pri doménach s obmedzením).            |
| `the_per_minute_quota_has_been_exceeded`| Vyčerpaná kvóta 20 požiadaviek za minútu.                                |
