Variables de mensaje
Personaliza cualquier mensaje de un recorrido - email, SMS, Push, WhatsApp o webhook - con marcadores Liquid. Una variable sin valor se renderiza como texto vacío; nunca provoca un error.
Los dos espacios de nombres de eventos
Los recorridos ofrecen dos espacios de nombres de eventos, y la diferencia es importante:
trigger: cómo entraron. El evento de entrada, fijo durante toda la ejecución.event: lo último que hicieron. El evento más reciente que hizo avanzar el recorrido, como la respuesta que resolvió una bifurcación de comportamiento. Comienza siendo igual atriggery se reasigna cada vez que se resuelve una espera.
Por tanto, para «lo que acaba de responder el contacto», usa event (o los alias
reply de abajo), no trigger.
Usuario: atributos predeterminados y personalizados
Atributos predeterminados: campos estándar, escritos como {{ user.firstName }}:
| Variable | Valor |
|---|---|
user.firstName, user.lastName | Atributos de nombre |
user.email, user.phone | Campos del contacto |
user.id | ID de contacto propio de Joryio |
user.externalId | Tu ID externo |
user.whatsappName | Nombre del perfil de WhatsApp sincronizado con el contacto |
Atributos personalizados: cualquier otro dato del contacto, bajo el espacio de
nombres custom; por ejemplo, {{ user.custom.plan }}:
| Variable | Valor |
|---|---|
user.custom.<attribute> | Cualquier atributo personalizado (por ejemplo, user.custom.plan) |
La forma plana anterior {{ user.<attribute> }} sigue funcionando por compatibilidad,
pero {{ user.custom.<attribute> }} es la forma recomendada de referirse a atributos
personalizados: los distingue visualmente de los campos predeterminados.
Los nombres de atributos predeterminados están reservados: no puedes crear un atributo
personalizado con el mismo nombre que uno predeterminado - por ejemplo, email, country
o firstName - . Así nunca entran en conflicto y el selector nunca muestra un nombre dos veces.
Insertar variables
Los editores de WhatsApp, SMS, Push y webhook tienen un botón + Personalizar que abre el selector Añadir personalización. Elige un tipo, selecciona el atributo, añade un valor predeterminado opcional y luego pulsa Insertar para añadir el fragmento generado:
- Último evento: el último evento que hizo avanzar el recorrido. Elige una fuente:
Respuesta (WhatsApp) - los alias intuitivos
reply.*- o Evento personalizado (event.*). - Desencadenante (entrada): cómo entraron. Elige una fuente: Mensaje de WhatsApp o Evento personalizado.
- Atributos predeterminados:
{{ user.firstName }},{{ user.email }}y los demás campos principales; es la misma lista que aparece en el selector de «atributos predeterminados» de segmentos. - Atributos personalizados: solo los atributos personalizados de tu organización. Los
predeterminados aparecen en su propio tipo, nunca en ambos, y se insertan como
{{ user.custom.<attribute> }}. - Catálogo de productos: registros del catálogo sincronizado de tu tienda mediante una selección
de productos. Se inserta una etiqueta
assign, como{% assign products = 'featured' | products %}; después puedes recorrerla con{% for item in products %} … {% endfor %}. - Entidad personalizada: registros de una entidad personalizada
mediante una selección guardada. Se inserta como
{% assign items = 'tv_series' | entity: 'latest' %}y se recorre del mismo modo.
El valor predeterminado opcional añade el filtro | default: "…", de forma que un atributo
vacío muestra tu texto en lugar de quedar en blanco.
Email e in-app
Los editores visuales de email e in-app tienen un botón Personalización que abre el mismo selector en modo de copia: crea el fragmento, cópialo y pégalo donde quieras en tu diseño. Allí no se ofrecen Respuesta, Último evento ni Desencadenante, porque solo se resuelven dentro de un recorrido.
Desencadenante (evento de entrada)
| Variable | Valor |
|---|---|
trigger.properties.<field> | Cualquier propiedad incluida en el evento de entrada |
trigger.properties.content.text | Texto entrante, si la entrada fue un mensaje de WhatsApp |
Evento (último evento que avanzó) y alias reply
Después de una bifurcación de comportamiento que espera una respuesta, event es
esa respuesta. Los alias reply son atajos intuitivos para mensajes entrantes: funcionan
igual para una respuesta de WhatsApp y de SMS. Después de una bifurcación de
comportamiento Mensaje SMS entrante, reply.text es el último texto SMS entrante del contacto.
| Variable | Alias | Valor |
|---|---|---|
event.properties.content.text | reply.text | El texto de la respuesta |
event.properties.type | reply.type | Tipo de mensaje entrante: texto, imagen, botón… |
event.properties.profile.name | reply.profile.name | Nombre del perfil de WhatsApp |
event.name | - | El nombre del evento |
event.properties.<field> | - | Cualquier otra propiedad capturada |
Ejemplo: una respuesta de WhatsApp después de una bifurcación de comportamiento
Gracias, {{ reply.profile.name | default: "" }}. Has dicho:
«{{ reply.text }}». Nos pondremos en contacto contigo en breve.
Usa trigger.* para cómo entraron y event.* / reply.* para lo que acaban de
hacer. En un recorrido con entrada programada, trigger no tiene contenido entrante:
la respuesta después de una bifurcación está en event / reply.