manta_bot/index.js

234 lines
9.3 KiB
JavaScript
Raw Normal View History

2026-01-09 10:35:08 -05:00
// https://chatboot.manta.gob.ec/webhook
2021-05-14 17:58:59 -05:00
var funcion = require("./funtions.js");
var metodos = require("./metodos.js");
const express = require("express");
const app = express();
const { WebhookClient } = require("dialogflow-fulfillment");
app.get("/", function (req, res) {
2026-01-08 10:35:49 -05:00
res.send("Servicio de <b>DialogFlow MANTI</b> activo...... ❤️🧡💛💚💜🖤🙈 ");
2021-05-14 17:58:59 -05:00
});
app.post("/webhook", express.json(), function (req, res) {
const agent = new WebhookClient({ request: req, response: res });
2021-07-07 14:49:54 -05:00
// console.log("Dialogflow Request headers: " + JSON.stringify(req));
2021-05-14 17:58:59 -05:00
// console.log("Dialogflow Request headers: " + JSON.stringify(req.headers));
// console.log("Dialogflow Request body: " + JSON.stringify(req.body));
2021-07-07 14:49:54 -05:00
// console.log("Dialogflow Request body: " + JSON.stringify(agent));
2021-05-14 17:58:59 -05:00
2021-07-07 14:49:54 -05:00
/***** Contexto de inicio *****/
2026-01-19 15:52:08 -05:00
function DefauldAgent() {
return metodos.Fun_DefauldAgent(agent, req, res);
2021-05-14 17:58:59 -05:00
}
2026-01-19 15:52:08 -05:00
function WelcomeAgent() {
return metodos.Fun_WelcomeAgent(agent, req, res);
2021-05-14 17:58:59 -05:00
}
2026-01-19 15:52:08 -05:00
function SolicitarDatosAgent() {
2021-05-14 17:58:59 -05:00
return metodos.Fun_SolicitarDatosAgent(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function ListarMenu() {
2021-06-04 17:09:16 -05:00
return metodos.Fun_ListarMenu(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function FuncGracias() {
2021-07-07 14:49:54 -05:00
return metodos.Fun_ListarMenu(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function QueHacesFunction() {
2021-07-07 14:49:54 -05:00
return metodos.Fun_QueHacesFunction(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function ComoEstasFunction() {
return metodos.Fun_QueHacesFunction(agent, req, res, 1);
2021-07-07 14:49:54 -05:00
}
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Cerrar session *****/
2026-01-19 15:52:08 -05:00
function SiCerrarSesionAgent() {
2021-05-14 17:58:59 -05:00
return metodos.Fun_CerrarSesionAgent(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function NoCerrarSesionAgent() {
2021-05-14 17:58:59 -05:00
return metodos.Fun_CerrarSesionAgent(agent, req, res, 0);
}
2026-01-19 15:52:08 -05:00
function ConfirmarCerrarSesionAgent() {
2021-05-14 17:58:59 -05:00
return metodos.Fun_ConfirmarCerrarSesionAgent(agent, req, res);
}
2021-06-04 17:09:16 -05:00
2021-07-07 14:49:54 -05:00
/***** Consultar Claves Catastrales *****/
2026-01-19 15:52:08 -05:00
function ConfirmarConsultarClavesCatastrales() {
2021-06-04 17:09:16 -05:00
return metodos.Fun_ConfirmarConsultarClavesCatastrales(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function ConsultarClavesCatastrales() {
2021-06-02 17:55:46 -05:00
return metodos.Fun_ConsultarClavesCatastrales(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function ConsultarOtrasClavesCatastrales() {
2021-06-04 17:09:16 -05:00
return metodos.Fun_ConsultarOtrasClavesCatastrales(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function ConsultarPorClavesCatastrales() {
2021-07-07 14:49:54 -05:00
return metodos.Fun_ConsultarOtrasClavesCatastrales(agent, req, res, 3);
}
2026-01-19 15:52:08 -05:00
function ConsultarPorClavesCatastrales2() {
2021-07-07 14:49:54 -05:00
return metodos.Fun_ConsultarOtrasClavesCatastrales(agent, req, res, 4);
}
2026-01-19 15:52:08 -05:00
function ConsultarOtrasClavesCatastrales2() {
2021-06-04 17:09:16 -05:00
return metodos.Fun_ConsultarOtrasClavesCatastrales(agent, req, res, 2);
}
2026-01-19 15:52:08 -05:00
function ConsultarCCAtras() {
2021-06-04 17:09:16 -05:00
return metodos.Fun_ConsultarCCAtras(agent, req, res);
}
2021-06-11 18:12:45 -05:00
2021-07-07 14:49:54 -05:00
/***** Prueba *****/
2026-01-19 15:52:08 -05:00
function prueba() {
2021-06-11 18:12:45 -05:00
return metodos.Fun_pruebas(agent, req, res);
}
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Validar documentos *****/
2026-01-19 15:52:08 -05:00
function ValidarDocumentos() {
2021-06-08 17:04:52 -05:00
return metodos.Fun_ValidarDocumentos(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function ValidarCodigobarras() {
2021-06-08 17:04:52 -05:00
return metodos.Fun_ValidarDocumentos(agent, req, res, 2);
}
2021-06-11 18:12:45 -05:00
2021-07-07 14:49:54 -05:00
/***** Mis comprobantes *****/
2026-01-19 15:52:08 -05:00
function MisComprobantesPago() {
2021-06-11 18:12:45 -05:00
return metodos.Func_MisComprobantesPago(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function TodosMisComprobantesPago() {
2021-06-11 18:12:45 -05:00
return metodos.Func_MisComprobantesPago(agent, req, res, 2);
}
2026-01-19 15:52:08 -05:00
function InicioMisComprobantesPago() {
2021-06-11 18:12:45 -05:00
return metodos.Func_MisComprobantesPago(agent, req, res, 3);
}
2026-01-19 15:52:08 -05:00
function FallbackComprobantes() {
2021-06-11 18:12:45 -05:00
return metodos.Func_FallbackComprobantes(agent, req, res);
}
2021-07-07 14:49:54 -05:00
//*******Mis tramites *******/
2026-01-19 15:52:08 -05:00
function MistramitesFallback() {
2021-07-07 14:49:54 -05:00
return metodos.Func_HistorialTramite(agent, req, res, 1);
}
2026-01-19 15:52:08 -05:00
function MistramitesPrevious() {
2021-07-07 14:49:54 -05:00
return metodos.Func_HistorialTramite(agent, req, res, 2);
}
2026-01-19 15:52:08 -05:00
function Mistramites() {
2021-07-07 14:49:54 -05:00
return metodos.Func_MisTramites(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function HistorialTramite() {
2021-07-07 14:49:54 -05:00
return metodos.Func_HistorialTramite(agent, req, res);
}
/***** Info Tramites *****/
let tramer = ['Certificado_de_solvencia', 'Certificado_de_no_posees_bienes'];
2026-01-19 15:52:08 -05:00
function FallbackInfoTramites() {
2021-06-11 18:12:45 -05:00
return metodos.Func_FallbackInfoTramites(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function AtrasInfoTramites() {
2021-07-07 14:49:54 -05:00
return metodos.Func_InformacionTramites(agent, req, res, 0);
}
2026-01-19 15:52:08 -05:00
function InformacionTramitesSolv() {
2021-06-11 18:12:45 -05:00
return metodos.Func_InformacionTramites(agent, req, res, tramer[0]);
}
2026-01-19 15:52:08 -05:00
function InformacionTramitesNoBienes() {
2021-07-07 14:49:54 -05:00
return metodos.Func_InformacionTramites(agent, req, res, tramer[1]);
2021-06-11 18:12:45 -05:00
}
2026-01-19 15:52:08 -05:00
2026-01-09 10:35:08 -05:00
/********** TRB **********/
2026-01-19 15:52:08 -05:00
function TasaRecoleccionBasura() { //menu principal
return metodos.Fun_ConfirmarTasaRecoleccionBasura(agent, req, res);
}
function MisValoresTasaRecoleccionBasura() { //menu principal
2026-01-09 10:35:08 -05:00
return metodos.Func_MiTasaRecoleccionBasura(agent, req, res);
}
2026-01-19 15:52:08 -05:00
function TRB_num_cedula_Recolectar() {
return metodos.Fun_ConsultarTRB(agent, req, res, 1);
}
function TRB_num_condigoRecolectar() {
return metodos.Fun_ConsultarTRB(agent, req, res, 3);
}
function TRB_num_cedula_Consultar() {
return metodos.Fun_ConsultarTRB(agent, req, res, 2);
}
function TRB_num_condigoConsultarr() {
return metodos.Fun_ConsultarTRB(agent, req, res, 4);
}
// function ConfirmarConsultarClavesCatastrales(){
// return metodos.Fun_ConfirmarConsultarClavesCatastrales(agent, req, res);
// }
2021-05-14 17:58:59 -05:00
let intentMap = new Map();
2021-06-04 17:09:16 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - principal *****/
2021-05-14 17:58:59 -05:00
intentMap.set('0 - Solicitar datos', SolicitarDatosAgent);
intentMap.set('0 - Bienvenida', WelcomeAgent);
2021-06-04 17:09:16 -05:00
intentMap.set('Default Fallback Intent', DefauldAgent);
intentMap.set('0 - SI', ListarMenu);
2021-07-07 14:49:54 -05:00
intentMap.set('0 - No', FuncGracias);
intentMap.set('Contexto 1 - Que hacer', ListarMenu);
intentMap.set('Contexto 1 - Que haces', QueHacesFunction);
intentMap.set('Contexto 1 - Como estas', ComoEstasFunction);
2021-06-02 17:55:46 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - Claves catastrales *****/
2021-06-04 17:09:16 -05:00
intentMap.set('0 - Bienvenida - Consultar-Predios', ConfirmarConsultarClavesCatastrales);
intentMap.set('0 - Bienvenida - Consultar-Predios - Mis predios', ConsultarClavesCatastrales);
2021-07-07 14:49:54 -05:00
intentMap.set('0 - Bienvenida - Consultar-Predios - Por catastral', ConsultarPorClavesCatastrales);
intentMap.set('0 - Bienvenida - Consultar-Predios - Por catastral - Clavecatstral', ConsultarPorClavesCatastrales2);
2021-06-04 17:09:16 -05:00
intentMap.set('0 - Bienvenida - Consultar-Predios - Otros Predios', ConsultarOtrasClavesCatastrales);
intentMap.set('0 - Bienvenida - Consultar-Predios - Otros Predios - Cedula', ConsultarOtrasClavesCatastrales2);
intentMap.set('0 - Bienvenida - Consultar-Predios - Atras', ConsultarCCAtras);
intentMap.set('0 - Bienvenida - Consultar-Predios - fallback', ConfirmarConsultarClavesCatastrales);
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - Cerrar sesion *****/
2021-06-04 17:09:16 -05:00
intentMap.set('0 - Bienvenida - Cerrar sesion', ConfirmarCerrarSesionAgent);
intentMap.set('0 - Bienvenida - Cerrar sesion - SI', SiCerrarSesionAgent);
intentMap.set('0 - Bienvenida - Cerrar sesion - NO', NoCerrarSesionAgent);
intentMap.set('0 - Bienvenida - Cerrar sesion - fallback', ConfirmarCerrarSesionAgent);
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - Validar Documentos *****/
2021-06-08 17:04:52 -05:00
intentMap.set('0 - Bienvenida - Validar Documentos', ValidarDocumentos);
intentMap.set('0 - Bienvenida - Validar Documentos - codigo', ValidarCodigobarras);
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - Mis comprobantes *****/
2021-06-11 18:12:45 -05:00
intentMap.set('0 - Bienvenida - Mis comprobantes de pago', MisComprobantesPago);
intentMap.set('0 - Bienvenida - Ver todos los comprobantes', TodosMisComprobantesPago);
intentMap.set('0 - Bienvenida - Mis comprobantes de pago - Menu Principal', InicioMisComprobantesPago);
intentMap.set('0 - Bienvenida - Mis comprobantes de pago - fallback', FallbackComprobantes);
2026-01-19 15:52:08 -05:00
2021-07-07 14:49:54 -05:00
//******** Menu 1 - Mis tramites **************/
intentMap.set('0 - Bienvenida - Mis Tramites', Mistramites);
intentMap.set('0 - Bienvenida - Mis Tramites - Historial', HistorialTramite);
intentMap.set('0 - Bienvenida - Mis Tramites - fallback', MistramitesFallback);
intentMap.set('0 - Bienvenida - Mis Tramites - previous', MistramitesPrevious);
2026-01-19 15:52:08 -05:00
//******** Menu 2 - Tasa de recoleccion de basura **************/
2026-01-09 10:35:08 -05:00
intentMap.set('0 - Bienvenida - TRB', TasaRecoleccionBasura);
2026-01-19 15:52:08 -05:00
intentMap.set('0 - Bienvenida - TRB - Mis valores', MisValoresTasaRecoleccionBasura);
intentMap.set('0 - Bienvenida - TRB - documento Requiere', TRB_num_cedula_Recolectar);
intentMap.set('0 - Bienvenida - TRB - documento Requiere - next', TRB_num_cedula_Consultar);
intentMap.set('0 - Bienvenida - TRB - cod requiere', TRB_num_condigoRecolectar);
intentMap.set('0 - Bienvenida - TRB - cod requiere - next', TRB_num_condigoConsultarr);
intentMap.set('0 - Bienvenida - TRB - previous', ConsultarCCAtras);
intentMap.set('0 - Bienvenida - TRB - fallback', TasaRecoleccionBasura);
2026-01-09 10:35:08 -05:00
2021-07-07 14:49:54 -05:00
/***** Menu 1 - Informacion de tramites *****/
2021-06-11 18:12:45 -05:00
intentMap.set('0 - Bienvenida - Inf Tram - fallback', FallbackInfoTramites);
intentMap.set('0 - Bienvenida - Inf Tram - Menu Principal', AtrasInfoTramites);
intentMap.set('0 - Bienvenida - Inf Tram', FallbackInfoTramites);
intentMap.set('0 - Bienvenida - Inf Tram - Solvencia', InformacionTramitesSolv);
2021-07-07 14:49:54 -05:00
intentMap.set('0 - Bienvenida - Inf Tram - NoBienes', InformacionTramitesNoBienes);
2021-06-11 18:12:45 -05:00
2021-07-07 14:49:54 -05:00
/************ PRUEBAS ************/
2021-06-11 18:12:45 -05:00
intentMap.set('prueba', prueba);
2021-06-08 17:04:52 -05:00
2021-05-14 17:58:59 -05:00
agent.handleRequest(intentMap);
});
2024-02-08 17:03:24 -05:00
let port = process.env.port || 3092;
2025-12-12 08:49:45 -05:00
app.listen(port, "0.0.0.0", () => {
2026-01-19 15:52:08 -05:00
console.log("Estamos ejecutando el servidor en el puerto " + port + ' exec: ngrok http 3092');
2021-05-14 17:58:59 -05:00
});