## Para qué sirve la restricción por IP

Mientras la lista de direcciones permitidas esté vacía, la API acepta solicitudes desde
cualquier lugar; el portal lo indica con el texto `The API is accessible from any IP
address`. En el momento en que añade la primera dirección a la lista, la API empieza a
atender solo las solicitudes que llegan desde las direcciones indicadas.

Ninguna de sus credenciales caduca por ello. Tanto el
[Application ID](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/administracion-api/) como el
[token de API](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tokens-de-api/) siguen siendo válidos; simplemente no pueden
utilizarse desde ningún lugar que no sea una dirección permitida.

## Dónde configurar la restricción

1. En el menú del portal, haga clic en `Módulos y APIs`
2. En `Mis APIs y módulos`, haga clic en la tarjeta de su aplicación
3. Permanezca en la pestaña `Ajustes` y desplácese hasta la parte `API access restrictions`
4. En la tarjeta `Allowed IP addresses`, haga clic en `Configurar`
5. Escriba la dirección en el campo `Enter the IP address` y haga clic en `Añadir`

![La parte API access restrictions con la tarjeta Allowed IP addresses](docs:api-ip-restrictions/allowed-ip_en)

La ventana `Add IP address` lo advierte enseguida con el mensaje `The API
will only be accessible from the listed IP addresses!`: la restricción se aplica en
cuanto se guarda la primera dirección.

> [!WARNING]
> Indique la dirección desde la que su aplicación llama a la API, no la dirección del
> ordenador desde el que realiza esta configuración. Tras guardarla, el portal no
> comprueba que realmente alguien se conecte desde la dirección indicada.

## Qué direcciones acepta el portal

| Regla | Comportamiento |
|:--|:--|
| Una dirección concreta | Tanto IPv4 como IPv6; no se aceptan rangos ni la notación con máscara (`/24`) |
| Solo direcciones públicas | Los rangos locales y reservados terminan con el mensaje `Enter a public IP address, local and reserved ranges cannot be used` |
| Notación válida | Un valor sin sentido termina con el mensaje `Invalid IP address` |
| Sin duplicados | Una dirección que ya está en la lista no se puede añadir dos veces |

Entre los rangos no públicos están `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`,
`127.0.0.0/8` y, en IPv6, `fc00::/7` o `fe80::/10`. El botón `Añadir` permanece
desactivado hasta que el valor introducido es válido.

Una dirección escrita como IPv4 incrustada en IPv6, es decir, `::ffff:1.2.3.4` o la
forma 6to4 `2002:…`, el portal la convierte a la IPv4 correspondiente. El número de
direcciones de la lista no está limitado.

## Cómo editar la lista o eliminar la restricción

En cuanto se añade la primera dirección, la tarjeta se convierte en una lista. El
botón `Añadir` añade otra dirección y el icono de la papelera de una fila la elimina;
la eliminación se confirma con el botón `Borrar`. La flecha junto a `Añadir` abre un
menú que vacía toda la lista de una vez.

En cuanto no queda ninguna dirección en la lista, la restricción se desactiva y la API
vuelve a ser accesible desde cualquier lugar.

## Qué ocurre con una solicitud desde otra dirección

Una solicitud desde una dirección que no está en la lista termina con una respuesta con
el código HTTP `401` y el tipo de error `unknown_identity`, el mismo que devuelve un
token no válido. Los demás errores se enumeran en la página
[Tipos de error de la API](https://www.bulkgate.com/es/documentacion/administracion-de-la-api/tipos-de-error/).
