меню
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Метод unsubscribe

Метод отписывает e-mail или телефон контакта от одного или нескольких списков. В отличие от метода exclude, он не исключает при этом контакт из списков, а помечает контакт как «отписавшийся». Вернуть статус на «активный» через API нельзя – это может сделать только сам контакт, перейдя по ссылке активации из письма.

Мы рекомендуем использовать метод unsubscribe в случае, когда сам контакт отказывается от подписки, и метод exclude в случае, когда управление подпиской/отпиской выполняется по инициативе отправителя.

Принцип использования

Синтаксис и URL для вызова метода
unsubscribe (string contact_type, string contact [, string list_ids])
https://api.unisender.com/ru/api/unsubscribe?format=json&api_key=KEY&contact=test@example.org&contact_type=
TYPE&list_ids=134,135
Аргументы
api_key * Ключ доступа к API
contact_type * Тип отписываемого контакта — либо ’email’, либо ‘phone’.

Примеры:

contact_type=email
contact_type=phone
contact * E-mail или телефон, который надо отписать от рассылок.

Примеры:

contact=test@example.org
contact=89091234567
list_ids Перечисленные через запятую коды списков, от которых мы отписываем контакта. Если не указаны, то отписываем от всех списков. Коды списков можно узнать с помощью метода getLists. Они совпадают с кодами, используемыми в форме подписки.

Примеры:

list_ids=662572
list_ids=112233,887789,6665576
Возвращаемое значение
Пустой объект в случае успеха. Если возникнут ошибки или предупреждения, они будут возвращены стандартным способом.
При попытке отписать адрес от списка, в котором адрес отсутствует, будет возвращена ошибка —

{
  "error":"Contact \"no_such@address.com\" not found",
  "code":"unspecified",
  "result":""
}

Примеры на PHP

Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Используйте SSL-соединение с UniSender. Подробнее о методах соединения здесь.

Пример с использованием POST-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxx";

// Данные о контакте, которого надо отписать от списков
$user_email = "address_to_unsubscribe@aol.com";
$user_lists = "354168";
$user_type = "email";

// Создаём POST-запрос
$POST = array (
    'api_key' => $api_key,
    'list_ids' => $user_lists,
    'contact_type' => $user_type,
    'contact' => $user_email
);

// Устанавливаем соединение
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_URL,
    'https://api.unisender.com/ru/api/unsubscribe?format=json');
$result = curl_exec($ch);

if ($result) {
    // Раскодируем ответ API-сервера
    $jsonObj = json_decode($result);

    if(null===$jsonObj) {
        // Ошибка в полученном ответе
        echo "Invalid JSON";

    }
    elseif(!empty($jsonObj->error)) {
        // Ошибка отписки контакта
        echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

    } else {
        // Адресат успешно отписан
        echo "Unsubscribed";

    }
} else {
    // Ошибка соединения с API-сервером
    echo "API access error";
}

Пример с использованием GET-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxx";

// Данные о контакте, которого надо отписать от списков
$user_email = "address_to_unsubscribe@aol.com";
$user_lists = "354168";
$user_type = "email";

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/unsubscribe?format=json".
    "&api_key=$api_key&list_ids=$user_lists".
    "&contact=$user_email&contact_type=$user_type";

// Делаем запрос на API-сервер
$result = file_get_contents($api_url);

if ($result) {
    // Раскодируем ответ API-сервера
    $jsonObj = json_decode($result);

    if(null===$jsonObj) {
        // Ошибка в полученном ответе
        echo "Invalid JSON";

    }
    elseif(!empty($jsonObj->error)) {
        // Ошибка отписки контакта
        echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

    } else {
        // Адресат успешно отписан
        echo "Unsubscribed";

    }

} else {
    // Ошибка соединения с API-сервером
    echo "API access error";
}