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

时间:2018-03-02 10:32:40

标签: c# twilio twilio-api twilio-twiml

我创建了一个控制器,它将消息发送到传入消息中指定的列表。 当我发送完所有消息后,我想返回一个TwiML响应。

但是,如果列表太大,看起来Twilio会超时。 如果列表包含10个数字,则返回响应,如果它包含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);

有谁知道为什么会这样?还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

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上写了一篇博文。我知道您正在使用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);
    }
}

让我知道这是否有帮助。

答案 1 :(得分:0)

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

看起来他们花费更长的时间执行操作,而不是您的应用愿意等待它执行该操作。