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

> Compra desde el CLI un número de Estados Unidos para WhatsApp, lee el código de verificación de Meta por SMS y conéctalo a un proyecto.

`jelou phone-numbers` administra los números de WhatsApp que tu empresa compra a
través de Jelou: números de Estados Unidos (`+1`) que se facturan con tu plan.
Con estos comandos revisas si puedes comprar, compras un número, lees el SMS con
el código de verificación de Meta y liberas números que ya no usas.

| Subcomando | Descripción |
| - | - |
| `capability` | Indica si tu empresa puede comprar un número ahora y si la compra tiene costo |
| `list` | Lista los números, las líneas abiertas y los números liberados |
| `messages <id>` | Muestra los SMS que recibió un número (ahí llega el código de Meta) |
| `buy --phone <+1…>` | Compra un número (muestra el costo y pide confirmación) |
| `delete <id>` | Libera un número de forma definitiva (pide confirmación) |

<Warning>
  Para WhatsApp usa siempre `jelou phone-numbers buy`. `jelou voice numbers buy --provider twilio` compra números para el servicio de voz: no pasa por tu plan
  y el número no sirve para WhatsApp.
</Warning>

## Del número al canal conectado

<Steps>
  <Step title="Revisa si puedes comprar">
    ```bash theme={null}
    jelou phone-numbers capability
    ```

    No compra nada. Te dice si la compra está permitida y qué costo tendría
    (ver [Costo de la compra](#costo-de-la-compra)).
  </Step>

  <Step title="Busca un número disponible">
    ```bash theme={null}
    jelou voice numbers search --provider twilio --country US
    jelou voice numbers search --provider twilio --country US --area-code 415
    ```

    Solo consulta el inventario del proveedor; no compra nada.
  </Step>

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

    El CLI muestra el costo y pide confirmación. Al confirmar, el número se
    compra de inmediato y obtienes su `id`.
  </Step>

  <Step title="Conéctalo a WhatsApp">
    ```bash theme={null}
    jelou channels activate whatsapp --phone-number 42 --project 01H2XCEJQTG2H5V5NKCYW3J7Z2 --name "Ventas WhatsApp"
    ```

    Se abre la activación de WhatsApp en Jelou con el número ya seleccionado.
    Mientras completas el inicio de sesión de Meta, el CLI muestra en la
    terminal el SMS con el código de verificación y termina cuando el canal de
    ese número queda conectado.
  </Step>
</Steps>

## Costo de la compra

La compra se cobra según el plan de tu empresa:

| Plan | Qué pasa al comprar |
| - | - |
| Self Service | Cada número usa una **línea telefónica** que se agrega a tu suscripción. Se cobra en el momento con el método de pago de la suscripción y en cada factura siguiente. |
| Self Service con una línea abierta | Si ya pagaste una línea que todavía no tiene número, la compra la reutiliza y no hay un cobro nuevo. |
| Otros planes | El número está incluido en el plan; no hay cobro. |

Antes de confirmar, `buy` te muestra cuál de los tres casos aplica y, si hay
cobro, el precio de la línea. Si no puede leer el precio, no compra.

La compra también depende de los canales de tu plan: si ya usaste todos,
`capability` y `buy` te lo indican y no se compra nada.

## `jelou phone-numbers capability`

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

Muestra:

* si puedes comprar ahora;
* el costo de la próxima compra (incluida en el plan, línea ya pagada o línea nueva);
* las líneas abiertas (pagadas y sin número);
* los canales conectados frente al límite de tu plan;
* los números que todavía no tienen canal.

## `jelou phone-numbers list`

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

Lista los números de la empresa, del más reciente al más antiguo. `--status`
filtra por estado:

| Estado | Significado |
| - | - |
| `active` | Número comprado. Si no tiene canal, está listo para `channels activate`. |
| `open` | Línea pagada que todavía no tiene número. La próxima compra la usa. |
| `released` | Número liberado. Ya no te pertenece. |

## `jelou phone-numbers messages`

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

Muestra los SMS que recibió el número desde que lo compraste, del más reciente
al más antiguo (hasta 20). Cuando Meta verifica el número, el código llega aquí.
Si acabas de pedir el código y no aparece, espera unos segundos y vuelve a
ejecutar el comando.

## `jelou phone-numbers buy`

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

| Flag | Descripción |
| - | - |
| `--phone <+1…>` | Número de Estados Unidos en formato E.164 (`+1` y 10 dígitos). Obligatorio. |
| `--yes` | Omite la confirmación |

<Tip>
  Si la compra falla porque el pago o la compra quedaron pendientes de
  confirmación, vuelve a ejecutar el mismo comando después de unos segundos.
  Repetirlo no cobra ni compra dos veces.
</Tip>

Errores frecuentes:

| Caso | Qué hacer |
| - | - |
| El plan no incluye números de WhatsApp | Revisa tu plan o tu suscripción. |
| No quedan canales en el plan | Libera un número que no uses o mejora tu plan. |
| El pago fue rechazado o no hay método de pago | Agrega o actualiza el método de pago en la configuración de facturación. No se cobró nada. |
| El número ya fue tomado | Elige otro con `jelou voice numbers search`. |
| La línea telefónica todavía no tiene precio para tu plan | Contacta al equipo de Jelou. |

## `jelou phone-numbers delete`

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

Libera el número: vuelve al proveedor y, en Self Service, su línea deja de
cobrarse desde la siguiente factura (el periodo en curso no se reembolsa). Solo se
pueden liberar números activos que no tengan canal; si el número está conectado,
elimina o desconecta ese canal primero.

<Warning>
  Liberar un número es irreversible: no lo puedes recuperar después.
</Warning>

## Conectar el número con `channels activate`

`--phone-number` hace que `jelou channels activate whatsapp` trabaje sobre un
número comprado con `phone-numbers buy`:

* La activación de WhatsApp se abre en Jelou con ese número ya seleccionado.
* Mientras esperas, el CLI muestra en la terminal cada SMS que recibe el número,
  incluido el código de Meta.
* La espera termina cuando **ese** número queda conectado, no cuando aparece
  cualquier otro canal de WhatsApp de la empresa.

| Flag | Descripción |
| - | - |
| `--phone-number <id>` | Número comprado con `phone-numbers buy` |
| `--project <id>` | Proyecto que aparece preseleccionado en la activación |
| `--name <nombre>` | Nombre del canal que aparece prellenado en la activación |
| `--watch` | No abre el navegador; solo espera a que el número quede conectado |
| `--timeout <segundos>` | Tiempo máximo de espera (por defecto, 600) |

`--project` y `--name` solo prellenan la activación: puedes cambiarlos ahí antes
de terminar.

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

Al terminar, el CLI devuelve el `channel_id`, el `bot_id` y el proyecto del
canal nuevo. El `bot_id` es el que usan
[`jelou template` y `jelou campaign`](/guides/cli/whatsapp).

<Note>
  Si el número ya tiene un canal, `activate --phone-number` falla antes de abrir
  el navegador y te devuelve el id de ese canal. Con `--watch`, en cambio, termina
  de inmediato con ese canal como resultado.
</Note>

## Uso desde un agente

Con `--agent` o `--no-input`, `buy` y `delete` exigen `--yes`. Un agente debe
leer `capability`, mostrarle el costo al usuario y pasar `--yes` solo después de
que el usuario acepte.

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

En modo JSON, `buy` agrega el campo `charge` con el tipo de cobro (`included`,
`open_line` o `new_line`) y, si hay cobro, el precio. Cuando una compra queda
pendiente, el error es `TRANSIENT_ERROR` con `retryable: true`: el agente puede
repetir el mismo comando sin riesgo de doble cobro.


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