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

# CLI

> Chame a API REST da iZap pelo terminal com @izapai/cli.

`izap` lista chats, templates e transmissões do WhatsApp, e envia mensagens pelo
terminal ou por um script. Usa o [SDK TypeScript](/pt/api-reference/sdks).
`izap init` executa o [assistente de configuração](/pt/api-reference/wizard).

| Pacote | Instalação | Código-fonte |
| - | - | - |
| CLI | `npm install -g @izapai/cli` | [versariai/izap-cli](https://github.com/versariai/izap-cli) |

Requer Node.js 20 ou mais novo. Crie um [personal access token](/pt/api-reference/authentication)
no Dashboard em **Configurações do usuário → API Keys**.

## Instalação

```bash theme={null}
npm install -g @izapai/cli
izap --help
```

Ou execute uma vez com `npx @izapai/cli whoami`.

## Entrar

```bash theme={null}
izap login                           # pede o token (a entrada fica oculta)
izap login --browser                 # OAuth 2.0 authorization-code + PKCE
izap whoami                          # confere a credencial salva
```

`izap login` grava o token sem chamar a API. `izap whoami` é a verificação.
`--browser` abre a página de login da iZap, registra um cliente OAuth público e
escuta em `127.0.0.1` numa porta aleatória. A sessão se renova quando o access
token expira. `izap logout` revoga no servidor.

A CLI grava as credenciais em `$XDG_CONFIG_HOME/izap/config.json`, ou
`~/.config/izap/config.json` quando `XDG_CONFIG_HOME` não está definida. Ela
cria o diretório com modo `0700` e o arquivo com modo `0600`.

A CLI escolhe o token nesta ordem:

1. A variável de ambiente `IZAP_TOKEN`. Ela sempre vence.
2. O token salvo do perfil.
3. O login pelo navegador do perfil.

```bash theme={null}
izap login --profile staging --staging            # https://api-staging.izap.ai
izap login --business 8f0b9e2a-...                # grava uma empresa padrão
izap chats list --profile staging
```

O perfil é `default` a menos que você passe `--profile` ou defina `IZAP_PROFILE`.

## Comandos

| Comando | O que faz |
| - | - |
| `izap login [--token <t> \| --browser]` | Grava uma credencial para um perfil |
| `izap logout` | Remove a credencial salva (e revoga um login pelo navegador) |
| `izap whoami` | Mostra o usuário, a empresa e o token que a credencial resolve |
| `izap chats list` | Lista conversas (`--kind`, `--page`, `--page-size`, `--since`) |
| `izap messages send --chat <id> --text <t>` | Envia uma mensagem de WhatsApp em um chat (pede confirmação) |
| `izap templates list` | Lista templates de mensagem do WhatsApp (`--status`) |
| `izap transmissions list` | Lista transmissões em massa (`--status`, `--limit`) |
| `izap transmissions show <id>` | Mostra o status e as contagens de uma transmissão |
| `izap init [args...]` | Executa o [assistente de configuração](/pt/api-reference/wizard) |

`izap <command> --help` mostra as flags de um comando. `--json` imprime JSON na
stdout. `--business` / `IZAP_BUSINESS_ID` / o padrão do perfil escolhem a
empresa. `--staging` aponta para `https://api-staging.izap.ai`.

Os envios são reais. `izap messages send` pede confirmação antes de enviar.
Passe `--yes` para pular a pergunta. Um script cuja stdin não é um terminal
precisa passar `--yes`.

> [!TIP]
>
> Prefere um cliente tipado no seu app? Veja [SDKs](/pt/api-reference/sdks).
> Precisa de um scaffold num repositório existente? `izap init` ou
> `npx @izapai/wizard` — o [assistente de configuração](/pt/api-reference/wizard).

[npm: @izapai/cli](https://www.npmjs.com/package/@izapai/cli)


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