Academy – Plataforma Centribal

Plataforma Centribal

ACADEMY

Te damos la bienvenida al espacio de aprendizaje de nuestra plataforma

image_pdf

LLAMADAS API-REST

image_pdf

Plataforma Centribal nos permitirá utilizar APIs externas para hacer peticiones de información y poder devolver la misma al usuario en el chatbot.

Entre los casos de uso que actualmente tenemos, podemos solicitar información o status de envíos del producto, información relevante a una referencia o stock de productos, entre otras.

Esto ayuda a que el chatbot tenga una capacidad dinámica para dar información relevante y no solo un flujo conversacional.

Por ahora estamos limitados a peticiones de una vía, pero más adelante podremos hacer peticiones de dos vías, según se vayan desarrollando nuevas funciones.

Para poder utilizar las llamadas a API es necesario conocer un poco el léxico que usaremos.

Como primer concepto necesitamos conocer cómo generar las variables que el usuario completará al momento de responder al chatbot.

En el módulo de Entrada, para generar variables usaremos el siguiente formato:

Así formateamos la variable:

$variable$texto significativo$/variable$

Utilizamos como llave de apertura $ $ y como llave de cierre $/ $

El texto en azul será lo que cambie para darle nombre a la variable que estamos usando, puede ser, name, dni, email, referencia, es decir, cualquier palabra identificativa.

En el texto significativo podemos colocar cualquier texto, que no afectará en nada al entrenamiento ni al resultado puesto que se trata solo de un placeholder.

Principalmente, se deben entrenar variaciones de cómo el usuario nos puede indicar el dato que le solicitamos como en el ejemplo que tenemos a la derecha.

En el módulo de salida podremos mostrar las variables en la respuesta al usuario, para ello, tendremos varias maneras de llamar a estas variables.

Si la variable está declarada en el mismo intent de la respuesta, usaremos:

$variable

Si la variable está declarada en otro intent pero queremos dar la respuesta de esa variable fuera de él, será necesario usar los contextos declarados en esos intents para traer la respuesta. En ese caso usaremos:

#contexto.variable

En el módulo de parámetros, será donde vamos a configurar cada variable. Tendremos los siguientes campos:

Nombre y variable:

1. Definimos el nombre y se autocompletará la variable con el símbolo $.

Tipo de entidad:

2. Definimos la categoría de la variable para el que el chatbot pueda interpretar correctamente la variable (número, texto, fecha, localización o personalizada).

Requerida o no requerida:

3. Definiremos si es obligatoria que esta variable sea respondida por el usuario para que se valide y dé la respuesta correcta.

Texto del prompts:

4. Si marcamos como requerida la variable, será necesario indicar un texto que pida el dato requerido.

En el módulo de extensiones tendremos como primer configurable, un desplegable para seleccionar el tipo de petición (GET, PUT, POST, DELETE) y el enlace de la API.

Luego tendremos tres pestañas para terminar de configurar nuestra extensión:

  • BODY: donde escribiremos el cuerpo en formato JSON que traerá la información desde el servicio web.
  • AUTH: donde podremos seleccionar que tipo de autenticación haremos en la extensión (Ver ejemplos abajo*).
  • HEADER: donde podremos configurar la cabecera del servicio web de ser necesario.
 

También podremos declarar variables en la extensión que salga en la respuesta.

En el ejemplo, vemos que la variable que se quiera dar en la respuesta del intent tendrá el siguiente formato:

 $.result.urltracking

Nótese que tenemos un punto después del signo $, éste nos indica que es una variable de extensión y es necesaria para poder trasladar el dato devuelto que nos responderá la API, en la conversación del bot.

*Métodos de Autenticación
  • Sin autenticación, o sin claves de seguridad.
  • Con token o llave para autenticar.
  • Con autenticación básica de usuario y contraseña.
  • Con JSON Web Token o llave para autenticar mediante parámetros JSON. Este método se utilizara para aquellos token de seguridad que expiren cada cierto tiempo. Se configurara una segunda URL la cual contendrá un token de seguridad no visible y generado automáticamente para poder dar acceso a la extensión. Se ha de configurar la clave de cabecera y el prefijo. Si el JWT tiene método post se ha de configurar el cuerpo.