Principales variables

En esta sección sabrás más sobre las principales variables de la plataforma Botmaker.

Principales variables

A continuación, presentamos una lista de las principales variables disponibles en la plataforma, con una breve explicación de cada una.

  • isOpenNow: con valores true ó false, indica si el bot responderá en horario de atención o no;

  • operatorsConnectedQty: cantidad de operadores conectados;

  • chatPlatform: plataforma en la que está ocurriendo la conversación, puede ser "messenger", "webchat", "skype", etc;

  • isWebChatMobile: si el usuario está conversando a través de un WebChat mobile;

  • isSubscribe: con valores true ó false, indica si el usuario está inscripto para recibir pushes;

  • lastSeen: última vez que el usuario vio;

  • lastUserSentence: último mensaje del usuario;

  • lastBotSentence: última mensaje del bot;

  • ruleCountInSession: cuantas veces fue disparada una intención en la sesión;

  • thisWasLastIntentToRun: esta fue la última intención ejecutada.

Otras variables

  • currentDay: día actual.

  • currentMonth: mes actual.

    currentYear: año actual.

  • currentHour: hora actua.

  • businessName: nombre del bot.

  • dayForBusiness: día de la semana para la empresa.

  • dayForUser: día de la semana para el usuario (por si este escribe desde un lugar con otro horario).

  • timesOnlineToday: muestra el rango horario de apertura del día de hoy.

  • dau: verdadero si el usuario es activo en el último día.

  • wau: verdadero si el usuario es activo en la última semana.

  • mau: verdadero si el usuario es activo en el último mes.

  • agentSpoke: si el operador ha hablado en la sesión.

  • agentSpokeLast: si el último que ha hablado en la sesión es el operador.

  • scheduleRuledTime: verdadero si el usuario es activo en el último día.

  • messageDate: fecha del mensaje.

  • messageTimeUser: fecha y hora del mensaje de acuerdo al uso horario del usuario.

  • messageTimeBusiness: fecha y hora del mensaje de acuerdo al uso horario del bot.

  • businessAdress: dirección del negocio.

  • lastName: apellido del usuario (disponible en ciertas plataformas o integraciones).

  • queueID: ID de la cola de atención.

  • fullName: nombre completo do usuario.

    usersHasTalked: indica si el usuario alguna vez envió un mensaje.

  • lastIntentId: ID de la última intención que se disparó durante la conversación.

  • random: variable que puede tomar un valor entre 0 y 1.

  • thisWasTheLastIntentToRun: indica si la intención actual fue la última en ejecutarse.

  • ruleRunInSession: indica si la intención se ejecutó alguna vez en esta sesión.

  • queuePriority: usada para atribuir prioridad a una cola de atención.

  • channelDisplayName: nombre de la fan page donde está conectado el chatbot en Messenger.

  • channelWebId: el id interno del webchat

    currentCodeAccion: permite ver cuál es la acción de código que falló en la intención “Problema al ejecutar Acciones de Código”.

  • operatorsQueueQty: cantidad de operadores en la cola de atención.

  • operatorID: cuando está variable tiene datos es porque la conversación está asignada a un operador.

  • operatorName: nombre del operador.

  • operatorGroup: indica el grupo del operador actual.

  • Pod: es interno

  • hasLinkedCustomers: indica si el usuario tiene un usuario en otra plataforma asociado.

  • Attachments: indica cuáles son los adjuntos del último mensaje (imágenes, audios, videos, etc).

  • audioURL: URL de un audio.

  • imageURL: URL de una imagen.

  • videoURL: URL de um video.

    fileURL: URL de un archivo.

  • todayOpenHours: indica las horas de apertura del día

    Country: país.

  • lastRuleQuestionIdFiled: es interno, parte del feature de slot filling.

  • userIdOnBusiness: sólo disponible en ciertas integraciones, es el id del usuario en la base de datos cliente.

  • messengerReFerral: URL del referral.

    lastSlotFillingIntent: es interno, parte del feature de slot filling.

  • lastRuleItemId: el id de la última intención.

  • lastLockTime: el último timestamp en que se asignó el usuario a un operador.

  • webChatHostURL: la URL de la web donde está ubicado el webchat.

  • webChastHostDomain: el dominio de la web donde está ubicado el webchat.

  • ipAddress: Dirección de IP.

  • messengerType: muestra el tipo del Ad que dió apertura a la conversación.

  • firstName: primer nombre del usuario (útil solamente para Facebook Messenger).

  • webId: el id interno del webchat

    messengerSource: muestra la fuente del Ad que dió apertura a la conversación.

  • connectionStatus: si el webchat está online u offline.

  • lastUserMessageID: ID del último mensaje del usuario.

  • webChatHostReferrer: la URL de la web anterior que refirió al webchat.

  • Gender: género del usuario (los valores son male/female)

  • Locale: el lenguaje localizado del usuario en Messenger.

  • customerId: ID del user. Varía de acuerdo con el canal.

    Lang: el lenguaje del usuario en Messenger.

  • chatChannelId: es la variable que se refiere al número de la línea de WhatsApp Enterprise.

  • webChatHostPageTittle: el título de la página web donde se está viendo actualmente el WebChat (básicamente el nombre de la pestaña de Chrome/Firefox/etc).

  • previousUserSentence: muestra el mensaje anterior del usuario.

  • webChatCountry: muestra el país del webchat basado en su IP.

  • messengerAdId: muestra el nombre del Ad que dió apertura a la conversación.

  • platformContactId: es una cadena alfanumérica que representa unívocamente al Customer dentro del contexto de un mismo bot; salvo para el caso de WhatsApp donde es una combinación entre ChatChannel (la línea de WhatsApp del cliente) y este valor (platformContactId).

    Ejemplos platformContactId:

    messenger: 2094465263950859

    whatsapp: 5491150545598

    webchat: OX7TNDC421-5268763SJ7URRTV5R00WQV84MB0

  • lastRuleBuilder: muestra el nombre de la regla

    beforeLastIntentId: muestra el nombre de la intención anterior.

  • webChatHostHREF: muestra la página donde está situado actualmente el webchat.

  • lastAgentToSpeak: cuando el operador fue el último en escribir.

