Twilio中的SMS状态回调响应

时间:2016-02-12 05:14:36

标签: c# twilio

我使用Twilio api发送短信,我指定了StatusCallBackUrl,以便在发送短信时从Twilio获得响应。 我使用的凭据不是测试凭据。 我想知道我在哪里做错了,因为在我发送短信后我没有收到Twilio的回复,但是,我已经启用了跨源来接受Twilio的回复。 我只是控制响应,以便了解响应的结构以及发送数据的模型。

这是我的回调网址示例:

public const String callBackUrl = "http://example.com/api/Reports/ProcessSmsResponse";

这就是我通过Twilio发送短信的方式:

twilio = new Twilio.TwilioRestClient(this.TwilioAccount, this.TwilioAuthToken);

var message = twilio.SendMessage("+965478", "+987456", "test body", callBackUrl);

这个只打印SMS回调响应的方法:

[HttpPost]
public void ProcessSmsResponse()
{
    Logger.WriteLog(LogLevel.INFO, "ProcessSmsResponse");
    Logger.WriteLog(LogLevel.INFO, Request.Content);
}

1 个答案:

答案 0 :(得分:2)

我正在以适当的方式处理请求结果,正确的方法是:

string queryString = Request.Content.ReadAsStringAsync().Result;

这会返回我将twilio作为回调响应发布到我的操作的queryString。此外,我只是解析了查询字符串以获取查询字符串参数

var data = HttpUtility.ParseQueryString(queryString);

这些是我在Twilio SMSCallBack响应中得到的参数: To,From,Body,SmsSid,SmsStatus,MessageSid,AccountSid,ApiVersion, MessageStatus,ErrorCode(如果我们得到这个参数有任何错误,它将是可选的)

对于 ErrorCode ,请参阅此link