Fields y variables

CONSEJO

Antes de entrar en el detalle de cada paso, conviene entender qué es un field (una variable) en GoChat. Te va a llevar un momento, pero es clave para entender el resto del sistema.

Un field, o variable, es un contenedor que guarda un valor.

Clasificación

Descripción

system field y custom field

el system field lo crea el sistema, con nombre y tipo predefinidos; el custom field lo defines tú

bot field y user field

el bot field es compartido por 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

mira los tipos de variable

User field

El user field pertenece a cada usuario. Por ejemplo, cada persona tiene su nombre y su correo, así que “name” y “email” son user fields.

Bot field

El bot field pertenece al bot. Por ejemplo, el bot de un restaurante guarda la dirección y el teléfono del local, así que “restaurant_address” y “restaurant_contact” van como bot fields. No tendría sentido administrar una dirección distinta por cada usuario.

System field

El system field lo crea el sistema, con nombre y tipo de variable predefinidos. Hay system bot fields y system user fields.

Algunos system fields solo existen en ciertos canales. En esta tabla está cómo se edita cada uno:

Nombre del fieldTipo de fieldTipo de variableDescripciónCómo se edita
User Nsuser fieldtextidentificación del usuario en GoChatno editable
User Id*user fieldtextidentificación del usuario en el canalno editable
First Nameuser fieldtextdato de perfilen Question Step o Action Step
Last Nameuser fieldtextdato de perfilen Question Step o Action Step
User Nameuser fieldtextdato de perfilen Action Step
Genderuser fieldtextdato de perfilen Action Step
Emailuser fieldtextdato de perfilen Question Step o Action Step
Phoneuser fieldtextdato de perfilen Question Step o Action Step
Profile Imageuser fieldtextdato de perfilen Question Step
Localeuser fieldtextdato de perfilno editable
Timezoneuser fieldtextdato de perfilno editable
Languageuser fieldtextdato de perfilen Action Step
Subscribeduser fielddatetimemomento de la suscripciónno editable
Last Text Inputuser fieldtextúltima entrada del usuariolo edita el sistema
Last Interactionuser fielddatetimemomento de la última acciónlo edita el sistema
Last Button Titleuser fieldtextúltimo botón presionadolo edita el sistema
Flow Nsbot fieldtextidentificación del flow (bot) en GoChatno editable
Sub Flow Nsbot fieldtextidentificación del sub-flow en GoChatno editable
Page Namebot fieldtextnombre de la página de Facebook conectadano editable
Page Idbot fieldtextid de la página de Facebook conectadano editable
Page User Namebot fieldtextnombre de usuario de la página en Facebookno editable
Last FB Commentuser fieldtexttexto del último comentario del usuario en la página de Facebooklo edita el sistema
Last FB Comment Post Iduser fieldtextid de la publicación donde dejó el último comentariolo edita el sistema
Last FB Comment total tagged usersuser fieldnumbercantidad de usuarios etiquetados en el último comentariolo edita el sistema
Last FB Comment total new tagged usersuser fieldnumbercantidad de usuarios etiquetados que todavía no son suscriptores del botlo edita el sistema
Last FB Comment is existing usersuser fieldnumberantes de este comentario, ¿ya era usuario? sí=1, no=0lo edita el sistema
Live Chat Urluser fieldtext(para el agente) enlace para hablar con el usuario en el live chatlo edita el sistema
NOWuser fielddatetimehora actual en la zona horaria del usuario*lo edita el sistema
TODAYuser fielddatefecha actual en la zona horaria del usuario*lo edita el sistema
BOT_CURRENT_TIMEbot fielddatetimefecha y hora actual en la zona horaria del workspacelo edita el sistema
ITEMuser fieldarray (JSON)cada elemento de un JSONen el mensaje “For Each”
SELECTuser fieldarray (JSON)elemento seleccionadoen el paso “Select”
SHOPbot fieldarray (JSON)información de la tiendaen la integración de e-commerce
CARTuser fieldarray (JSON)carrito del usuarioen Action Step
ORDERuser fieldarray (JSON)último pedido del usuariolo edita el sistema
Useruser fieldarray (JSON)perfil del usuariolo edita el sistema según el resto de los datos de perfil
DialogFlowuser fieldarray (JSON)respuesta de DialogFlowlo edita el agente de DialogFlow