Funciones

  • json: transforma un texto tipo JSON a un objeto de freemarker.

    ${json('{a:null}').a} // null
  • isEmpty: evalúa si el parámetro es vacío o nulo y devuelve un valor booleano.

    ${isEmpty('')?then('s','n')} // 's'
    ${isEmpty(null)?then('s','n')} // 's'
  • getOrDefault: devuelve el primer parámetro pasado salvo que sea vacío o nulo, en tal caso retorna el segundo parámetro.

    ${getOrDefault(null,'default')} // 'default' 
    ${getOrDefault('','default')} // 'default'
  • fromDateTimeToDateISO: convierte la fecha al formato ISO (YYYY-MM-DDTHH:MM:SS), útil si la fecha está incompleta (por ejemplo, sin especificar hora, minuto y segundo).

    ${fromDateTimeToDateISO('13-12-2018')} // '2018-12-12T00:00:00.000Z'
  • today: devuelve la fecha actual en formato ISO.

    ${today()} // 2020-02-12T00:00:00.000Z
  • todayAddDays: opera de la misma forma que el método "today" pero agregando días; el parámetro debe ser un entero, si el signo es negativo, resta esa cantidad de días.

    ${todayAddDays(1)} // 2020-02-13T00:00:00.000Z
    ${todayAddDays(-1)} // 2020-02-11T00:00:00.000Z
  • shortenURL: acorta la URL a una cadena de texto de reducida longitud con prefijo "botm.cc/"

  • timeDiff: devuelve "1" si la diferencia en horas, minutos o segundos es mayor o igual al último parámetro especificado, caso contrario devuelve "0". Recibe cinco parámetros. El uso es el siguiente: timeDiff(horaMinutosSegundos, offset horario, formato, h/m/s, valor a comparar contra la diferencia calculada) Ayuda: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

    ${timeDiff('10:00:00', '-3', 'HH:mm:ss', 'h', '3')} // '0'
    ${timeDiff('10:00:00', '-3', 'HH:mm:ss', 'm', '83')} // '1'
    ${timeDiff('10:00:00', '-3', 'HH:mm:ss', 's', '93')} // '1'

    Ejemplos:

    • Mensajero: 2094465263950859

    • WhatsApp: 5491150545598

    • Chat Web: OX7TNDC421-5268763SJ7URRTV5R00WQV84MB0

Last updated