# Enviar mensaje

> Envía un mensaje de texto libre por WhatsApp a un contacto.

Fuente: https://developers.plazbot.com/whatsapp/cli/send-message/

### Enviar mensaje

Envía un mensaje de texto libre a un contacto de WhatsApp. Úsalo para responder dentro de la ventana de 24 horas; para escribir primero a un contacto usa [`send-template`](https://developers.plazbot.com/whatsapp/cli/send-template).

```bash
plazbot whatsapp send-message -p <número> -m "<mensaje>" [opciones]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| Teléfono | `-p, --phone <number>` | Sí | Número del destinatario en formato internacional: `+51912345678`, `"+51 912 345 678"`, `0051912345678` o `51912345678` |
| Mensaje | `-m, --message <text>` | Sí | Texto a enviar. Ponlo entre comillas si tiene espacios |
| Botón | `-b, --button <title>` | No | Botón de respuesta. Repite el flag, hasta 3. De 1 a 20 caracteres cada uno |
| Citar | `-r, --reply-to <messageId>` | No | Id del mensaje a citar (`message.id` del webhook) |
| JSON | `--json` | No | Imprime solo JSON en stdout |

> **Nota:** Las formas anteriores (`--to`) siguen funcionando.

### Ejemplos

```bash
# Enviar un mensaje rápido
plazbot whatsapp send-message -p +51912345678 -m "Hola desde Plazbot"

# Cualquier formato internacional sirve (espacios, prefijo 00)
plazbot whatsapp send-message -p "+51 912 345 678" -m "Tu pedido está en camino"

# Preguntar con botones (la respuesta llega a tu webhook)
plazbot whatsapp send-message -p +51912345678 -m "¿Confirmas tu cita?" -b "Confirmar" -b "Reagendar"

# Responder citando un mensaje del contacto
plazbot whatsapp send-message -p +51912345678 -m "Sí, tenemos stock" --reply-to msg_AbcDef123

# Resultado en JSON para scripts
plazbot whatsapp send-message -p +51912345678 -m "Hola" --json
```

### Resultado

```text
Sending WhatsApp message
────────────────────────────────────────
To: +51912345678
Message: Hola desde Plazbot
✔ Message sent
```

### Salida JSON

```json
{
"phone": "51912345678",
"status": "sent",
"messageId": "..."
}
```

`messageId` aparece solo cuando la API lo devuelve.

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `Missing phone number.` | No pasaste `-p` | Agrega `-p +51912345678` |
| `Invalid phone number "123".` | El número no tiene entre 8 y 15 dígitos con código de país | Usa el formato internacional, por ejemplo `+51912345678` |
| `Message is empty.` | `-m` vacío | Pasa el texto con `-m "Hola"` |
| `The message was not sent.` (más el detalle de la API) | Fuera de la ventana de 24 horas, o el contacto no existe | El CLI sugiere: `Outside that window send an approved template: plazbot whatsapp send-template -p <number> -t <template>` |
| `You are not signed in.` | No hay sesión activa | Ejecuta [`plazbot login`](https://developers.plazbot.com/cli/login) |

> **Importante:** WhatsApp solo permite texto libre dentro de las 24 horas desde el último mensaje del contacto. Fuera de esa ventana, o para escribir primero, usa una plantilla aprobada con [`plazbot whatsapp send-template`](https://developers.plazbot.com/whatsapp/cli/send-template). El contacto debe existir en el workspace (se crea cuando escribe a tu número).
