2016-02-12 64 views
0

我使用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); 
} 

回答

1

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

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

这将返回我查询字符串Twilio张贴到我的行动作为回调响应。此外,我只是解析查询字符串来获取查询字符串参数

var data = HttpUtility.ParseQueryString(queryString); 

这些都是我得到的Twilio SMSCallBack响应参数: 收件人,发件人,身体,SmsSid,SmsStatus,MessageSid,AccountSid ,ApiVersion, MessageStatus,错误代码(这将是可选的,如果有,我们会得到这个参数的任何错误)

对于错误代码参阅本link