通过MailChimp 2.0 API向用户订阅组 - php

我已经在这个问题上工作了几个小时,而且似乎找不到解决方案,希望有人可以提供帮助!

我试图在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”和“组”全部
需要小写。我真的不明白为什么
其他字段到处都记录为大写,实际上
大写时工作。我认为这是他们喜欢的残酷笑话
在开发人员上玩。 –乔什13年11月28日在12:37

在较旧的API版本中,它们是大写的。他们改变了
2.0。 – Daniel Rikowski 2014年3月16日21:49

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…