MailChimp API PHP - 添加到兴趣组对于MailChimp API v3

2022-08-31 00:16:56

我目前正在使用适用于 PHP 的 MailChimp API 版本 1.3.1(http://apidocs.mailchimp.com/api/downloads/#php)

我已经在MailChimp中设置了一个列表,并希望动态添加:

  1. 列表的订阅者(完成:$objMailChimp->listBatchSubscribe($strMailingListID, ...))
  2. 兴趣分组(完成:$objMailChimp->listInterestGroupingAdd($strMailingListID, ...))
  3. 兴趣组到这些分组中(完成:$objMailChimp->listInterestGroupAdd($strMailingListID, ...))
  4. 分配给相关组的订阅者(未完成)

API(http://apidocs.mailchimp.com/api/1.3/#listrelated)在如何将订阅者添加到兴趣组方面有些不清楚 - 这里有人有什么想法吗?


答案 1

从MailChimp的API版本2.0开始,这应该有效:

$merge_vars = array(
    'GROUPINGS' => array(
        array(
            'name' => "GROUP CATEGORY #1", // You can use either 'name' or 'id' to identify the group
            'groups' => array("GROUP NAME","GROUP NAME")
        ),
        array(
            'name' => "GROUP CATEGORY #2",
            'groups' => array("GROUP NAME")
        )
    )
);

资料来源:http://apidocs.mailchimp.com/api/2.0/lists/subscribe.php

使用准系统PHP包装器(https://github.com/drewm/mailchimp-api/),您可以通过列表/订阅或列表/批量订阅将其发送到MailChimp:

$MailChimp = new MailChimp('API_KEY');
$result = $MailChimp->call('lists/subscribe', array(
      'id'                => 'LIST ID',
      'email'             => array('email'=>'trevor@example.com'),
      'merge_vars'        => $merge_vars
));

答案 2

对于MailChimp API v3

从 v3 开始,“分组”已更改为“兴趣”。

您必须找出要添加到的组(兴趣)的ID。不幸的是,这在MailChimp仪表板上的任何地方都找不到。

找出“兴趣”ID(而不是创建脚本)的最简单方法是转到MailChimp游乐场,然后在输入API密钥后,路由到...

列出>相关列表>兴趣类别(在子资源下拉列表中)

然后。。。

兴趣类别的兴趣(在子资源下拉列表中)

然后。。。

点击进入兴趣并引用“id”字段,忽略其他ID字段

列表>有问题的列表>成员(在子资源下拉列表中)

然后。。。

加载(在操作下拉列表中)任何成员

创建成员(按钮)

该页面将加载成员的详细信息。向下滚动,直到看到“兴趣”数组/对象。在那里,您将看到ID。请注意,它们可以设置为 true 或 false。

您必须通过执行上述方法或进行调用来确定哪个ID与哪个“组”/“兴趣”相关,然后通过MailChimp仪表板查看成员的详细信息。


因此,当涉及到实际进行POST调用(“成员”创建)时,您会想要一些...

{
  "email_address":"example@freddiesjokes.com",
  "status":"subscribed",
  "interests": {
    "b8a9d7cbf6": true,
    "5998e44916": false
  },
# ADDITIONAL FIELDS, IF REQUIRED...
  "merge_fields":{
    "FNAME": "foo bar",
    "LNAME": "foo bar",
    "MERGE3": "foo bar",
    "MERGE4": "foo bar"
  }
}

PUT 调用(“成员”编辑)示例...

{
  "interests": {
    "b8a9d7cbf6": false,
    "5998e44916": true
  }
}

似乎你必须声明每一个“兴趣”,并说明它是真的还是假的。


推荐