Commit a70c76b9 authored by Gabriel's avatar Gabriel

Agrega readme

parent 066e709f
# Crisp Chatbot
Este proyecto es un servidor escrito en NodeJS que brinda la interacción de usuario para los chatbots
de reserva de turnos. Se basa en un servicio de eventos, los cuales recibe de Crisp cada vez que el usuario escribe
un mensaje. Cuando esto sucede, interceptamos el mensaje y manejamos los datos del usuario, sobre todo
para saber en qué paso se encuentra dentro de la conversación, y los datos que fue ingresando.
Actualmente el chatbot se despliega en dos sitios web: reserva de turnos bajo demanda (IPS), y
reserva de turnos programados.
El chatbot de reserva de turnos programados se carga en el sitio de Integrando Pacientes.
El script que lo carga (configurado en el proyecto de dicha aplicación web), postea
además los datos del usuario en la API de Crisp, tales como su nombre, apellido y teléfono.
Dichos datos son recuperados por este servidor la primera vez que el usuario interacciona
con el chatbot de reserva de turnos programados, y los envía a Sendinblue. En Sendinblue
tenemos una lista de correos donde enviamos tutoriales de cómo usar el chatbot.
## Configuración
Los siguientes parametros deben ser configurados en [default.json](./config/default.json)
* credenciales.crisp.identifier: identifier para la integración con Crisp.
* credenciales.crisp.key: key para la integración con Crisp.
* credenciales.sendinblue.apikey: API Key de Sendinblue.
* credenciales.isApiToken: API Token de Integrando Salud.
* isBaseUrl: URL base de Integrando Salud (https://www.integrandosalud.com/src-v2/public/api/v1)
* sendingbluBaseUrl: URL base de Sendingblue (https://api.sendinblue.com/v3)
* sendingblueListId: ID de la lista de correo de Sendinblue (54)
* crispWebsiteIdIpsTurnosBajoDemanda: Website ID para el website de turnos bajo demanda.
* crispWebsiteIdIsTurnosProgramados Website ID para el website de turnos programados.
* idAgendaIPS: ID de la agenda del IPS.
* idDominioIPS: ID del dominio del IPS.
## Ejecución
Para correr el proyecto, una vez seteada la configuración, correr el siguiente comando:
```npm run start```
## Logs
Los logs se almacenan en el directorio [/logs](./logs).
* El archivo [error.log](./logs/error.log) muestra solamente errores.
* El archivo [info.log](./logs/error.log) muestra tanto errores como logs de información.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment