通过twillio使用对话流完成发送短信失败



我必须使用SMS将我的聊天机器人在对话流上工作的信息共享给人类团队。我正在使用履行来触发twilio使用我的twilio号码向团队电话号码发送短信。

代码如下

'use strict';

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const accountSid = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; 
const authToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const twilio = require('twilio')(accountSid, authToken);
function enviarmensagem(usuario){
// Configurações da transmissão
const client = new twilio(accountSid, authToken);
client.messages
.create({
body: 'Teste OK',
to: '+55XXXXXXXXXX',  // Envie uma mensagem a esse número
from: '+1XXXXXXXXXXX' // Através do meu número Twilio
})
.then((message) => console.log(message.sid));
}

// Criação da Função no Firebase
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
// Definição do objeto controlador do 'agent'
const agent = new WebhookClient({ request, response });
// 'Handler' para enviar mensagem
function enviarmensagem(agent) {
agent.add('Mensagem enviada');
enviarmensagem(agent.session);
}

// Executar a função adequada de acordo com a Intent recebida
let intentMap = new Map();
intentMap.set('Teste mensagem', enviarmensagem);
try{
agent.handleRequest(intentMap);
}
catch(e){
console.log(e);
}
});

包。JSON

{
"name": "dialogflowFirebaseFulfillment",
"description": "This is the default fulfillment for a Dialogflow agents using Cloud Functions for Firebase",
"version": "0.0.1",
"private": true,
"license": "Apache Version 2.0",
"author": "Google Inc.",
"engines": {
"node": "10"
},
"scripts": {
"lint": "semistandard --fix "**/*.js"",
"start": "firebase serve --only functions:dialogflowFirebaseFulfillment",
"deploy": "firebase deploy --only functions:dialogflowFirebaseFulfillment"
},
"dependencies": {
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"dialogflow-fulfillment": "^0.6.1",
"twilio": "^3.29.2",
"nodemailer": "^4.7.0"
}
}

但是它返回以下的完成状态

Webhook呼叫失败。错误:DEADLINE_EXCEEDED,状态:URL_TIMEOUT,原因:TIMEOUT_WEB.

部署工作正常,没有错误。

谁能帮我找出我的错误在哪里?

函数需要返回一些东西来完成webhook调用。请参阅文档,了解如何将其归类为ok响应

最新更新