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: |
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:
|
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: |
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