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.
Cadenas
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.
|
implode(separator="") |
Combina los elementos de una matriz de cadena
{{ $["list"] | implode(separator=", ") }} muestra datos separados por comas de una matriz obtenida como resultado de una solicitud de datos externa. |
array_get(key="*.keyname") |
Recupera un valor de una matriz u objeto anidado utilizando la notación de puntos, que es un forma de acceder a las propiedades del objeto y los valores de la matriz. Un punto ( Por ejemplo, si necesitas obtener nombres de una matriz, puedes usar |
{{str|match(pattern="/.*some(regex).*/")}} |
Genera la cadena correspondiente a la expresión.patrón. Si la expresión regular contiene un grupo Por ejemplo, para extraer una parte del enlace Resultado: |
{{str|match_all(pattern="/.*(some)\s(regex).*/")}} |
Genera una matriz de cadenas correspondientes al patrón de expresión. Si la expresión regular contiene matrices, genera una matriz de grupos. Por ejemplo, para extraer una parte del enlace Resultado: |
{{str| explode(separator="/")}} |
Divide la cadena en una matriz usando un separador. Por ejemplo, para dividir la cadena Resultado: |
{{str| substr(start="", length="")}} |
Genera una cadena que comienza desde el carácter especificado con la longitud especificada. Por ejemplo, para generar una parte del enlace Resultado: |
{{str | preg_replace()}} |
Reemplaza determinados elementos de texto que coinciden con un patrón específico por la cadena indicada. Puedes utilizar esta función para sustituir o eliminar texto automáticamente en grandes bases de datos.
La función se aplica directamente a una cadena ( Por ejemplo, si tu cadena de entrada es |
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(formig-fix-handle_api_exceptionat="INTERNATIONAL") |
Formatea una cadena con un número de teléfono según el formato dado.
Las opciones de formato posibles son:
|
urlencode() |
Devuelve una cadena donde todos los caracteres no alfanuméricos, excepto para guiones ( El modificador se puede usar para pasar los valores recibidos del suscriptor a la solicitud de API, por ejemplo, como un parámetro de obtención. |
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: 30.08.2024
o