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

Метод checkEmail

Возвращает строку — статус отправки email-сообщения, отправленного методом sendEmail.

Для ускорения работы метода sendEmail статусы доставки хранятся ограниченное время – только одну неделю.

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

Синтаксис и URL для вызова метода
checkEmail (string email_id)
http://api.unisender.com/ru/api/checkEmail?format=json&api_key=KEY&email_id=ID
Аргументы
api_key * Ключ доступа к API
email_id * Код сообщения, возвращённый методом sendEmail.

Возвращаемое значение
JSON-объект с единственным строковым полем status, принимающим одно из описанных ниже значений. В будущем вероятно появление новых значений, но будет соблюдаться принцип: если статус начинается с err_ – значит, доставка не удалась. Если с ok_ – то доставка ещё идёт или удачно завершена. Исключение – статус 'not_sent'.
not_sent Сообщение пока ещё не отправлено и находится в очереди на отправку.
ok_sent Сообщение отправлено, но статус доставки пока неизвестен. Статус временный и может измениться.
ok_delivered Сообщение доставлено. Может измениться на 'ok_read', 'ok_link_visited' или 'ok_unsubscribed'.
ok_read Сообщение доставлено и зарегистрировано его прочтение. Может измениться на 'ok_link_visited' или 'ok_unsubscribed'.
ok_spam_folder Сообщение доставлено, но помещено в папку "спам" самим пользователем или почтовой службой. К сожалению, редкие почтовые службы сообщают такую информацию, поэтому таких статусов обычно немного.
ok_link_visited Сообщение доставлено, прочитано и выполнен переход по одной из ссылок. Может измениться на 'ok_unsubscribed'.
ok_unsubscribed Сообщение доставлено и прочитано, но пользователь отписался по ссылке в письме. Статус окончательный.
err_user_unknown Адрес не существует, доставка не удалась. Статус окончательный.
err_user_inactive Адрес когда-то существовал, но сейчас отключен. Доставка не удалась. Статус окончательный.
err_mailbox_full Почтовый ящик получателя переполнен. Статус окончательный.
err_spam_rejected Письмо отклонено сервером как спам. Статус окончательный.
err_delivery_failed Доставка не удалась по иным причинам. Статус окончательный.
err_will_retry Одна или несколько попыток доставки оказались неудачными, но попытки продолжаются. Статус неокончательный.
err_resend Фактически эквивалентенен err_will_retry, с некоторыми несущественными внутренними особенностями.
err_domain_inactive Домен не принимает почту или не существует.
err_skip_letter Сообщение было запланировано к отправке, но когда подошло время отправки, контакт уже не был активен и доступен. Возможно, он был отмечен как недоступный по результатам другой рассылки на этот адрес, или отписался. Также этот статус используется при отправках администраторами части писем рассылки для проверки - все письма рассылки, кроме той части, которая отправляется, помечаются этим статусом.
Примеры возвращаемого значения:

{"result":{"status":"ok_delivered"}}

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

Примеры на PHP

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

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

// Параметры сообщения
$email_id = urlencode("2387465634");

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'email_id' => $email_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/checkEmail?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 "E-mail message delivery status: " . $jsonObj->result->status;

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


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

// Параметры сообщения
$email_id = urlencode("78234678234");

// Создаём GET-запрос
$api_url = "http://api.unisender.com/ru/api/checkEmail?format=json".
           "&api_key=$api_key&email_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 "E-mail message delivery status: " . $jsonObj->result->status;
  }

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