Twilio短信状态回调-不在json中 [英] twilio sms status callback - not in json

查看:15
本文介绍了Twilio短信状态回调-不在json中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我一直遵循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

所以基本上我应该在此urlhttps://www.ateam.productions/comunications/twilio/sms/status/{sms_id}上收到带有传递状态的回调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

推荐答案

Twilio Developer传教士此处。

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

Django已经可以分析此类型的请求正文,您应该能够在request.POST中将内容作为类似字典的对象读取。

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

这篇关于Twilio短信状态回调-不在json中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