---
name: azion-instale-a-integracao-phone-validation
description: >-
  Instale Phone Validation pelo Azion Marketplace e execute-a em um firewall para verificar telefones com IPQualityScore antes que cheguem à sua origem.
---

# Instale a integração Phone Validation

Você instala a integração Phone Validation pelo Azion Marketplace e a executa em um [Firewall](/pt-br/documentacao/plataforma/firewall/), pelo Azion Console. A integração verifica números de telefone com a API do IPQualityScore: score de risco, país de origem, operadora, tipo de linha e status de conexão. Em cada requisição, a função lê o número de telefone da query string, do corpo da requisição ou de um header, consulta o IPQualityScore e então bloqueia a requisição, a descarta ou adiciona um header para sinalizar o resultado. Isso impede que números fraudulentos, linhas inativas e VOIPs de alto risco cheguem à sua origem.

Cinco objetos precisam existir antes que uma requisição seja verificada: a função instalada, um firewall com o módulo **Functions**, uma instância de função com os argumentos, uma regra do Rules Engine com o behavior **Run Function** e um deployment de workload vinculado ao firewall. Cada seção abaixo cria um deles.

---

## Pré-requisitos

- Uma conta Azion. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).
- Uma aplicação servida por um [workload](/pt-br/documentacao/plataforma/workloads/), cujo deployment você vincula ao firewall na última seção.
- Uma [conta no IPQualityScore](https://www.ipqualityscore.com/create-account). Depois de criá-la, obtenha sua API key no painel do IPQualityScore.
- A [Azion CLI](/pt-br/documentacao/devtools/cli/) instalada e autorizada, para a última seção.
- Ativar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte [Preços](/pt-br/documentacao/fundamentos/precos/).

---

## Instale a integração

A função é instalada uma vez por conta. Para instalá-la:

1. **Abra Marketplace**

   Acesse [Azion Console](https://console.azion.com/) > **Marketplace**.

2. **Encontre a integração**

   Digite `Phone Validation` no campo **Search on Marketplace** e selecione o card da integração. Navegar pelos cards e pelas categorias leva à mesma página.

3. **Selecione Install**

O card mostra `Successfully installed!` e `Latest version installed!`, e a função aparece na lista **Function** do drawer **Create Instance**.

---

## Crie o firewall

O firewall é onde a função é instanciada e onde fica a regra que a executa. Para criar um:

1. **Abra a página Firewalls**

   Acesse [Azion Console](https://console.azion.com/) > **Firewalls** e crie um firewall.

2. **Dê um nome ao firewall**

   Na seção **General**, digite um **Name**. Por exemplo: `phone-validation-firewall`.

3. **Ative o módulo Functions**

   Na seção **Modules**, ative o switch **Functions**.

4. **Salve o firewall**

O firewall mostra a aba **Functions Instances** enquanto o módulo **Functions** estiver ativo. Para usar um firewall existente, ative o módulo **Functions** dele e salve-o. Para todas as configurações deste formulário, consulte [Defina as configurações principais de um firewall](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/firewall-definir-main-settings/).

---

## Crie a instância de função

A instância guarda sua API key do IPQualityScore, de onde vem o número de telefone e o que fazer com um número de risco. Para criá-la:

1. **Abra a aba Functions Instances**

   Em **Firewalls**, selecione seu firewall e a aba **Functions Instances**.

2. **Selecione + Function**

   Um firewall sem nenhuma instância mostra a mesma ação como **Function Instance**. O drawer **Create Instance** é aberto.

3. **Dê um nome à instância**

   Em **Name**, digite um nome. Por exemplo: `phone-validation`.

4. **Selecione a função instalada**

   Em **Function**, selecione a função Phone Validation. A lista contém apenas as funções que são executadas em um firewall.

5. **Insira os argumentos**

   Em **Arguments**, o editor vem preenchido com os argumentos padrão da integração em JSON. Insira seus valores, como descreve a próxima seção.

6. **Selecione Save**

A instância aparece na aba **Functions Instances**.

### Argumentos

A instância recebe sua API key, a origem do número de telefone e a ação:

```json
{
  "api_key": "YourIPQSAPIKey",
  "fast": true,
  "get_data_from": "querystring",
  "data_name": "phone",
  "when_score_above": 80,
  "execute": "deny"
}
```

| Variável           | Obrigatória | Descrição                                                                                                                                                   |
| ------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key`          | Sim         | Sua API key do IPQualityScore                                                                                                                               |
| `fast`             | Não         | Ativa o modo de validação rápida. Quando `true`, a API ignora algumas verificações forenses para reduzir a latência. Recomendado: `true`. Padrão: `false`   |
| `get_data_from`    | Sim         | De onde a função lê o número de telefone. Valores aceitos: `querystring`, `body`, `header`                                                                  |
| `data_name`        | Sim         | O nome do parâmetro de query string, do campo do corpo ou do header que contém o número de telefone                                                         |
| `when_score_above` | Não         | O limite de score (0–100) que aciona a ação de `execute`. Um score de fraude ≥ 90 é de alto risco. Se você não o definir, a função não executa nenhuma ação |
| `execute`          | Não         | A ação quando o score ultrapassa `when_score_above`. Valores aceitos: `deny`, `drop`, `add_header`                                                          |

Cada valor de `execute` faz o seguinte:

| Valor        | Comportamento                                                                                                                                     |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `deny`       | Executa o behavior **Deny**, que retorna uma resposta `403 Forbidden`                                                                             |
| `drop`       | Executa o behavior **Drop**, que encerra a conexão sem resposta                                                                                   |
| `add_header` | Adiciona o header `ipqs-limit-score-reached` à requisição e deixa a requisição seguir. Use-o para tratar o resultado no Rules Engine ou na origem |

> **nota**
>
> Os principais dados que a API do IPQualityScore retorna são `valid`, `risky`, `active`, `line_type`, `carrier`, `VOIP`, `fraud_score` e `recent_abuse`. Para todos os campos, consulte a [documentação da Phone Number Validation API do IPQualityScore](https://www.ipqualityscore.com/documentation/phone-number-validation-api/overview).

---

## Crie a regra

A instância não verifica nada até que uma regra a execute. Uma regra do [Rules Engine for Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/) seleciona as requisições que chegam à instância, por meio de um behavior **Run Function**. Para criar a regra:

1. **Abra a aba Rules Engine**

   Em **Firewalls**, selecione seu firewall e a aba **Rules Engine**.

2. **Selecione + Rule**

3. **Dê um nome à regra**

   Em **Name**, digite um nome. Por exemplo: `Run Phone Validation`.

4. **Defina o critério**

   Na seção **Criteria**, selecione as requisições que acionam a verificação do número de telefone. Por exemplo: if `Host` *matches* `yourdomain.com`.

5. **Adicione o behavior Run Function**

   Na seção **Behaviors**, selecione **Run Function** e selecione a instância pelo nome que você deu a ela.

6. **Selecione Save**

O firewall executa a instância em toda requisição que corresponde ao critério.

---

## Vincule o firewall ao workload

O vínculo fica no deployment do workload, então crie um deployment que indique a aplicação e o firewall:

```bash
azion create workload-deployment --workload-id <workload-id> --name <deployment-name> \
  --application-id <application-id> --firewall-id <firewall-id> --strategy-type default \
  --active true --current true
```

O comando exibe o id do novo deployment:

```text
Created Workload Deployment with ID 123456
```

As requisições ao domínio do workload chegam ao firewall, e a regra executa a instância de Phone Validation em cada uma que corresponde ao critério.

---

## Próximos passos

- [Integrações do Marketplace](/pt-br/documentacao/plataforma/marketplace/integracoes.md): Todas as integrações que Azion Marketplace oferece e onde cada uma é executada.
- [Rules Engine for Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine.md): Todos os critérios e behaviors que uma regra de firewall aceita.
- [Instale a integração URL Validation](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/integracoes/ipqs-url-validation.md): Verifique as URLs das requisições com IPQualityScore.
- [Atualize uma integração](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/integracoes/atualizar-uma-integracao.md): Leve uma integração instalada para a versão mais recente.
