【问题标题】:Looking to give MailChimp dynamic content?想要为 MailChimp 提供动态内容?
【发布时间】:2014-12-22 09:38:40
【问题描述】:

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

我似乎无法像想象的那样使用 RSS 提要,所以我想知道有没有其他方法可以每周将一些格式化的 HTML(在 PHP 文件中)放入 MailChimp 模板的正文中?

非常感谢。

【问题讨论】:

    标签: php html email dynamic mailchimp


    【解决方案1】:

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

    1. 根据我的解释here准备所有MailChimp的东西,除了第4步。

      该解释适用于您希望 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 和 JSON 请求正文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 网页界面中,将鼠标悬停在模板列表中的模板名称上时,浏览器的底部会显示 URL 末尾的 id)

      • 然后发送请求。在响应中,您将看到其 HTML 形式(以及纯文本形式)的活动电子邮件,其中您的 &lt;div&gt; 提供了来自您的 "mytext" JSON 密钥内容的内部 HTML,即 &lt;div&gt;&lt;p&gt;This is my text set via the the API request&lt;/p&gt;&lt;/div&gt;

      • 当然你可以用你的动态标记替换"mytext"键的内容。

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

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

    作为其他用例的旁注:

    • 要从您的博客发送新帖子,您不需要 API。 MailChimp 会自动执行此操作,see this guide,您只需为其提供博客中 RSS 提要的链接。它将检查新帖子,并发送活动模板。

    • 对于愿意发送带有自定义帖子的时事通讯的 WoprPress 用户,在按照上述项目构建 MailChimp 自动化任务时,为 MailChimp 提供 RSS 链接到您的自定义帖子类型 RSS 提要,该链接默认由 WordPress 提供,例如http://www.mywordpresssite.com/feed/?post_type=my_custom_post_type

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

    EDIT 在以下 cmets 中的 @urwaCFC 问题之后:如何在 mc:repeatable 块中使用 mc:edit。

    在实验中,我无法使用嵌套在 mc:repeatablemc:variant 块中的 mc:edit 标签制作模板(使用 the MailChimp example markup (see Repeating Content Area section) linked here 将通过 the MailChimp update template API call 更新。

    【讨论】:

    • 感谢您的回答,我有一段时间不需要这样做了,但很高兴知道什么时候需要。
    • 非常感谢您的帖子。关于使用 API 的动态内容的可用信息非常少。一个问题:我已经成功实现了以上所有。更进一步,我试图在 mc:repeatable 块中使用 mc:edit。所以我想做的是:-重复一个块(一个图片和一个按钮),然后更新图片链接和按钮链接。有没有可能是因为我没能做到。
    • @urwaCFC,我很高兴 :) 我做了一些研究,并在上面的答案编辑中对您的问题发表了看法。
    • 感谢您的回复。我还在这里为此创建了一个单独的问题:stackoverflow.com/questions/53692549/… 我相信我无法正确传达我的问题。我试图只有一个可重复的块。所以第一个问题是:可以通过 API 重复一个块(当然是带有 mc:repeatable 的那个)?我没有遇到任何文档。
    • @urwaCFC 是的,我相信这是要走的路。在您的其他 SO questioni 中查看我的编辑更新和答案。
    【解决方案2】:

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

    如果您使用我们的模板语言在 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,并指定您希望更改的部分和内容作为“内容”参数。内容“部分”将对应于添加到自定义模板的 mc:edit 标记。

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

    【讨论】:

    • 如何更新到 v3.0 API?是否支持节点 js ?尚未在文档中找到任何相关内容。
    • @iwaduarte,我刚刚在下面添加了有关如何添加动态内容的答案。至于 NodeJS,如果你不喜欢使用 HTTP Node's API itself,你可以看到 bunch of MailChimp wrappers。或者只是google
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多