我正在将twilio用于whatsapp API,但现在的问题是我不断收到此错误
错误:Twilio找不到具有指定的“发件人”地址的频道
这是代码
const express = require('express')
const accountSid = '-'
const authToken = '-'
const client = require('twilio')(accountSid, authToken)
const request = require('request')
const app = express()
app.get('/test', (req, res, next) => {
client.messages
.create({
body: 'Hello there!',
from: 'whatsapp:+14155238886',
to: 'whatsapp:+myNumber'
})
.then(message => console.log(message.sid))
.done()
res.json('Done')
})
app.listen(3030, (err) => {
if (err) {
console.log(err)
} else {
console.log('Connected to the port 3030')
}
})
沙盒图片
我该怎么办?
答案 0 :(得分:2)
由于3个原因中的1个而发生此错误。
您的Messaging API请求中的From
地址不正确。要使用WhatsApp发送消息,From
地址应为whatsapp:<sandbox phone number>
。可以在Twilio的沙箱页面上找到。
您正试图从没有激活沙箱的帐户发送消息。
您正在使用测试帐户SID和令牌。无论出于何种原因,在使用WhatsApp沙箱进行测试时,Twilio都需要您的生产帐户SID和令牌。
答案 1 :(得分:0)
不确定它是否仍然有用,但是我目前正在他们的沙箱中(使用跟踪帐户)测试Twilio whatsapp API,到目前为止,我还没有添加/购买任何电话号码。
我注意到的是,当您从他们的控制台页面发送测试消息并且您仔细查看控制台页面上的curl请求(发送到API的消息)时,他们总是使用生产clientid令牌组合。
当我实现客户端时,我假设我应该使用测试clientid令牌组合(由于常识:)),但是在检查curl请求之后,我切换到了生产clientid和令牌,并且能够发送测试消息到我自己的沙箱(使用同一页面上提供的“来自”沙盒的电话号码,并且仅使用我自己添加到沙盒的私人电话号码)
希望它会有所帮助:)
答案 2 :(得分:0)
正如其他人提到的那样,您需要使用生产帐户的SID和令牌。如果使用测试帐户sid和令牌,则会看到此错误。出现此错误的另一个原因是-如果将“从手机号”替换为“到手机号”,那么您也会看到相同的错误。
答案 3 :(得分:0)
我遇到了类似的错误,当我将twilio沙箱的编号修改为我们需要激活以接收whatsapp消息的twilio沙箱的编号时,问题得到解决。
我遵循的解决此问题的步骤:
1。需要创建频道,即激活twilio沙箱以接收如以下网址所示的whatsapp消息:https://www.twilio.com/console/sms/whatsapp/sandbox
2。需要从number(from:'whatsapp :(在上面的url中指定的number)')中指定。