为什么我从nexmo发送SMS回调得到message-count = 3?

时间:2018-09-07 09:50:05

标签: nexmo

我这样使用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。它应该像这样工作吗?

1 个答案:

答案 0 :(得分:0)

我可以看到您正在发送Unicode消息。 Unicode内容允许的最大长度为70个字符,而“普通”文本消息最多可以包含160个字符。

当单个SMS正文超过70个字符时,该SMS将被拆分为多个部分,然后将在手机级别进行重构。

这就是为什么您要为发送的消息收到多个Webhook呼叫的原因。

如果您要以“普通”文本SMS而不是Unicode类型发送消息,则一条SMS会有160个字符。