Метод sendSms

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

Максимальное количество номеров для отправки SMS: 150 за вызов.

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

Синтаксис и URL для вызова метода
sendSms (string phone, string sender, string text)
Пример с одним телефоном:

https://api.unisender.com/ru/api/sendSms?format=json&api_key=KEY&phone=TO&sender=FROM&text=TEXT

Пример с несколькими телефонами:

https://api.unisender.com/ru/api/sendSms?format=json&api_key=KEY&phone=PHONE1,PHONE2&sender=FROM&text=

TEXT

Аргументы
api_key * Ключ доступа к API
phone * Телефон получателя в международном формате с кодом страны (можно опускать ведущий «+»).

Пример:

phone=79092020303


Можно указывать несколько номеров адресатов через запятую.

Максимальное количество номеров за один вызов: 150.

Пример:

phone=79092020303,79002239878
sender * Отправитель –   строка от 3 до 11 латинских букв или цифр с буквами. Также возможны специальные символы – точка, дефис, тире и некоторые другие.

Пример:

     
      sender=MyCompany
      
text * Текст сообщения, до 1000 символов. Символы подстановки типа игнорируются.

Пример:

text=Hello,+it's+a+test+message
text=SMS-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%
D0%B5%D0%BD%D0%B8%D0%B5%2C

Возвращаемое значение
В случае отправки на один номер возвращаемым значением является JSON-объект. Если указано несколько телефонов, то возвращаемым значением является массив JSON-объектов. Поля, составляющие JSON-объект:
currency Трёхбуквенный международный код валюты, в которой посчитана цена сообщения. Валюта совпадает с валютой вашего счёта (RUB, USD, EUR, UAH).
price Цена в валюте currency, число с десятичной точкой.
sms_id Уникальный цифровой код сообщения. Может использоваться для контроля доставки методом checkSms.


При вызове данного метода возможно возвращение специфичных для него кодов ошибок:

Коды ошибок
dest_invalid Доставка невозможна, телефон получателя некорректен
src_invalid Доставка невозможна, аргумент sender (поле «отправитель») некорректен
has_been_sent SMS данному адресату уже был отправлен. Допустимый интервал между двумя отправками - 1 минута.
unsubscribed_globally Адресат глобально отписан от рассылок

 

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

https://api.unisender.com/ru/api/sendSms?format=json&api_key=KEY
&phone=79998887766&sender=MyCompany&text=Hello,+World!


— отправить сообщение Hello, World на номер +7999887766 с указанием имени отправителя MyCompany

Примеры на PHP

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

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

// Параметры сообщения
// Если скрипт в кодировке UTF-8, не используйте iconv
$sms_from = "UniSender";
$sms_to = "79250223344";
$sms_text = iconv('cp1251', 'utf-8',"SMS-сообщение по-русски");

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'phone' => $sms_to,
  'sender' => $sms_from,
  'text' => $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, 
            'https://api.unisender.com/ru/api/sendSms?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 "SMS message is sent. Message id " . $jsonObj->result->sms_id;
    echo "SMS cost is " . $jsonObj->result->price . " " . $jsonObj->result->currency;

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

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

// Параметры сообщения
// Если скрипт в кодировке UTF-8, не используйте iconv
$sms_from = "UniSender";
$sms_to = "79250223344";
$sms_text = iconv('cp1251', 'utf-8',"SMS-сообщение по-русски");

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/sendSms?format=json".
           "&api_key=$api_key&phone=$sms_to&sender=$sms_from&text=$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)) {
    // Ошибка отправки сообщения
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Сообщение успешно отправлено
    echo "SMS message is sent. Message id " . $jsonObj->result->sms_id;
    echo "SMS cost is " . $jsonObj->result->price . " " . $jsonObj->result->currency;
  }

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