Метод createSmsMessage
Метод для создания SMS-сообщения без отправки. Непосредственно отправка осуществляется с помощью другого метода — createCampaign.
Принцип использования
| Синтаксис и URL для вызова метода |
|---|
| createSmsMessage (string sender, string body, int list_id [, string tag, date series_day, time series_time]) |
| http://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 |
| Аргументы | |
|---|---|
| api_key * | Ключ доступа к API |
| sender * | Телефон отправителя либо имя отправителя до 11 латинских букв и цифр. |
| body * | Текст сообщения с возможностью добавлять поля подстановки. |
| list_id * | Код списка, по которому будет отправка SMS. Коды всех списков можно получить с помощью вызова getLists. Отправка сообщения возможна только по одному списку. Для отправки по другому списку надо создавать новое сообщение. |
| tag | Метка. Если задана, то отправка сообщения будет производиться не по всему списку, а только по тем адресатам, которым присвоена заданная метка. |
| series_day | День отправки для автоматически рассылаемого сообщения, входящего в серию. Если отсутствует – письмо не считается автоматическим. Если задан, то это должно быть целое положительное число, задающее день отправки письма по отношению к дню подписки. У дня номер 1 специальный смысл – если указан этот день, то письмо будет отправлено в момент подписки, и значение series_time будет проигнорировано (т.к. заранее неизвестно время подписки). Внимание: автоматическая рассылка начинает действовать сразу после успешного создания письма, и если через минуту надо будет отправлять его автоматически – система отправит его. |
| series_time | Время отправки для автоматически рассылаемого письма в формате «ЧЧ:ММ». Если отсутствует, то время будет выбрано произвольно в промежутке от 6:00 до 14:00. Время игнорируется, если не задан аргумент «series_day». Используется часовой пояс, заданный в настройках Личного кабинета. |
| Возвращаемое значение |
|---|
|
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-запроса
http://api.unisender.com/ru/api/createSmsMessage?format=json&api_key=KEY &sender=UniSender&body=Test+SMS-message+from+UniSender&list_id=778899
— подготовить новое SMS-сообщение Test SMS-message на все номера списка 778899 с указанием обратного номера UniSender.
Примеры на PHP
Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Подробнее о методах соединения здесь.
Пример с использованием POST-запроса
// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxx";
// Параметры создаваемого SMS-сообщения
// Если скрипт в кодировке UTF-8, удалите вызов iconv
$sms_from = "UniSender";
$sms_to = "354168";
$sms_text = iconv('cp1251', 'utf-8', "Привет, {{Name}}, получи нашу SMS-рассылку");
// Создаём POST-запрос
$POST = array (
'api_key' => $api_key,
'sender' => $sms_from,
'list_id' => $sms_to,
'body' => $sms_text,
);
// Устанавливаем соединение
$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/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', "Привет, {{Name}}, получи SMS"));
// Создаём GET-запрос
$api_url = "http://api.unisender.com/ru/api/createSmsMessage?format=json".
"&api_key=$api_key&sender=$sms_from&list_id=$sms_to&body=$sms_text";
// Делаем запрос на 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";
}



