我正在使用 Twilio api 发送短信,我正在指定 StatusCallBackUrl 以在发送短信时从 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;
这将向我返回 Twilio 作为回调响应发布到我的操作的 queryString。此外,我只是解析查询字符串以获取查询字符串参数
var data = HttpUtility.ParseQueryString(queryString);
这些是我在 Twilio SMSCallBack 响应中获得的参数: 收件人、发件人、正文、SmsSid、SmsStatus、MessageSid、AccountSid、ApiVersion、 MessageStatus, ErrorCode(可选,如果有任何错误我们会得到这个参数)
ErrorCode 引用这个 link .
关于c# - Twilio 中的短信状态回调响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355278/