私はこの問題を数時間にわたって解決しています。MailChimp 2.0 APIを使用してグループに加入するユーザ
私はHTTPSサイトで簡単なMailChimp購読フォームを作成しようとしているため、APIを使用する必要があります。私は彼らが提案する "スーパーシンプルなmailchimp - api" PHPラッパーを使用しており、フォームで選択されたチェックボックスに基づいて関心のあるグループに加入者を追加しようとしています。関連するすべてのチェックボックスの名前は "group []"となり、PHPはそれらを配列としてPOSTします。
私はラッパーに以下渡しています:
$MailChimp = new MailChimp('api_key_removed');
$result = $MailChimp->call('lists/subscribe', array(
'id' => 'list_ID_removed',
'email' => array('email' => $_POST['email']),
'merge_vars' => array('FNAME' => $_POST['fname'], 'LNAME' => $_POST['lname'], 'COMPANY' => $_POST['company'], 'STATE' => $_POST['state'],
'GROUPINGS' => array(
array(
'ID' => 14093,
'GROUPS' => $_POST['group']
)
)
),
'double_optin' => false,
'update_existing' => true,
'replace_interests' => false,
'send_welcome' => true
));
私がテストした場合、ユーザーが正しく作成されますが、全く興味のグループが選択されていません。グループIDとグループ名の両方が正しいことを二重チェックしました。私はGROUPSの配列をハードコーディングしてみても役に立たない。
APIに渡されたmerge_vars $ argsをの例は以下のとおりです。私はこれを理解することができるものから、
[merge_vars] => Array
(
[FNAME] => Test
[LNAME] => Test
[COMPANY] =>
[STATE] => TAS
[GROUPINGS] => Array
(
[0] => Array
(
[ID] => 14093
[GROUPS] => Array
(
[0] => Invest
[1] => Deposit Bonds
)
)
)
)
は正確に正しいですので、どこに問題がある私は理解していませんよ。誰かが私が間違っているのを見ることができますか?またはAPIが壊れていますか?
おかげ
ジョシュ
OMG、5時間後に問題が見つかりました! キー(値ではない) "グループ"、 "id"、 "グループ"はすべて小文字にする必要があります。他のすべてのフィールドがどこにでも大文字として文書化され、大文字のときに実際に動作するのは、なぜ私は本当に理解できません。私は彼らが開発者の上で遊ぶのが残酷なジョークだと思う。 – Josh
古いAPIバージョンでは、大文字でした。彼らは2.0でそれを変更しました。 –
@Josh - あなたのコメントの内容で質問に答えることができます。それ以外の場合は、未回答の質問として表示され続けます。 – NotHereAnymore