我尝试使用mailchimp api更新我的广告系列html内容:
/campaigns/{campaign_id}/content
您可以在此处找到有关此API的更多信息:https://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#
在发送广告系列之前,我尝试获取广告系列内容html,对其进行修改,然后使用上面的api设置广告系列内容html。我只是简单地使用BeautifulSoup将新标签附加到内容正文:
content.body.append(BeautifulSoup('<p>Mailchimp is freaking shittttt</p>'))
然后,一些有趣的事情发生了,我创建的第一个广告系列,它工作正常,添加的标签出现在我的电子邮件中。但是,随后子序列广告不再有效,标签添加没有出现。
我在我的mailchimp广告系列网站上发现了一些奇怪的内容,即使我设置了广告系列的html内容,但只有普通文本电子邮件会被更改(HTML源代码仍为旧版本),无论是有效还是无效的广告系列。
以前有人遇到过这个问题吗?
答案 0 :(得分:4)
我遇到了类似的问题,因此我不得不采取稍微不同的方法来解决它。 this answer的Joel H.表示:“ MailChimp不允许更新广告系列的HTML内容,因为广告系列的类型基于模板。为了更新HTML内容,必须将广告系列设置为自定义HTML而不是模板。”
该解决方案不适合我,但使我想到了另一种解决方案:创建一个模板,在该模板中creating editable content areas,然后使用API检索和编辑那些内容区域中的文本。
这是尝试修改我的代码以解决您的问题的尝试。我正在使用Python 3和mailchimp3客户端。
default_footer_content = client.templates.default_content.all(template_id=TEMPLATE_ID)['sections']['SECTION_NAME']
new_footer_content = default_footer_content.replace(PLACEHOLDER, 'Mailchimp is freaking shittttt')
client.campaigns.content.update(campaign_id=CAMPAIGN_ID, data={'template': {'id': TEMPLATE_ID, 'sections': {'SECTION_NAME': new_footer_contennt}}})
上述代码的一些指针:
如果希望进一步说明我的答案,我希望能有所帮助。这是我对Stack Overflow的第一个答案,因此建设性的批评表示赞赏:)