使用沙箱(https://www.twilio.com/docs/sms/whatsapp/api#twilio-sandbox-for-whatsapp)尝试了twilio whatsapp api 发送消息,成功了。但是,当尝试发送图像文件时,它在仪表板中显示了错误 为'12400发生内部错误,阻止Twilio处理您的响应。 除了更改参数外,使用了与发送消息相同的格式 转到“ MediaUrl”。
1)发送图像文件时还有其他注意事项吗? 2)是否可以使用twilio的whatsapp api发送excel / pdf之类的附件?
答案 0 :(得分:2)
尚不支持。
WhatsApp的Twilio API
https://www.twilio.com/docs/sms/whatsapp/api#sending-a-freeform-whatsapp-message-using-the-api
“即将在出站邮件中发送媒体的支持。”
答案 1 :(得分:0)
只支持从twilio whatsapp发送的媒体,但可以通过文本发送, 如果您只想发送图像,则在邮件正文中添加空间,它将起作用。
查看我的PHP代码
$get_response = $client->messages->create(
$phone, array(
'from' => $sender_id, //Whatsapp:+1xxxxxxxxxx
'body' => " ", //Add blank space here
'mediaUrl' => $mediaUrl, //http://example.com/mms_file/image.jpg
)
);
在这里,我在体内添加了空白区域,并且开始接收图像。
答案 2 :(得分:0)
看起来现在有可能。
要发送带有媒体附件的自由格式WhatsApp消息,请在消息中包含MediaUrl参数。支持的媒体包括图像(JPG,JPEG,PNG),音频文件和PDF。每封邮件支持一个媒体附件,大小限制为5MB。
尽管入站仍将很快:
即将推出对入站媒体和位置的支持。
答案 3 :(得分:0)
const string accountSid = "ACxxxxxxxxx....";
const string authToken = "b4xxxxx......";
Uri img = new Uri("http://youserver.com/images/filename.jpeg");
List<Uri> listImg = new List<Uri>();
listImg.Add(img);
TwilioClient.Init(accountSid, authToken);
var message = MessageResource.Create(
body: "Hello word!",
from: new Twilio.Types.PhoneNumber("whatsapp:+1xxxxxxxx"),
to: new Twilio.Types.PhoneNumber("whatsapp:+1xxxxxxxxx"),
mediaUrl: listImg);
答案 4 :(得分:0)
尽管Twilio中的WhatsApp API集成仍处于测试阶段,并且他们正在与WhatsApp团队合作以实现最佳集成,但我已经通过沙盒环境成功发送了MP3音频消息。
逻辑是:
我从WhatsApp应用程序向Twilio沙箱号码发送了一条消息。
-Twilio收到消息并通过Webhook转发(POST)到Heroku中托管的我的Node.js应用程序终结点。
-Heroku Node应用程序收到消息并执行一些逻辑。
-完成逻辑后,我需要在我使用的代码段下方以文本消息和音频消息来回复:
const client = require('twilio')(accountSid, authToken);
const MessagingResponse = require('twilio').twiml.MessagingResponse;
const twiml = new MessagingResponse();
//Text Message
var msg = twiml.message("Text Message");//Text Message
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
//Audio Message
client.messages
.create({
to: req.body.From,//req is the request arrived from the Twilio forward webhook
from: req.body.To,
body: "",
mediaUrl: "http://www.example.com/audio/test.mp3",
})
.then((message) => console.log(message.sid));
当音频消息到达WhatsApp应用程序时,您可以直接收听它,而无需浏览托管音频的链接。
请记住,WhatsApp可能会阻止消息,但在这种情况下,您应该在Twilio仪表板中看到错误日志。