Метод getMessage

Метод для получения информации об SMS или email сообщении

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

Синтаксис и URL для вызова метода
getMessage (int id)
https://api.unisender.com/ru/api/getMessage?id=ID&api_key=KEY

Аргументы
id * id - 31-битное положительное целое, идентификатор сообщения. Такие идентификаторы возвращаются методами createEmailMessage и createSmsMessage.

id можно передавать как одно число или как массив для получения нескольких писем (см. пример ниже).
api_key * Ключ доступа к API

Возвращаемое значение
JSON-массив, каждый элемент массива – объект письма со следующими полями:

  • id - 31-битное положительное целое, идентификатор сообщения.
  • sub_user_login - либо логин субпользователя, который создал письмо, либо NULL, если письмо создал мастер-пользователь
  • sender_email (только если сообщение - email) - email отправителя
  • sender_name (только если сообщение - email) - имя отправителя
  • sender (только если сообщение - sms) - имя отправителя
  • subject (только если сообщение - email) - тема письма
  • body - тело письма
  • text_body (только если сообщение - email) - текстовая версия тела письма
  • list_id - ID списка рассылки
  • last_update - дата и время последнего изменения в письме в формате ГГГГ-ММ-ДД ЧЧ:ММ:CC. Например: 2013-09-15 05:38:11
  • service_type - тип письма (email или sms)
  • lang_code (только если сообщение - email) - двухбуквенный код языка для автоматического добавления к письму формы отписки (например, 'ru', 'en')
  • active_version_id - ID версии письма
  • message_format - возвращает способ создания сообщения: block - блочный редактор, raw_html - html редактор, text - текстовая версия письма 
  • wrap_type (только если сообщение - email) - выравнивание текста в письме. Возможные варианты:
    • skip - выравнивание не производится
    • left - выравнивание по левому краю
    • center - выравнивание по центру
    • right - выравнивание по правому краю
  • is_draft - является ли письмо черновиком
  • images_behavior - (только, если сообщение - email) - как передаются картинки в письме. Возможные варианты:
    • only_links - картинки не передаются, вместо них добавляются ссылки
    • attachments - картинки передаются как вложения в письмо
    • smart_mode - в данный момент не используется

Пример:
{"result":[
    {
        "id":"3771225",
        "sub_user_login":null,
        "list_id":"910533",
        "last_update":"2013-09-02 07:35:17",
        "service_type":"email",
        "lang_code":"ru",
        "active_version_id":null,
"message_format":"raw_html", "wrap_type":"left", "is_draft":"0", "images_behavior":"only_links", "sender_email":"test@unisender.com", "sender_name":"UniSender", "subject":"Message Subject", "body":"<p>Message body</p>", "text_body":"Message body" } ] }

Примеры на PHP

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

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

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'id' => array(1,2,3), // запрашиваем набор сообщений
);

// Устанавливаем соединение
$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/
getMessage?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 "Received messages:<br>"; foreach ($jsonObj->result as $one) { echo "<strong>Message #" . $one['id'] . "</strong><br>"; if ('email' == $one['sevice_type']) { echo 'From: ' . $one['sender_name'] . '(' . $one['sender_email'] . ')<br>' echo 'Subject: ' . $one['subject'] . '<br>' echo 'Message (text): ' . $one['text_body'] . '<br>' } else { echo 'From: ' . $one['sender'] . '<br>' echo 'Message: ' . $one['body'] . '<br>' } echo '<br>'; } } } else { // Ошибка соединения с API-сервером echo "API access error"; }
Пример с использованием GET-запроса
// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxxxxxxxx";

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/getMessage?format=
json&api_key=$api_key&id=1"; // Делаем запрос на 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 "Received messages:<br>"; foreach ($jsonObj->result as $one) { echo "<strong>Message #" . $one['id'] . "</strong><br>"; if ('email' == $one['sevice_type']) { echo 'From: ' . $one['sender_name'] . '(' . $one['sender_email'] . ')<br>' echo 'Subject: ' . $one['subject'] . '<br>' echo 'Message (text): ' . $one['text_body'] . '<br>' } else { echo 'From: ' . $one['sender'] . '<br>' echo 'Message: ' . $one['body'] . '<br>' } echo '<br>'; } } } else { // Ошибка соединения с API-сервером echo "API access error"; }