From 340f8ceaf63a1fe3e3b81d0d20e3a5ade143a3e2 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 6 Apr 2016 17:35:14 +0100 Subject: [PATCH] Update mmg send_sms to include cid and request headers Use mmg to send_sms --- app/celery/tasks.py | 2 +- app/clients/sms/mmg.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/celery/tasks.py b/app/celery/tasks.py index 720bed74d..8ee59a00a 100644 --- a/app/celery/tasks.py +++ b/app/celery/tasks.py @@ -320,7 +320,7 @@ def send_sms_code(encrypted_verification): mmg_client.send_sms(validate_and_format_phone_number(verification_message['to']), verification_message['secret_code'], 'send-sms-code') - except Exception as e: + except MMGClientException as e: current_app.logger.exception(e) diff --git a/app/clients/sms/mmg.py b/app/clients/sms/mmg.py index 9efffee88..687696055 100644 --- a/app/clients/sms/mmg.py +++ b/app/clients/sms/mmg.py @@ -52,16 +52,20 @@ class MMGClient(SmsClient): "reqType": "BULK", "MSISDN": to, "msg": content, - "sender": self.from_number + "sender": self.from_number, + "cid": reference } start_time = monotonic() try: + import json response = request("POST", "https://www.mmgrp.co.uk/API/json/api.php", - data=data) + data=json.dumps(data), + headers={'Content-Type': 'application/json', + 'Authorization': 'Basic {}'.format(self.api_key)}) if response.status_code != 200: - error = response.json - raise MMGClientException(error) + error = response.text + raise MMGClientException(json.loads(error)) response.raise_for_status() except RequestException as e: api_error = HTTPError.create(e)