Быстрый способ узнать, подписан ли пользователь на список в Campaign Monitor API

Кто-нибудь знает, есть ли способ проверить статус подписчика в списке.

Единственный способ, которым я могу это сделать, - это перебрать активных и неподписанных подписчиков в списке и посмотреть, совпадают ли они. Очевидно, что это не очень эффективно, если подписчиков десятки тысяч.

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


person Steve Temple    schedule 26.06.2013    source источник


Ответы (2)


Используйте Client.ListsForEmail, чтобы получить все списки для указанный адрес электронной почты, а затем, когда у вас будут списки, вы сможете проверить статус подписчика в каждом из этих

person lordy1981    schedule 24.09.2013

Вы можете сделать это так - проверить, существует ли подписчик в списке, - но проще сделать это другим способом, проверив, есть ли в списке данный подписчик. Нравится:

function is_subscribed_to_list($list_id, $email_address) {
    require_once('createsend-php/csrest_lists.php');
    $auth = array('api_key'=>$this->api_key);
    $wrap = new CS_REST_Clients($client_id, $auth);
    $result = $wrap->get_lists_for_email($email_address);
    $list_subscriptions = (array) $result->response;
    return array_key_exists($list_id, $list_subscriptions);
}
person DMCoding    schedule 27.01.2016