MailChimp API PHP - добавить в группу интересов

В настоящее время я использую API MailChimp для PHP версии 1.3.1 ( http: //apidocs.mailchimp. com / api / downloads / # php )

Я создал список в MailChimp и хотел бы динамически добавлять:

  1. Подписчиков в список (выполнено: $ objMailChimp-> listBatchSubscribe ($ strMailingListID, ...) )
  2. Группы интересов (выполнено: $ objMailChimp-> listInterestGroupingAdd ($ strMailingListID, ...) )
  3. Группы интересов в эти группы (выполнено : $ objMailChimp-> listInterestGroupAdd ($ strMailingListID, ...) )
  4. Подписчики, назначенные в соответствующие группы (не выполнено)

API ( http: //apidocs.mailchimp. com / api / 1.3 / # listrelated ) не совсем понятно, как добавить подписчика в группа интересов - есть ли у кого-нибудь здесь какие-нибудь идеи?

16
задан ekad 12 February 2017 в 04:37
поделиться

2 ответа

Вот код, который я получил на работу

require_once 'MCAPI.class.php';
require_once 'config.inc.php'; //contains apikey

// use this once to find out id of interest group List
//$retval = $api->listInterestGroupings($listId);
//echo '<pre>';
//print_r($retval);
//echo '</pre>';
//die();

$emailAddress = 'info@example.com';
//You have to find the number via the API (id of interest group list)
$interestGroupListId = FILLMEIN;

$api = new MCAPI($apikey);

// Create an array of Interest Groups you want to add the subscriber to.
$mergeVars = array(
    'GROUPINGS' => array(
        0 => array(
            'id' => $interestGroupListId, 
            'groups' => "FILL IN GROUP NAMES",
        )
    )
);

// Then use listUpdateMember to add them
$retval = $api->listUpdateMember($listId, $emailAddress, $mergeVars);

if ($api->errorCode){
    echo "Unable to update member info!\n";
    echo "\tCode=".$api->errorCode."\n";
    echo "\tMsg=".$api->errorMessage."\n";
} else {    
    echo "Returned: ".$retval."\n";
}
2
ответ дан 30 November 2019 в 16:23
поделиться

Также обратите внимание на необязательный, но очень важный последний параметр listUpdateMember, по умолчанию replace_interests он имеет значение true, поэтому он перезапишет любую подписку, которую пользователь, которого вы обновляете, мог иметь в прошлом. Если вы хотите добавить новые, не затрагивая предыдущие, просто передайте имя новой группы, которую вы хотите добавить, и установите replace_interests в false.

$api = new MailChimp('API_KEY');
$pArray = array('GROUPINGS'=>array(
                        array('name'=>'GROUP CATEGORY', 'groups'=>'group1,group2'),
                  )
    );
if (is_array($pArray)) {
        $api->listUpdateMember($pListId, $pEmail, $pArray, '', false);
}
0
ответ дан 30 November 2019 в 16:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: