---
title: "Envía tu primer mensaje de WhatsApp"
description: "Crea una clave de API de Bird, envía a tu teléfono un mensaje con una plantilla de WhatsApp preaprobada sin conectar ningún número y comprueba su estado de entrega."
canonical: "https://bird.com/es-es/documentacion/get-started/send-your-first-whatsapp"
---

# Envía tu primer mensaje de WhatsApp

Envía un mensaje de WhatsApp a tu propio teléfono con Bird WhatsApp y después recupera el mensaje para confirmar la entrega. Los envíos iniciados por la empresa usan una plantilla preaprobada. Esta guía rápida envía desde el catálogo de plantillas gestionadas de Bird (como `bird_delivery_update` o `bird_otp`), que usa un remitente de WhatsApp compartido y gestionado por Bird. No necesitas conectar antes una cuenta de WhatsApp Business ni registrar un número.

Antes de empezar, asegúrate de que el monedero de tu organización tenga fondos. Los envíos de plantillas de WhatsApp se cobran del monedero, y Bird rechaza con `402` `WalletInsufficientBalance` cualquier envío que el saldo no pueda cubrir. En [Métodos de pago y monedero](/docs/knowledge-base/billing/payment-methods-wallet) se explica cómo recargarlo.

## 1. Crea una clave de API

En el panel, ve a **Platform tools** > [**API keys**](https://bird.com/dashboard/w/api-keys) y crea una clave con el ámbito `whatsapp:write`, que permite enviar y leer mensajes. Cada clave pertenece a una región y tiene un aspecto como `bk_us1_...` o `bk_eu1_...`. La región del prefijo indica a qué host de API debes llamar: `https://us1.platform.bird.com` o `https://eu1.platform.bird.com`.

![La página de claves de API en el panel de Bird, con la lista de claves, su prefijo enmascarado, sus ámbitos y la hora del último uso](/images/docs/dashboard-api-keys.png)

La clave completa se muestra **una sola vez**, al crearla. Cópiala en un lugar seguro y después expórtala para los ejemplos de cURL:

```bash
export BIRD_API_KEY="bk_us1_..."
```

## 2. Envía un mensaje con plantilla

Envía a tu teléfono la plantilla preaprobada `bird_delivery_update` del catálogo gestionado de Bird, o usa `bird_otp` para enviar un código de verificación de un solo uso. Las plantillas gestionadas empiezan por `bird_` y se envían desde un número de Bird compartido, así que omites `from`. Instala el SDK de Bird para tu lenguaje siguiendo su [guía rápida de SDK](/docs/get-started/quickstarts). Si usas la pestaña de [Bird CLI](/docs/cli), instálala antes (`curl -fsSL https://cli.bird.com/install.sh | sh`) y autentícate con permisos de escritura (`bird auth login --scope whatsapp:write`).

En las pestañas de SDK, sustituye la clave de API de ejemplo y reemplaza `+15551234567` por tu número de móvil en formato [E.164](https://en.wikipedia.org/wiki/E.164). La CLI usa tu inicio de sesión, y la pestaña de cURL usa `BIRD_API_KEY`.

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.whatsapp.send({
  to: "+15551234567",
  template: {
    slug: "bird_delivery_update",
    components: [
      {
        type: "body",
        parameters: [
          { type: "text", name: "ref", text: "A1B2C3D4" },
          { type: "text", name: "date", text: "10 Jul 2026" },
        ],
      },
    ],
  },
});

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/es-es/documentacion/get-started/send-your-first-whatsapp.ts.md) · [Python](/es-es/documentacion/get-started/send-your-first-whatsapp.py.md) · [Go](/es-es/documentacion/get-started/send-your-first-whatsapp.go.md) · [PHP](/es-es/documentacion/get-started/send-your-first-whatsapp.php.md) · [CLI](/es-es/documentacion/get-started/send-your-first-whatsapp.cli.md) · [MCP](/es-es/documentacion/get-started/send-your-first-whatsapp.mcp.md) · [cURL](/es-es/documentacion/get-started/send-your-first-whatsapp.curl.md)

Si tu clave empieza por `bk_eu1_`, llama a `https://eu1.platform.bird.com` en su lugar.

La API responde con `202 Accepted` y el mensaje creado. Su `id` empieza por `wam_` y su `status` es `accepted`: Bird ha aceptado el mensaje y lo entrega de forma asíncrona. Guarda el `id` para el siguiente paso.

## 3. Comprueba el estado de entrega

Recupera el mensaje por su ID de `wam_`. Sustituye `WHATSAPP_MESSAGE_ID` por el `id` del paso 2 y sustituye la clave de API de ejemplo en las pestañas de SDK por la tuya:

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.whatsapp.get("WHATSAPP_MESSAGE_ID");

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/es-es/documentacion/get-started/send-your-first-whatsapp.ts.md) · [Python](/es-es/documentacion/get-started/send-your-first-whatsapp.py.md) · [Go](/es-es/documentacion/get-started/send-your-first-whatsapp.go.md) · [PHP](/es-es/documentacion/get-started/send-your-first-whatsapp.php.md) · [CLI](/es-es/documentacion/get-started/send-your-first-whatsapp.cli.md) · [cURL](/es-es/documentacion/get-started/send-your-first-whatsapp.curl.md)

