Добавление пользователей в группу интересов с помощью MailChimp API версии 2.0


Я хочу добавить подписчика в группу интересов с помощью API MailChimp.

Это мой $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) "[email protected]"
}

Я вот-вот сойду с ума, потому что API не возвращает ошибку, кажется, все идет гладко, за исключением большой проблемы с тем, что пользователь не добавляется в список.

Я посмотрел на этот вопрос, который помог мне продвинуться так далеко, но версия API, которую он использует, - 1.3, и это может иметь к этому какое-то отношение.

Что я делаю не так?

Author: Community, 2013-08-26

3 answers

Ну, я понял это.

Хотя я мог бы поклясться, что я уже пробовал это таким образом... группы должны быть массивом, даже для одной группы.

Теперь мой код:

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

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

Работает отлично.

 15
Author: Sacha, 2014-11-26 09:09:48

Для меня работает с использованием имени вместо идентификатора группы.

$merge_vars = array(
    'groupings'=> array(
        array(
            'name' => 'Group Name',
            'groups' => array('Group item name')
        )
    )
);
 2
Author: Ludek Hradil, 2018-04-16 13:56:12

Согласен с @Sanaco

Добавьте этот пример для дополнительных флажков

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

'GROUPINGS'=> array(
                            array(
                                'id' => 123456,
                                'groups' => array($option1, $option2, $option3)
                            )
                        )
 1
Author: metalbox, 2015-10-28 22:17:10