我注意到当我使用Twilio API发送测试SMS时,一切都按照documentation中的描述工作,但系统不会调用StatusCallback。相同的设置与真实凭据一起工作正常,我得到了回调。这是预期的行为吗?
这就是我发送短信的方式:
/* Test credentials */
var account_sid = "<<test acc>>";
var auth_token = "<<test auth>>";
var fromNumber = "+15005550006"; // test number
var fromNumberEnc = encodeURIComponent(fromNumber);
var toNumberEnc = encodeURIComponent(toNumber);
var textEnc = encodeURIComponent(text);
var body = "From=" + fromNumberEnc + "&To=" + toNumberEnc + "&Body=" + textEnc + "&StatusCallback=" + "https%3A%2F%2Fexample.com%2Ftwiliocallback";
httpRequest.post({
url: "https://" + account_sid + ":" + auth_token +
"@api.twilio.com/2010-04-01/Accounts/" + account_sid + "/SMS/Messages.json",
headers: { 'content-type': 'application/x-www-form-urlencoded' },
body: body
}, function (err, resp, body) {
console.log(body);
});
答案 0 :(得分:5)
来自Twilio的Rob。
关于在构建SMS API时使用Twilio的测试凭据的好问题。您是对的 - 使用测试凭据调用时,不会为Messages资源触发StatusCallbacks。您引用的StatusCallback上的文档部分指示 API响应将返回您在测试电话号码购买 时为StatusCallback参数设置的值,而不是创建消息或电话
我通过使用the documentation here中的参数模拟测试中的StatusCallback请求来测试StatusCallbacks。您要在新消息资源上测试的相关参数是MessageStatus。