Agregar usuarios al grupo de interés a través de la API de MailChimp v2.0

Quiero agregar un suscriptor a un grupo de interés a través de la API de MailChimp.

Esta es mi matriz $merge_vars :

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

Y así es como estoy actualizando el miembro:

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

Aquí hay un var_dump($merge_vars) :

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

y $email es una estructura, aquí está $var_dump($email) :

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

Estoy a punto de ser conducido a la distracción, porque la API no devuelve un error, todo parece ir bien, excepto por el gran problema del usuario que no se agrega a la lista.

He analizado esta pregunta que me ayudó a llegar tan lejos, pero la versión de la API que utiliza es 1.3 y podría tener algo que ver con eso.

¿Qué estoy haciendo mal?

Bueno, lo descubrí.

Aunque hubiera jurado que ya lo había intentado de esta manera … los grupos tienen que ser una matriz, incluso para un solo grupo.

Mi código ahora:

 $merge_vars = array( 'GROUPINGS'=> array( array( 'id' => 17385, 'groups' => array($post['listName']) ) ) ); $mc->lists->updateMember(self::$mainListID, $email, $merge_vars); 

Funciona perfectamente.

Para mi trabaja usando nombre en lugar de id grupo.

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

De acuerdo con @Sanaco

agregar este ejemplo para más casillas de verificación

 $option1=$_POST['xxxx']; $option2=$_POST['xxxx']; $option3=$_POST['xxxx']; 'GROUPINGS'=> array( array( 'id' => 123456, 'groups' => array($option1, $option2, $option3) ) )