【问题标题】:twilio sms status callback - not in jsontwilio 短信状态回调 - 不在 json 中
【发布时间】:2021-11-09 13:10:41
【问题描述】:

我制作了一个与 Twilio SMS 集成的 django 应用程序,我正在尝试设置一种方法来获取我发送的短信的状态。

我一直在关注how to track delivery status on python 上的 twilio 指南,所以当我发送文本时,我会使用以下参数发送它(其中 sms_obj 是我的数据库中的一个实例,用于跟踪我发送的文本)。

def send_sms(sms_obj, to):
      client = Client(account_sid, auth_token)
      message = client.messages \
            .create(
                 body=sms_obj.body,
                 from_= phone_number,
                 to=to,
                 status_callback='https://www.ateam.productions/comunications/twilio/sms/status/{sms_id}'.format(sms_id=sms_obj.id)
             )

      return

所以基本上我应该在这个 url https://www.ateam.productions/comunications/twilio/sms/status/{sms_id} 上收到一个带有交付状态的回调,(我这样做了)

但是,我从 Twilio 获得的数据不是一个很好的 Json 结构,而是一个像下面这样的长字符串。

在我开始编写一些奇怪的正则表达式来处理这样的字符串之前,我想知道是否有人对如何处理这个过程有建议。

SmsSid=SM3bceec02449e4a75a3c308e2befa6136&SmsStatus=sent&MessageStatus=sent&To=%2B19174003826&MessageSid=SM3bceec02449e4a75a3c308e2befa6136&AccountSid=////////&From=%2B19179244405&ApiVersion=2010-04-01

【问题讨论】:

    标签: django twilio twilio-api


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    这不是一个长字符串,您需要一个奇怪的正则表达式来处理。该字符串的格式为application/x-www-form-urlencoded。它与用于在 HTML 页面上提交表单的格式相同。

    Django 已经可以解析这种类型的请求体,你应该可以在request.POST 中将内容作为类似dict 的对象读取。

    例如,您应该可以通过调用request.POST.get('MessageStatus') 来获取状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多