2013-08-26 14 views
6

Chcę dodać subskrybenta do grupy zainteresowań za pomocą interfejsu API MailChimp.Dodawanie użytkowników do grupy zainteresowań za pomocą interfejsu MailChimp API v2.0

To mój $merge_vars tablica:

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

i to jak ja aktualizowania użytkownika:

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

Oto var_dump($merge_vars):

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

i $email jest struct, oto $var_dump($email):

array(1) { 
    ["email"]=> 
    string(11) "[email protected]" 
} 

Mam zamiar być doprowadzony do szału, ponieważ API nie zwraca błąd, wszystko wydaje się iść gładko, z wyjątkiem dużego problemu dla użytkownika nie zostanie dodany do listy.

Spojrzałem na this question, który pomógł mi dotrzeć do tej pory, ale wersja API, której używa, to 1.3 i to może mieć z tym coś wspólnego.

Co robię źle?

Odpowiedz

14

Cóż, wymyśliłem to.

Chociaż mogłem mieć zaprzysiężony Już wypróbowałem to w ten sposób ... grupy muszą być tablicą, nawet dla pojedynczej grupy.

Mój kod teraz:

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

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

działa idealnie.

+0

siedzę z tym też - ale to mi wygląda na Twoje pytanie już grupy jako tablica, z pojedynczym wewnątrz grupy. – Paul

+1

Aah. Ok, lista wpisów grupowych nie powinna być tablicą, powinny być rozdzielane przecinkami. Jestem zaskoczony, że to zadziałało. – Paul

+0

Którą wersję interfejsu API używasz? To mogło się zmienić. – Sacha

1

Zgadzam się z @Sanaco

dodać ten przykład wiecej wyboru

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

'GROUPINGS'=> array(
          array(
           'id' => 123456, 
           'groups' => array($option1, $option2, $option3) 
          ) 
         ) 
Powiązane problemy