设置 Mailchimp 活动内容 html 不起作用

OhM*_*osh 1 mailchimp mailchimp-api-v3.0

我尝试使用 mailchimp api 更新我的活动 html 内容:

/campaigns/{campaign_id}/content
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关此 API 的更多信息:https : //developer.mailchimp.com/documentation/mailchimp/reference/campaigns/content/#

在发送活动之前,我尝试获取活动内容 html,对其进行修改,然后使用上述 api 设置活动内容 html。我只是简单地使用 BeautifulSoup 将一个新标签附加到内容正文:

content.body.append(BeautifulSoup('<p>Mailchimp is freaking shittttt</p>'))
Run Code Online (Sandbox Code Playgroud)

然后,发生了一些有趣的事情,我创建的第一个广告系列效果很好,添加的标签出现在我的电子邮件中。但是,然后子序列活动不再起作用,添加的标签没有出现。

我在我的 mailchimp 活动网站上观察到一些奇怪的东西,即使我设置了活动 html 内容,只有纯文本电子邮件(HTML 源仍然是旧版本)对于有效和无效的活动都发生了变化。 纯文本电子邮件 HTML 预览

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

小智 7

我有一个类似的问题,我不得不采取稍微不同的方法来解决它。根据此答案乔尔H.,“因为运动型是基于模板MailChimp不允许更新活动的HTML内容。为了更新HTML内容,该活动已被设置为自定义HTML而不是模板。”

该解决方案不适合我,但它让我找到了另一个解决方案:创建模板,在该模板中创建可编辑的内容区域,然后使用 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}}})
Run Code Online (Sandbox Code Playgroud)

关于上述代码的一些提示:

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

我希望这会有所帮助,如果需要更多说明,很乐意修改我的答案。这是我在 Stack Overflow 上的第一个回答,所以非常感谢建设性的批评:)