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);
}

Twilio 中的短信状态回调响应

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

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

这将返回我 queryString,Twilio 将其作为回调响应发布到我的操作中。此外,我刚刚解析了查询字符串以获取查询字符串参数

var data = HttpUtility.ParseQueryString(queryString);

这些是我在Twilio SMSCallBack响应中获得的参数:To, from, body, smsSid, smsStatus, MessageSid, accountSid, ApiVersion,消息状态,错误代码(如果有任何错误,我们将获得此参数,这将是可选的)

有关错误代码,请参阅此链接。