Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

MyWebHookNS

node v8.17.0
version: 42.0.0
endpointsharetweet
const express = require('express'); const app = express() app.use(express.json()); app.get('/', (req, res) => res.send('Hello World! n')) app.listen(3000, () => console.log('Example app listening on port 3000!')) // POST method route app.post('/', function (req, res) { //var origin = req.socket.remoteAddress; //coment console.log(req); let action = req.body.queryResult.action; let session = req.body.session; //console.log(action); let responseJson = {}; //responseJson.fulfillmentText = 'Respuesta ✅'; // displayed response //console.log(actionw); if (action === 'guardar_orden'){ //let nombre = req.body.Nombre; let contacto = req.body.queryResult.parameters.contacto; let orden = req.body.queryResult.parameters.orden; //let nombre = req.header('X-USER-ID'); let messages =[ { "message1": { "text1": "Buen día " + contacto + ", gracias por usar nuestros servicios! " } }, { "message1": { "text1": "Puede consultar su factura # F" + orden + "\en este link https://notifika.me/Factura01.pdf", "indice" : 2 } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_estado_cuenta'){ //let nombre = req.body.Nombre; let numero_credito = req.body.queryResult.parameters.numero_credito; let messages =[ { "message1": { "text1": "Estado de cuenta del crédito # " + numero_credito + " \n\n " + // origin + " \n\n " + //coment "Cuota: $ 245.25 \n" + "Fecha de pago: 15/02/2024 \n" + "Total a pagar: $ 3,548.58", "indice" : 1 } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_pagar_cuota'){ //let nombre = req.body.Nombre; let numero_credito = req.body.queryResult.parameters.numero_credito; let fecha_pago = req.body.queryResult.parameters.fecha_pago; let messages =[ { "message1": { "text1": "Pago realizado con éxito! \n\n" + "crédito # " + numero_credito + " \n" + "Cuota: $ 245.25 \n" + "Fecha de pago: " + fecha_pago , "indice" : 1 } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_menu_area'){ //let nombre = req.body.Nombre; //let nombre = req.body.queryResult.parameters.Nombre; let nombre = req.header('X-USER-ID'); let messages =[ { "message1": { "text1": "Gracias por tu interés " + nombre + "! " } }, { "message1": { "text1": "Qué área te interesa? \n\n" + "1️⃣ Ventas \n" + "2️⃣ Tecnología", "indice" : 2 } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_menu_tipo_contrato'){ //let nombre = req.body.Nombre; //let nombre = req.body.queryResult.parameters.Nombre; let nombre = req.header('X-USER-ID'); let messages =[ { "message1": { "text1": "Qué tipo de contrato buscas? \n\n" + "1️⃣ Tiempo completo \n" + "2️⃣ Medio tiempo", "indice" : 2 } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_menu_plaza'){ let area = req.body.queryResult.parameters.area; let tipo_contrato = req.body.queryResult.parameters.tipo_contrato; let nombre = req.header('X-USER-ID'); if(area === "1" && tipo_contrato === "1"){ let messages =[ { "message1": { "text1": "Excelente " + nombre + "! " } }, { "message1": { "text1": "Estas son las plazas disponibles \n\n" + "1️⃣ Gerente de Ventas \n" + "2️⃣ Digitador", "indice" : 2 } } ] responseJson.messages = messages; } else if(area === "2" && tipo_contrato === "1"){ let messages =[ { "message1": { "text1": "Excelente " + nombre + "! " } }, { "message1": { "text1": "Estas son las plazas disponibles \n\n" + "1️⃣ Gerente de IT \n" + "2️⃣ Soporte", "indice" : 2 } } ] responseJson.messages = messages; } else { let messages =[ { "message1": { "text1": nombre + ", no se encontaron plazas disponibles " } }, { "message1": { "indice" :0 } } ] responseJson.messages = messages; } //console.log(responseJson); } else if (action === 'smart_menu_descripcion_plaza'){ let plaza = req.body.queryResult.parameters.plaza; let area = req.body.queryResult.parameters.area; let tipo_contrato = req.body.queryResult.parameters.tipo_contrato; let nombre_plaza = ""; let descripcion_plaza = ""; if (plaza === '1' && area === "1" && tipo_contrato === "1"){ nombre_plaza = "Gerente de Ventas"; descripcion_plaza = "Descripción de plaza Gerente de Ventas"; } else if (plaza === '2' && area === "1" && tipo_contrato === "1"){ nombre_plaza = "Digitador"; descripcion_plaza = "Descripción de plaza Digitador"; } else if (plaza === '1' && area === "2" && tipo_contrato === "1"){ nombre_plaza = "Gerente de IT"; descripcion_plaza = "Descripción de plaza Gerente de IT"; } else if (plaza === '2' && area === "2" && tipo_contrato === "1"){ nombre_plaza = "Soporte"; descripcion_plaza = "Descripción de plaza Soporte"; } let messages =[ { "message": { "text": "Nombre del puesto: " + nombre_plaza } }, { "message": { "text": "Estos son los requisitos: \n" + descripcion_plaza , "quick_replies":[ { "content_type": "text", "title": "Aplicar", "payload": "1641491274466" }, { "content_type": "text", "title": "Subir CV", "payload": "1643901772019" }, { "content_type": "text", "title": "Regresar", "payload": "164158621719" }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_menu_aplicar'){ let id = req.header('X-USER-ID'); let plaza = req.body.queryResult.parameters.plaza; let area = req.body.queryResult.parameters.area; let tipo_contrato = req.body.queryResult.parameters.tipo_contrato; if (id === '5114798021877919'){ let messages =[ { "message": { "text": "Favor inicia sesión para aplicar a la plaza. ", "quick_replies":[ { "content_type": "text", "title": "Iniciar sesión", "payload": "1641571684248" }, { "content_type": "text", "title": "Regresar", "payload": "1641315688048" }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; } else { let messages =[ { "message": { "text": "Para aplicar a una plaza, es necesario que te registres. \n Deseas continuar? ", "quick_replies":[ { "content_type": "text", "title": "Registrarse", "payload": "1641570940367" }, { "content_type": "text", "title": "Regresar", "payload": "164158621719" }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; } //console.log(responseJson); } else if (action === 'smart_menu_registro'){ let nombre = req.body.queryResult.parameters.nombre; let messages =[ { "message": { "text": "El registro ha sido realizado " + nombre, "quick_replies":[ { "content_type": "text", "title": "Iniciar sesión", "payload": "1641571684248" }, { "content_type": "text", "title": "Regresar", "payload": "1641315688048" }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; //console.log(responseJson); } else if (action === 'smart_menu_login'){ let usuario = req.body.queryResult.parameters.usuario; let contraseña = req.body.queryResult.parameters.contraseña; let plaza = req.body.queryResult.parameters.plaza; let payload=""; if(plaza==="2") payload="1643217032051"; else payload="1640194481831"; if(usuario==="norys@inetcs.com" && contraseña==="pass"){ let messages =[ { "message": { "text": "Bienvenido! \nVamos a iniciar el proceso de aplicación", "quick_replies":[ { "content_type": "text", "title": "Continuar", "payload": payload }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; //console.log(responseJson); } else{ let messages =[ { "message": { "text": "Usuario o contraseña incorrectos " , "quick_replies":[ { "content_type": "text", "title": "Iniciar sesión", "payload": "1641571684248" }, { "content_type": "text", "title": "Recuperar contraseña", "payload": "1641999247847" }, { "content_type": "text", "title": "Registrarse", "payload": "1641570940367" }, { "content_type": "text", "title": "Regresar", "payload": "1641315688048" }, { "content_type": "text", "title": "Menú inicio", "payload": "1639690256519" } ] } } ] responseJson.messages = messages; //console.log(responseJson); } } else if (action === 'smart_consultar_puntos'){ let idcliente = req.body.queryResult.parameters.idcliente; let dui = req.body.queryResult.parameters.dui; if(idcliente==="1234" && dui==="007777777"){ let messages =[ { "message": { "attachment": { "payload": { "buttons": [ { "title": "Comprar ya!", "payload": "1657316601767", "type": "postback" }, { "title": "Menú de inicio", "payload": "1668703170196", "type": "postback" } ], "template_type": "button", "text": "Actualmente cuentas con 3500 puntos!! \nTienes derecho a un descuento del 35% en tu próxima compra, solo ingresa el siguiente cupón para hacerlo efectivo: * PTO35VIP *" }, "type": "template" }, "quick_replies":[] } } ] responseJson.messages = messages; //console.log(responseJson); } else{ let messages =[ { "message": { "attachment": { "payload": { "buttons": [ { "title": "Comprar ya!", "payload": "1657316601767", "type": "postback" }, { "title": "Menú de inicio", "payload": "1668703170196", "type": "postback" } ], "template_type": "button", "text": "Actualmente cuentas con 3500 puntos!! \nTienes derecho a un descuento del 35% en tu próxima compra, solo ingresa el siguiente cupón para hacerlo efectivo: * PTO35VIP *" }, "type": "template" }, "quick_replies":[] } } ] responseJson.messages = messages; //console.log(responseJson); } } else if (action === 'descargar'){ let nis = req.body.queryResult.parameters.NIS; let messages = { "data":"Este es el link de descarga https://link.com/", "success": "true" } responseJson = messages; //console.log(responseJson); } else if (action === 'pagar'){ let nis = req.body.queryResult.parameters.NIS; let messages = { "data":"Este es el link de pago https://link_pago.com/", "success": "true" } responseJson = messages; //console.log(responseJson); } else if (action === 'facebook.card'){ let todayUtc = new Date(); let utcToday = todayUtc.getTime() + (todayUtc.getTimezoneOffset() * 60000); let today = new Date(utcToday + (-3600000*6)); } else if (action === 'facebook.card'){ console.log('Inside facebook.card if condition'); let richResponses = [ { "card": { "title": "Card Title", "subtitle": "Card subtitle", "imageUri": "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", "buttons": [ { "text": "Go to Google", "postback": "www.google.com" } ] }, "platform": "FACEBOOK" }, { "text": { "text": [ "texto" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'saludo'){ console.log('Inside saludo if condition'); let nombre = req.body.queryResult.parameters.Nombre; console.log(nombre); let richResponses =[ { "text": { "text": [ "Hola " + nombre + " gracias por contactarnos. \n "+ "Selecciona una de las siguientes opciones: \n" + "1️⃣ Reposición de factura \n" + "2️⃣ Puntos de pago \n" + "3️⃣ Horarios de oficina \n" + "4️⃣ Cambio de Titular" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'Ingreso.NC'){ console.log('Inside Ingreso.NC if condition'); let nc = req.body.queryResult.parameters.NC; console.log(nc); //if (nc === '1'){ let richResponses ={ "name": "Mensaje_horario_laboral", "languageCode": "es-ES" } // } // else{ // let richResponses ={ // "name": "Mensaje_horario_nolaboral", // "languageCode": "es-ES" // } // } responseJson.followupEventInput = richResponses; console.log(responseJson); } else if (action === 'Puntos.pagos'){ console.log('Inside Puntos.pagos if condition'); let richResponses =[ { "text": { "text": [ "Puede efectuar el pago de las facturas de energía eléctrica vencidas, no vencidas,"+ "o que incluyan cargo por reconexión, de forma rápida y confiable, en cualquiera de " + "los siguientes bancos 🏦: Agricola, Promerica, Credomatic, Davivienda, Scotiabank," + "Cuscatlan, BFA, G&T y Banco de los Trabajadores, Cooperativas afiliadas a FEDECACES. \n" + "Asi como en puntos autorizados de 📍 Tigo Money, Puntos Express, Farmacias la Buena, " + "Súper Selectos, Walmart, Despensa de Don Juan, AKI, Puntos MoMo entre otros. \n " + "Y desde nuestra APP AES MOVIL 📱 que puedes descargar desde la PlayStore y AppleStore \n " + "¿Te puedo ayudar en algo más? \n\n" + "Digita MENU para regresar al menú principal" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'Horario.empresa'){ console.log('Inside Horario.empresa if condition'); let empresa = req.body.queryResult.parameters.Empresas; console.log(empresa); let richResponses = [ { "image": { "imageUri": "https://www.paga-todo.com/Static/img/empresas/paga/logo_aes_" + empresa.toLowerCase() + ".png" } }, { "text": { "text": [ "http://www.aes-elsalvador.com/servicio-al-cliente/oficinas-comerciales/" + empresa + "/ \n" + "Mapa: https://www.google.com/maps?q=13.7012072,-89.2208861 \n" + "¿Te puedo ayudar en algo más? \n\n" + "Digita MENU para regresar al menú principal " ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'todos.horarios'){ console.log('Inside todos.horarios if condition'); var emp = ['caess', '', 'clesa', '', 'eeo', '', 'deusem', '']; var richResponses= []; for(var i=0; i<8; i=i+2){ richResponses[i]= { "image": { "imageUri": "https://www.paga-todo.com/Static/img/empresas/paga/logo_aes_" + emp[i].toLowerCase() + ".png" } }; richResponses[i+1]= { "text": { "text": [ "http://www.aes-elsalvador.com/servicio-al-cliente/oficinas-comerciales/" + emp[i] + "/ \n" + "Mapa: https://www.google.com/maps?q=13.7012072,-89.2208861 \n" + "¿Te puedo ayudar en algo más? \n\n" + "Digita MENU para regresar al menú principal " + i ] } } } responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'input.welcome.old'){ console.log('Inside input.welcome if condition'); let richResponses =[ { "text": { "text": [ "¡Hola!, Soy Any tu asistente virtual" ] } }, { "text": { "text": [ "Te puedo brindar información sobre" ] } }, { "quickReplies": { "title": "Seleccione una opción:", "quickReplies": [ "Horarios y Ubicaciones", "Formas de Pago", "Emergencias", "Red de Talleres", "Beneficios", "Red medica" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'zonas'){ let richResponses =[ { "text": { "text": [ "1. zona 1 \n" + "2. zona 2 \n" + "3. zona 3" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else if (action === 'deptos'){ let n = req.body.queryResult.parameters.number; if(n<=2){ let richResponses =[ { "text": { "text": [ "1. depto 1"+ "2. depto 2" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else{ let richResponses ={ "name": "zonamala", "languageCode": "es-ES" } responseJson.followupEventInput = richResponses; console.log(responseJson); } } else if (action === 'sucursales'){ let n = req.body.queryResult.parameters.number; if(n<=2){ let richResponses =[ { "text": { "text": [ "1. sucursal 1"+ "2. sucursal 2" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else{ let richResponses ={ "name": "deptomalo", "languageCode": "es-ES" } responseJson.followupEventInput = richResponses; console.log(responseJson); } } else if (action === 'detalle'){ let n = req.body.queryResult.parameters.number; if(n<=2){ let richResponses =[ { "text": { "text": [ "detalle de sucursal" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } else{ let richResponses ={ "name": "sucursalmala", "languageCode": "es-ES" } responseJson.followupEventInput = richResponses; console.log(responseJson); } } // CANALES else if (action === 'canal'){ if (req.body.originalDetectIntentRequest.payload.source ==='facebook') { if (req.body.originalDetectIntentRequest.payload.body.entry[0].id ==='104079574645397'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "irFB1", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "irFB2", "languageCode": "es-ES" } responseJson.followupEventInput = event; } } else if (req.body.originalDetectIntentRequest.payload.source ==='whatsapp'){ if (agent.originalRequest.payload.body.instanceId ==='65650'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "irWA1", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "irWA2", "languageCode": "es-ES" } responseJson.followupEventInput = event; } } else if (req.body.originalDetectIntentRequest.payload.source ==='360dialog_whatsapp'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "irWAOficial", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else { let richResponses =[ { "text": { "text": [ "holaaaaa" ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } } //ASESUSIA 2024 else if (action === 'validar.placa.accidente'){ // console.log('Inside validar.placa if condition'); let placa = req.body.queryResult.parameters.placa; if (placa === '111'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_proveedor_asistencia", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else{ let richResponses =[ { "text": { "text": [ " Gracias, tuviste un accidente con tu vehículo marca:<marca>, modelo: <Modelo>, año:<Anio> \n digita 1, si la información es correcta, digita 2 para ingresar otro número de placa " + "\n\n Placa: " + placa ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/ValidarMora", "lifespanCount": 1, "parameters": { "placa": placa } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } else if (action === 'buscar.placa'){ // console.log('Inside validar.placa if condition'); let placa = req.body.queryResult.parameters.placa; if (placa === '111'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_proveedor_asistencia", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/InfoVehiculo", "lifespanCount": 1, "parameters": { "placa": placa, "marca": "Toyota", "modelo": "Yaris", "anio": 2022, "CodigoAsegurado": 12345 } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_confirmar_informacion", "languageCode": "es-ES" } responseJson.followupEventInput = event; } //console.log(responseJson); } else if (action === 'buscar.mora'){ // console.log('Inside validar.placa if condition'); let placa = req.body.queryResult.parameters.placa; let CodigoAsegurado = req.body.queryResult.parameters.CodigoAsegurado; let mora = 0; if (mora === 0){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/preguntas", "lifespanCount": 1, "parameters": { "placa": placa, "CodigoAsegurado": CodigoAsegurado } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_preguntas_validacion", "languageCode": "es-ES" } responseJson.followupEventInput = event; } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "no_atencion_mora", "languageCode": "es-ES" } responseJson.followupEventInput = event; } //console.log(responseJson); } else if (action === 'obtener.enlace'){ // console.log('Inside validar.placa if condition'); let placa = req.body.queryResult.parameters.placa; let CodigoAsegurado = req.body.queryResult.parameters.CodigoAsegurado; let richResponses =[ { "text": { "text": [ " Realizaremos una breve inspección en línea que solo te llevará unos minutos. Por favor, haz clic en el siguiente enlace: *link.* " + "\n\n Placa: " + placa + "\n Codigo Asegurado: " + CodigoAsegurado ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } else if (action === 'valida.asesor'){ // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = "José López"; let richResponses =[] responseJson.fulfillmentMessages = richResponses; if (codigoAsesor === 111){ let contexts =[ { "name": session + "/contexts/datosAsesor", "lifespanCount": 1, "parameters": { "codigoAsesor": codigoAsesor, "nombreAsesor": nombreAsesor } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_confirmarDatosAsesor", "languageCode": "es-ES" } //let event ={ } responseJson.followupEventInput = event; } else{ let contexts =[ { "name": session + "/contexts/datosAsesor", "lifespanCount": 1, "parameters": { "codigoAsesor": 328, "nombreAsesor": "Canal Directo" } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_asignarAsesor328", "languageCode": "es-ES" } //let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } else if (action === 'confirma.asesor'){ //no se usa // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = req.body.queryResult.parameters.nombreAsesor; let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/solicitarMarca", "lifespanCount": 1, "parameters": { "codigoAsesor": codigoAsesor, "nombreAsesor": nombreAsesor } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } else if (action === 'obtener.anios'){ // no se usa // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = req.body.queryResult.parameters.nombreAsesor; let marca = req.body.queryResult.parameters.marca; let modelo = req.body.queryResult.parameters.modelo; let richResponses =[ { "text": { "text": [ " Seleccione el año de su vehículo \n1. 2014 \n2. 2015 \n3. 2016" ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } else if (action === 'valida.anio'){ // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = req.body.queryResult.parameters.nombreAsesor; let codigoMarca = req.body.queryResult.parameters.codigoMarca; let marca = req.body.queryResult.parameters.marca; let codigoModelo = req.body.queryResult.parameters.codigoModelo; let modelo = "Corolla"; let anio = req.body.queryResult.parameters.anio; if (anio === "2024"){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/version", "lifespanCount": 1, "parameters": { "codigoAsesor": codigoAsesor, "nombreAsesor": nombreAsesor, "codigoMarca": codigoMarca, "marca": marca, "codigoModelo": codigoModelo, "modelo": modelo, "anio": anio } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_version", "languageCode": "es-ES" } //let event ={ } responseJson.followupEventInput = event; } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_anioRestringido", "languageCode": "es-ES" } //let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } else if (action === 'validar.informacion.vehiculo'){ // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = req.body.queryResult.parameters.nombreAsesor; let codigoMarca = req.body.queryResult.parameters.codigoMarca; let marca = req.body.queryResult.parameters.marca; let codigoModelo = req.body.queryResult.parameters.codigoModelo; let modelo = req.body.queryResult.parameters.modelo; let anio = req.body.queryResult.parameters.anio; let version = req.body.queryResult.parameters.version; let valorCompra = req.body.queryResult.parameters.valorCompra; let codigoUso = req.body.queryResult.parameters.codigoUso; let uso = "Renta"; let placa = req.body.queryResult.parameters.placa; let restringido=0; if (restringido === 0){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/generaEnlaceInspeccion", "lifespanCount": 1, "parameters": { "codigoAsesor": codigoAsesor, "nombreAsesor": nombreAsesor, "codigoMarca": codigoMarca, "marca": marca, "codigoModelo": codigoModelo, "modelo": modelo, "anio": anio, "version": version, "valorCompra": valorCompra, "codigoUso": codigoUso, "uso": uso, "placa": placa } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_genera_enlace_inspeccion", "languageCode": "es-ES" } responseJson.followupEventInput = event; //console.log(responseJson); } else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ "name": "ir_inspector_restringido", "languageCode": "es-ES" } //let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } } else if (action === 'obtener.enlace.inspeccion'){ // console.log('Inside validar.placa if condition'); let codigoAsesor = req.body.queryResult.parameters.codigoAsesor; let nombreAsesor = req.body.queryResult.parameters.nombreAsesor; let codigoMarca = req.body.queryResult.parameters.codigoMarca; let marca = req.body.queryResult.parameters.marca; let codigoModelo = req.body.queryResult.parameters.codigoModelo; let modelo = req.body.queryResult.parameters.modelo; let anio = req.body.queryResult.parameters.anio; let version = req.body.queryResult.parameters.version; let valorCompra = req.body.queryResult.parameters.valorCompra; let codigoUso = req.body.queryResult.parameters.codigoUso; let uso = req.body.queryResult.parameters.uso; let placa = req.body.queryResult.parameters.placa; let richResponses =[ { "text": { "text": [ " Realizaremos una breve inspección en línea que solo te llevará unos minutos. Por favor, haz clic en el siguiente enlace: *link.* " + "\n\n Placa: " + placa + "\n Codigo Asesor: " + codigoAsesor + "\n\n Marca: " + marca + "\n Modelo: " + modelo + "\n\n Anio: " + anio + "\n Version: " + version ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } //ASESUISA else if (action === 'inspeccion.disparador'){ let TA = req.body.queryResult.parameters.TA; if (TA === '1'){ let richResponses =[ { "text": { "text": [ " Tiene asesor " + TA ] } } ] // responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "Si_tiene_asesor", "languageCode": "es-ES" } responseJson.followupEventInput = event; //console.log(responseJson); } else { let richResponses =[ { "text": { "text": [ " No Tiene asesor " + TA ] } } ] // responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "No_tiene_asesor", "languageCode": "es-ES" } responseJson.followupEventInput = event; //console.log(responseJson); } } //saludo else if (action === 'input.welcome'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "Mensaje_horario_laboral_sabados", "languageCode": "es-ES" } responseJson.followupEventInput = event; //console.log(responseJson); } //fallback else if (action === 'input.unknown'){ //if (req.body.originalDetectIntentRequest.payload.source ==='facebook') { // let richResponses =[ // { // "text": { // "text": [ // "holaaaaa" // ] // } // } // ] // responseJson.fulfillmentMessages = richResponses; // } // else{ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "Mensaje_fuera_de_horario", "languageCode": "es-ES" } responseJson.followupEventInput = event; // console.log(responseJson); // } } //gestor else if (action === 'conversar.gestor'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": "gestor_horario_laboral", "languageCode": "es-ES" } responseJson.followupEventInput = event; //console.log(responseJson); } //menu else if (action === 'menu.auto'){ console.log('Inside menu.auto if condition'); let richResponses =[ { "text": { "text": [ "1️⃣ Pago por número de placa \n" + "2️⃣ Pago por numero de NPE \n" + "3️⃣ Atención personalizada \n " + session ] } } ] responseJson.fulfillmentMessages = richResponses; console.log(responseJson); } //validar placa else if (action === 'validar.placa'){ // console.log('Inside validar.placa if condition'); let placa = req.body.queryResult.parameters.placa; let guid = req.body.responseId; let cuotaspendientes=4; let montopendiente=300.55; //let source = req.body.originalDetectIntentRequest.payload.source; //let contactid = req.body.originalDetectIntentRequest.payload.contact.contactId; if (placa === '111'){ let richResponses =[] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ "name": null, "languageCode": null } responseJson.followupEventInput = event; } else{ let richResponses =[ { "text": { "text": [ " La placa ingresada no se encuentra asociada a una póliza activa o se encuentra asociada a una póliza colectiva \n\nDigita *2* Si deseas ingresar nuevamente el número de placa. \nDigita *3* Si deseas atención personalizada." + "\n\n Placa: " + placa + "\n guid: " + guid ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/PlacaNoExiste", "lifespanCount": 1, "parameters": { "guid": guid } }, { "name": session + "/contexts/DetalleCuotas", "lifespanCount": 0 }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } //detalles cuotas else if (action === 'detalle.cuotas'){ console.log('Inside detalle.cuotas if condition'); let placa = req.body.queryResult.parameters.placa; let guid = req.body.queryResult.parameters.guid; let cuotaspendientes=req.body.queryResult.parameters.cuotaspendientes; let montopendiente=req.body.queryResult.parameters.montopendiente; let richResponses =[ { "text": { "text": [ " Su póliza presenta un total de 4 cuotas en su vigencia por un valor total de $ 300.55 dólares, por favor ingresar el número de cuotas a pagar" + "\n\n Placa: " + placa + "\n guid: " + guid + "\n cuotaspendientes: " + cuotaspendientes + "\n montopendiente: " + montopendiente ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; console.log(responseJson); } //validar cuotas else if (action === 'validar.cuotas'){ console.log('Inside validar.cuotas if condition'); let placa = req.body.queryResult.parameters.placa; let guid = req.body.queryResult.parameters.guid; let cuotas = req.body.queryResult.parameters.cuotas; let cuotaspendientes = req.body.queryResult.parameters.cuotaspendientes; let montopendiente=req.body.queryResult.parameters.montopendiente; let montoapagar = 200.50; let CodigoAsegurado = 123; let nom_ramo = "automotores"; let nro_pol = 1221; let codigoRamo = 5; if (cuotas <= cuotaspendientes && cuotas >0){ let richResponses =[ { "text": { "text": [ " El número de cuotas a pagar es " + cuotas + " por $ 200.55 dólares. \n\nDigita *1* Para realizar la transacción. \nDigita *2* Para modificar cantidad de cuotas." + "\n\n Placa: " + placa + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n monto: " + montoapagar + "\n CodigoAsegurado: " + CodigoAsegurado + "\n nom_ramo: " + nom_ramo + "\n nro_pol: " + nro_pol ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/PagarCuotas", "lifespanCount": 1, "parameters": { "placa": placa, "guid": guid, "cuotas": cuotas, "montoapagar": montoapagar, "CodigoAsegurado": CodigoAsegurado, "nom_ramo": nom_ramo, "nro_pol": nro_pol, "codigoRamo": codigoRamo, "cuotaspendientes": cuotaspendientes, "montopendiente":montopendiente } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } else{ let richResponses =[ { "text": { "text": [ "Número de cuotas ingresadas no es correcto. \n\nDigita *2* Para modificar cantidad de cuotas. \nDigita *4* para ir al menú principal" + "\n\n Placa: " + placa + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n cuotaspendientes: " + cuotaspendientes + "\n montopendiente: " + montopendiente ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/CuotasIncorrecto", "lifespanCount": 1, "parameters": { "placa": placa, "guid": guid, "cuotaspendientes": cuotaspendientes, "montopendiente": montopendiente } }, { "name": session + "/contexts/PagarCuotas", "lifespanCount": 0 }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } //Pagar cuotas else if (action === 'pagar.cuotas'){ //console.log('Inside pagar.cuotas if condition'); let placa = req.body.queryResult.parameters.placa; let guid = req.body.queryResult.parameters.guid; let cuotas = req.body.queryResult.parameters.cuotas; let montoapagar = req.body.queryResult.parameters.montoapagar; let CodigoAsegurado = req.body.queryResult.parameters.CodigoAsegurado; let nom_ramo = req.body.queryResult.parameters.nom_ramo; let nro_pol = req.body.queryResult.parameters.nro_pol; let codigoRamo = req.body.queryResult.parameters.codigoRamo; let richResponses =[ { "text": { "text": [ " Para realizar tu pago ingresa al siguiente enlace : https://www.wompi.com/74327846 \nEn la plataforma de pagos se te brindará la confirmación de tu transacción, por medio de un correo con el detalle de tu transacción. \nRecuerde que, al tener el pago de tu seguro al día, siempre podrás gozar de todas las coberturas y beneficios de tu seguro. \n\nSi tienes alguna consulta adicional, escríbenos nuevamente al WhatsApp 22988888 la opción 1 - Cliente" + "\n\n Placa: " + placa + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n monto: " + montoapagar + "\n CodigoAsegurado: " + CodigoAsegurado + "\n nom_ramo: " + nom_ramo + "\n nro_pol: " + nro_pol + "\n codigoRamo: " + codigoRamo ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } //validar npe else if (action === 'validar.npe'){ //console.log('Inside validar.npe if condition'); let npe = req.body.queryResult.parameters.npe; let guid = req.body.responseId; let cuotaspendientes=3; let montopendiente=200.99; let montoapagar = 50.99; let CodigoAsegurado = 123; let nom_ramo = "automotores"; let nro_pol = 1221; let codigoRamo = 5; if (npe === '222') { let richResponses =[ { "text": { "text": [ "Tú póliza corresponde a un seguro de <nom ramo> y el valor de la cuota de $ 50.99 dólares. \n\nDigita *1* Si desea pagar. \nDigita *2* Si quiere ingresar otro NPE. \nDigita *3* Si deseas atención personalizada." + " \n\n NPE: " + npe + "\n guid: " + guid + "\n cuotas: 1 \n monto: " + montoapagar + "\n CodigoAsegurado: " + CodigoAsegurado + "\n nom_ramo: " + nom_ramo + "\n nro_pol: " + nro_pol + "\n codigoRamo: " + codigoRamo ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/PagarNpeUnico", "lifespanCount": 1, "parameters": { "guid": guid } }, { "name": session + "/contexts/PagarNpe", "lifespanCount": 1, "parameters": { "npe": npe, "cuotas": 1, "guid": guid, "montoapagar": montoapagar, "CodigoAsegurado": CodigoAsegurado, "nom_ramo": nom_ramo, "nro_pol": nro_pol, "codigoRamo": codigoRamo } }, { "name": session + "/contexts/DetalleCuotasNpe", "lifespanCount": 0 }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } else if (npe === '333') { let richResponses =[ { "text": { "text": [ "Estimado asegurado te informamos que tienes cuotas pendientes previas al NPE ingresado. \n\nDigita *1* Si deseas ver los detalles. \nDigita *2* Para ingresar otro número NPE. \nDigita *3* Para atención personalizada." + "\n\n NPE: " + npe + "\n guid: " + guid + "\n cuotaspendientes: " + cuotaspendientes + "\n montopendiente: " + montopendiente ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/DetalleCuotasNpe", "lifespanCount": 1, "parameters": { "npe": npe, "guid": guid, "cuotaspendientes": cuotaspendientes, "montopendiente":montopendiente } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } else { let richResponses =[ { "text": { "text": [ " Tú NPE es invalido. \n\nDigita *2* Si deseas ingresar nuevamente el NPE. \nDigita *3* Si deseas atención personalizada." + "\n\n NPE: " + npe + "\n guid: " + guid ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/NpeNoExiste", "lifespanCount": 1, "parameters": { "guid": guid } }, { "name": session + "/contexts/DetalleCuotasNpe", "lifespanCount": 0 }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } //detalles cuotas else if (action === 'detalle.cuotas.npe'){ //console.log('Inside detalle.cuotas if condition'); let npe = req.body.queryResult.parameters.npe; let guid = req.body.queryResult.parameters.guid; let cuotaspendientes=req.body.queryResult.parameters.cuotaspendientes; let montopendiente=req.body.queryResult.parameters.montopendiente; let richResponses =[ { "text": { "text": [ "Su póliza presenta un total de 3 cuotas en su vigencia por un valor total de 200 dólares, por favor ingrese el número de cuotas a pagar" + "\n\n NPE: " + npe + "\n guid: " + guid + "\n cuotaspendientes: " + cuotaspendientes + "\n montopendiente: " + montopendiente ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; //console.log(responseJson); } //validar cuotas else if (action === 'validar.cuotas.npe'){ console.log('Inside validar.cuotas if condition'); let npe = req.body.queryResult.parameters.npe; let cuotas = req.body.queryResult.parameters.cuotas; let guid = req.body.queryResult.parameters.guid; let cuotaspendientes=req.body.queryResult.parameters.cuotaspendientes; let montopendiente=req.body.queryResult.parameters.montopendiente; let montoapagar = 100.99; let CodigoAsegurado = 123; let nom_ramo = "automotores"; let nro_pol = 1221; let codigoRamo = 5; if (cuotas <= cuotaspendientes && cuotas >0){ let richResponses =[ { "text": { "text": [ "El número de cuotas a pagar es " + cuotas + " por $ 100.99 dólares. \n\nDigita *1* Para realizar la transacción. \nDigita *2* Para modificar la cantidad de cuotas." + "\n\n NPE: " + npe + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n monto: " + montoapagar + "\n CodigoAsegurado: " + CodigoAsegurado + "\n nom_ramo: " + nom_ramo + "\n nro_pol: " + nro_pol + "\n codigoRamo: " + codigoRamo ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/PagarNpe", "lifespanCount": 1, "parameters": { "npe": npe, "guid": guid, "cuotas": cuotas, "montoapagar": montoapagar, "CodigoAsegurado": CodigoAsegurado, "nom_ramo": nom_ramo, "nro_pol": nro_pol, "codigoRamo": codigoRamo, "cuotaspendientes": cuotaspendientes, "montopendiente":montopendiente } }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } else { let richResponses =[ { "text": { "text": [ "Número de cuotas ingresadas no es correcto. \n\nDigita *2* Para modificar cantidad de cuotas. \nDigita *4* Para ir al menú principal." + "\n\n NPE: " + npe + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n cuotaspendientes: " + cuotaspendientes + "\n montopendiente: " + montopendiente ] } } ] responseJson.fulfillmentMessages = richResponses; //Agregar contexto let contexts =[ { "name": session + "/contexts/CuotasIncorrectoNpe", "lifespanCount": 1, "parameters": { "npe": npe, "guid": guid, "cuotaspendientes": cuotaspendientes, "montopendiente": montopendiente } }, { "name": session + "/contexts/PagarNpe", "lifespanCount": 0 }, { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; } //console.log(responseJson); } //pagar npe else if (action === 'pagar.npe'){ //console.log('Inside pagar.npe if condition'); let npe = req.body.queryResult.parameters.npe; let cuotas = req.body.queryResult.parameters.cuotas; let guid = req.body.queryResult.parameters.guid; let montoapagar = req.body.queryResult.parameters.montoapagar; let CodigoAsegurado = req.body.queryResult.parameters.CodigoAsegurado; let nom_ramo = req.body.queryResult.parameters.nom_ramo; let nro_pol = req.body.queryResult.parameters.nro_pol; let codigoRamo = req.body.queryResult.parameters.codigoRamo; let richResponses =[ { "text": { "text": [ " Para realizar tu pago ingresa al siguiente enlace : https://www.wompi.com/74327846 \nEn la plataforma de pagos se te brindará la confirmación de tu transacción, por medio de un correo con el detalle de tu transacción. \nRecuerde que, al tener el pago de tu seguro al día, siempre podrás gozar de todas las coberturas y beneficios de tu seguro. \n\nSi tienes alguna consulta adicional, escríbenos nuevamente al WhatsApp 22988888 la opción 1 - Cliente" + "\n\n NPE: " + npe + "\n guid: " + guid + "\n cuotas: " + cuotas + "\n monto: " + montoapagar + "\n CodigoAsegurado: " + CodigoAsegurado + "\n nom_ramo: " + nom_ramo + "\n nro_pol: " + nro_pol + "\n codigoRamo: " + codigoRamo ] } } ] responseJson.fulfillmentMessages = richResponses; let contexts =[ { "name": session + "/contexts/err", "lifespanCount": 0 } ] responseJson.outputContexts = contexts; let event ={ } responseJson.followupEventInput = event; // console.log(responseJson); } res.json(responseJson); })
let codigoAsesor = req.body.queryResult.parameters.codigoAsesor;
Loading…

no comments

    sign in to comment