设置Mailchimp广告系列内容html不起作用

时间:2017-10-31 01:18:16

标签: mailchimp mailchimp-api-v3.0

我尝试使用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源代码仍为旧版本),无论是有效还是无效的广告系列。 Plain-Text Email HTML Preview

以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:4)

我遇到了类似的问题,因此我不得不采取稍微不同的方法来解决它。 this answerJoel 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}}})

上述代码的一些指针:

  1. 您可以使用API​​查找TEMPLATE_ID,或者在Web界面中编辑模板时只需复制URL末尾的数字即可
  2. 您通过在模板的适当位置放置“ mc:edit =“ SECTION NAME””来定义SECTION_NAME
  3. 我使用了.replace()而不是.append(),因此您需要将PLACEHOLDER或类似内容放在模板中的适当位置

如果希望进一步说明我的答案,我希望能有所帮助。这是我对Stack Overflow的第一个答案,因此建设性的批评表示赞赏:)