Interacciones NodeJS

A veces queremos realizar llamadas a APIs externas desde nuestro Bot, para ello utilizaremos las interacciones de tipo NodeJS desde Wannabot.

Las interacciones de tipo NodeJS se ejecutan en un entorno seguro, completamente aislado del resto del API.

Este tipo de interacción brinda una consola de escritura y edición de código Javascript ES6, en la cual vienen precargadas varias herramientas para interactuar con APIs externas:

Librerías

Librería NPM

URL

Descripción

Request

Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.

Request Promise

The simplified HTTP request client 'request' with Promise support. Powered by Bluebird.

Lodash

A modern JavaScript utility library delivering modularity, performance, & extras

Además, tendremos acceso a las siguientes variables:

Variables

Nombre

Tipo

Descripción

session_id

string

Hace referencia a la ID de la conversación actual

session

Object

Es el objeto que almacena las variables de sesión y que tiene la siguiente estructura: { "customer": {"name", "surnames", "full_name", "email", "phone", "address", "image"} }

bot

Object

Es el objeto que almacena información sobre el Bot sobre el que se está ejecutando la sesión, y que tiene la siguiente estructura:

{ "_id", "bot_type" }

user_response

string

(No disponible en modo debug) Respuesta del usuario al bot, sólo si la respuesta es a ésta interacción, es decir, si no proviene de otra interacción.

global_vars

Object

Es el objeto que almacena el contenido de las variables globales que vamos almacenando durante la conversación. Se puede acceder al valor de cada variable global a través de: global_vars[nameOfGlobalVar] lo que devolverá un objeto con una estructura: { "text", "value" }

agent

Object

Es el objeto que almacena los datos del Agente con el cual ha sido publicado el Bot con el cual el usuario está manteniendo la conversación.

end

Function

Es la función a la que hay que llamar una vez hayamos terminado de procesar nuestro código, o de lo contrario el resultado nunca será procesado.

Es obligatorio la llamada de la función end() una vez hayamos terminado de procesar nuestro script de NodeJS, o de lo contrario la interacción generará un error de timeout

Last updated