Twilio 中的短信状态回调响应
本文关键字:状态 回调 响应 Twilio | 更新日期: 2023-09-27 18:34:15
我正在使用Twilio api发送SMS,并且我指定了StatusCallBackUrl,以便在发送SMS时从Twilio获取响应。我一直使用的凭据不是测试凭据。我想知道我哪里做错了,因为在我发送短信后,我没有收到来自 Twilio 的响应,但是,我已经启用了跨源以接受来自 Twilio 的响应。我只是控制台响应,以便知道响应的结构是什么以及它发送数据的模型。
这是我的示例回调 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;
这将返回我 queryString,Twilio 将其作为回调响应发布到我的操作中。此外,我刚刚解析了查询字符串以获取查询字符串参数
var data = HttpUtility.ParseQueryString(queryString);
这些是我在Twilio SMSCallBack响应中获得的参数:To, from, body, smsSid, smsStatus, MessageSid, accountSid, ApiVersion,消息状态,错误代码(如果有任何错误,我们将获得此参数,这将是可选的)
有关错误代码,请参阅此链接。