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

# Números de WhatsApp

> Compre pela CLI um número dos Estados Unidos para WhatsApp, leia o código de verificação da Meta por SMS e conecte-o a um projeto.

`jelou phone-numbers` gerencia os números de WhatsApp que sua empresa compra
pela Jelou: números dos Estados Unidos (`+1`) faturados com o seu plano. Com
estes comandos você verifica se pode comprar, compra um número, lê o SMS com o
código de verificação da Meta e libera números que não usa mais.

| Subcomando | Descrição |
| - | - |
| `capability` | Indica se sua empresa pode comprar um número agora e se a compra tem custo |
| `list` | Lista os números, as linhas abertas e os números liberados |
| `messages <id>` | Mostra os SMS que um número recebeu (o código da Meta chega aqui) |
| `buy --phone <+1…>` | Compra um número (mostra o custo e pede confirmação) |
| `delete <id>` | Libera um número de forma definitiva (pede confirmação) |

<Warning>
  Para WhatsApp, use sempre `jelou phone-numbers buy`. `jelou voice numbers buy --provider twilio` compra números para o serviço de voz: não passa pelo seu
  plano e o número não funciona para WhatsApp.
</Warning>

## Do número ao canal conectado

<Steps>
  <Step title="Verifique se você pode comprar">
    ```bash theme={null}
    jelou phone-numbers capability
    ```

    Não compra nada. Informa se a compra é permitida e qual seria o custo
    (veja [Custo da compra](#custo-da-compra)).
  </Step>

  <Step title="Encontre um número disponível">
    ```bash theme={null}
    jelou voice numbers search --provider twilio --country US
    jelou voice numbers search --provider twilio --country US --area-code 415
    ```

    Só consulta o inventário do provedor; não compra nada.
  </Step>

  <Step title="Compre o número">
    ```bash theme={null}
    jelou phone-numbers buy --phone +14155550100
    ```

    A CLI mostra o custo e pede confirmação. Ao confirmar, o número é comprado
    na hora e você recebe o seu `id`.
  </Step>

  <Step title="Conecte-o ao WhatsApp">
    ```bash theme={null}
    jelou channels activate whatsapp --phone-number 42 --project 01H2XCEJQTG2H5V5NKCYW3J7Z2 --name "Vendas WhatsApp"
    ```

    A ativação do WhatsApp abre na Jelou com o número já selecionado. Enquanto
    você conclui o login da Meta, a CLI mostra no terminal o SMS com o código de
    verificação e termina quando o canal desse número fica conectado.
  </Step>
</Steps>

## Custo da compra

A compra é cobrada conforme o plano da sua empresa:

| Plano | O que acontece ao comprar |
| - | - |
| Self Service | Cada número usa uma **linha telefônica** que é adicionada à sua assinatura. É cobrada na hora no método de pagamento da assinatura e em cada fatura seguinte. |
| Self Service com uma linha aberta | Se você já pagou uma linha que ainda não tem número, a compra a reutiliza e não há nova cobrança. |
| Outros planos | O número está incluído no plano; não há cobrança. |

Antes de confirmar, `buy` mostra qual dos três casos se aplica e, se houver
cobrança, o preço da linha. Se não conseguir ler o preço, não compra.

A compra também depende dos canais do seu plano: se você já usou todos,
`capability` e `buy` avisam e nada é comprado.

## `jelou phone-numbers capability`

```bash theme={null}
jelou phone-numbers capability
jelou phone-numbers capability --json
```

Mostra:

* se você pode comprar agora;
* o custo da próxima compra (incluída no plano, linha já paga ou linha nova);
* as linhas abertas (pagas e sem número);
* os canais conectados em relação ao limite do seu plano;
* os números que ainda não têm canal.

## `jelou phone-numbers list`

```bash theme={null}
jelou phone-numbers list
jelou phone-numbers list --status active
```

Lista os números da empresa, do mais recente ao mais antigo. `--status` filtra
por estado:

| Estado | Significado |
| - | - |
| `active` | Número comprado. Se não tiver canal, está pronto para `channels activate`. |
| `open` | Linha paga que ainda não tem número. A próxima compra a usa. |
| `released` | Número liberado. Não pertence mais a você. |

## `jelou phone-numbers messages`

```bash theme={null}
jelou phone-numbers messages 42
```

Mostra os SMS que o número recebeu desde a compra, do mais recente ao mais
antigo (até 20). Quando a Meta verifica o número, o código chega aqui. Se você
acabou de pedir o código e ele não aparece, aguarde alguns segundos e execute o
comando de novo.

## `jelou phone-numbers buy`

```bash theme={null}
jelou phone-numbers buy --phone +14155550100
```

| Flag | Descrição |
| - | - |
| `--phone <+1…>` | Número dos Estados Unidos no formato E.164 (`+1` e 10 dígitos). Obrigatório. |
| `--yes` | Pula a confirmação |

<Tip>
  Se a compra falhar porque o pagamento ou a compra ficaram pendentes de
  confirmação, execute o mesmo comando de novo após alguns segundos. Repeti-lo
  não cobra nem compra duas vezes.
</Tip>

Erros frequentes:

| Caso | O que fazer |
| - | - |
| O plano não inclui números de WhatsApp | Revise seu plano ou sua assinatura. |
| Não restam canais no plano | Libere um número que você não usa ou faça upgrade do plano. |
| O pagamento foi recusado ou não há método de pagamento | Adicione ou atualize o método de pagamento nas configurações de faturamento. Nada foi cobrado. |
| O número já foi tomado | Escolha outro com `jelou voice numbers search`. |
| A linha telefônica ainda não tem preço para o seu plano | Entre em contato com a equipe da Jelou. |

## `jelou phone-numbers delete`

```bash theme={null}
jelou phone-numbers delete 42
```

Libera o número: ele volta ao provedor e, no Self Service, sua linha deixa de
ser cobrada a partir da próxima fatura (o período atual não é reembolsado). Só
é possível liberar números ativos sem canal; se o número estiver conectado,
exclua ou desconecte esse canal primeiro.

<Warning>
  Liberar um número é irreversível: não é possível recuperá-lo depois.
</Warning>

## Conectar o número com `channels activate`

`--phone-number` faz `jelou channels activate whatsapp` trabalhar sobre um
número comprado com `phone-numbers buy`:

* A ativação do WhatsApp abre na Jelou com esse número já selecionado.
* Enquanto você espera, a CLI mostra no terminal cada SMS que o número recebe,
  incluindo o código da Meta.
* A espera termina quando **esse** número fica conectado, não quando aparece
  qualquer outro canal de WhatsApp da empresa.

| Flag | Descrição |
| - | - |
| `--phone-number <id>` | Número comprado com `phone-numbers buy` |
| `--project <id>` | Projeto que aparece pré-selecionado na ativação |
| `--name <nome>` | Nome do canal que aparece preenchido na ativação |
| `--watch` | Não abre o navegador; só espera o número ficar conectado |
| `--timeout <segundos>` | Tempo máximo de espera (padrão: 600) |

`--project` e `--name` só preenchem a ativação: você pode alterá-los lá antes de
concluir.

```bash theme={null}
jelou channels activate whatsapp --phone-number 42
jelou channels activate whatsapp --phone-number 42 --watch --timeout 900 --json
```

Ao terminar, a CLI devolve o `channel_id`, o `bot_id` e o projeto do novo canal.
O `bot_id` é o que usam [`jelou template` e `jelou campaign`](/pt/guias/cli/whatsapp).

<Note>
  Se o número já tiver um canal, `activate --phone-number` falha antes de abrir o
  navegador e devolve o id desse canal. Com `--watch`, por outro lado, termina na
  hora com esse canal como resultado.
</Note>

## Uso a partir de um agente

Com `--agent` ou `--no-input`, `buy` e `delete` exigem `--yes`. Um agente deve
ler `capability`, mostrar o custo ao usuário e passar `--yes` só depois que o
usuário aceitar.

```bash theme={null}
jelou phone-numbers capability --json
jelou phone-numbers buy --phone +14155550100 --yes --json
jelou channels activate whatsapp --phone-number 42 --watch --json
```

No modo JSON, `buy` adiciona o campo `charge` com o tipo de cobrança
(`included`, `open_line` ou `new_line`) e, se houver cobrança, o preço. Quando
uma compra fica pendente, o erro é `TRANSIENT_ERROR` com `retryable: true`: o
agente pode repetir o mesmo comando sem risco de cobrança dupla.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.