Twilio 将短信发送到包含 100 多个号码的列表。 Twilio 抛出 11200 错误

Twilio send sms to a list with 100+ numbers. Twilio throwing 11200 Error

我制作了一个控制器,可以将消息发送到传入消息中指定的列表。 当我发送完所有消息后,我想 return 一个 TwiML 响应。

但是,如果列表太大,Twilio 似乎超时了。 如果列表包含 10 个数字,则响应是 returned,如果它包含 40 个数字,Twilio 会在仪表板中显示 11200 错误。

外发消息总是发送,只是响应失败。

我做过这样的事情:

foreach (var receiver in receivers)
{
    try
    {
        await MessageResource.CreateAsync(
            from: new PhoneNumber(SomeGroupName),
            to: new PhoneNumber(receiver.Mobile),
            body: SomeOutgoingMessage);
    } 
    catch (SomeException e)
    {
        //Errorhandling
    }
}
response.Message("Message sent to all members")
return TwiML(response);

有人知道为什么会这样吗?还有其他方法吗?

https://www.twilio.com/docs/api/errors/11200

看起来 Twilio 执行该操作花费的时间比您的应用愿意等待它执行该操作的时间更长。

此处为 Twilio 开发人员布道师。

Twilio 将等待 15 秒以等待您的应用程序的响应。如果您的应用程序花费的时间超过 15 秒,Twilio will record an 11200 error。在您的情况下,将消息发送到 10 个号码需要不到 15 秒,但对于 40 个号码则需要更长的时间。

如果所有消息都相同,那么我可以推荐使用 Twilio Notify 仅通过一个 API 请求发送所有消息。我在 how to send bulk SMS messages with Twilio and Node.js 上写了一篇博客 post。我知道您使用的是 C#,但值得一读以了解解释和演练。

您将用于 send bulk SMS with C# 的代码应该看起来像这样:

using System;
using System.Collections.Generic;
using Twilio;
using Twilio.Rest.Notify.V1.Service;

public class Example
{
    public static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        const string accountSid = "your_account_sid";
        const string authToken = "your_auth_token";
        const string serviceSid = "your_messaging_service_sid";

        TwilioClient.Init(accountSid, authToken);

        var notification = NotificationResource.Create(
            serviceSid,
            toBinding: new List<string> { "{\"binding_type\":\"sms\",\"address\":\"+15555555555\"}",
            "{\"binding_type\":\"sms\",\"address\":\"+123456789123\"}" },
            body: "Hello Bob");

        Console.WriteLine(notification.Sid);
    }
}

如果这有帮助,请告诉我。