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

# Variables de plantilla y contenido dinámico

> Usa variables en las cabeceras, el cuerpo, los botones y las URLs de las plantillas de WhatsApp: reglas de sintaxis, valores de ejemplo, tokens de personalización de HubSpot y trampas de rechazo.

Las variables permiten que una única plantilla aprobada envíe mensajes personalizados a miles de contactos sin tener que volver a enviarlos a Meta. Esta página explica cómo funcionan las variables en Flowella, dónde pueden aparecer y cómo conectarlas a los datos de HubSpot.

Para obtener una visión general de la estructura de las plantillas, consulte [Referencia de plantillas](/es/app/template-reference). Para crear plantillas paso a paso, consulte [Plantillas](/es/app/templates).

## Sintaxis

Las plantillas WhatsApp utilizan **variables de posición** con llaves dobles y un índice basado en 1:

```text theme={null}
Hi {{1}}, your booking on {{2}} is confirmed. Reference: {{3}}.
```

Reglas:

* Los índices comienzan en `{{1}}` y deben ser **secuenciales** - no se puede saltar de `{{1}}` a `{{3}}`.
* Se puede reutilizar el mismo índice dentro de un mismo componente (cuerpo, cabecera o URL), pero Flowella enviará el mismo valor a cada ocurrencia.
* No se permiten espacios en blanco dentro de las llaves: `{{ 1 }}` no es válido.
* Las variables son **sólo texto**. Los números, fechas y divisas se envían como cadenas: formatéelas en HubSpot antes de enviarlas.

<Note>
  Meta está implementando **variables con nombre** (`{{first_name}}`) para nuevas plantillas. Flowella admite ambos, pero los índices posicionales siguen siendo el formato más fiable en todos los tipos de plantillas y versiones de Cloud API.
</Note>

## Dónde pueden aparecer las variables

| Componente                                                                                                                      | Variables permitidas          | Notas                                                                 |
| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | --------------------------------------------------------------------- |
| **Header (TEXT)**                                                                                                               | 1                             | Sólo valores cortos - sin saltos de línea.                            |
| **Header (media)**                                                                                                              | 1 (el medio o URL)            | La variable es el medio en sí, no el texto.                           |
| Encabezado (UBICACIÓN)\*\* 4 (latitud, longitud, nombre, dirección) Los cuatro son necesarios cuando el encabezado es variable. |                               |                                                                       |
| **Cuerpo**                                                                                                                      | Hasta \~10 en la práctica     | Cada variable cuenta para el límite de caracteres del cuerpo de Meta. |
| Pie de página: Ninguno. El pie de página es sólo texto estático.                                                                |                               |                                                                       |
| Botón URL\*\* 1 Se añade al final de una URL base estática.                                                                     |                               |                                                                       |
| Botón **COPY\_CODE**                                                                                                            | 1                             | El valor completo del código.                                         |
| **Botones Respuesta rápida, Teléfono, Flujo, Catálogo**                                                                         | Ninguno                       | Configuración estática.                                               |
| **Tarjetas de carrusel**                                                                                                        | Hasta 3 por cuerpo de tarjeta | Las variables de cada tarjeta se numeran independientemente.          |

## Valores de ejemplo

Cuando envías una plantilla a Meta, cada variable necesita un **valor de muestra**. Meta utiliza las muestras para:

1. Decidir si el contenido de la plantilla coincide con la categoría elegida (Marketing, Utilidad, Autenticación).
2. Estimar la calidad y el riesgo de spam.
3. Mostrar una vista previa a los revisores.

Los valores de la muestra no se utilizan en el momento del envío, sólo para la revisión. Pero son importantes:

* Utilice valores **realistas**. `{{1}} = "John"` está bien; `{{1}} = "xxx"` suele provocar el rechazo.
* Las muestras deben ser **cortas**. Pegar un párrafo en una sola variable es una clásica señal de rechazo.
* Asegúrese de que la muestra es **apropiada para el tipo**. Si `{{2}}` es una fecha, utilice una fecha. Si es un número de pedido, utilice algo que se parezca a un número de pedido.

## Cableado de variables a datos HubSpot

En un flujo de trabajo HubSpot que utiliza la acción **Enviar plantilla WhatsApp** de Flowella:

<Steps>
  <Step title="Elige la plantilla">
    Flowella muestra todas las plantillas aprobadas para su canal. Las variables se detectan automáticamente en el cuerpo de la plantilla, la cabecera y los botones.
  </Step>

  <Step title="Asigna cada variable a un valor de HubSpot">
    Para cada `{{n}}`, elija una propiedad HubSpot de contacto, empresa, trato o ticket, o escriba un valor estático. Puede combinar tokens de personalización y texto literal en la misma asignación.
  </Step>

  <Step title="Establecer un valor de reserva para los valores vacíos">
    Si un contacto no tiene ningún valor para la propiedad asignada, el mensaje fallará a menos que proporcione una alternativa. Fallbacks comunes: `"there"` para nombre, `"your account"` para nombre de cuenta.
  </Step>

  <Step title="Pruebas antes del lanzamiento">
    Envía primero el flujo de trabajo a un único contacto de prueba. Meta rechaza los envíos en los que alguna variable está vacía, contiene sólo espacios en blanco o contiene una nueva línea.
  </Step>
