Saltar al contenido principal

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 a trigger y 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 }}:

VariableValor
user.firstName, user.lastNameAtributos de nombre
user.email, user.phoneCampos del contacto
user.idID de contacto propio de Joryio
user.externalIdTu ID externo
user.whatsappNameNombre 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 }}:

VariableValor
user.custom.<attribute>Cualquier atributo personalizado (por ejemplo, user.custom.plan)
nota

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.

nota

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)

VariableValor
trigger.properties.<field>Cualquier propiedad incluida en el evento de entrada
trigger.properties.content.textTexto 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.

VariableAliasValor
event.properties.content.textreply.textEl texto de la respuesta
event.properties.typereply.typeTipo de mensaje entrante: texto, imagen, botón…
event.properties.profile.namereply.profile.nameNombre 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.
tip

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.