> ## Documentation Index
> Fetch the complete documentation index at: https://developer.z-api.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Verificar disponibilidade

> Verifica a disponibilidade de registro de um número no WhatsApp

## Conceituação

Método utilizado para verificar disponibilidade de registro de um número. Este endpoint verifica se o número está disponível para registro e realiza o setup de onboarding do WhatsApp. Deve ser chamado antes de solicitar o código de confirmação.

<Danger>
  **ATENÇÃO**

  Não utilize esse método se você não tem acesso ao celular onde o número está atualmente vinculado. Este método é útil para agilizar o processo de confirmação do código, sem ter que esperar o recebimento de um SMS ou chamada de voz, porém necessita que você tenha o dispositivo em mãos e com o aplicativo do WhatsApp aberto.
</Danger>

<Warning>
  **Caso de número banido**

  Existem alguns cenários onde o número é impedido de ser conectado até mesmo no aplicativo oficial do WhatsApp. Nesse caso, a API de verificar disponibilidade do número não é capaz de identificar isso, e acaba sendo retornado que o número está bloqueado somente no momento de solicitar o código. Infelizmente, até o momento não há nada que possamos fazer a esse respeito, pois, diferente do banimento padrão, não é disponibilizado um token (appealToken) para realizar uma solicitação de desbanimento.
</Warning>

***

## Atributos

### Header

<ParamField path="instanceId" type="string" required>
  ID da sua instância. Disponível no painel Z-API em **Instâncias**.
</ParamField>

<ParamField path="token" type="string" required>
  Token da sua instância Z-API.
</ParamField>

### Body

<ParamField body="ddi" type="string" required>
  Código do país
</ParamField>

<ParamField body="phone" type="string" required>
  Número do telefone com DDD, sem formatação
</ParamField>

***

## Request Body

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "ddi": "55",
  "phone": "4499999999"
}
```

***

## Response

### 200

<ResponseField name="available" type="boolean">
  Retorna true caso o número esteja disponível para registro
</ResponseField>

<ResponseField name="blocked" type="boolean">
  Define se o número está banido ou bloqueado por algum outro motivo
</ResponseField>

<ResponseField name="appealToken" type="string">
  Token para solicitação de desbanimento (quando bloqueado)
</ResponseField>

<ResponseField name="smsWaitSeconds" type="number">
  Tempo que deve ser aguardado para solicitação de SMS
</ResponseField>

<ResponseField name="voiceWaitSeconds" type="number">
  Tempo que deve ser aguardado para solicitação de chamada de voz
</ResponseField>

<ResponseField name="waOldWaitSeconds" type="number">
  Tempo que deve ser aguardado para solicitação de pop-up no aplicativo
</ResponseField>

<ResponseField name="waOldEligible" type="boolean">
  Define se o método de solicitação do código via pop-up está disponível
</ResponseField>

<ResponseField name="reason" type="string">
  Em caso de erro, esse atributo diz a razão pela qual o erro aconteceu
</ResponseField>

**Número disponível:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "available": true,
  "smsWaitSeconds": 0,
  "voiceWaitSeconds": 0,
  "waOldWaitSeconds": 0,
  "waOldEligible": true
}
```

**Número bloqueado:**

```json theme={"theme":{"light":"github-light","dark":"poimandres"}}
{
  "available": false,
  "blocked": true,
  "appealToken": "Ae0B_6FfVfyB8on0v76ALf1RkWXFFsfvliOdh02JyXTFcbnlTAwO5_h5Ju4L5zfa..."
}
```

### 400

Requisição inválida. Verifique se os dados que você está enviando estão de acordo com o documentado.

### 405

Neste caso certifique que esteja enviando corretamente a especificação do método, ou seja verifique se você enviou o POST ou GET conforme especificado no início deste tópico.

### 415

Caso você receba um erro 415, certifique de adicionar na headers da requisição o "Content-Type" do objeto que você está enviando, em sua grande maioria "application/json".
