> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Componentes y formatos de plantillas

> Configura componentes de plantilla, variables, botones y formatos especializados.

Crea tu plantilla con un cuerpo, encabezado y pie de página opcionales, y botones. Añade variables para el contenido que cambia según el destinatario. La autenticación y los formatos especializados tienen restricciones adicionales.

## Anatomía de una plantilla estándar

| Componente | Qué contiene | Límites clave y comprobaciones |
| - | - | - |
| Encabezado | Texto breve opcional o un encabezado de ubicación/multimedia compatible. | Encabezados de texto: 60 caracteres y como máximo una variable. Un solo encabezado utiliza un formato, no varios tipos de archivos multimedia juntos. |
| Cuerpo | La explicación principal del mensaje. | Obligatorio; hasta 1.024 caracteres para el cuerpo de una plantilla estándar. Mantén suficiente texto fijo para establecer el propósito. |
| Pie de página | Texto secundario opcional. | Hasta 60 caracteres para un pie de página estándar. No lo trates como otro cuerpo lleno de variables. |
| Botones | Respuestas o acciones opcionales. | Hasta 10 en total para combinaciones estándar compatibles, con límites independientes según el tipo de botón. |
| Ejemplos | Valores de variables de muestra y archivos multimedia de muestra para revisión. | Proporciona los ejemplos requeridos por los componentes seleccionados. Los ejemplos no son los datos de envío específicos del destinatario. |

Estos límites no garantizan que cada plantilla especializada acepte cualquier combinación. La autenticación utiliza texto predefinido; las tarjetas de carrusel, las ofertas por tiempo limitado, las plantillas de comercio y los componentes de llamada tienen sus propias estructuras.

Un diseño estándar útil es:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
HEADER: Appointment update
BODY: Your booking {{1}} is confirmed for {{2}} at {{3}}.
FOOTER: Reply if you need help.
BUTTON: View booking
```

El ejemplo solo ilustra la estructura; no está preaprobado por Meta.

<Frame caption="Meta labels the standard components. This promotional example illustrates structure, not a utility-category decision.">
  <div style={{ position: "relative", width: "100%", maxWidth: "720px", margin: "0 auto" }}>
    <img src="https://mintcdn.com/lchnan/Q9LYCM-XEE-Z8muf/product-assets/whatsapp-platform-2026-09-22/meta-marketing-template-components.png?fit=max&auto=format&n=Q9LYCM-XEE-Z8muf&q=85&s=26b207935b6d6d53953bd583297490da" alt="Anatomía de plantilla de Meta con encabezado, cuerpo, pie de página, URL, teléfono y botones de respuesta rápida etiquetados." style={{ width: "100%", height: "auto", margin: 0 }} width="2321" height="1416" data-path="product-assets/whatsapp-platform-2026-09-22/meta-marketing-template-components.png" />
  </div>
</Frame>

Fuente: [Ejemplo oficial de Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/marketing-templates/custom-marketing-templates/).

## Elige la acción de botón adecuada

| Botón | Qué hace el cliente | Restricción estándar o dependencia |
| - | - | - |
| Respuesta rápida | Envía una respuesta predefinida a la empresa. | Hasta 10; mantén las respuestas rápidas agrupadas cuando se combinen con otros tipos de botones. |
| URL del sitio web | Abre una página web. | Hasta 2 botones de URL. Etiqueta: 25 caracteres. URL: 2.000 caracteres, con un máximo de una variable al final. |
| Número de teléfono | Inicia una llamada telefónica al número configurado. | Hasta 1. Etiqueta: 25 caracteres; valor del teléfono: 20 caracteres. Esto no es una llamada de voz de WhatsApp. |
| Copiar código de oferta | Copia un código de cupón en el portapapeles. | Un botón para copiar código; previsto para el formato de marketing correspondiente. La etiqueta del botón está predefinida. |
| OTP | Copia o autorrellena un código de verificación. | Solo plantillas de autenticación; utiliza la configuración de botón específica para la autenticación. |
| Catálogo o multiproducto | Abre el catálogo correspondiente o los productos seleccionados. | Requiere el catálogo correcto e identificadores de producto válidos. |
| Flow | Abre un formulario estructurado en WhatsApp. | Requiere el Flow correcto, la acción de entrada y una versión publicada utilizable para producción. |
| Llamada de WhatsApp | Inicia una interacción de llamada de WhatsApp compatible. | Requiere elegibilidad para Calling. No lo sustituyas por un botón de número de teléfono ni por una solicitud de permiso para llamadas salientes. |

Un botón de respuesta rápida con la etiqueta **Detener promociones** no es una implementación automática de baja. Tu flujo de trabajo debe reconocer la respuesta y actualizar las preferencias del cliente. Consulta [Exclusión voluntaria del cliente](/es/documentation/whatsapp-business-platform/consent-policies-and-account-health/customer-opt-out).

### El orden de los botones afecta a la usabilidad y la compatibilidad

Coloca las acciones más importantes primero. Con más de tres botones, WhatsApp muestra los dos primeros y un control de **Ver todas las opciones** para el resto.

<Frame caption="Meta's example of a template with additional actions behind See all options. Client appearance may vary.">
  <img src="https://mintcdn.com/lchnan/3gBf_HfRdWRqXdyx/images/whatsapp-platform/meta-template-buttons.png?fit=max&auto=format&n=3gBf_HfRdWRqXdyx&q=85&s=e1f6e7987450e79c5afe3fb1ace30b6f" alt="Una plantilla de WhatsApp con dos botones de acción visibles y Ver todas las opciones, junto con la lista desplegada que contiene acciones de URL, teléfono y respuesta rápida." width="800" height="660" data-path="images/whatsapp-platform/meta-template-buttons.png" />
</Frame>

Fuente: [Componentes de plantilla de Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/components).

Mantén las respuestas rápidas y otros tipos de botones en grupos separados:

* Agrupación válida: URL → Teléfono → Respuesta rápida → Respuesta rápida.
* Agrupación no válida: Respuesta rápida → URL → Respuesta rápida.

Meta documenta actualmente una limitación en la versión de escritorio para plantillas con cuatro o más botones, o con una respuesta rápida combinada con otro tipo de botón: se solicita a los destinatarios que vean esos mensajes en un teléfono. Prueba esto si el uso en escritorio es importante para tu audiencia.

## Variables: diseño, revisión y envío son etapas independientes

Para este cuerpo:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Your booking {{1}} is confirmed for {{2}} at {{3}}.
```

