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 に答える
1

@サナコに同意

この例を追加して、より多くのチェックボックスを追加します

$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 に答える