想给MailChimp动态内容?

时间:2014-10-27 08:37:07

标签: php html email dynamic mailchimp

好的,所以我希望用MailChimp发送每周预定的电子邮件。 该电子邮件将包含最新的20个库存清单(车库的汽车库存清单)给他们的订户。

我似乎无法像想象的那样使用RSS提要,所以我想知道是否有其他方法可以将每个格式化的HTML(在PHP文件中)放入MailChimp模板的主体中? / p>

非常感谢。

2 个答案:

答案 0 :(得分:11)

如果要在发送时将自定义内容注入模板,我建议您查看使用我们的模板语言创建自定义模板。

如果您使用我们的模板语言在MailChimp中创建了自定义模板,以指定可编辑的内容区域:http://templates.mailchimp.com/getting-started/template-language/,那么您将能够通过API更新这些内容区域。

要执行此操作,您需要制作广告系列/创建通话:https://apidocs.mailchimp.com/api/2.0/campaigns/create.php或广告系列/更新通话:https://apidocs.mailchimp.com/api/2.0/campaigns/update.php并指定您要更改的部分和内容作为'content'参数的一部分。内容“部分”将对应于添加到自定义模板的mc:edit标记。

您还可以自定义内容,例如在内容正文中为问候语添加名字,甚至可以使用合并标记。我强烈建议您检查这些内容并考虑在您的内容中使用它们,如果您需要这种级别的自定义:合并标记入门:http://kb.mailchimp.com/merge-tags/using/getting-started-with-merge-tags

答案 1 :(得分:10)

这里是@Miles M.的答案如何转换为MailChimp API 3.0(与语言无关,指向Postman和PHP示例的链接在底部注释)。

  1. 根据我的解释here,准备除步骤4以外的所有MailChimp内容。

    该说明针对的是您希望MailChimp发送完全灵活的内容,自己通过API通过电子邮件自己提供电子邮件的整个标记而不是使用MailChimp的模板(既不是预编码的模板也不是由自定义编码的模板)发送的用例你)。

    步骤4将被以下说明代替。这说明了用例,您希望在发送自分配给模板的广告系列之前,使用API​​端提供的动态数据填充自定义模板的特定部分。

    所以,让我们开始吧。

  2. 创建MailChimp empty custom HTML template并在其中添加以下HTML(简化到骨骼)

    <div mc:edit="mytext">Mytext should come here from the API call</div>

    现在:

    • 保存,退出并再次打开,以查看MailChimp模板验证程序通常将您的标记包装在HTML标记中。
    • 请参阅this Mailchimp guide,以了解为什么应将mc:edit="mytext"属性添加到HTML标签以及如何添加自己的mc:something属性。
  3. 通过发送API请求,动态设置标记为<div>属性的上述模板的mc:edit="mytext"的内容(此处假设使用与语言无关的工具,如Postman发出请求并查看回复)

    • 使用https://<dc>.api.mailchimp.com/3.0/campaigns/<your_campaign_id>/content这样的URL和{em> JSON请求正文这样的URL向the campaign update endpoint发出请求:

      {
          "template": {
              "id":29345,
              "sections": {
                  "mytext": "<p>This is my text set via the the API request</p>"
              }
          }
      }
      
    • 您会看到,必须用在步骤2中创建的模板ID替换id(用this API request获取模板列表,在响应中找到所需的模板并进行查找ID或在MailChimp Web界面中查找ID,将鼠标悬停在模板列表中的模板名称上时,浏览器的底行将在URL末尾显示ID)

    • 然后发送请求。在响应中,您将看到HTML格式(以及纯文本格式)的广告系列电子邮件,其中<div>带有"mytext" JSON密钥(即{{1 }}

    • 您当然可以用动态标记替换<div><p>This is my text set via the the API request</p></div>键的内容。

    • 因此,您可以添加另一个具有其他属性的HTML容器标签,例如"mytext"到模板中,然后在请求正文中添加JSON mc:edit="myotherdynamicdata"键,用其他动态HTML填充其内容,然后再次发送请求。然后查看响应主体,以查看您的动态信息已设置在那里。

  4. 现在,您必须发送广告系列。查看开始项目6上方项目1中的解释。发送广告系列时,订阅者会看到通过可编辑内容区域的内容(通过API动态设置)嵌入的动态部分。

作为其他用例的补充说明:

  • 要从您的博客发送新帖子,您不需要API。 MailChimp会see this guide自动执行此操作,您只需为其提供指向博客中RSS源的链接即可。它将检查是否有新帖子,并发送广告系列模板。

  • 对于愿意发送带有自定义帖子的时事通讯的WoprPress用户,在根据上述项目构造MailChimp自动化任务时,请为MailChimp提供RSS链接到默认情况下由WordPress提供的自定义帖子类型RSS提要,例如"myotherdynamicdata"

  • 有关如何使MailChimp API请求via Postman, authorization examplevia PHP, adding the content via editable areas的示例。

在以下评论中的@urwaCFC问题后,

编辑如何在mc:可重复块中使用mc:edit。

在实验中,我无法使用嵌套在http://www.mywordpresssite.com/feed/?post_type=my_custom_post_typemc:edit块中的mc:repeatable标签制作模板(使用the MailChimp example markup (see Repeating Content Area section) linked here通过the MailChimp update template API call更新