通过MailChimp API v2.0将用户添加到兴趣组

时间:2013-08-26 18:47:03

标签: php api mailchimp

我想通过MailChimp API将订阅者添加到兴趣组。

这是我的$merge_vars数组:

$merge_vars = array(
    'GROUPINGS' => array(
        0 => array(
            'id' => 17385, // The group list ID
            'groups' => "Test 123", // A test group, that does exist
        )
    )
);              

这就是我更新会员的方式:

$update = $mc->lists->updateMember(self::$mainListID, $email, $merge_vars);

这是var_dump($merge_vars)

array(1) {
  ["GROUPINGS"]=>
  array(1) {
    [0]=>
    array(2) {
      ["id"]=>
      int(17385)
      ["groups"]=>
      string(8) "Test 123"
    }
  }
}

$email是一个结构,这里是$var_dump($email)

array(1) {
  ["email"]=>
  string(11) "my@mail.com"
}

我即将被分散注意力,因为API没有返回错误,一切似乎都很顺利,除了用户没有被添加到列表中的大问题。

我看过this question这帮助我到目前为止,但它使用的API版本是1.3,可能与它有关。

我做错了什么?

3 个答案:

答案 0 :(得分:15)

好吧,我明白了。

虽然我可以宣誓我已经尝试过这种方式......组必须是一个数组,即使对于一个组也是如此。

我的代码现在:

$merge_vars = array(
    'GROUPINGS'=> array(
        array(
            'id' => 17385,
            'groups' => array($post['listName'])
        )
    )
);

$mc->lists->updateMember(self::$mainListID, $email, $merge_vars);

完美无缺。

答案 1 :(得分:2)

对我来说,使用名称代替 id 组。

$merge_vars = array(
    'groupings'=> array(
        array(
            'name' => 'Group Name',
            'groups' => array('Group item name')
        )
    )
);

答案 2 :(得分:1)

同意@Sanaco

添加此示例以获取更多复选框

$option1=$_POST['xxxx'];
$option2=$_POST['xxxx'];
$option3=$_POST['xxxx'];

'GROUPINGS'=> array(
                            array(
                                'id' => 123456,
                                'groups' => array($option1, $option2, $option3)
                            )
                        )