Обратный вызов статуса смс twilio - не в json

Я сделал приложение на django, которое интегрируется с Twilio SMS, и я пытаюсь настроить способ получения статуса отправленного sms-сообщения.

Я следовал руководству twilio о как отслеживать статус доставки на python поэтому, когда я отправляю текст, я отправляю его со следующими параметрами (где 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, а представляют собой длинную строку, как показано ниже

Прежде чем я начну кодировать какой-то странный regex для обработки такой строки, мне интересно, есть ли у кого-нибудь советы по обработке этого процесса.

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

Здесь евангелист-разработчик Twilio.

Это не длинная строка, для обработки которой вам понадобится странный регекс. Эта строка имеет формат application/x-www-form-urlencoded. Это тот же формат, который используется для отправки формы на HTML-странице.

Django уже умеет разбирать этот тип тела запроса, вы должны быть в состоянии прочитать его содержимое как диктоподобный объект в request.POST.

Например, вы должны быть в состоянии получить статус, вызвав request.POST.get('MessageStatus').

Вернуться на верх