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

Метод getCampaignAggregateStats

Получить отчёт по результатам доставки сообщений в заданной рассылке, сгруппированный по типам результата.

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

Синтаксис и URL для вызова метода
getCampaignAggregateStats (int campaign_id)
http://api.unisender.com/ru/api/getCampaignAggregateStats?format=json&api_key=KEY&campaign_id=ID
Аргументы
api_key * Ключ доступа к API
campaign_id * Идентификатор кампании, полученный при вызове метода createCampaign.
Возвращаемое значение
JSON-объект со следующим полями:
total Общее количество обработанных сообщений.
data Массив результатов доставки. Каждый результат представляет собой тип результата и количество сообщений. Про типы результатов можно прочитать здесь.
Если были ошибки или предупреждения, они возвращаются в полях error/warnings в соответствии с описанием
Пример возвращаемого значения:
{
  "result":{
    "total":241 ,
    "data":{
      "ok_sent":239 ,
      "err_will_retry":2
    }
  }
}

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

Примеры на PHP

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

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

// Параметры для отправки сообщения
$id = "932498";

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

// Устанавливаем соединение
$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/getCampaignAggregateStats?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 "<table border='1'>";
    echo "<tr><td>Status</td><td>Count</td>";
    for (var $status in $jsonObj->result->data) {
      echo "<tr><td>" . $status . "</td><td>" . $jsonObj->result->data[$status] . "</td></tr>";
    }
    echo "</table>";
  }
} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}


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

// ID кампании, по которой надо получить статистику
$email_id = "932498";

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


// Делаем запрос на 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 "<table border='1'>";
    echo "<tr><td>Status</td><td>Count</td>";
    for (var $status in $jsonObj->result->data) {
      echo "<tr><td>" . $status . "</td><td>" . $jsonObj->result->data[$status] . "</td></tr>";
    }
    echo "</table>";
  }

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