El campo `status` indica en qué punto está el mensaje:

- `accepted`: Bird ha admitido el mensaje y se prepara para entregarlo a WhatsApp.
- `sent`: WhatsApp ha aceptado el mensaje y `sent_at` registra cuándo.
- `delivered`: WhatsApp ha confirmado la entrega en el dispositivo del destinatario y `delivered_at` registra cuándo. Cuando el destinatario lee el mensaje, se rellena `read_at` y `status` sigue siendo `delivered`.
- `failed` o `rejected`: el mensaje no llegó al teléfono. `last_error` indica el motivo y [Eventos de estado de mensajes](/docs/guides/whatsapp/events/message-status) enumera los códigos de error.

Consulta el mensaje periódicamente hasta que el estado deje de ser `accepted` o `sent`, o suscríbete a los [webhooks de WhatsApp](/docs/guides/whatsapp/webhooks) para recibir cada cambio de estado de entrega y de lectura (`whatsapp.sent`, `whatsapp.delivered`, `whatsapp.read`, `whatsapp.failed`). Los números compartidos gestionados por Bird solo envían y no dirigen las respuestas entrantes a tu espacio de trabajo; para recibir respuestas, [conecta tu propio número](/docs/guides/whatsapp/numbers/connect). Cada mensaje aparece también en la página [**Messages**](https://bird.com/dashboard/w/whatsapp/messages) con su cronología de eventos.

## Soluciona un envío fallido

- **`402` `WalletInsufficientBalance`**: el saldo del monedero no cubre el mensaje. Recarga el monedero y vuelve a enviarlo.
- **`403` `InsufficientScope`**: la clave de API no tiene el ámbito `whatsapp`. Edita los ámbitos de la clave o crea una clave con `whatsapp:write`.
- **`422` `WhatsAppInvalidRecipient`**: el número de `to` no es un número de teléfono E.164 válido. Comprueba el `+` inicial, el código de país y los dígitos del abonado.

## Próximos pasos

- [Enviar mensajes de WhatsApp](/docs/guides/whatsapp/sending-whatsapp): envía plantillas y mensajes de servicio de formato libre dentro de la ventana de atención al cliente de 24 horas.
- [Plantillas de WhatsApp](/docs/guides/whatsapp/templates): consulta el catálogo gestionado (`bird_otp`, `bird_delivery_update` y otras) o [crea tus propias plantillas](/docs/guides/whatsapp/authoring-templates).
- [Conectar un número de teléfono](/docs/guides/whatsapp/numbers/connect): usa tu propia cuenta de WhatsApp Business y tu propio número de remitente para que tu espacio de trabajo también pueda recibir respuestas entrantes.
- [Webhooks de WhatsApp](/docs/guides/whatsapp/webhooks): recibe confirmaciones de entrega y de lectura (y también mensajes entrantes si usas tu propio número conectado).
- [Referencia de WhatsApp API](/docs/api/reference/create-whatsapp-message): el esquema completo de solicitudes y respuestas.

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [Connect WhatsApp](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp-connect)
