Я создал бот Node.js с использованием Bot Framework и развернул его в Azure.По умолчанию конечная точка обмена сообщениями бота для бота Azure msbotnew1
будет
https://msbotnew1.azurewebsites.net/api/messages
Я могу общаться с ботом с помощью Web Chat
, а также я могу отправлять исходящие сообщения WhatsApp сTwilio на мой номер телефона.
Код для установки конечной точки обмена сообщениями Azure:
var restify = require('restify');
var builder = require('botbuilder');
var botbuilder_azure = require("botbuilder-azure");
var request = require("request");
var twilio = require("twilio");
var fs = require('fs');
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
openIdMetadata: process.env.BotOpenIdMetadata
});
// Listen for messages from users
server.post('/api/messages', connector.listen());
Код для отправки исходящих сообщений WhatsApp из Twilio на номер мобильного телефона:
var twilio = require("twilio");
const accountSid = process.env.accountSid;
const authToken = process.env.authToken;
const client = require('twilio')(accountSid, authToken);
client.messages
.create({
body: 'Hello there!',
from: 'whatsapp:+14155238886',
to: process.env.whatsappToNumber
})
.then(message => console.log(message.sid))
.done();
Но для входящих сообщений на этой странице должен быть задан URL входящей конечной точки:
https://www.twilio.com/console/sms/whatsapp/sandbox
Входящая конечная точка на вышеуказанной странице устанавливается следующим образом:
WHEN A MESSAGE COMES IN
: https://msbotnew1.azurewebsites.net/api/messages
Я получаю следующую ошибку в выводе приложения Bot, когда входящее сообщение было отправлено с помощью whatsapp:
ERROR: ChatConnector: receive - invalid request data received.
Iпробовал различные комбинации URL-адресов конечных точек, которые не работают, например https://msbotnew1.azurewebsites.net/sms
, https://msbotnew1.azurewebsites.net/api/messages/sms
https://msbotnew1.azurewebsites.net/api/sms
Как получить правильный URL-адрес конечной точки для отправки входящих сообщений с мобильного телефона Whatsappв бот Azure node.js с использованием Twilio?