> ## 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

> Llama a la API REST de iZap desde una terminal con @izapai/cli.

`izap` lista chats, plantillas y transmisiones de WhatsApp, y envía mensajes
desde una terminal o un script. Usa el
[SDK de TypeScript](/es/api-reference/sdks). `izap init` ejecuta el
[asistente de configuración](/es/api-reference/wizard).

| Paquete | Instalación | Código fuente |
| - | - | - |
| CLI | `npm install -g @izapai/cli` | [versariai/izap-cli](https://github.com/versariai/izap-cli) |

Requiere Node.js 20 o posterior. Crea un [token de acceso personal](/es/api-reference/authentication)
en el Dashboard en **Tu configuración → Claves API**.

## Instalación

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

O ejecuta una vez con `npx @izapai/cli whoami`.

## Inicia sesión

```bash theme={null}
izap login                           # pide el token (la entrada queda oculta)
izap login --browser                 # OAuth 2.0 authorization-code + PKCE
izap whoami                          # comprueba la credencial guardada
```

`izap login` guarda el token sin llamar a la API. `izap whoami` es la
comprobación. `--browser` abre la página de inicio de sesión de iZap, registra
un cliente OAuth público y escucha en `127.0.0.1` en un puerto aleatorio. La
sesión se renueva cuando el access token caduca. `izap logout` lo revoca en el
servidor.

La CLI guarda las credenciales en `$XDG_CONFIG_HOME/izap/config.json`, o
`~/.config/izap/config.json` cuando `XDG_CONFIG_HOME` no está definida. Crea el
directorio con modo `0700` y el archivo con modo `0600`.

La CLI elige el token en este orden:

1. La variable de entorno `IZAP_TOKEN`. Siempre gana.
2. El token guardado del perfil.
3. El inicio de sesión del navegador del perfil.

```bash theme={null}
izap login --profile staging --staging            # https://api-staging.izap.ai
izap login --business 8f0b9e2a-...                # guarda un negocio por defecto
izap chats list --profile staging
```

El perfil es `default` salvo que pases `--profile` o definas `IZAP_PROFILE`.

## Comandos

| Comando | Qué hace |
| - | - |
| `izap login [--token <t> \| --browser]` | Guarda una credencial para un perfil |
| `izap logout` | Quita la credencial guardada (y revoca un inicio de sesión del navegador) |
| `izap whoami` | Muestra el usuario, el negocio y el token que resuelve la credencial |
| `izap chats list` | Lista conversaciones (`--kind`, `--page`, `--page-size`, `--since`) |
| `izap messages send --chat <id> --text <t>` | Envía un mensaje de WhatsApp a un chat (pide confirmación) |
| `izap templates list` | Lista plantillas de mensaje de WhatsApp (`--status`) |
| `izap transmissions list` | Lista transmisiones masivas (`--status`, `--limit`) |
| `izap transmissions show <id>` | Muestra el estado y los conteos de una transmisión |
| `izap init [args...]` | Ejecuta el [asistente de configuración](/es/api-reference/wizard) |

`izap <command> --help` muestra las flags de un comando. `--json` imprime JSON
en stdout. `--business` / `IZAP_BUSINESS_ID` / el valor por defecto del perfil
eligen el negocio. `--staging` apunta a `https://api-staging.izap.ai`.

Los envíos son reales. `izap messages send` pide confirmación antes de enviar.
Pasa `--yes` para saltar la pregunta. Un script cuya stdin no es una terminal
debe pasar `--yes`.

> [!TIP]
>
> ¿Prefieres un cliente tipado en tu app? Consulta [SDKs](/es/api-reference/sdks).
> ¿Necesitas un andamiaje en un repo existente? `izap init` o
> `npx @izapai/wizard` — el [asistente de configuración](/es/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.