## Para que serve a restrição de IP

Enquanto a lista de endereços permitidos estiver vazia, a API aceita pedidos de qualquer origem — o portal indica-o com o texto `The API is accessible from any IP address`. No momento em que adiciona o primeiro endereço à lista, a API passa a atender apenas os pedidos provenientes dos endereços indicados.

Nenhuma das suas credenciais expira por causa disso. Tanto o [Application ID](https://www.bulkgate.com/pt/documentacao/administracao-da-api/administracao-de-apis/) como o [token da API](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tokens-de-api/) continuam válidos, apenas não podem ser utilizados a partir de outro endereço que não seja um endereço permitido.

## Onde definir a restrição

1. No menu do portal, clique em `Módulos e APIs`
2. Em `Minhas APIs e módulos`, clique no cartão da sua aplicação
3. Mantenha-se no separador `Definições` e desça até à parte `API access restrictions`
4. No cartão `Allowed IP addresses`, clique em `Configurar`
5. Escreva o endereço no campo `Enter the IP address` e clique em `Adicionar`

![A parte API access restrictions com o cartão Allowed IP addresses](docs:api-ip-restrictions/allowed-ip_en)

A janela `Add IP address` alerta-o para isso de imediato com a mensagem `The API will only be accessible from the listed IP addresses!` — a restrição entra em vigor assim que o primeiro endereço for guardado.

> [!WARNING]
> Introduza o endereço a partir do qual a sua aplicação chama a API, e não o endereço
> do computador em que está a fazer esta configuração. Depois de guardar, o portal não
> verifica se alguém se liga efetivamente a partir do endereço introduzido.

## Que endereços o portal aceita

| Regra | Comportamento |
|:--|:--|
| Um endereço específico | IPv4 e IPv6; não são aceites intervalos nem a notação com máscara (`/24`) |
| Apenas endereços públicos | Os intervalos locais e reservados terminam com a mensagem `Enter a public IP address, local and reserved ranges cannot be used` |
| Notação válida | Um valor sem sentido termina com a mensagem `Invalid IP address` |
| Sem duplicados | Um endereço que já está na lista não pode ser adicionado duas vezes |

Os intervalos não públicos incluem `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8` e, no caso do IPv6, `fc00::/7` ou `fe80::/10`. O botão `Adicionar` permanece desativado até o valor introduzido ser aceite.

Um endereço escrito como IPv4 incorporado em IPv6 — ou seja, `::ffff:1.2.3.4` ou a forma 6to4 `2002:…` — é convertido pelo portal no IPv4 correspondente. O número de endereços na lista não é limitado.

## Como editar a lista ou remover a restrição

Depois de adicionar o primeiro endereço, o cartão transforma-se numa lista. O botão `Adicionar` acrescenta outro endereço e o ícone do caixote do lixo numa linha remove-o — confirma a remoção com o botão `Excluir`. A seta ao lado de `Adicionar` abre um menu que limpa toda a lista de uma só vez.

Assim que não restar nenhum endereço na lista, a restrição é desativada e a API volta a estar acessível a partir de qualquer origem.

## O que acontece a um pedido de outro endereço

Um pedido de um endereço que não esteja na lista termina com uma resposta com o código HTTP `401` e o tipo de erro `unknown_identity` — o mesmo que é devolvido por um token inválido. Os restantes erros estão indicados na página [Tipos de erro da API](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tipos-de-erro-api/).
