Подтвердить что ты не робот

Подписка пользователей с группами через API MailChimp 2.0

Я работаю над этой проблемой часами и не могу найти решение, надеюсь, кто-то может помочь!

Я пытаюсь создать простую форму подписки MailChimp на сайте HTTPS и, следовательно, должен использовать 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
            ));

Когда я тестирую, пользователи создаются правильно, но группы интересов не выбраны. Я дважды проверил, что и идентификатор группировки, и имена групп верны. Я даже попробовал hardcoding массив для GROUPS безрезультатно.

Пример аргументов merge_vars $args, переданных API:

[merge_vars] => Array
    (
        [FNAME] => Test
        [LNAME] => Test
        [COMPANY] => 
        [STATE] => TAS
        [GROUPINGS] => Array
            (
                [0] => Array
                    (
                        [ID] => 14093
                        [GROUPS] => Array
                            (
                                [0] => Invest
                                [1] => Deposit Bonds
                            )

                    )

            )

    )

Из того, что я могу понять, это правильно, поэтому я просто не понимаю, где проблема. Может ли кто-нибудь увидеть, что я делаю неправильно? Или API сломан?

Спасибо

Джош

4b9b3361

Ответ 1

Я пришел к этому "безответному" вопросу с нулевыми ответами, но обнаружил, что на самом деле он уже ответил в комментариях к вопросу. Я копирую комментарии, чтобы ответить на вопрос, который уже получил ответ.


OMG, после 5 часов я только что обнаружил проблему! Для кого-то еще по этому - ключи (не значения) "группировки", "id" и "groups" все должен быть более строгим. Я действительно не понимаю, почему, когда все другие поля документируются повсеместно как заглавные и действительно работайте, когда они имеют верхний регистр. Я предполагаю, что это какая-то жестокая шутка, которая им нравится играя на разработчиков. - Josh 28 ноября в 12:37


В старых версиях API они были в верхнем регистре. Они изменили его в 2,0. - Даниэль Риковски 16 мар-14 в 21:49