7

我想通过 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没有返回错误,一切似乎都很顺利,除了用户没有被添加到列表中的大问题。

我已经查看了这个问题,它帮助我到目前为止,但它使用的 API 版本是 1.3,这可能与它有关。

我究竟做错了什么?

4

3 回答 3

15

嗯,我想通了。

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

我现在的代码:

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

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

完美运行。

于 2013-08-26T19:12:19.647 回答
3

对我来说,使用名称而不是id组。

$merge_vars = array(
    'groupings'=> array(
        array(
            'name' => 'Group Name',
            'groups' => array('Group item name')
        )
    )
);
于 2018-04-16T13:56:12.000 回答
1

同意@Sanaco

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

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

'GROUPINGS'=> array(
                            array(
                                'id' => 123456,
                                'groups' => array($option1, $option2, $option3)
                            )
                        )
于 2015-10-28T22:17:10.607 回答