Skip to content

Commit bab412c

Browse files
author
Sebastien.Dangelo
committed
Improve Content Builder Email Creation
1 parent c52ca7d commit bab412c

File tree

3 files changed

+23
-12
lines changed

3 files changed

+23
-12
lines changed

FuelSDKWrapper.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -678,10 +678,9 @@ def create_campaign(self, name, description, campaign_code, color='Public', is_f
678678
}
679679
return self.create_object(ObjectType.CAMPAIGN, property_dict)
680680

681-
def create_or_update_html_paste_email(self, customer_key, category_id, name, subject, pre_header, html, plain_text):
681+
def create_or_update_html_paste_email(self, category_id, name, subject, html, customer_key=None, plain_text=None, pre_header=None):
682682
payload = {
683683
"name": name,
684-
"customerKey": customer_key,
685684
"category": {
686685
"id": category_id
687686
},
@@ -693,14 +692,8 @@ def create_or_update_html_paste_email(self, customer_key, category_id, name, sub
693692
"html": {
694693
"content": html
695694
},
696-
"text": {
697-
"content": plain_text
698-
},
699695
"subjectline": {
700696
"content": subject
701-
},
702-
"preheader": {
703-
"content": pre_header
704697
}
705698
},
706699
"assetType": {
@@ -715,14 +708,32 @@ def create_or_update_html_paste_email(self, customer_key, category_id, name, sub
715708
}
716709
}
717710
}
711+
712+
if customer_key:
713+
payload["customerKey"] = customer_key
714+
715+
if plain_text:
716+
payload["views"]["text"] = {
717+
"content": plain_text
718+
}
719+
720+
if pre_header:
721+
payload["views"]["preheader"] = {
722+
"content": pre_header
723+
}
724+
718725
headers = {"Authorization": "Bearer {}".format(self.get_client().authToken)}
719726
url = "{}asset/v1/content/assets".format(self.get_client().base_api_url)
720727

721728
# Create Asset
722729
res = requests.post(url, json=payload, headers=headers)
723730
if res.status_code not in range(200, 300): # Creation failed, try Update instead
724-
# Retrieve Asset by Customer Key
725-
res = requests.get("{}?$filter=customerKey%20eq%20'{}'".format(url, customer_key), headers=headers)
731+
# Retrieve Asset by Customer Key if provided, Name otherwise
732+
if customer_key:
733+
res = requests.get("{}?$filter=customerKey%20eq%20'{}'".format(url, customer_key), headers=headers)
734+
else:
735+
res = requests.get("{}?$filter=name%20eq%20'{}'".format(url, name), headers=headers)
736+
726737
if res.status_code in range(200, 300):
727738
data = res.json()
728739
if data["count"] == 1: # Asset found, Update Asset

__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
__title__ = 'FuelSDKWrapper'
2-
__version__ = '1.1.2'
2+
__version__ = '1.1.3'
33
__author__ = 'Seb Angel'
44
__license__ = 'MIT'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
readme = f.read()
55

66
setup(
7-
version='1.1.2',
7+
version='1.1.3',
88
name='FuelSDKWrapper',
99
description='Simplify and enhance the FuelSDK for Salesforce Marketing Cloud (ExactTarget)',
1010
long_description=readme,

0 commit comments

Comments
 (0)