# Plantillas de marketing de WhatsApp

Una plantilla de marketing lleva contenido promocional, como una oferta, un anuncio de producto o un cupón. Antes de enviar, prepara el contenido aprobado, el permiso del destinatario y una forma clara de gestionar respuestas y cancelaciones de suscripción.

## Antes de enviar

El catálogo gestionado de Bird no incluye ninguna plantilla de marketing, así que un envío de marketing siempre usa una plantilla creada en tu espacio de trabajo, en una WhatsApp Business Account propia:

1. Conecta una WhatsApp Business Account y un número propios. Consulta [Configuración del número de teléfono](/docs/guides/whatsapp/phone-number-setup).
2. Crea una plantilla con categoría `marketing` y envíala a revisión. Consulta [Directrices de plantillas](/docs/knowledge-base/whatsapp/template-guidelines) para saber qué se aprueba.
3. Envía desde un número en la misma WhatsApp Business Account que la plantilla. `from` es obligatorio en un envío de marketing, y un remitente en una cuenta diferente se rechaza `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch` antes de que se cobre nada.

## Enviar una plantilla de marketing

`POST /v1/whatsapp/messages` con `from` configurado y un objeto `template` que indique tu propio slug:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13125550101",
  template: {
    slug: "summer_sale",
    language: "en",
    components: [
      {
        type: "header",
        parameters: [{ type: "image", url: "https://cdn.example.com/banners/summer.png" }],
      },
      { type: "body", parameters: [{ type: "text", name: "first_name", text: "Pablo" }] },
      { type: "button", parameters: [{ type: "text", text: "SUMMER25" }] },
    ],
  },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/es-es/documentacion/guides/whatsapp/templates/marketing.ts.md) · [Python](/es-es/documentacion/guides/whatsapp/templates/marketing.py.md) · [Go](/es-es/documentacion/guides/whatsapp/templates/marketing.go.md) · [PHP](/es-es/documentacion/guides/whatsapp/templates/marketing.php.md) · [CLI](/es-es/documentacion/guides/whatsapp/templates/marketing.cli.md) · [MCP](/es-es/documentacion/guides/whatsapp/templates/marketing.mcp.md) · [cURL](/es-es/documentacion/guides/whatsapp/templates/marketing.curl.md)

- **Los parámetros del cuerpo son nombrados**, igual que en utilidad. Cada parámetro lleva un `name`, y el orden en el array no tiene significado.
- **El código de un botón de cupón es un parámetro `text` ordinario**, como el del botón de arriba. No existe un tipo de parámetro separado para códigos de cupón.
- **Un encabezado `gif` recibe un parámetro `gif`**, no `video` ni `image`. Marketing es la única categoría que acepta un encabezado de GIF animado.
- **Los valores de un carrusel van en `cards`, no en `parameters`**, y el envío debe incluir exactamente la cantidad de tarjetas con las que se aprobó la plantilla.

Bird enruta cada envío de marketing a la API de Marketing Messages de Meta automáticamente; no tienes que activarlo y no hay un interruptor por envío. El estado de onboarding de la cuenta de negocio con esa API condiciona las optimizaciones de Meta, no la entrega en sí, con una excepción: un encabezado `gif` necesita una cuenta con onboarding completado o el envío falla en WhatsApp. Consulta [Plantillas de marketing](/docs/knowledge-base/whatsapp/marketing-templates) para el estado de la cuenta, lo que desbloquea el onboarding y dónde el marketing está limitado por país.

## Cancelaciones de suscripción

Cuando Bird recibe un evento válido de detención de marketing de Meta, registra una preferencia del destinatario para esa cuenta de empresa. Esta preferencia es independiente de una supresión de todos los mensajes. Comprueba ambos registros antes de enviar. Un fallo de entrega puede llegar antes del evento de preferencia correspondiente; conserva la elección del destinatario e investiga ese historial en lugar de reintentar. Consulta [Cancelaciones de suscripción](/docs/guides/whatsapp/opt-outs) para registrar y consultar estos registros.

## Costo

Usa la tarifa de marketing publicada para el destino y la moneda. Bird cobra su tarifa de salida antes del envío; un resultado facturable de entrega o lectura puede añadir la tarifa de Meta. Consulta [Coste y facturación](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing) y [Precios de WhatsApp](/products/whatsapp/pricing).

## Aspectos a vigilar

- **Meta recategoriza a marketing, nunca fuera de marketing, y eso es un cambio de precio.** Una plantilla que Meta considere promocional en su contenido pasa a ser `marketing` sin importar la categoría que enviaste, y el envío sigue saliendo al nuevo precio más alto. No hay opción de exclusión ni forma de editar la categoría de vuelta; la solución es una plantilla nueva.
- **`131049` es una pausa de entrega, no un límite de frecuencia que hayas configurado, y reintentar lo empeora.** Meta reporta `131049` tanto para su pausa general en EE. UU. como para un tope de marketing por usuario, y su propia recomendación es esperar aproximadamente un día antes de reenviar. Reenviar antes puede hacer que la cuenta no esté disponible para ese destinatario por más tiempo y distorsiona tu propia tasa de entrega. Bird reporta el fallo como `rate_limited`.
- **`131050` significa que el destinatario desactivó "Offers and announcements", y nunca se debe reintentar.** Meta acepta el envío y luego se niega a entregarlo. La respuesta correcta es la ruta de preferencias de mensajería, no un reenvío: bloquea tú mismo los envíos a ese destinatario, o espera a que reactive la entrega, algo que Bird detecta a través del mismo mecanismo de preferencias que reportó la detención. Consulta [Cancelaciones de suscripción](/docs/guides/whatsapp/opt-outs).
- **`132015` y `132016` son una pausa de plantilla, no un problema del destinatario.** `132015` es una pausa por baja calidad; `132016` es una desactivación permanente tras pausas repetidas, y su único remedio es una plantilla nueva con contenido diferente. Revisa el estado del idioma en lugar del de la plantilla, ya que un idioma pausado deja de enviar de inmediato.
- **Un remitente en la WhatsApp Business Account incorrecta se rechaza antes de cualquier cobro.** `from` debe estar en la misma cuenta que la plantilla, o el envío falla `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch`.

## Próximos pasos

- [Plantillas de WhatsApp](/docs/guides/whatsapp/templates): explorar el catálogo y el contrato compartido de envío por plantilla
- [Plantillas de marketing](/docs/knowledge-base/whatsapp/marketing-templates): la API de Marketing Messages, estado de onboarding y dónde el marketing está limitado
- [Cancelaciones de suscripción](/docs/guides/whatsapp/opt-outs): registrar y consultar supresiones y preferencias
- [Plantillas de utilidad](/docs/guides/whatsapp/templates/utility): actualizaciones de pedidos, recordatorios de citas y avisos de cuenta

## 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)
- [WhatsApp](/products/whatsapp) (product)

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