Cómo usar modificadores para variables
Con SendPulse puedes usar modificadores de variables para transformar su valor de acuerdo a las reglas que establezcas. Por ejemplo, puedes formatear texto, fechas, números de teléfono y direcciones URL.
Hablemos de los modificadores de variables y cómo usarlos en tus chatbots.
Sintaxis del Modificador
Puedes modificar datos usando {{ var_name | function(parameter="value") }}
, donde:
var_name |
Nombre de variable. |
function() |
Función modificadora, |
parameter |
Parámetro de función. |
value |
Valor de parámetro |
Puedes usar la sintaxis del modificador en fechas, mayúsculas y minúsculas, longitud de cadena, números de teléfono y URL.
Modificadores de cadena
str_to_lower() |
Convierte todos los caracteres a minúsculas. Por ejemplo: título de la variable = "TÍTULO".
Resultado: título. |
str_to_upper() |
Convierte todos los caracteres a mayúsculas. Por ejemplo, la variable de título = "
Resultado: TÍTULO. |
str_capitalize() |
Convierte todos los caracteres en una cadena y pone en mayúscula su primer carácter. Por ejemplo, la variable de título = "
Resultado: Título. |
str_length() |
Devuelve la longitud de una cadena. Por ejemplo: título = "
Resultado: 5. |
str_limit(limit="100", end="...") |
Trunca una cadena a la longitud especificada.
|
match(pattern="/.*some(regex).*/" |
Muestra la cadena correspondiente al patrón de expresión. Si la expresión regular contiene un grupo Por ejemplo, para extraer una parte del enlace Resultado: |
match_all(pattern="/.*(some)\s(regex).*/" |
Muestra un arreglo de cadenas que corresponden al patrón de expresión. Si la expresión regular contiene arreglos, genera un arreglo de grupos. Por ejemplo, para extraer una parte del enlace Resultado: |
explode(separator="/" |
Divide la cadena en un arreglo utilizando un separador. Por ejemplo, para dividir la cadena Resultado: |
substr(start="", length="" |
Muestra una cadena comenzando por el caracter especificado y con la longitud especificada. Por ejemplo, para generar una parte del enlace Resultado: |
preg_replace() |
Sustituye determinados elementos de texto que encajan un patrón específico con la cadena especificada. Puedes utilizar esta función para reemplazar o eliminar texto automáticamente en grandes conjuntos de datos.
La función se aplica directamente a una cadena ( Por ejemplo, si tu cadena de entrada es |
urlencode() |
Devuelve una cadena en la que todos los caracteres no alfanuméricos excepto guiones (- ), guiones bajos (_ ), y puntos (. ) deben sustituirse por el signo de porcentaje (% ) seguido de dos números hexadecimales y espacios codificados como el signo más (+ ). La cadena se codifica igual que los datos POST de formularios web, es decir, el tipo de contenido application/x-www-form-urlencoded .
El modificador puede utilizarse para pasar los valores recibidos del suscriptor a la solicitud de API, por ejemplo, como parámetro get. |
Número y Fecha
number_round(precision="0", mode="ROUND_HALF_UP") |
Redondea un número a la
Si la Si la Puedes obtener más información sobre los posibles valores del modo de redondeo en la documentación de PHP. |
number_format(decimals="0", decimal_separator=".", thousands_separator=",") |
Da formato a un número con miles agrupados y dígitos decimales.
|
date(from_format="d.m.Y", format="d.m.Y", modify="") |
Formatea una cadena de fecha según el formato dado.
Sólo se admiten los siguientes modificadores: Más información sobre los modificadores de fecha en La documentación PHP. Por ejemplo, si deseas obtener la fecha en el formato "mes y fecha", puedes utilizar Resultado: 5 de enero.
|
date_time(from_format="d.m.Y H:i", format="d.m.Y H:i", modify="") |
Vuelve cuando se emite un valor de tipo
Modificadores admitidos: |
Otros Modificadores
phone(format="INTERNATIONAL") |
Formatea una cadena con un número de teléfono según el formato dado.
Las opciones de formato posibles son:
|
implode(separator=" ") |
Combina los elementos de un arreglo utilizando un
Por ejemplo, |
array_get(key="*.keyname") |
Devuelve un valor de un arreglo u objeto anidado utilizando la notación de punto, la cual es una forma de acceder a las propiedades de los objetos y a los valores de los arreglos. Un punto ( Por ejemplo, si necesitas obtener nombres de un arreglo, puedes usar |
array_length() |
Devuelve el número de elementos de un arreglo. Por ejemplo, puedes contar el número de palabras del mensaje de un cliente utilizando los siguientes modificadores:
Donde Puedes utilizar este modificador para contar el número de artículos pedidos o verificar si el cliente ha proporcionado credenciales válidas. Su nombre completo debe contener al menos 2 palabras. |
Características de Uso
Hablemos de posibles errores que pueden ocurrir al usar modificadores de variables y formas de combinar modificadores.
Puedes aplicar modificadores al elemento "Mensaje" en un flujo o campaña y todos los demás elementos donde puedes insertar y usar variables. Puedes obtener variables utilizando la función "Entrada de variable de usuario" o una respuesta a un elemento de "Solicitud de API".
Cuando estás llamando a una función modificadora y no requiere parámetros, se pueden omitir los corchetes "()".
Si un nombre de variable contiene }}
y |
símbolos, entonces deben escaparse con \}\}
y \|
en el nombre.
Si un valor de parámetro contiene }}
, |
y "
símbolos, deben escaparse con \}\}
, \|
y \"
. El valor del parámetro siempre se da en "" como una cadena.
Posibles Errores
Si un modificador no puede procesar una variable, la devuelve en la misma forma en que estaba antes de aplicar el modificador. Por ejemplo, si aplicamos el {{ name|phone(format="INTERNATIONAL") }}
a la variable de nombre = "Juan", obtenemos "Juan" como respuesta porque la variable no es un número de teléfono.
Si no se puede aplicar un modificador a una variable, el usuario no verá un error.
Los errores se muestran sólo si hay problemas con la sintaxis del modificador, no con los datos recibidos del usuario.
Combinación de Modificadores
Puedes combinar varios modificadores, por ejemplo:
{{variable_name|modifier_name1(parameter_name1="value",parameter_name2="value",parameter_name3="value",)|modifier_name2()|modifier_name_N()}}
Si quieres truncar la longitud de la cadena variable hasta 10 caracteres y luego convertir todos los caracteres de la cadena a mayúsculas, la expresión se verá así:
{{ String | str_limit(limit="10") | str_to_upper }}
Uso de Modificadores en el Generador de Chatbots
Puedes utilizar modificadores en los elementos de flujo descritos en la siguiente tabla.
El elemento "Mensaje" |
Agrega un modificador a tu elemento de texto para enviar el mensaje modificado. |
El elemento "Solicitud de API" |
Añade un modificador a tu campo de enlace o cuerpo de solicitud para enviar la solicitud modificada. |
El elemento "Acción" |
Agrega un modificador al campo de valor variable en la acción "Establecer variable" para almacenar la variable modificada. |
Te mostraremos algunos ejemplos de cómo utilizar modificadores en el generador de chatbot de SendPulse.
Ejemplo de Formato de Nombre de Suscriptor
Piensa en tu escenario de flujo. En nuestro ejemplo, recopilaremos comentarios de los visitantes, por lo que primero queremos obtener el nombre de nuestro invitado y luego darle la oportunidad de compartir su impresión.
Ve a tu flujo o créelo, agrega el elemento "Mensaje" y escribe tu texto donde se le pide al suscriptor que comparta sus datos personales. Habilita la opción de Esperar respuesta del suscriptor, y en el campo "Validar como", selecciona "Cadena" y escoge una variable.
Haz clic en Aplicar y agrega el siguiente elemento "Mensaje".
El suscriptor puede ingresar su nombre con una letra minúscula por error, pero queremos dirigirnos a él correctamente, por lo que usamos el str_title()
modificador de variable.
Así es como lo ve un suscriptor.
Ejemplo de Formato de Fecha
Piensa en un escenario en el que un visitante desea reservar una mesa para una fecha específica. Al mismo tiempo, el cliente debe recibir una confirmación de reserva después de seleccionar una fecha.
Agrega el elemento "Mensaje" y escribe tu texto donde le pides al suscriptor que comparta sus datos personales. Habilita la opción "Esperar respuesta del suscriptor". En el campo "Validar como", selecciona "Fecha" y escoge una variable.
Haz clic en Aplicar y agrega el siguiente elemento "Mensaje".
Queremos que la fecha de la reserva se muestre siempre en el mismo formato, por lo que agregamos {{ order_date | date(format="dmY") }}
modificador de variable.
Esta es la respuesta que recibirá el usuario cuando seleccione una fecha.
Creación de un enlace a Google Calendar Ejemplo
Si deseas ofrecerle a los usuarios la posibilidad de programar eventos en el calendario, puedes añadir franjas horarias disponibles mediante botones o respuestas rápidas o, bien, solicitarles su propia fecha y hora en el elemento "Mensaje".
Almacena el valor resultante en una variable de tipo "Fecha y hora".
Ahora, para obtener el enlace para crear una reunión en Google Calendar, añade la cadena a tu mensaje:
https://www.google.com/calendar/render?action=TEMPLATE&text={{title|urlencode()}}&dates={{booked_datetime|date_time(format="YmdTHi00", modify="-2 hours")}}Z%2F{{booked_datetime|date_time(format="YmdTHi00", modify="-1 hours")}}Z&ctz=Europe%2FKyiv
Donde title
es la variable de la audiencia del chatbot por el nombre de la reunión.
booked_datetime
es una variable para la fecha y hora seleccionadas del inicio de la reunión.
Ymd
es una fecha en formato año, mes y día sin espacios.
T
es un separador estático de fecha y hora.
Hi
son horas y minutos sin espacios
00
son segundos establecidos estáticamente.
La primera fecha y hora es la hora de inicio de la reunión ajustada a la zona horaria (-2 horas para la hora de Kiev). La segunda fecha es su hora de finalización, dentro de una hora.
Z
es el indicador de fecha en la zona horaria UTC
ctz=Europe%2FKyiv
es un puntero de la zona horaria en la que el Calendario genera la hora del evento.
Supongamos que el usuario especifica la fecha y la hora: "28.02.2023 11:00".
Y el chatbot genera un link como este:
https://www.google.com/calendar/render?action=TEMPLATE&text=%D0%9F%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F+%C2%ABUnidragon%C2%BB&dates=20230228T090000WITH%2F20230228T100000Z&ctz=Europe%2FKyiv
El enlace aparece en el cuadro de diálogo como parte del mensaje.
Tras hacer clic en el enlace, el usuario recibe en su calendario una plantilla prediseñada de la reunión.
Última actualización: 06.01.2025
o