Twilio中的SMS状态回调响应
问题描述:
我使用Twilio API发送短信,并且指定StatusCallBackUrl以在发送SMS时从Twilio获取响应。 我一直在使用的凭证不是测试凭证。 我想知道我在做错的地方,因为在发送短信之后,我没有收到Twilio的回复,但是,我已经启用了交叉来源接受Twilio的回复。 我只是控制响应,以便知道响应的结构和发送数据的模型。Twilio中的SMS状态回调响应
这是我的例子回调URL:
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);
这刚刚打印的短信回调响应的方法:
[HttpPost]
public void ProcessSmsResponse()
{
Logger.WriteLog(LogLevel.INFO, "ProcessSmsResponse");
Logger.WriteLog(LogLevel.INFO, Request.Content);
}
答
我正在以正确的方式处理请求结果,正确的方法是:
string queryString = Request.Content.ReadAsStringAsync().Result;
这将返回我查询字符串Twilio张贴到我的行动作为回调响应。此外,我只是解析查询字符串来获取查询字符串参数
var data = HttpUtility.ParseQueryString(queryString);
这些都是我得到的Twilio SMSCallBack响应参数: 收件人,发件人,身体,SmsSid,SmsStatus,MessageSid,AccountSid ,ApiVersion, MessageStatus,错误代码(这将是可选的,如果有,我们会得到这个参数的任何错误)
对于错误代码参阅本link。