*Nota

Si el canal no guarda la zona horaria en el perfil del usuario, o la guarda pero esa persona no tiene ninguna cargada, se usa la zona horaria del workspace.

El User Id en cada canal

CanalQué significaValor de ejemplo
FacebookId único en tu página de Facebook6288386817841812
InstagramId único en tu bot de Instagram6570462892993643
TelegramId único en tu bot de Telegram1173717756
SlackId único en tu workspace de SlackU017MKNENH
WeChatId único en tu cuenta de WeChatoNzS3wpEjnA3tXmOcNxpqtAnBwWg
WhatsAppTeléfono del usuario sin el +61412345678
SMSTeléfono del usuario+61412345678
VoiceTeléfono del usuario+61412345678
GoogleConversation Id de Google8095938e-90cf-4347-ab94-9224308672b0
LineId único en tu bot de LineUb02c77c69c59c5be5597d58ce2701ebe
ViberId único en tu bot de VibermdY9hOWdeQC6J/Sl19Qh8A==
VkId único en tu bot de Vk705862439

Nota

Ese id único del canal es único dentro de tu página de Facebook, tu bot de Telegram, tu workspace de Slack o tu cuenta de WeChat, no dentro de todo Facebook o todo Slack.

Tipos de variable

En GoChat hay 6 tipos de variable:

TipoQué guardaEjemploOperaciones soportadas
Textletras, palabras, oracionesHola, GoChat.recortar, cambiar mayúsculas, codificar, decodificar
Numbernúmeros123.45+ - x ÷, módulo, potencia, logaritmo, raíz, redondeo
Boolean”1” o “0”, verdadero o falso1asignar
Datefecha2021-03-30dar formato, sumar meses, semanas o días
DateTimefecha y hora2022-01-01T12:00:00+10:00dar formato, sumar meses, semanas, días, horas o minutos
JSON (array)una serie de variables{“name”:“Jack”, “age”:“20”}cargar, obtener, actualizar, quitar, contar, sumar, promediar, ordenar, mezclar, invertir

Valores booleanos

Con estos valores guardados en el field, el booleano devuelve falso. Con cualquier otro, verdadero:

  • vacío
  • null
  • ‘false’
  • false
  • ‘no’
  • 0

Crear un custom field

Con esto ya dominas el tema de los fields. Vamos a la práctica.

Hay 2 formas de crear variables:

DóndeTipos soportados
en la sección Contentsuser field y bot field
en cualquier lugar donde mapees un resultado a una variable: Question step, integraciones y demássolo user field

Crear un custom field desde la sección Contents

question

  1. ve a Contents en la barra lateral izquierda
  2. elige User Fields o Bot Fields
  3. usa carpetas para organizarlos si te hace falta

question

Haz clic en el botón azul + New User/Bot Field de la derecha para crear uno. El Field Name es obligatorio. Puedes separar las palabras con guion bajo o espacio. Conviene que el nombre sea lo más corto posible, para evitar problemas de visualización.

Después elige el tipo de variable. Si hace falta, agrega un valor por defecto o una descripción (el valor por defecto es solo para bot fields).

Las carpetas sirven para organizar variables. Cuando el flow crezca, las vas a necesitar.

Crear un custom field en un Question Step o un Action Step

Para crear un field nuevo, por ejemplo en un question step:

question

Escribe el nombre de la variable nueva en el cuadro Enter Field Name y haz clic en él dentro del desplegable. Elige el tipo de variable y listo.

question

Otro ejemplo, creándolo desde una integración:

question

×
¡Hola! 👋

¿Cómo podemos ayudarte hoy?

Escribe un mensaje primero.