Devuelve la lista de dominios cortos disponibles para su cuenta. Los valores de esta lista son los que se indican en el parámetro `url_type` al [acortar un enlace](https://www.bulkgate.com/es/documentacion/acortador-de-url/acortador-acortar-url/).

## URL de la API

La URL a la que se envían las solicitudes HTTP:

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

> [!NOTE]
> Si la solicitud no llega a su destino, repítala en el [servidor de respaldo](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/servidor-de-respaldo/) `backup1.bulkgate.com`.

## Métodos HTTP admitidos

- `POST` - `application/json`

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

> [!NOTE]
> La API tiene una cuota de `20` solicitudes por minuto.

## Tabla de parámetros

| NOMBRE DEL PARÁMETRO | VALOR | OBLIGATORIO | VALOR PREDETERMINADO |
|:------------------|:------|:------------|:---------------------|
| application_id    | [Application ID](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/administracion-api/) | **Sí** | - |
| application_token | [Token de autenticación de la aplicación](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tokens-de-api/) | **Sí** | - |
| variant           | Forma de la respuesta - `list`, `key_value` o `label_value`, consulte [Formas de la respuesta](#formas-de-la-respuesta) | No | `list` |

### Formas de la respuesta

Las tres variantes contienen los mismos dominios y solo se diferencian en la estructura: elija la que su formulario pueda utilizar directamente.

| VALOR         | FORMA DE `data`                                            |
|:--------------|:-----------------------------------------------------------|
| `list`        | Un array de cadenas.                                       |
| `key_value`   | Un objeto en el que tanto la clave como el valor son el dominio. |
| `label_value` | Un array de objetos `{"label": …, "value": …}`.            |

> [!NOTE]
> La lista no es la misma para todas las cuentas. También incluye sus [dominios propios](https://www.bulkgate.com/es/centro-de-ayuda/campanas/acortador-de-url-en-la-campana/), si los tiene, y estos aparecen en primer lugar: el primer dominio de la lista es también el que utiliza `shorten` cuando se omite `url_type`.

## Ejemplo de solicitud

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

## Respuesta

**En caso de éxito:**

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

La misma lista en la variante `key_value`:

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

Y en la variante `label_value`:

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

**En caso de error:**

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

Donde:

- **type** y **error** (descripción del error) se encuentran en la [tabla de tipos de error](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tipos-de-error/)
- **code** es el código de error HTTP
- **detail** es información adicional sobre el error

### Tipos de error de la API del acortador

Además de los [tipos generales](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tipos-de-error/), este endpoint devuelve los suyos propios:

| TIPO                                    | CUÁNDO SE PRODUCE                                                      |
|:----------------------------------------|:-----------------------------------------------------------------------|
| `the_per_minute_quota_has_been_exceeded`| Se ha agotado la cuota de 20 solicitudes por minuto.                   |
