E-mail маркетинг, сервис рассылки e-mail и SMS
(495) 540-4265 (800) 555-6696

Метод activateContacts

Метод активации контактов. Прежде, чем посылать сообщение какому-либо контакту, он должен в статусе «активен». Пока метод поддерживает только активацию email-адресов. Они могут быть активированы либо не активированы, в зависимости от размера списка, наличия в нем «подозрительных» адресов и репутации пользователя. Если адреса не активируются автоматически, то администрации сервиса направляется запрос на ручную активацию. Активирован может быть только полный список адресов, частичной активации списка произойти не может.

При запросе активации обязательно указываются либо коды списков для активации, либо перечень контактов, которые надо активировать.

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

Синтаксис и URL для вызова метода
activateContacts (string contact_type, [string contacts , string list_ids])
http://api.unisender.com/ru/api/activateContacts?format=json&api_key=KEY&contact_type=email&contacts=test1@example.org,test2@example.org
Аргументы
api_key * Ключ доступа к API
contact_type Тип активируемых контактов. На текущий момент поддерживается только значение «email». Пример:

contact_type=email
contacts Строка с адресами email через запятую, либо массив. Примеры:

contacts=a@example.org,b@example.org,c@example.org

contacts[]=a@example.org&contacts[]=b@example.org
&contacts[]=c@example.org
list_ids Строка с кодами списков через запятую, либо массив кодов списков, контакты которых нужно активировать. Коды списков можно узнать с помощью метода getLists. Примеры:

list_ids=7762787,12345
list_ids[]=7762787&list_ids[]=12345
Один из параметров - либо contacts, либо list_ids обязателен к указанию.
Возвращаемое значение

JSON-объект с одним или двумя полями:

  • activated, в котором содержится целое десятичное неотрицательное число – общее количество активированных контактов. Может быть меньше, чем размер массива contacts, если в нем имеются контакты со статусом, не допускающим активацию, не принадлежащие данному пользователю и пр. Если все запрошенные контакты не могут быть активированы, будет возвращено соответствующее сообщение в поле ответа error.
  • activation_request_id - присутствует только в случае, когда автоматическая активация невозможна и запрос об активации ушёл на проверку администрации.

Пример ответа:

{"result":{"activated":1068}}

Смотрите также

Примеры на PHP

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

Пример с использованием POST-запроса
// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxx";

// Параметры для запроса активации
$contact_type = "email";

// Коды списков для активации
$list_ids = "354168";

// Список контактов для активации. В данном примере будут 
// проигнорированы, т.к. указан и list_ids
// $contacts = "just_addded_email@inbox.ru";

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

// Устанавливаем соединение
$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, 
            'http://api.unisender.com/ru/api/activateContacts?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 "Number of activated contacts: " . $jsonObj->result->activated;

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


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

// Параметры для запроса активации
$contact_type = "email";

// Коды списков для активации, если не задано, то запрос на активацию всех
$list_ids = "354168";

// Список контактов для активации, если не указано, то считается, что все
// $contacts = "just_addded_email@inbox.ru";

// Создаём GET-запрос
$api_url = "http://api.unisender.com/ru/api/activateContacts?format=json".
           "&api_key=$api_key&contact_type=$contact_type".
           "&contacts=$contacts&list_ids=$list_ids";

// Делаем запрос на 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 "Number of activated contacts: " . $jsonObj->result->activated;
  }

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