En este artículo te vamos a explicar que requieres para poder conectar un Chatbot con una aplicación externa o base de datos externa que poseas.
Una de las acciones que se puede crear en cualquier opción del bot es la llamada Enviar respuesta a Endpoint. En esta acción se hace un llamado a una URL externa establecida por ti. Ofreciendo la posibilidad de compartir data desde Mercately a tu base de datos y viceversa.
Para lograr esto, debes seleccionar la acción de: Enviar respuesta a endpoint. Seguido podrás ver el siguiente formulario.
Ahora vamos a detallar cada uno de los campos:
URL: Es el endpoint que crearás en tu aplicación para que pueda ser llamado y accedido desde Mercately. Se recomienda crear un usuario en tu aplicación para que tu bot se pueda autenticar y no rechace la conexión.
Evento: Es el método HTTP de tu endpoint, sólo soportamos POST.
Formato: Es el formato en que la data será enviada, soportamos x-www-form-urlencoded.
DATOS A ENVIAR:
Nombre: Identificador del dato.
Valor: Contenido del dato. Puede ser ingresado manualmente por el usuario, o puede ser asociado a uno de los campos de la base de datos de Mercately, lo que significa que enviará lo que ese campo tenga guardado.
HEADERS:
Nombre: Identificador del header.
Valor: Contenido del header. Puede ser ingresado manualmente por el usuario, o puede ser asociado a uno de los campos de la base de datos de Mercately, lo que significa que enviará lo que ese campo tenga guardado.
Ingresando de forma correcta todos los campos descritos anteriormente, se establece la conexión con tu aplicación. Permitiendo enviar información recopilada desde Mercately, a tu base de datos personal. Del lado de la aplicación externa a la cual te estás conectando, hay ciertas normas que se deben seguir para que la comunicación entre ambas partes sea totalmente satisfactoria.
Status de respuesta de la petición HTTP:
En caso de éxito: Se debe devolver un status 200. De forma que sepamos que todo del lado de la aplicación externa se procesó sin problemas.
En caso de error: Se debe devolver un status con cualquier código que no sea 200. De esta forma sabremos que la petición no se procesó correctamente.
El contenido que se envía hacia Mercately debe ser en formato x-www-form-urlencoded, y debe tener la siguiente estructura:
option_name (Opcional): Este parámetro es requerido sólo cuando una opción dinámica del Chatbot va a ser generada a partir del response del endpoint (Ver referencia en los artículos de Tipos de opciones del ChatBot y Acciones del ChatBot). Se refiere a un texto libre el cual representará el nombre de la opción.
message (Obligatorio): Este parámetro es el que se le enviará a la persona que está escribiendo, acá pueden colocar información de la solicitud o cualquier información que quieran hacer saber.
options (Opcional): Este parámetro es requerido sólo cuando una opción dinámica del Chatbot va a ser generada a partir del response del endpoint (Ver referencia en los artículos de Tipos de opciones del ChatBot y Acciones del ChatBot). Con este dato es que se construirá la lista de selección para que la persona que escribe escoja el titular del servicio, por ejemplo. Debe tener una estructura como la mostrada, con los siguientes datos:
key: Es el dato que se usa como clave primaria, este es el dato que guardaremos en la base de datos para posteriormente ser enviado en la siguiente consulta a la aplicación externa, de ser el caso.
value: Esto es lo que se le mostrará a la persona que escriba. Debe ser algo descriptivo a lo que ellos vayan a seleccionar, como en el ejemplo de arriba.
Detalles adicionales sobre el parámetro message:
Este parámetro, por ser el que se va a enviar a la persona que está escribiendo, debe contener la información estructurada de la consulta que está realizando, de forma que les llegue como se desee. Por ejemplo, si una persona está consultando la factura de uno de sus servicios, debería ser de la siguiente manera:
De esta forma, el mensaje que reciba el cliente se verá así:
ID: 12345
Nombres: PEDRO PÉREZ
Estado: ACTIVO
Deuda: $30
Vencimiento: 25-11-2020