Метод sendSms
Метод для простой отправки одного SMS-сообщения одному адресату.
Принцип использования
| Синтаксис и URL для вызова метода |
|---|
| sendSms (string phone, string sender, string text) |
| http://api.unisender.com/ru/api/sendSms?format=json&api_key=KEY&phone=TO&sender=FROM&text=TEXT |
| Аргументы | |
|---|---|
| api_key * | Ключ доступа к API |
| phone * |
Телефон получателя в международном формате с кодом страны (можно опускать ведущий «+»). Пример: phone=79092020303 |
| sender * |
Отправитель – либо телефонный номер, либо строка до 11 латинских букв или цифр.
Также возможны специальные символы – точка, дефис, запятая и некоторые другие. Пример: sender=79991112233 sender=UniSender |
| text * |
Текст сообщения, до 1000 символов. Символы подстановки типа {{Name}} игнорируются. Пример: text=Hello,+it's+a+test+message |
| Возвращаемое значение | |
|---|---|
| JSON-объект со следующими полями: | |
| currency | Трёхбуквенный международный код валюты, в которой посчитана цена сообщения. Валюта совпадает с валютой вашего счёта (RUB, USD, EUR, UAH). |
| price | Цена в валюте currency, число с десятичной точкой. |
| sms_id | Уникальный код сообщения – строка до 64 символов. Может использоваться для контроля доставки методом checkSms. |
При вызове данного метода возможно возвращение специфичных для него кодов ошибок:
| Коды ошибок | |
|---|---|
| dest_invalid | Доставка невозможна, телефон получателя некорректен |
| src_invalid | Доставка невозможна, аргумент sender (поле «отправитель») некорректен |
Смотрите также
Пример формирования URL-запроса
http://api.unisender.com/ru/api/sendSms?format=json&api_key=KEY &phone=79998887766&sender=79008007060&text=Hello,+World!
— отправить сообщение Hello, World на номер +7999887766 с указанием обратного номера +79008007060
Примеры на PHP
Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Подробнее о методах соединения здесь.
Пример с использованием POST-запроса
// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxxxx";
// Параметры сообщения
// Если скрипт в кодировке UTF-8, не используйте iconv
$sms_from = "UniSender";
$sms_to = "79250223344";
$sms_text = urlencode(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,
'http://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 = urlencode(iconv('cp1251', 'utf-8',"SMS-сообщение по-русски"));
// Создаём GET-запрос
$api_url = "http://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";
}


