Variables de Builder 17 de diciembre de 2024 11:06 Actualización Índice: Variables de contexto Variables de usuario Variables de configuración Variables del sistema Variables de servicio de Blip Desk Variables sensibles Al construir tu aplicación en Builder, es posible que necesites almacenar valores en variables. Esto es esencial para crear flujos condicionales o, simplemente, para almacenar/recuperar valores durante la interacción del usuario. En cualquier punto del flujo de la conversación, puedes recuperar el valor de cualquier variable definida previamente. En contrapartida, solo es posible almacenar valores en una variable en ubicaciones específicas de Builder, como: entrada de datos de los usuarios (en los bloques de control y contenido); resultados de solicitudes de API; resultado de ejecutar un script; pantalla de variables globales de configuración; Una variable de Builder se compone exclusivamente de una secuencia de caracteres alfanuméricos (mayúsculas o minúsculas) y no se permiten caracteres especiales. Todas las variables distinguen entre mayúsculas y minúsculas. Hay cuatro tipos de variables en Builder, hablaremos en detalle de cada una de ellas: Variables de contexto En una conversación entre dos o más personas, construimos inconscientemente un contexto. Por ejemplo: en un encuentro casual entre dos amigos, María y Juan, uno de ellos comienza a hablar de su perro. Al conocer a Juan, María: - Hola, Juan, ¿cómo estás? Juan rápidamente responde: - Hola, María, muy bien y tú. Estoy muy feliz, me regalaron un perro. Inmediatamente después del primer contacto, María comienza a hacerle preguntas a Juan sobre el perro que le regalaron. - Qué increíble Juan, ¿cómo se llama? Juan responde rápidamente: - Se llama Toto. Observa que, en el discurso de María, no hay una relación explícita entre la frase "¿cómo se llama?" y el perro de Juan. La relación entre el pronombre posesivo “suyo” y el perro de Juan es una información que obtenemos por el contexto de la conversación - los dos amigos saben que están hablando de Toto, el perro de Juan. Las variables de contexto permiten el almacenamiento/recuperación de valores relacionados con los temas discutidos entre el usuario y el bot. Es posible almacenar valores en una variable de contexto a través de la entrada del usuario y los contenidos HTTP, además de acciones de solicitud HTTP, ejecución de script, definición de variables y procesamiento de comandos. Para recuperar el valor de una variable de contexto, simplemente debes usar el siguiente patrón en cualquier punto del flujo de conversación: {{context.NombreVariable}} o tan solo {{NombreVariable}} donde: NombreVariable representa el nombre de la variable de contexto deseada. Variables de usuario Cada usuario que habla con un bot integrado en Blip tiene una cuenta (Contact). Contact es una estructura que almacena atributos (información) del usuario en función del canal (aplicación de mensajería) que utiliza. Por ejemplo: cualquier usuario de Facebook Messenger que haga contacto con tu bot posee información básica y pública, como el nombre y la URL de la foto de perfil definida en su cuenta. Las variables de usuario permiten utilizar cualquier información definida en la cuenta de los usuarios de forma sencilla. Para obtener detalles completos sobre cómo se almacena la información de contacto Blip, consulta la extensión del directorio en este enlace (https://docs.blip.ai/#directory). Para recuperar el valor de una variable de usuario, simplemente usa el siguiente patrón en cualquier punto del flujo de conversación: {{contact.NombreVariable}} donde: NombreVariable representa el nombre de la variable de contacto deseada. Si deseas enviar un mensaje de salutación o bienvenida con el nombre del usuario que está interactuando con tu bot, usa la variable {{contact.name}} para esto. Por ejemplo: "Hola, {{contact.name}}, ¡bienvenido!" La siguiente tabla presenta todas las variables de contacto disponibles en Blip y una descripción de lo que representan. Los valores y la disponibilidad de los datos dependen del canal del usuario. Nombre de las Variables Descripción name Nombre del contacto address Dirección del contacto city Ciudad del contacto email Email del contacto. source Nombre del canal del contacto. phoneNumber Número de teléfono del contacto. photoUri URI de la foto pública do contato. cellPhoneNumber Teléfono celular del contacto. gender Género del contacto timezone Timezone (huso horario) del contacto relativo al GMT. culture Infomación cultural del contacto (en formato IETF). extras JSON genérico para almacenar strings (clave y valor). identity La identidad del contacto en el formato name@domain. Propiedad obligatoria group Indica el nombre del grupo al que pertenece el usuario. * Observación: algunos canales no proporcionan ninguna información de contacto que no sea su identificador, definido por la variable {{contact.identity}}. Variables de configuración Las variables de configuración permiten almacenar valores de configuración de uso general. Imagina, por ejemplo, que el flujo de conversación realiza 10 acciones de solicitudes HTTP para la misma API de punto final https://minhaapi.com. En este escenario, es posible crear, por ejemplo, una variable de configuración de punto final con el valor https://minhaapi.com y reutilizar esta variable en las 10 acciones del flujo. En el caso de que tu dirección de API cambie, simplemente debes cambiar el valor de la variable. Para crear o cambiar el valor de cualquier variable de configuración, haz clic en la configuración de Builder, expande la opción Variables de Configuración[a] y agrega el nombre y valor de la variable (como se muestra en la imagen a continuación). Para recuperar el valor de una variable de configuración, simplemente usa el siguiente patrón, en cualquier lugar del flujo de conversación: {{config.NombreVariable}} donde: NombreVariable representa el nombre de la variable de configuración deseada. Variables del sistema Las variables del sistema le brindan mucha flexibilidad a quienes están desarrollando el bot. A través de ellas, es posible conocer información como los valores del calendario (fecha y hora), la última entrada del usuario, además de identificadores únicos, números y cadenas aleatorias. Para recuperar el valor de una variable del sistema, simplemente utiliza, en cualquier punto del flujo de conversación, uno de los siguientes patrones: {{nombre de la variable}} donde: NombreVariable representa el nombre de la variable de configuración deseada. Si deseas enviar un número aleatorio a un cliente que está interactuando con tu bot, usa la variable {{random.integer}} para esto. Por ejemplo: "Tu número aleatorio es: {{random.integer}}!" La siguiente tabla presenta todas las variables del sistema disponibles en Blip, además de una descripción de lo que representan. Nombre de la Variable Descripción application.domain Dominio en el que se ejecuta la aplicación del bot (generalmente 'msging.net') application.identifier Identificador único de la aplicación bot application.identity Identidad de la aplicación del bot (igual que 'identificador@dominio') application.instance La instancia del nodo de la aplicación bot application.node El nodo de la aplicación del bot (igual que 'identificador@dominio/instancia') calendar.datetime Fecha y hora actuales GMT-0 (MM/dd/aa HH:mm:ss). calendar.date Fecha actual GMT-0 (en formato aaaa-MM-dd). calendar.day Valor que representa el día del mes actual. calendar.month Valor que representa el mes actual. calendar.year Valor que representa el año actual. calendar.time Hora actual GMT-0 (en formato HH:mm). calendar.hour Valor que representa la hora actual. calendar.minute Valor que representa el minuto actual. calendar.second Valor que representa los segundos actuales. calendar.unixTime Fecha actual en formato Unix Timestamp calendar.unixTimeMilliseconds Fecha actual en formato Unix Timestamp (milisegundos). calendar.dayOfWeek Valor que representa el día de la semana actual (donde 0 es domingo y 6 es sábado). calendar.tomorrow.datetime Fecha de mañana y hora actual GMT-0 calendar.tomorrow.date Fecha de mañana GMT-0 calendar.tomorrow.day Valor que representa el día de mañana en el mes actual. calendar.tomorrow.month Valor que representa el mes de la fecha de mañana calendar.tomorrow.year Valor que representa el año de la fecha de mañana calendar.tomorrow.time Hora actual en la fecha de mañana GMT-0. calendar.tomorrow.hour Valor que representa la hora actual en la fecha de mañana calendar.tomorrow.minute Valor que representa el minuto actualizado en la fecha de mañana calendar.tomorrow.second Valor que representa los segundos actualizados en la fecha de mañana. calendar.tomorrow.unixTimeMiliseconds La fecha de mañana en formato Unix Timestamp (milisegundos) calendar.tomorrow.unixTime La fecha de mañana en formato Unix Timestamp calendar.tomorrow.dayOfWeek Valor que representa el día de la semana de la fecha de mañana (donde 0 es el domingo y 6 es sábado) calendar.yesterday.datetime Fecha de ayer y hora actual GMT-0 calendar.yesterday.date Fecha de ayer GMT-0 calendar.yesterday.day Valor que representa el día de ayer en el mes actual calendar.yesterday.month Valor que representa el mes de la fecha de ayer calendar.yesterday.year Valor que representa el año de la fecha de ayer calendar.yesterday.time Hora actual en la fechad de ayer GMT-0 calendar.yesterday.hour La hora actual en la fecha de ayer calendar.yesterday.minute El minuto actual en la fecha de ayer calendar.yesterday.second Segundos actualizados en la fecha de ayer calendar.yesterday.unixTime Fecha de ayer en formato Unix timestamp calendar.yesterday.unixTimeMiliseconds Fecha de ayer en formato de unix timestamp (milisegundos) calendar.yesterday.dayOfWeek Valor que representa el día de la semana a partir de la fecha de ayer (donde 0 es domingo y 6 es sábado) input.content Contenido del mensaje enviado por el usuario input.entity.?.id Identificador de la entidad reconocida (donde el signo ? debe reemplazarse por el nombre de la entidad) input.entity.?.name Nombre de la entidad reconocida (donde el signo ? debe reemplazarse por el nombre de la entidad) input.entity.?.value Valor de la entidad reconocida (donde el signo ? debe reemplazarse por el nombre de la entidad) input.entity.?.name Nombre de la entidad reconocida (donde el signo ? debe reemplazarse por el nombre de la entidad) input.intent.id Identificador de intención reconocida input.intent.name Nombre de la intención reconocida input.intent.score Confiabilidad vinculada a la intención reconocida input.intent.answer Una de las respuestas vinculada a la intención reconocida input.length Cantidad de contenidos en el mensaje enviado por el usuario input.type Tipo de mensaje enviado por el usuario input.message Sobre de mensaje recibido por el bot input.message.from Nodo originador del mensaje recibido input.message.fromidentity Identidad del originador del mensaje recibido input.message.id ID del mensaje recibido input.message.pp Nodo del originador del mensaje recibido, en caso de mensajes delegados input.message.ppidentity Identidad del autor del mensaje recibido, en el caso de mensajes delegados input.message.to Nodo receptor del mensaje recibido (generalmente el nodo de la aplicación del bot) input.message.toidentity Identidad del destinatario del mensaje recibido (generalmente la identidad de la aplicación bot) random.guid Identificador alfanumérico único random.string Conjunto de caracteres (string) aleatorios random.integer Número entero aleatorio calendar.plus/minus 12345 (milisseconds seconds minutes hours days weeks months years dayOfWeek) Funciones de manipulación de fecha disponibles state.id ID de bloque actual en flujo state.name Nombre del bloque actual en el flujo state.previous.id ID de bloque anterior en el flujo state.previous.name Nombre del bloque anterior en el flujo tunnel.destination Destinatario del túnel, que suele ser la identidad de la aplicación del bot. Disponible solo para mensajes de túnel (reenviado por un enrutador, por ejemplo). tunnel.identity Identidad del túnel. Disponible solo para mensajes de túnel (reenviado por un enrutador, por ejemplo). tunnel.originator Nodo originador del túnel, que es el identificador del cliente en el propietario del túnel. En un enrutador, es el identificador original del cliente. Disponible solo para mensajes de túnel (reenviado por un enrutador, por ejemplo). tunnel.owner Identidad del propietario del túnel. En un enrutador, es la identidad de la aplicación del enrutador. Disponible solo para mensajes de túnel (reenviado por un enrutador, por ejemplo). Observación: las variables del sistema son únicamente de lectura Variables de servicio de Blip Desk Las variables de asistencia de Blip Desk se pueden utilizar en respuestas listas para presentar información inherente al asistente. Por tanto, es posible conocer el nombre completo, email, identidad y número de teléfono del asistente. Descubre cómo aplicar estas variables en el artículo utilizando variables en las respuestas listas[b] para Blip Desk. Nombre de la Variable Descripción agent.identity La identidad del agente en el formato nombre@dominio. agent.fullName El nombre del agente. agent.email El email del agente agent.phoneNumber El teléfono del agente. agent.firstName Solo el primer nombre del agente [a]Padronizar [b]https://help.blip.ai/docs/en/helpdesk/blipdesk/utilizando-variav-respostas Variables sensibles Las variables sensibles permiten almacenar valores secretos para su uso en Builder. Imaginemos, por ejemplo, que en el flujo de conversación es necesario realizar una petición HTTP a una API en la que es necesario enviar un token de acceso. En este escenario, es posible crear, por ejemplo, una variable sensible con el nombre Token y el valor del token deseado y reutilizar esta variable en solicitudes de flujo. Luego de crear la variable, sus valores se suprimen para mayor seguridad de los datos. Si solo desea cambiar el valor, ingréselo nuevamente en el campo designado. Si desea cambiar el nombre de la clave, ajuste el nombre y también vuelva a ingresar el valor deseado. Para crear o cambiar el valor de cualquier variable sensible, haga clic en la configuración del generador, expanda la opción Variables sensibles y agregue el nombre y el valor de la variable (como se muestra en la imagen a continuación). Para utilizar información confidencial en el flujo, utilice: {{secret.nomeVariavel }} Dónde: variablename representa el nombre de la variable sensible deseada. Para obtener más información, acceda a la discusión sobre el tema en nuestra comunidad o los videos en nuestro canal. 😃 Artículos relacionados Envío de mensajes activos de WhatsApp en Blip Desk Condiciones de salida del Builder Cómo usar variables en las respuestas rápidas de Blip Desk Mensajes activos - Códigos de error Configuración del archivo de audiencia - Envío masivo de notificaciones