</Steps>

<Warning>
  Las variables vacías fallan en el momento del envío, no en la aprobación de la plantilla. Un flujo de trabajo que se ejecuta con miles de contactos puede perderse silenciosamente si falta una propiedad crítica. Configure siempre las fallbacks.
</Warning>

## Consejos para el formato de variables

\*\*Nombres

```text theme={null}
Hi {{1}},
```

Escriba la propiedad en mayúsculas en HubSpot anterior, o utilice un paso de flujo de trabajo HubSpot para copiar `firstname` en una propiedad "Nombre (formateado)".

\*\*Fechas

Las plantillas WhatsApp no dan formato a las fechas. Si su propiedad HubSpot es `2026-05-24T00:00:00Z`, eso es lo que llega en el mensaje. Utilice una propiedad calculada HubSpot o una acción de flujo de trabajo para dar formato a las fechas como `24 May 2026` antes de asignarlas.

\*\*Moneda

Igual que las fechas - formato ascendente. Incluya el símbolo de moneda en el texto estático (`Total: £{{1}}`) para que la variable sea sólo el número.

\*\*URL en el cuerpo del texto

Puede incluir la URL completa dentro de una variable de cuerpo, pero la vista previa del enlace no se mostrará y la URL cuenta para el límite de caracteres del cuerpo. Utiliza en su lugar un **botón URL** con un sufijo de variable:

```text theme={null}
Base URL: https://acme.com/orders/
Variable: {{1}}
At send time: https://acme.com/orders/AB-1234
```

## Razones comunes de rechazo relacionadas con variables

* Índices omitidos\*\* (`{{1}}` y luego `{{3}}`). Renumerar siempre.
* **Variable al principio o al final** del cuerpo sin texto alrededor (`{{1}}` sola). Añadir una palabra antes o después.
* **Dos variables adyacentes** (`{{1}}{{2}}`). Sepárelas al menos con un espacio o un signo de puntuación.
* **Valores de ejemplo que parecen marcadores de posición** - `"test"`, `"xxx"`, `"123"` - especialmente en plantillas de Marketing.
* **Variables en el pie de página** - no permitidas.
* **Más de una variable en un botón URL** - sólo se permite una, y debe estar al **final** de la URL.

## Patrones avanzados

### Reutilización de un valor en varios componentes

Si un nombre de cliente aparece tanto en la cabecera como en el cuerpo, defínalo una vez en su flujo de trabajo y asigne tanto `{{1}}` (cabecera) como `{{1}}` (cuerpo) a la misma propiedad HubSpot. Flowella envía a cada componente su propia lista de parámetros, por lo que los índices son independientes - usted asigna el valor dos veces, pero sólo lo almacena una vez en HubSpot.

### Contenido condicional

Las plantillas WhatsApp no admiten la lógica if/else dentro de la plantilla. Para enviar diferentes contenidos a diferentes segmentos de contactos, cree **plantillas separadas** y ramifíquelas en su flujo de trabajo HubSpot - por ejemplo, "Bienvenida VIP" y "Bienvenida estándar".

### Plantillas multi-idioma

El nombre y la estructura de una plantilla se comparten en todos los idiomas, pero cada idioma se **presenta, aprueba y almacena por separado**. Las variables deben estar en las mismas posiciones en cada versión lingüística. Flowella elige el idioma correcto basándose en la propiedad `hs_language` del contacto (o en una opción alternativa que usted configure).

## Solución de problemas

* Plantilla aprobada pero los mensajes fallan con "parameter mismatch "\*\* - Meta y Flowella no están de acuerdo en cuántas variables tiene la plantilla. Vuelva a obtener la plantilla en Flowella (Plantillas → Actualizar) para que se sincronice el recuento de variables.
* Variable muestra literal `{{1}}` en el mensaje entregado\*\* - el flujo de trabajo no asignó un valor a ese índice. Compruebe la lista de parámetros de la acción del flujo de trabajo.
* Mensaje rechazado en el envío con "violación de la política "\*\*: una variable contiene una URL o un contenido que no coincide con la categoría de la plantilla. No se puede inyectar contenido de marketing en una plantilla de Utilidad a través de variables.

<Tip>
  Para conocer el ciclo de vida completo de envío, edición y pausa de plantillas, consulte [Plantillas](/es/app/templates) y [Referencia de plantillas](/es/app/template-reference). Para obtener ayuda específica sobre el rechazo, consulte [Plantilla rechazada](/es/troubleshooting/template-rejected).
</Tip>
