> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spherepay.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Selecionar Perfis de Verificação

> Use enabledVerificationProfiles para escolher contra quais perfis de verificação um cliente é avaliado, e entenda o que a API aceita e retorna.

O SpherePay habilita um conjunto de perfis de verificação para a sua aplicação. `enabledVerificationProfiles` permite escolher, por cliente, contra quais desses perfis ele é avaliado. Um cliente só é verificado para os perfis que você seleciona, e só arca com o custo de verificação desses.

## O campo

`enabledVerificationProfiles` é um array de letras de perfil em `POST /v2/customer` e `PATCH /v2/customer/{id}`. Ele se aplica aos clientes cadastrados pela API; clientes cadastrados por [links KYC hospedados](/pt-BR/concepts/onboarding/kyc-via-link) são inscritos nos perfis padrão da sua aplicação.

```json theme={"dark"}
{
  "type": "individual",
  "email": "jane.smith@example.com",
  "enabledVerificationProfiles": ["a", "c"]
}
```

| Você envia                                    | Resultado                                                                                                                                                                  |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `["a"]`                                       | O cliente é avaliado apenas contra o perfil A.                                                                                                                             |
| `["a", "c"]`                                  | O cliente é avaliado contra A e C. Requisitos compartilhados são atendidos uma única vez para ambos.                                                                       |
| Campo omitido                                 | O cliente é inscrito em todos os perfis habilitados para a sua aplicação **no momento da criação**. Perfis que o SpherePay habilitar para você depois não são adicionados. |
| `["d"]` sem `c`                               | Rejeitado — o perfil D exige o perfil C no mesmo cliente. Envie `["c", "d"]`, ou adicione `d` a um cliente que já tem `c`.                                                 |
| `[]`                                          | Rejeitado — um cliente precisa ter pelo menos um perfil.                                                                                                                   |
| Uma letra não habilitada para a sua aplicação | Rejeitado com `customer/verification-profile-family-not-enabled-for-application`.                                                                                          |
| Uma letra repetida                            | Rejeitado como erro de validação.                                                                                                                                          |

<Note>
  O SpherePay recomenda sempre enviar um array explícito. Isso torna a inscrição do cliente visível nos seus próprios registros e independente de mudanças posteriores na configuração da sua aplicação.
</Note>

<Note>
  O conjunto de perfis que a sua aplicação pode usar é configurado pelo SpherePay. Para solicitar um perfil adicional para a sua aplicação, entre em contato com [support@spherepay.co](mailto:support@spherepay.co).
</Note>

## O que a API retorna

`GET /v2/customer/{id}` retorna dois campos relacionados:

* `enabledVerificationProfiles` — os perfis em que o cliente está inscrito, sempre como um array explícito. Se você omitiu o campo na criação, é o conjunto para o qual a sua aplicação estava habilitada naquele momento.
* `verificationProfiles` — os perfis que estão de fato sendo avaliados, cada um com seu `status` e `criteria`. Selecionar um perfil não garante que ele apareça aqui: um perfil para o qual o cliente não é elegível é omitido (veja abaixo).

## Elegibilidade por país

A elegibilidade segue o país de residência do cliente (`address.country`). **Residentes nos EUA podem usar apenas o perfil A.** **Residentes fora dos EUA podem usar os perfis A, C e D.** Um perfil selecionado para o qual o cliente não é elegível é omitido de `verificationProfiles`; se nenhum dos perfis selecionados se aplicar, a solicitação é rejeitada.

| Residência do cliente   | Perfil A | Perfil C | Perfil D |
| ----------------------- | -------- | -------- | -------- |
| Estados Unidos          | ✓        | —        | —        |
| Fora dos Estados Unidos | ✓        | ✓        | ✓        |

* Um residente nos EUA criado com `["a", "c"]` é aceito, mas apenas `kyc_profile_a` aparece em `verificationProfiles`.
* Um residente nos EUA criado com `["c"]` ou `["d"]` é rejeitado com 422 `customer/verification-profile-not-enabled`, porque nenhum perfil selecionado se aplica.

## Alterar a seleção depois

Envie o novo array completo em `PATCH /v2/customer/{id}`. Omitir o campo mantém a seleção inalterada.

* **Adicionar um perfil** expõe seus requisitos pendentes em `criteria.required` do novo perfil. Requisitos já atendidos para outro perfil são transferidos como `complete`. Veja [Adicionar um perfil depois](/pt-BR/concepts/onboarding/verification-profiles/onboard-new-customer#adicionar-um-perfil-depois).
* **Remover um perfil** só é permitido enquanto aquele perfil está em `incomplete`. Veja [Remover um perfil](/pt-BR/concepts/onboarding/verification-profiles/remove-profile).

Adicionar um perfil nunca reavalia os perfis existentes do cliente. Os campos que esses perfis já avaliaram permanecem bloqueados enquanto estiverem em `pending` ou `approved` — veja [Quando os dados do cliente podem ser atualizados](/pt-BR/concepts/onboarding/verification-profiles/updating-customer-data).

## Clientes pessoa jurídica

Defina `enabledVerificationProfiles` na empresa ao criá-la. Cada representante da empresa que você adicionar é avaliado contra os mesmos perfis, como `ubo_kyc_profile_*`; os representantes não carregam a própria seleção.

Alterar a seleção de uma empresa após a criação ainda não é suportado via `PATCH`. Entre em contato com seu representante do SpherePay se uma empresa existente precisar de um novo perfil.

## Referência de erros

| Código                                                             | HTTP | Significado                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------ | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `customer/verification-profile-family-not-enabled-for-application` | 422  | O array nomeia um perfil para o qual a sua aplicação não está habilitada.                                                                                                                                                                                              |
| `customer/verification-profile-not-enabled`                        | 422  | Nenhum dos perfis selecionados se aplica a este cliente, por exemplo um residente nos EUA selecionando apenas C ou D.                                                                                                                                                  |
| `validation/failed`                                                | 422  | O array está vazio, contém duplicatas, contém uma letra desconhecida ou inclui `d` sem `c`.                                                                                                                                                                            |
| `customer/field-locked-by-verification-profile`                    | 400  | Um campo, documento ou remoção de perfil está bloqueado por um perfil em `pending` ou `approved`. O corpo lista cada item bloqueado. Veja [Quando os dados do cliente podem ser atualizados](/pt-BR/concepts/onboarding/verification-profiles/updating-customer-data). |
| `customer/operation-not-allowed`                                   | 400  | Apenas clientes pessoa jurídica: a seleção ainda não pode ser alterada após a criação.                                                                                                                                                                                 |

***

## Guias relacionados

<CardGroup cols={2}>
  <Card title="Visão geral dos perfis de verificação" icon="badge-check" href="/pt-BR/concepts/onboarding/verification-profile">
    Quais perfis existem, o que cada um exige e desbloqueia.
  </Card>

  <Card title="Cadastrar um cliente com perfis" icon="user-plus" href="/pt-BR/concepts/onboarding/verification-profiles/onboard-new-customer">
    Escolha perfis na criação e adicione um depois.
  </Card>
</CardGroup>
