Mailchimp API不替换mc:编辑内容部分(使用ruby库)

时间:2015-03-31 10:44:12

标签: ruby mailchimp

我在使用我提供的内容替换Mailchimp中的mc:edit内容区域时遇到问题。

电子邮件将发送给订阅者,但所提供的内容都不会添加到电子邮件中。任何人都可以看到我可能会出错的地方吗?

这是我正在使用的脚本:

campaign = mailchimp.campaigns.create(
    "regular",
    {
        "list_id" => list_id,
        "subject" => "Email Test",
        "from_email" => "edward@somewhere.com",
        "from_name" => "Edward",
        "to_name" => "The to name",
        "template_id" => 35089
    },
    {
        "sections" =>
        {
            "commit_stuff" => "Modified project to use XYZ ruby gem. #ABC-123",
            "content" => "This is the content",
            "more-content" => "This is more content"
        }
    }
)
result = mailchimp.campaigns.send(campaign["id"])

这是我要修改的电子邮件中的部分:

<div mc:edit="commit_stuff" class="mcnTextContent">Use your own custom HTML</div>

<div mc:edit="content"></div>

<div mc:edit="more-content"></div>

相关文档:

5 个答案:

答案 0 :(得分:13)

我使用MailChimp中的模板管理器几天来一直在努力。我让它工作的唯一方法是导出我现有的模板,将mc:edit标记添加到代码中,然后将其作为自定义模板上传。

从MailChimp导出模板

  • 转到&#39;模板&#39;
  • 点击&#39;编辑&#39;下拉箭头,在您要与API一起使用的模板旁边
  • 选择&#39;导出HTML&#39;

将模板上传到MailChimp

  • 转到&#39;模板&#39;
  • 点击“创建模板”&#39;右上角的按钮
  • 点击自己编码&#39;
  • 然后选择“导入html&#39;

我的模板代码示例:

<div mc:edit="eventmessage">
Custom Event Message (replaced by API Call)
<br></div>

作为支票,我现在能够看到使用/templates/info API调用时现在显示的部分

一旦我确认Mailchimp看到模板部分我使用/campaigns/create调用,如上所述,但跳过了html定义。

更新了广告系列/创建(内容/部分):

    },
"content": {
    "sections": {
        "eventmessage": "Event Message Content"
    },

},

答案 1 :(得分:1)

答案 2 :(得分:0)

这应该在“内容”区块内吗?在API示例中,我看到了:

    },
    "content": {
        "html": "example html",
        "sections": {
            "...": "..."
        },
        "text": "example text",
        "url": "example url",
        "archive": "example archive",
        "archive_type": "example archive_type"
    },

答案 3 :(得分:0)

按照上述@kateray的评论,经过一个小时的尝试,我设法通过API 3.0从后端将自定义HTML作为MailChimp campain内容插入。对于这样一个简单的用例,在他们的文档上没有现成的解决方案是很烦人的。当然,MailChimp API缺少食谱。

因此,从一开始:

  1. a)使用API​​或MailChimp Web界面-create list创建邮件列表,b)将收件人添加到add memebers

  2. 通过API create campaign或其网站创建新的广告系列。 请勿为其分配任何模板

  3. 将邮件列表分配给活动assign mailing list

  4. 现在使用this API endpoint设置广告系列的内容。将请求的JSON正文设置为:

{ "html": "<p>This is your custom HTML assigned to your campaign as content.</p>" } 并发送请求。

  1. 在对此请求的响应中,您将获得设置的HTML及其纯文本版本。

  2. 进入MailChimp Web界面,并确保该广告系列的所有复选标记为绿色。

  3. 使用this API request发送广告系列。

NB:

答案 4 :(得分:-6)

以下PHP代码为我工作

$api = new MCAPI($apikey);

$type = 'regular';

$opts['list_id'] = 'id';
$opts['subject'] = 'The subject';
/*<div mc:edit="std_content00">*/
$content = array('html_std_content00'=> $template);

$retval = $api->campaignCreate($type, $opts, $content);