Actualmente estoy trabajando en una API para mi chatbot que guarda la entrada del usuario en mi base de datos. Funciona bien cuando hago consultas y se guarda en mi base de datos sin ningún problema. Mi problema es que debería enviar una respuesta de que recibió la consulta del usuario.
Aquí está mi código para la ruta/controlador:
if (req.body.queryResult.parameters.informationType == "appointment") { const user = { firstName: req.body.queryResult.parameters.firstName, lastName: req.body.queryResult.parameters.lastName, mobile: req.body.queryResult.parameters.mobile, email: req.body.queryResult.parameters.email, status: "Pending", informationType: req.body.queryResult.parameters.informationType, appointmentDate: dateToISO(req.body.queryResult.parameters.appointmentDate), }; db.db() .collection("users") .insertOne(user, (err, result) => { if (err) { return res.json({ "fulfillmentText": "Error has occured. Cannot add user.", }); } else { var firstName = result.ops[0].firstName; var lastName = result.ops[0].lastName; return res.json({ "fulfillmentText": "Okay, got it " + firstName + " " + lastName + ". We will send an email or text message from the contact info you have provided once your appointment has been approved.", }); } }) }
Además, aquí está su modelo:
var mongoose = require("mongoose"); var Schema = mongoose.Schema; var user = new Schema({ firstName: { type: String, required: true, }, lastName: { type: String, required: true, }, mobile: { type: String, required: true, }, email: { type: String, required: true, }, status: { type: String, required: true, }, appointmentDate: { type: Date, required: true, }, informationType: { type: String, required: true, }, }); module.exports = mongoose.model("users", user);
De acuerdo, me topé con esta publicación y leí algo de documentación . Aparentemente, el enfoque que usé ya no funciona.
Después de horas de probar y revisar varias publicaciones, finalmente encontré la solución (que en realidad fue una obviedad). Esto es lo que hice:
var firstName = req.body.queryResult.parameters.firstName; var lastName = req.body.queryResult.parameters.lastName;