Prompt Detail:
"use strict";
const axios = require('axios');
const functions = require("firebase-functions");
const { WebhookClient } = require("dialogflow-fulfillment");
const { Card, Suggestion } = require("dialogflow-fulfillment");
process.env.DEBUG = "dialogflow:debug"; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(
(request, response) => {
const agent = new WebhookClient({ request, response });
// Déclencher la fonction crearTramite lorsque l'intention "Tramites.crear" est détectée
//agent.handleRequest(request, crearTramite);
function welcome(agent) {
// Récupérer le numéro de téléphone de l'utilisateur depuis l'ID de session
const phoneNumber = request.sessionId;
// Ajouter le message de bienvenue
agent.add(`Bonjour ! Bienvenue sur notre service de gestion de transactions. Votre numéro de téléphone est ${phoneNumber}.`);
}
function crearTramite(agent) {
// Obtenir le numéro de téléphone de l'utilisateur
const phoneNumber = request.sessionId;
let DNI = agent.parameters["DNI"];
let Nombres = agent.parameters["Nombres"];
let Apellidos = agent.parameters["Apellidos"];
let Archivo = agent.parameters["Archivo"];
let NroSeguimiento = Date.now();
let Estado = "PENDIENTE";
axios.post(
"https://sheet.best/api/sheets/4563e288-d3b8-4e4f-8e79-cb32daa26ca1",
{ NroSeguimiento, DNI, Nombres, Apellidos, Archivo, Estado, phoneNumber:phoneNumber}
);
agent.add(
"Votre transaction a été enregistrée correctement. \Votre numéro de suivi est : \n✅ " +
NroSeguimiento
);
// Ajouter le message de bienvenue
agent.add(` Votre numéro de téléphone est ${phoneNumber}.`);
}
async function consultarTramite(agent) {
let NroSeguimiento = agent.parameters["NroSeguimiento"];
let respuesta = await axios.get(
"https://sheet.best/api/sheets/4563e288-d3b8-4e4f-8e79-cb32daa26ca1/NroSeguimiento/" +
NroSeguimiento
);
let tramites = respuesta.data;
if (tramites.length > 0) {
let tramite = tramites[0];
agent.add("L'état du processus : " + tramite.Estado);
} else {
agent.add("Ce numéro de suivi fourni n'existe pas");
}
}
function calcularMonto(agent) {
// Obtenir le montant entré par l'utilisateur
let Monto = agent.parameters["Monto"];
let resultado;
if (Monto >= 10 && Monto <= 29) {
resultado = Monto + 3.50;
} else if (Monto >= 30 && Monto <= 49) {
resultado = Monto + 6;
} else if (Monto >= 50 && Monto <= 79) {
resultado = Monto + 7.50;
} else if (Monto >= 80 && Monto <= 99) {
resultado = Monto + 10;
} else if (Monto >= 100) {
let per = Monto * 12;
per = per / 100;
resultado = Monto + per;
}
// Arrondir le montant de resultado s'il est décimal
resultado = Math.ceil(resultado);
// Ajouter le message de résultat au message de réponse
agent.add(
"Pour recharger " +
Monto +
" dollars, vous allez payer en tout " +
resultado +
" dollars. Si vous payez en gourde, le montant sera " +
resultado * 135 +
" gourdes, NB: Taux : 135 Gdes");
}
let intentMap = new Map();
intentMap.set("Tramites.crear", crearTramite);
intentMap.set("Tramites.consultar", consultarTramite);
intentMap.set("Calculator", calcularMonto);
agent.handleRequest(intentMap);
}
);
Add a comment