Я работаю над приложением для массовых SMS, которое отправит одно сообщение группе людей в случае возникновения чрезвычайной ситуации. Я просмотрел Документы Twilio и реализовал свой код, после чего я получил ошибку 429 от API. Поэтому я добавил код экспоненциальной отсрочки, чтобы предотвратить это, но когда я запускаю скрипт, он отправляет только второй номер, указанный в массиве.
const accountSid = '[ACCOUNT SID]';
const authToken = '[AUTH TOKEN]';
const client = require('twilio')(accountSid, authToken);
var numbersToMessage = ["+1800XXXXXXX", "+1888XXXXXXX"]
numbersToMessage.forEach(function(number){
var message = client.messages.create({
body: 'This is test #2 from August 21, 2020.',
from: '[TWILIO SENDER NUMBER]',
statusCallback: '[PIPEDREAM API URL]',
to: number
})
.then(message => console.log(message.status))
return((err) => {
// assumes that the error is "request made too soon"
backoffTime *= 2;
i--;
console.log(err);
return delay(backoffTime);
});
done();
});
Экспоненциальная отсрочка для меня совершенно нова, поэтому я вполне уверен, что проблема именно в этом, но это все, что я понял. Я тоже безуспешно пытался использовать пакет npm exponential-backoff.