Commit cb2c0abf authored by Gabriel's avatar Gabriel

Implementa flujo para reserva espontanea con casos de error

parent bbb9589f
...@@ -7,7 +7,6 @@ const config = require('config'); ...@@ -7,7 +7,6 @@ const config = require('config');
const LINK_CONDICIONES_DE_USO = 'https://www.integrandosalud.com/es-ar/ip-condiciones-de-uso/'; const LINK_CONDICIONES_DE_USO = 'https://www.integrandosalud.com/es-ar/ip-condiciones-de-uso/';
const ID_AGENDA_IPS = config.get('idAgendaIPS'); const ID_AGENDA_IPS = config.get('idAgendaIPS');
const ID_DOMINIO_IPS = config.get('idDominioIPS'); const ID_DOMINIO_IPS = config.get('idDominioIPS');
let ID_PERSONA_FEDERADA;
const SI = 'SI'; const SI = 'SI';
const NO = 'NO'; const NO = 'NO';
...@@ -122,16 +121,27 @@ module.exports = ...@@ -122,16 +121,27 @@ module.exports =
}, },
resp_correo: async function(message, userData, website_id, session_id){ resp_correo: async function(message, userData, website_id, session_id){
userData[CORREO] = message.content; userData[CORREO] = message.content;
let federarResp = await is.federarUsuario(userData[TIPO_DOCUMENTO], userData[NUMERO_DOCUMENTO], userData[FECHA_NACIMIENTO], userData[SEXO]); let existeUsuario = await is.existeUsuario(userData[TIPO_DOCUMENTO], userData[NUMERO_DOCUMENTO], userData[FECHA_NACIMIENTO], userData[SEXO]);
if(!federarResp.success){ if(existeUsuario.existe){
//Error al federar if(existeUsuario.id_persona_federada !== null){
await crisp.sendTextMessage(website_id, session_id,'Uno de los datos ingresados es inválido'); await this.crearTurnoBajoDemanda(ID_AGENDA_IPS, existeUsuario.id_persona_federada, message, userData, website_id, session_id);
await crisp.sendTextMessage(website_id, session_id,'Intentemos nuevamente');
await limpiarDatos(message, userData, website_id, session_id);
await this.ask_tipo_documento(message, userData, website_id, session_id);
} }
else{ else{
let turnoDemandaResp = await is.crearTurnoBajoDemanda(ID_AGENDA_IPS, ID_PERSONA_FEDERADA); let federarUsuario = await is.federarUsuario(userData[TIPO_DOCUMENTO], userData[NUMERO_DOCUMENTO], fechaArgToFechaUsa(userData[FECHA_NACIMIENTO]), userData[SEXO], userData[CORREO], userData[TELEFONO], ID_DOMINIO_IPS);
if(federarUsuario.id_persona_federada !== null){
await this.crearTurnoBajoDemanda(ID_AGENDA_IPS, federarUsuario.id_persona_federada, message, userData, website_id, session_id)
}
else{
await this.errorDatosInvalidos(message, userData, website_id, session_id);
}
}
}
else {
await this.errorDatosInvalidos(message, userData, website_id, session_id);
}
},
crearTurnoBajoDemanda: async function (idAgenda, idPersonaFederada, message, userData, website_id, session_id){
let turnoDemandaResp = await is.crearTurnoBajoDemanda(idAgenda, idPersonaFederada);
if(!turnoDemandaResp.success){ if(!turnoDemandaResp.success){
//Error al crear turno //Error al crear turno
await crisp.sendTextMessage(website_id, session_id,'Disculpame, en este momento no puedo contactarte con un profesional'); await crisp.sendTextMessage(website_id, session_id,'Disculpame, en este momento no puedo contactarte con un profesional');
...@@ -144,6 +154,11 @@ module.exports = ...@@ -144,6 +154,11 @@ module.exports =
await crisp.sendTextMessage(website_id, session_id,`[Iniciar consulta](${turnoDemandaResp.link_vc})`); await crisp.sendTextMessage(website_id, session_id,`[Iniciar consulta](${turnoDemandaResp.link_vc})`);
await limpiarDatos(message, userData, website_id, session_id); await limpiarDatos(message, userData, website_id, session_id);
} }
} },
errorDatosInvalidos: async function (message, userData, website_id, session_id){
await crisp.sendTextMessage(website_id, session_id,'Uno de los datos ingresados es inválido');
await crisp.sendTextMessage(website_id, session_id,'Intentemos nuevamente');
await limpiarDatos(message, userData, website_id, session_id);
await this.ask_tipo_documento(message, userData, website_id, session_id);
} }
} }
\ 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