Campo (variable)
TIP: antes de la introducción detallada de cada step, veamos qué es un field o variable en OneChat. Puede tomarte un momento, pero es esencial para entender mejor el sistema.
Un field, también conocido como variable, es un contenedor que almacena un valor.
| Clasificación | Descripción |
| --- | --- |
| system field y custom field | un system field lo crea el sistema con nombre de variable y tipo predefinidos, mientras que un custom field lo defines tú |
| bot field y user field | un bot field se comparte en todo el bot, mientras que cada usuario tiene su propio conjunto de user fields |
| text field, number field, boolean field, date field, datetime field y JSON field | consulta Variable Type |
User Field
Un user field pertenece a los usuarios. Por ejemplo, cada usuario tiene su propio nombre y dirección de email. Por eso "name" y "email" son user fields.
Bot Field
Un bot field pertenece al bot. Por ejemplo, un bot de restaurante almacena la dirección y el número de contacto del restaurante. Por eso "restaurant_address" y "restaurant_contact" deberían crearse como bot fields. No querrás gestionar direcciones o contactos diferentes del restaurante para cada usuario.
System Field
Un system field es creado por el sistema con nombre de variable y tipo de variable predefinidos. Existen system bot fields y system user fields:
Algunos system fields solo existen en canales específicos. Revisa la tabla a continuación para saber cómo editar system fields:
| Nombre del campo | FieldType | VariableType | Descripción | Cómo editar |
| --- | --- | --- | --- | --- |
| User Ns | user field | text | identificación del usuario en OneChat | no editable |
| User Id* | user field | text | identificación del usuario desde el canal | no editable |
| First Name | user field | text | información del perfil | en Question Step/Action Step |
| Last Name | user field | text | información del perfil | en Question Step/Action Step |
| User Name | user field | text | información del perfil | en Action Step |
| Gender | user field | text | información del perfil | en Action Step |
| Email | user field | text | información del perfil | en Question Step/Action Step |
| Phone | user field | text | información del perfil | en Question Step/Action Step |
| Profile Image | user field | text | información del perfil | en Question Step |
| Locale | user field | text | información del perfil | no editable |
| Timezone | user field | text | información del perfil | no editable |
| Language | user field | text | información del perfil | en Action Step |
| Subscribed | user field | datetime | hora de suscripción | no editable |
| Last Text Input | user field | text | última entrada del usuario | editado por el sistema |
| Last Interaction | user field | datetime | hora de la última acción | editado por el sistema |
| Last Button Title | user field | text | último botón presionado | editado por el sistema |
| Flow Ns | bot field | text | identificación del flow o bot en OneChat | no editable |
| Sub Flow Ns | bot field | text | identificación del sub flow en OneChat | no editable |
| Page Name | bot field | text | nombre de la página de Facebook conectada | no editable |
| Page Id | bot field | text | id de la página de Facebook conectada | no editable |
| Page User Name | bot field | text | username de la página en Facebook | no editable |
| Last FB Comment | user field | text | último texto comentado por el usuario en la página de Facebook | editado por el sistema |
| Last FB Comment Post Id | user field | text | id del post donde el usuario hizo el último comentario | editado por el sistema |
| Last FB Comment total tagged users | user field | number | cantidad de usuarios etiquetados en el último comentario | editado por el sistema |
| Last FB Comment total new tagged users | user field | number | cantidad de usuarios etiquetados que todavía no se han suscrito al bot | editado por el sistema |
| Last FB Comment is existing users | user field | number | antes de este comentario, ¿era un usuario existente? yes=1, no=0 | editado por el sistema |
| Live Chat Url | user field | text | para que el agente visite y hable con el usuario en live chat | editado por el sistema |
| NOW | user field | datetime | hora actual en la zona horaria del usuario* | editado por el sistema |
| TODAY | user field | date | fecha actual en la zona horaria del usuario* | editado por el sistema |
| BOT_CURRENT_TIME | bot field | datetime | fecha y hora actuales en la zona horaria del workspace | editado por el sistema |
| ITEM | user field | array (JSON) | cada item dentro de un JSON | en mensaje "For Each" |
| SELECT | user field | array (JSON) | item seleccionado | en el nuevo step "Select" |
| SHOP | bot field | array (JSON) | información de la tienda | en Ecommerce Integration |
| CART | user field | array (JSON) | carrito de compras del usuario | en Action Step |
| ORDER | user field | array (JSON) | último pedido del usuario | editado por el sistema |
| User | user field | array (JSON) | perfil del usuario | editado por el sistema según otros valores del perfil |
| DialogFlow | user field | array (JSON) | respuesta de DialogFlow | editado por el agente de DialogFlow |
Nota: si el canal no soporta zona horaria en el perfil del usuario, o si el canal la soporta pero el usuario no tiene un valor de zona horaria, se usará la zona horaria del workspace.
User Id en diferentes canales
| Canal | Significado | Valor de ejemplo |
| --- | --- | --- |
| Facebook | ID único en tu página de Facebook | 6288386817841812 |
| Instagram | ID único en tu bot de Instagram | 6570462892993643 |
| Telegram | ID único en tu bot de Telegram | 1173717756 |
| Slack | ID único en tu workspace de Slack | U017MKNENH |
| WeChat | ID único en tu cuenta de WeChat | oNzS3wpEjnA3tXmOcNxpqtAnBwWg |
| WhatsApp | número telefónico del usuario sin + | 61412345678 |
| SMS | número telefónico del usuario | +61412345678 |
| Voice | número telefónico del usuario | +61412345678 |
| Google | Conversation Id desde Google | 8095938e-90cf-4347-ab94-9224308672b0 |
| Line | ID único en tu bot de Line | Ub02c77c69c59c5be5597d58ce2701ebe |
| Viber | ID único en tu bot de Viber | mdY9hOWdeQC6J/Sl19Qh8A== |
| Vk | ID único en tu bot de Vk | 705862439 |
| Tiktok | ID único en tu bot de TikTok | 14b9d453a3dcbdc6ff6acfebe6a9588a |
Nota: el ID único del canal solo es único dentro de tu página de Facebook, bot de Telegram, workspace de Slack o cuenta de WeChat, no es el ID único en todo Facebook, Slack, etc.
Tipo de variable
Hay 6 tipos de variable en OneChat:
| Tipo | Almacenamiento | Ejemplo | Operaciones soportadas |
| --- | --- | --- | --- |
| Text | letras, palabras, frases... | Hi, OneChat. | cortar, cambiar mayúsculas/minúsculas, encode, decode... |
| Number | números | 123.45 | + - x /, mod, power, log, root, round... |
| Boolean | "1" o "0", para true o false | 1 | asignar |
| Date | fecha | 2021-03-30 | formatear, agregar meses/semanas/días |
| DateTime | fecha y hora | 2022-01-01T12:00:00+10:00 | formatear, agregar meses/semanas/días/horas/minutos |
| JSON (array) | una serie de variables | {"name":"Jack", "age":"20"} | cargar, obtener, actualizar, eliminar, contar, sumar, promediar, ordenar, mezclar, invertir... |
Valor booleano
Cuando estos valores se almacenan en el campo, el boolean devuelve false; de lo contrario devuelve true:
- empty
- null
- 'false'
- false
- 'no'
- 0
Crear Custom Field
Muy bien, ahora ya dominas los fields. Probémoslo.
Puedes crear variables de 2 formas:
| Lugar | Tipo soportado |
| --- | --- |
| en la sección Contents | user field y bot field |
| en cualquier lugar donde necesites mapear un resultado a una variable, por ejemplo Question step, Integration, etc. | solo user field |
Crear Custom Field en la sección Contents
TODO_IMAGE[image-20220703-045443.png]: revisar imagen desde Confluence.
- Ve a Contents desde la barra lateral izquierda.
- Selecciona User Fields o Bot Fields.
- Haz clic en + User Field, o + Bot Field, ingresa el nombre del campo y elige el Type. Opcionalmente agrega una Description y asígnalo a un Folder, luego haz clic en Save. Para Bot Fields también puedes definir un Value y Sample values.
TODO_IMAGE[image-20220703-045501.png]: revisar imagen desde Confluence.
Haz clic en el botón azul "+ New User/Bot Field" del lado derecho para crear un campo. "Field Name" es obligatorio. Puedes usar cualquier carácter para separar palabras, como guion bajo o espacio. Sugerimos mantener el nombre del campo lo más conciso posible para evitar problemas de visualización.
Después, elige un tipo de variable. Agrega un valor predeterminado o descripción si es necesario. El valor predeterminado aplica solo para bot fields.
Las carpetas pueden usarse para organizar variables. Créeme, lo necesitarás cuando tu flow crezca.
Crear Custom Field en Question y Action Step
Para crear nuevos campos, por ejemplo en el question step:
TODO_IMAGE[image-20220703-045557.png]: revisar imagen desde Confluence.
Escribe un nuevo nombre de variable en el cuadro "Enter Field Name" y selecciónalo en la lista desplegable. Elige el tipo de variable correspondiente y listo.
TODO_IMAGE[image-20220703-045623.png]: revisar imagen desde Confluence.
Otro ejemplo: crear un campo en una integración:
TODO_IMAGE[image-20220703-045643.png]: revisar imagen desde Confluence.