我这样使用Node.js发送短信:
const Nexmo = require('nexmo');
const nexmo = new Nexmo({
apiKey: process.env.NEXMO_API_KEY,
apiSecret: process.env.NEXMO_API_SECRET
});
const opts = {
'type': 'unicode'
};
function sendSMS(to, content) {
nexmo.message.sendSms('qwe, to, content, opts, (err, data) => {
if (err) return console.error(err);
console.log('Data: ', data);
})
}
输入回调数据后,我得到如下响应:
{
"message-count":"3",
"messages":[
{
"to":"380967547714",
"message-id":"0C000000E412D0DB",
"status":"0",
"remaining-balance":"238.91280000",
"message-price":"0.07300000",
"network":"25503"
},
{
"to":"380967547714",
"message-id":"0C000000E412D0DC",
"status":"0",
"remaining-balance":"238.91280000",
"message-price":"0.07300000",
"network":"25503"
},
{
"to":"380967547714",
"message-id":"0C000000E412D0DD",
"status":"0",
"remaining-balance":"238.91280000",
"message-price":"0.07300000",
"network":"25503"
}
]
}
我有一个合理的问题:为什么我得到“消息数”:3? 原来,我得到3个webhook。它应该像这样工作吗?
答案 0 :(得分:0)
我可以看到您正在发送Unicode消息。 Unicode内容允许的最大长度为70个字符,而“普通”文本消息最多可以包含160个字符。
当单个SMS正文超过70个字符时,该SMS将被拆分为多个部分,然后将在手机级别进行重构。
这就是为什么您要为发送的消息收到多个Webhook呼叫的原因。
如果您要以“普通”文本SMS而不是Unicode类型发送消息,则一条SMS会有160个字符。