通过 MailChimp 2.0 API 为用户订阅群组
Posted
技术标签:
【中文标题】通过 MailChimp 2.0 API 为用户订阅群组【英文标题】:Subscribing users with groups through MailChimp 2.0 API 【发布时间】:2013-12-14 11:43:41 【问题描述】:我一直在研究这个问题几个小时,但似乎无法找到解决方案,希望有人能提供帮助!
我正在尝试在 HTTPS 站点上创建一个简单的 MailChimp 订阅表单,因此必须使用 API。我正在使用他们建议的“超级简单的 mailchimp-api”php 包装器,并尝试根据表单中选择的复选框将我的订阅者添加到兴趣组。所有相关的复选框都命名为“group[]”,以便 PHP 将它们作为数组发布。
我将以下内容传递给包装器:
$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 坏了?
谢谢
乔什
【问题讨论】:
天啊,5小时后我才发现问题!对于其他为此感到困惑的人 - 键(不是值)“分组”、“id”和“组”都需要小写。我真的不明白为什么当所有其他字段都被记录为大写并且当它们是大写时确实有效。我认为这是他们喜欢对开发人员开的一些残酷的玩笑。 在旧的 API 版本中,它们是大写的。他们在 2.0 中对其进行了更改。 @Josh - 你可能想用你的评论内容来回答这个问题。否则,这将继续显示为未回答的问题。 【参考方案1】:我以零答案到达了这个“未回答”的问题,但发现它实际上已经在问题的 cmets 中得到了回答。我正在复制 cmets 以反映问题已收到答案。
天哪,5 小时后我才发现问题!对于其他任何人来说 通过这个 - 键(不是值)“分组”,“id”和“组”全部 需要小写。我真的不明白为什么当所有的 其他字段到处都记录为大写,实际上 当它们是大写时工作。我想这是他们喜欢的残酷玩笑 玩开发商。 – 乔希 2013 年 11 月 28 日 12:37
在旧的 API 版本中,它们是大写的。他们改变了它 2.0。 – Daniel Rikowski 2014 年 3 月 16 日 21:49
【讨论】:
以上是关于通过 MailChimp 2.0 API 为用户订阅群组的主要内容,如果未能解决你的问题,请参考以下文章
MailChimp API 2.0 python 新订阅者到分组