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