我已经花了好几个小时在这个问题上,但似乎找不到解决方案,希望有人能帮助一下!
我正在尝试在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的$arg合并变量的示例如下:
[merge_vars] => Array
(
[FNAME] => Test
[LNAME] => Test
[COMPANY] =>
[STATE] => TAS
[GROUPINGS] => Array
(
[0] => Array
(
[ID] => 14093
[GROUPS] => Array
(
[0] => Invest
[1] => Deposit Bonds
)
)
)
)
从我所理解的来看,这完全正确,所以我不明白问题出在哪里。有人能看出我做错了什么吗?或者是API出了问题?
谢谢
乔希