Метод createSmsMessage

Метод для создания SMS-сообщения без отправки. Непосредственно отправка осуществляется с помощью другого метода createCampaign.

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

Синтаксис и URL для вызова метода

createSmsMessage (string sender, string body, int list_id [, string tag, 

date series_day, time series_time, string categories])

https://api.unisender.com/ru/api/createSmsMessage?format=json&api_key=KEY&sender=FROM &body=BODY &list_id=X&tag=

TAG&series_day=DAY &series_time=TIME&categories=CATEGORIES

Аргументы
api_key * Ключ доступа к API
sender * Имя отправителя от 3 до 11 латинских букв и цифр. Имя необходимо регистрировать в службе поддержки.
body * Текст сообщения с возможностью добавлять поля подстановки.
list_id * Код списка, по которому будет отправка SMS. Коды всех списков можно получить с помощью вызова getLists. Отправка сообщения возможна только по одному списку. Для отправки по другому списку надо создавать новое сообщение.
tag Метка. Если задана, то отправка сообщения будет производиться не по всему списку, а только по тем адресатам, которым присвоена заданная метка.
series_day День отправки для автоматически рассылаемого сообщения, входящего в серию.

Если отсутствует – письмо не считается автоматическим.

Если задан, то это должно быть целое положительное число, задающее день отправки письма по отношению к дню подписки.

У дня номер 1 специальный смысл – если указан этот день, то письмо будет отправлено в момент подписки, и значение series_time будет проигнорировано (т.к. заранее неизвестно время подписки). Внимание: автоматическая рассылка начинает действовать сразу после успешного создания письма, и если через минуту надо будет отправлять его автоматически – система отправит его.
series_time Время отправки для автоматически рассылаемого письма в формате «ЧЧ:ММ». Если отсутствует, то время будет выбрано произвольно в промежутке от 6:00 до 14:00. Время игнорируется, если не задан аргумент "series_day". Используется часовой пояс, заданный в настройках личного кабинета.
categories Категории сообщения, перечисленные в текстовом виде через запятую

Возвращаемое значение
JSON-объект с одним полем message_id, в котором содержится уникальный код сообщения – целое положительное 31-битное число. Используется для отправки сообщения методом createCampaign.

Пример возвращаемого значения:

{"result":{"message_id":356238}}

{"error":"invalid sender","code":"invalid_arg","result":""}

{"error":"invalid list_id","code":"invalid_arg","result":""}
      

Примеры формирования URL-запроса

https://api.unisender.com/ru/api/createSmsMessage?format=json&api_key=
KEY&sender=UniSender&body=Test+SMS-message+from+UniSender &list_id=778899&categories=letter list, test, with attachment, unisender


— подготовить новое SMS-сообщение Test SMS-message на все номера списка 778899 с указанием обратного номера UniSender.

Примеры на PHP

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

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

// Параметры создаваемого SMS-сообщения
// Если скрипт в кодировке UTF-8, удалите вызов iconv
$sms_from = "UniSender";
$sms_to = "354168";
$sms_text = iconv('cp1251', 'utf-8', "Привет, , получи нашу SMS-рассылку");
$sms_categories = 'letter list, test, with attachment, unisender';

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'sender' => $sms_from,
  'list_id' => $sms_to,
  'body' => $sms_text,
	'categories' => $sms_categories
);

// Устанавливаем соединение
$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/createSmsMessage?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 {
    // Новое SMS-сообщение успешно создано
    echo "SMS-message is created";

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

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

// Параметры создаваемого SMS-сообщения
// Если скрипт в кодировке UTF-8, удалите вызов iconv
$sms_from = "UniSender";
$sms_to = "354168";
$sms_text = urlencode(iconv('cp1251', 'utf-8', "Привет, , получи SMS"));
$sms_categories = urlencode('letter list, test, with attachment, unisender');

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/createSmsMessage?format=json". "&api_key=$api_key&sender=$sms_from&list_id=$sms_to&body=
$sms_text&categories=$sms_categories"; // Делаем запрос на API-сервер $result = file_get_contents($api_url); if ($result) { // Раскодируем ответ API-сервера $jsonObj = json_decode($result); if(null===$jsonObj) { // Ошибка в полученном ответе echo "Invalid JSON"; } elseif(!empty($jsonObj->error)) { // Ошибка создания SMS-сообщения echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")"; } else { // Новое SMS-сообщение успешно создано echo "SMS-message is created"; } } else { // Ошибка соединения с API-сервером echo "API access error"; }