【发布时间】:2019-10-15 15:41:46
【问题描述】:
我正在尝试使用 Twilio SMS api 发送 SMS。我正在尝试发送 2,000 条短信,但只发送了 200 条。我读到我需要分批发送 100 个,所以我更改了代码以将数组分成 100 个块,每个块只有一个 API 调用,但这没有用,只有数组中的第一个数字得到了一条短信。
您可以执行此操作的另一种方法(根据我的阅读)是您可以同步执行不同的 API 调用,一个接一个,您不应该有问题。我现在正在发送短信后发送短信,但在成功发送 200 条后总是收到“错误:20429 - 请求过多”。
这是我的代码:
//After I grab all the numbers:
var cleanNumbers = []
let recipientAmount = 1;
let numberStart = 0;
let numbersLen = numbers.length
while (numberStart < numbersLen) {
let maxNumbers = Math.min(numbersLen, numberStart + recipientAmount);
for (let i = numberStart; i < maxNumbers; i++) {
let number = numbers[i]['phone_number'].replace(/[^\d]/g, '')
if (number.length > 10 && number[0] === '1') {
number = number.substring(1)
cleanNumbers.push('1' + number)
}
else {
cleanNumbers.push('1' + number)
}
if (i == maxNumbers - 1) {
var params = {
'body': `${event_sms_message}`,
'messagingServiceSid': 'XXXXXXXXXXXXXXX',
'to': cleanNumbers
}
sendMessage(params)
cleanNumbers = []
numberStart = numberStart + recipientAmount;
}
}
}
调用 API 的函数
async function sendMessage(params) {
let msg = await client.messages.create(params, function(err, data, message) {
if (err) {
console.log("ERROR:");
console.log(err)
return 'done'
}
else {
console.log("SUCCESS:");
console.log(data)
return 'done'
}
})
.then(message =>
console.log(message.sid)
);
}
有没有人知道更好的路线或者我错过了什么?
【问题讨论】:
标签: javascript sms twilio twilio-api