Utiliza un mapeo que tu equipo y tu integración puedan mantener:

| Posición | Significado | Ejemplo de revisión | Envío real |
| - | - | - | - |
| Cuerpo 1 | Referencia de reserva | BOOKING-123 | La referencia de reserva del destinatario. |
| Cuerpo 2 | Fecha | 12 de octubre de 2026 | La fecha confirmada de la cita. |
| Cuerpo 3 | Hora y zona horaria | 10:30 AM UTC | La hora confirmada con suficiente contexto local. |

Los ejemplos de revisión demuestran qué significa una variable. No configuran una fuente de datos ni completan automáticamente mensajes futuros.

El **encabezado, el cuerpo y cada botón dinámico tienen posiciones de parámetros separadas**. El cuerpo `{{1}}` y el botón de URL `{{1}}` no tienen por qué contener el mismo valor. El botón `index` identifica la posición del botón en la plantilla, comenzando en `0`; no es un número de variable del cuerpo.

### Ejemplo: valores del cuerpo y una URL dinámica

Supongamos que la plantilla revisada tiene:

* Cuerpo: `Your booking {{1}} is confirmed for {{2}}.`
* Botón en el índice `0`: `https://example.com/bookings/{{1}}`

El objeto de plantilla del mensaje de YCloud puede asignarlos de la siguiente manera:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "name": "booking_confirmation",
  "language": { "code": "en_US" },
  "components": [
    {
      "type": "body",
      "parameters": [
        { "type": "text", "text": "BOOKING-123" },
        { "type": "text", "text": "12 October 2026, 10:30 AM UTC" }
      ]
    },
    {
      "type": "button",
      "sub_type": "url",
      "index": 0,
      "parameters": [
        { "type": "text", "text": "BOOKING-123" }
      ]
    }
  ]
}
```

Este es un **fragmento de objeto de plantilla**, no una solicitud de envío completa. Asume que la plantilla nombrada y la variante de idioma exacta están aprobadas en la WABA del remitente. El parámetro del botón proporciona el sufijo, no la URL completa.

Mantenga un dominio de destino estable en la plantilla revisada. Codifique los valores de la URL correctamente y evite incluir información privada o credenciales de acceso de larga duración en los enlaces. No utilice una variable para ocultar la categoría real del mensaje.

## Encabezados multimedia: los recursos de muestra no son archivos adjuntos reales

Para un encabezado de imagen, video o documento:

1. Seleccione el formato de encabezado deseado al crear la plantilla.
2. Proporcione una muestra representativa para la revisión.
3. Al momento del envío, proporcione el archivo multimedia real utilizando el ID de multimedia o el campo de enlace compatible de YCloud.
4. Confirme que el archivo sea recuperable, que su formato coincida con la plantilla y que cumpla con los límites de archivos multimedia.
5. Pruebe el mensaje entregado, incluida la legibilidad del archivo en un teléfono.

No envíe un parámetro de imagen a una plantilla con encabezado de video. Una URL privada que solo funciona después de iniciar sesión no es un enlace multimedia confiable para el servicio de mensajería.

Los encabezados GIF aparecen en los contratos actuales, pero Meta restringe esa capacidad a la ruta correspondiente de **Marketing Messages API for WhatsApp** . No asuma que está disponible a través de todos los flujos de trabajo de plantillas ordinarios solo porque existe un campo.

## Seleccionar un formato especializado

| Necesita... | Elija | Prepare antes de la creación |
| - | - | - |
| Mostrar varias opciones visuales con acciones independientes | [Carrusel multimedia](/es/documentation/whatsapp-business-platform/messaging/message-templates/carousel-templates) | Estructura consistente de botones y archivos multimedia de las tarjetas; valores de envío de cada tarjeta. |
| Permitir que los clientes copien un código promocional | [Plantilla de código de cupón](/es/documentation/whatsapp-business-platform/messaging/message-templates/coupon-code-templates) | Un código canjeable real y condiciones de oferta claras. |
| Mostrar una promoción por tiempo limitado | [Oferta por tiempo limitado](/es/documentation/whatsapp-business-platform/messaging/message-templates/limited-time-offer-templates) | El valor de vencimiento y las reglas de pago correspondientes. |
| Abrir toda la colección de productos | [Plantilla de catálogo](/es/documentation/whatsapp-business-platform/messaging/message-templates/catalog-templates) | Un catálogo vinculado y un producto de miniatura válido si se especifica. |
| Mostrar un conjunto seleccionado de productos del catálogo | [Plantilla multiproducto](/es/documentation/whatsapp-business-platform/messaging/message-templates/multi-product-templates) | IDs de productos, secciones y disponibilidad actual. |
| Recopilar respuestas estructuradas | [Flow](/es/documentation/whatsapp-business-platform/more-whatsapp-features/whatsapp-flows/index) | ID del Flow, pantallas, gestión de datos y flujo de trabajo de finalización. |
| Verificar una solicitud de inicio de sesión o acción de recuperación | [Plantilla de autenticación](/es/documentation/whatsapp-business-platform/messaging/message-templates/authentication-message-templates/index) | Generación de código, validación, caducidad y gestión de respaldo. |

## Diagnosticar un error de componente

| Síntoma | Verificar primero |
| - | - |
| Error en la cantidad o formato de los parámetros | Compare las variables esperadas de cada componente con el payload de envío. No cuente todas las variables como una única lista compartida. |
| Se abre el botón incorrecto o falla | Compruebe el índice del botón, el subtipo, el sufijo de la URL y el orden de los botones revisados. |
| El archivo multimedia no se puede entregar | Compruebe el archivo multimedia real al momento del envío, la accesibilidad, el tipo MIME, el tamaño y el formato del encabezado de la plantilla. |
| No se encuentra la plantilla | Verifique la WABA, el nombre y la variante de idioma exacta. |
| Combinación de botones no válida | Compruebe el total, la cantidad por tipo y la agrupación de respuestas rápidas. |
| Solo funciona en un dispositivo | Pruebe en clientes actuales de Android, iOS y escritorio; verifique la compatibilidad específica del formato. |

La [guía de la API de plantillas de YCloud](/es/api-reference/guides/whatsapp-platform/manage-whatsapp-templates) y el [contrato de OpenAPI](https://newdocs.ycloud.com/openapi/endpoints/ycloud-api-v2.yaml) definen los campos de YCloud. La compatibilidad de componentes de Meta no garantiza que todos los editores, Inbox, Campañas o rutas de API de YCloud admitan la misma función.

Continúa con [Crear una plantilla](/es/documentation/channels/whatsapp-accounts-management/template-management/create-template/index) y [Revisión y ciclo de vida de plantillas](/es/documentation/whatsapp-business-platform/messaging/message-templates/template-review-and-lifecycle).


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