diff --git a/sparkpost/transmissions.py b/sparkpost/transmissions.py index 961aecc..3586e2f 100644 --- a/sparkpost/transmissions.py +++ b/sparkpost/transmissions.py @@ -1,4 +1,5 @@ import base64 +import copy import json from email.utils import parseaddr @@ -90,10 +91,13 @@ def _format_copies(self, recipients, copies): formatted_copies = [] if len(recipients) > 0: formatted_copies = self._extract_recipients(copies) + main_recipient = copy.deepcopy(recipients[0]) + main_recipient.pop('address') for recipient in formatted_copies: recipient['address'].update({ 'header_to': self._format_header_to(recipients[0]) }) + recipient.update(**main_recipient) return formatted_copies def _format_header_to(self, recipient): @@ -241,8 +245,7 @@ def send(self, **kwargs): """ payload = self._translate_keys(**kwargs) - results = self.request('POST', self.uri, - data=json.dumps(payload, ensure_ascii=False)) + results = self.request('POST', self.uri, data=json.dumps(payload)) return results def _fetch_get(self, transmission_id): diff --git a/test/test_transmissions.py b/test/test_transmissions.py index 6679e6b..c2d4e32 100644 --- a/test/test_transmissions.py +++ b/test/test_transmissions.py @@ -89,7 +89,8 @@ def test_cc_with_sub_data(): 'address': { 'email': 'ccone@example.com', 'header_to': 'primary@example.com' - } + }, + 'substitution_data': {'fake': 'data'} } ]