Тарифи  Послуги  API  Партнерам  Про сервіс  Контакти 
0 (800) 30 7672
Безкоштовно по Україні
 

Інтеграція з сервісом (API)

API дозволяє розсилати повідомлення через ваші проекти і сервіси по протоколах HTTP/HTTPS, SMTP і SMPP. Готові бібліотеки на різних мовах програмування підключаються до вашого проекту і допомагають відправляти повідомлення з будь-якого місця за допомогою однієї команди.


HTTP/HTTPS SMTP SMPP SOAP OMS SMS-команди Бібліотеки та приклади коду

ВІДПРАВКА ПОВІДОМЛЕНЬ

Відправка SMS-повідомлення

Коментарі в SMS-повідомленнях

Відправка на групу номерів

Відправка HLR-запиту

Надсилання MMS-повідомлення

Відправка e-mail повідомлення

Надсилання голосового повідомлення (дзвінок)

Відправка viber-повідомлення

Використання префіксів при відправці повідомлень

Керування шаблонами повідомлень

Керування шаблонами операторів

Віртуальна відправка (режим тестування)

Повідомлення про події

УПРАВЛІННЯ РОЗСИЛКАМИ

СТАТУСИ ПОВІДОМЛЕНЬ

ПЕРЕВІРКА СТАНУ БАЛАНСУ

УПРАВЛІННЯ КОНТАКТАМИ

УПРАВЛІННЯ КЛІЄНТАМИ

КЕРУВАННЯ ІМЕНАМИ ВІДПРАВНИКІВ (SENDER ID)

ОТРИМАННЯ ДАНИХ

РІЗНЕ

Відправка повідомлень

Відправка SMS-повідомлення

Для відправки SMS необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>
Для отримання вартості SMS необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&cost=1
Опис параметрів, що передаються Серверу :

ПараметрЗначення
loginЛогін Клієнта.
pswПароль Клієнта (можна додати або редагувати на даннійсторінці).
phonesНомер або розділений комою або крапкою з комою список номерів мобільних телефонів в міжнародному форматі, на які відправляється повідомлення. Номери можуть передаватися без знака "+". Якщо номер переданий без знака "+", то він може бути виправлений автоматичним форматуванням і приведений до правильного міжнародного формату. Таким чином, деякі помилки при введенні номерів телефонів можуть бути виправлені автоматично. Для відключення автовиправлення передайте номер зі знаком "+".
Також можна відправляти повідомлення на групу номерів, вказавши спеціальний код "G<номер группы>". Повідомлення буде відправлено на всі номери, що належать даній групі. Для e-mail повідомлення передається список e-mail адрес одержувачів.
mesТекст повідомлення, що відправляється. Максимальний розмір – 1000 символів. Повідомлення при необхідності буде розбите на кілька SMS, відправлених абоненту і оплачених окремо. Розмір одного SMS – 160 символів у латиниці або 70 символів у кирилиці. При розбивці повідомлення на кілька SMS в кожну частину додається заголовок для об'єднання частин в одне повідомлення на телефоні одержувача, і максимальна довжина стає 67 для кирилиці і 153 для латинських букв. У текст повідомлення можна додавати коментарі, призначені для перегляду відправником історії в особистому кабінеті.
Додаткові параметри
idІдентифікатор повідомлення. Призначається Клієнтом. Служить для подальшої ідентифікації повідомлення. Якщо не вказувати, то буде призначений автоматично. Не обов'язково унікальний. Ідентифікатор являє собою 32-бітне число в діапазоні від 1 до 2147483647, або рядок довжиною до 40 символів, який складається із латинських букв, цифр і символів ".-_".
senderІм'я відправника, що відображається в телефоні одержувача. Дозволені англійські букви, цифри, пробіл і деякі символи. Довжина – 11 символів або 15 цифр. Всі імена реєструються в особистому кабінеті на даній сторінці.
translitОзнака того, що повідомлення необхідно перевести у трансліт.
0 (за замовчуванням) – не переводити в трансліт.
1 – перекласти в трансліт у вигляді "translit".
2 – перевести в трансліт у вигляді "mpaHc/Ium".
tinyurlАвтоматично скорочувати посилання в повідомленнях. Дозволяє замінювати посилання в тексті повідомлення на короткі для скорочення довжини, а також для відстеження кількості переходів на цій сторінці.
0 (за замовчуванням) – залишити посилання в тексті повідомлення без змін.
1 – скоротити посилання.
timeЧас відправки SMS-повідомлення абоненту.
Формати:
  1. DDMMYYhhmm або DD.MM.YY hh: mm.
  2. h1-h2. Задає діапазон часу в годиннику. Якщо поточний час менше h1, то SMS-повідомлення буде відправлено абоненту при настанні часу h1, якщо поточний час потрапляє в проміжок від h1 до h2, то повідомлення буде відправлено негайно, в іншому випадку відправка буде виконана на наступний день при досягненні часу h1. Ця функція, наприклад, корисна для того, щоб не допустити отримання SMS-повідомлень абонентами в нічний час.
  3. 0ts, де ts – timestamp час у секундах, що минув з 1 січня 1970 року.
  4. +m. задає відносне зміщення часу від поточного в хвилинах. Символ + повинен кодуватися як %2B в http-запиті.
Якщо time = 0 або вказано вже минулий час, то повідомлення буде відправлено негайно.
tzЧасовий пояс, в якому задається параметр time. Вказується щодо московського часу. Параметр tz може бути як позитивним, так і негативним. Якщо tz дорівнює 0, то буде використаний московський часовий пояс, якщо ж параметр tz не заданий, то часовий пояс буде взятий із налаштувань клієнта.
periodПроміжок часу, протягом якого необхідно відправити розсилку. Являє собою число в діапазоні від 0.1 до 720 годин. Застосовується спільно з параметром freq. Даний параметр дозволяє розтягнути розсилку в часі для поступового отримання SMS-повідомлень абонентами.
freqІнтервал або частота, з якою потрібно відправляти SMS-розсилку на чергову групу номерів. Кількість номерів у групі розраховується автоматично на основі параметрів period і freq. Задається в проміжку від 1 до 1440 хвилин. Без параметра period параметр freq ігнорується.
flashОзнака Flash повідомлення, що відображається одразу на екрані телефону.
0 (за замовчуванням) – звичайне повідомлення.
1 – Flash повідомлення.
binОзнака бінарного повідомлення.
0 (за замовчуванням) – звичайне повідомлення.
1 – бінарне повідомлення. У http-запиті необхідно закодувати за допомогою функції urlencode.
2 – бінарне повідомлення, представлене у вигляді шістнадцяткового рядка (hex).

Бінарне повідомлення передається разом з UDH заголовком на початку в параметрі mes, в якому перший байт задає довжину заголовка. Щоб передати бінарне повідомлення без UDH заголовка, вкажіть нульовий байт на початку повідомлення (00 в hex).
Для можливості передачі параметрів pid і dcs необхідно в кінець бінарного повідомлення додати спеціальну комбінацію "\n~~~ \ n "(переклад рядка, 3 символу тильди і знову переклад рядка) і потім текст "pid: значеніе1, dcs: значеніе2" з точним збереженням пробіл.
pushОзнака WAP-push повідомлення, за допомогою якого можна відправити інтернет-посилання на телефон.
0 (за замовчуванням) – звичайне повідомлення.
1 – wap-push повідомлення. У параметрі mes необхідно передати посилання і заголовок через переклад рядка.
hlrОзнака HLR-запиту для отримання інформації про номер із бази оператора без відправки реального SMS.
0 (за замовчуванням) – звичайне повідомлення.
1 – HLR-запит. Буде виконано HLR-запит для кожного номера телефону в списку. Параметр mes не використовується.
pingОзнака спеціального SMS, що не відображається в телефоні, для перевірки номерів на доступність в реальному часі за статусом доставки.
0 (за замовчуванням) – звичайне повідомлення.
1 – ping-sms. Буде відправлено Ping-SMS на кожен номер телефону в списку. Параметр mes не використовується.
mmsОзнака MMS-повідомлення, за допомогою якого можна передавати текст (txt), зображення різних форматів (jpg, gif, png), музику (wav, amr, mp3, mid) і відео (mp4, 3gp). Файли передаються в тілі http-запиту.
0 (за замовчуванням) – звичайне повідомлення.
1 – MMS-повідомлення. Буде відправлено MMS на кожен номер телефону в списку.
mailОзнака e-mail повідомлення. Файли, що прикріплюються до повідомлення, передаються методом POST в тілі http-запиту.
0 (за замовчуванням) – звичайне повідомлення.
1 – e-mail повідомлення.
socОзнака soc-повідомлення, що відправляється користувачам соціальних мереж "Однокласники", "ВКонтакті" або користувачам "Mail.Ru Агент".
0 (за замовчуванням) – звичайне повідомлення.
1 – soc-повідомлення.
viberОзнака viber-повідомлення, що відправляється користувачам месенджера Viber.
fileurlПовна http-адреса файлу для завантаження та передачі в повідомленні.
callОзнака голосового повідомлення. При формуванні голосового повідомлення можна передавати як текст, так і прикріплювати файли. Файли, що додаються до повідомлення, повинні передаватися методом POST у тілі http-запиту.
0 (за замовчуванням) – звичайне повідомлення.
1 – голосове повідомлення.
voiceГолос, який використовується для озвучування тексту (тільки для голосових повідомлень).
m (за замовчуванням) – чоловічий голос.
m2 – чоловічий голос 2.
m3 – чоловічий голос 3.
m4 – чоловічий голос 4.
w – жіночий голос.
w2 – жіночий голос 2.
w3 – жіночий голос 3.
w4 – жіночий голос 4.
paramРозділений комою список параметрів для голосового повідомлення у форматі "param=w,i,n".
Тут:
  • w – час очікування підняття трубки абонентом після початку дзвінка в секундах. Якщо протягом зазначеного часу абонент не підніме трубку, то дзвінок піде на повтор із помилкою "абонент зайнятий". Робочий діапазон значень параметра від 10 до 35, але можна вказувати інтервал від 0 до 99 (у випадку, якщо значення менше 10, то воно буде приведене до 10, аналогічно для верхньої межі).
  • i – інтервал повтору, тобто проміжок часу, після закінчення якого відбудеться повторний дзвінок (в секундах). Робочий діапазон параметра від 10 до 3600 (у випадку, якщо значення менше 10, то воно буде приведене до 10).
  • n – загальна кількість спроб дозвону. Робочий діапазон значень від 1 до 9 (0 буде приведений до 1).
При вказівці значення будь-якого параметра, відмінного від можливих, будуть використані значення всіх параметрів за замовчуванням (n = 8, w = 25, i от 3 до 14 секунд по наростаючій).
subjТема MMS або e-mail повідомлення. При відправці e-mail вказання теми, тексту і адреси відправника обов'язкове. Для MMS обов'язковим є указання теми або тексту. Якщо не вказати тему MMS, то в її якості буде використане ім'я відправника, передане в запиті або те, що використовується за замовчуванням.
charsetКодування переданого повідомлення, якщо використовується відмінна від кодування по замовчування windows-1251. Варіанти: utf-8 і koi8-r.
costОзнака необхідності отримання вартості розсилки.
0 (за замовчуванням) – звичайна відправка.
1 – отримати вартість розсилки без реальної відправки.
2 – звичайна відправка, але додати у відповідь вартість виконаної розсилки.
3 – звичайна відправка, але додати у відповідь вартість і новий баланс клієнта.
fmtФормат відповіді сервера про успішну відправку.
0 - (за замовчуванням) у вигляді рядка (OK - 1 SMS, ID - 1234).
1 - повернути відповідь у вигляді чисел: ID і кількість SMS через кому (1234,1), при cost = 2 ще вартість через кому (1234,1,1.40), при cost = 3 ще новий баланс клієнта (1234,1,1.40,100.50), при cost = 1 вартість і кількість SMS через кому (1.40,1).
2 – відповідь у xml форматі.
3 – відповідь у json форматі.
listСписок номерів телефонів і відповідних їм повідомлень, розділених двокрапкою або крапкою з комою і представлений у вигляді:
phones1:mes1
phones2:mes2
...
Рядки розділяються через символ нового рядка (%0A). В якості phones можна вказати кілька номерів телефонів через кому. Якщо в повідомленні mes потрібно передати символ нового рядка, то вкажіть його через \n. у разі неможливості коригування тексту мультистрокового повідомлення можливе включення спеціального режиму для передачі такого типу повідомлень. Для цього необхідно додатково передавати в запиті параметр nl, рівний 1.
У разі необхідності передачі різних імен відправників (і, можливо, різних часових поясів абонентів) для різних повідомлень можна використовувати наступний формат передачі:
sender1,tz1|phones1:mes1
sender2,tz2|phones2:mes2
...
В даному випадку параметр tz є необов'язковим.
Параметр list дозволяє виконувати множинну розсилку з різними повідомленнями на кілька телефонів одним http-запитом. Повідомленням у запиті присвоюється єдиний ідентифікатор. Весь параметр повинен бути закодований за допомогою функції urlencode.
validТермін" життя " SMS-повідомлення. Визначає час, протягом якого оператор буде намагатися доставити повідомлення абоненту. Діапазон від 1 до 24 годин. Також можливо передавати час у форматі чч: мм в діапазоні від 00:01 до 24:00.
maxsmsМаксимальна кількість SMS, на які може розбитися довге повідомлення. Занадто довгі повідомлення будуть обрізатися так, щоб не переповнити кількість SMS, необхідних для їх передачі. Цим параметром ви можете обмежити максимальну вартість повідомлень, так як за кожне SMS знімається окрема плата.
imgcodeЗначення буквено-цифрового коду, введеного з "captcha" при використанні антиспам перевірки. Даний параметр повинен використовуватися спільно з параметром userip.
useripЗначення IP-адреси, для якої буде діяти ліміт на максимальну кількість повідомлень з однієї IP-адреси на добу, встановлений в налаштування особистого кабінету в пункті "Ліміти та обмеження".
errОзнака необхідності додавання у відповідь сервера списку помилкових номерів.
0 (за замовчуванням) – не додавати список (звичайна відповідь сервера).
1 – у відповідь додається список помилкових номерів телефонів із відповідними статусами.
opОзнака необхідності додавання у відповідь сервера інформації по кожному номеру.
0 (за замовчуванням) – не додавати список (звичайна відповідь сервера).
1 – у відповідь додається список всіх номерів телефонів з відповідними статусами, значеннями mcc і mnc, вартістю, і, в разі помилкових номерів, кодами помилок.
ppЗдійснює прив'язку Клієнта як реферала до певного ID партнера для поточного запиту.
При передаче данного параметра в виде "pp=<ID партнера>" Клиент с логином login временно становится рефералом партнера с ID <ID партнера>. Відрахування за партнерською програмою будуть зроблені саме для поточного запиту, постійної прив'язки не відбувається. Даний параметр дозволяє тимчасово встановлювати Клієнта як реферала зі своїх сервісів і програм, де немає можливості зареєструвати Клієнта за реферальним посиланням.


Обов'язковими параметрами є login, psw, phones і mes або login, psw і list.

Після прийняття та обробки даних Сервер повертає Клієнту підтвердження із зазначенням результату обробки.

Всі параметри, які містять спеціальні символи (плюс, пробіл і т. д.), повинні бути закодовані за допомогою функції urlencode для передачі в HTTP-запиті.

Відповідь сервера і коди помилок

Сервер відправляє відповідь у вигляді рядка:

Якщо сталася помилка, то відповідь буде однією із наступних:

При fmt = 0:
  • ERROR = N (описание) – для помилок 1,2,4,5,9;

  • ERROR = N (опис), ID - <id сообщения> – для помилок 3,6,7,8.
При fmt = 1:
  • 0,-N – для помилок 1,2,4,5,9;
  • <id сообщения>,-N – для помилок 3,6,7,8.
При fmt = 2:
  • Для помилок 1,2,4,5,9:

    <result>
    <error>опис</error>
    <error_code>N</error_code>
    </result>

  • Для помилок 3,6,7,8:
    <result>
    <error>опис</error>
    <error_code>N</error_code>
    <id>id сообщения</id>
    </result>
При fmt = 3:
  • Для помилок 1,2,4,5,9:
    {
    "error": "опис",
    "error_code": N
    }

  • Для помилок 3,6,7,8:
    {
    "error": "опис",
    "error_code": N,
    "id": <id сообщения>
    }
N – номер помилки, може приймати наступні значення:

ЗначенняОпис
1Помилка в параметрах.
2Невірний логін або пароль. Також виникає при спробі відправки повідомлення з IP-адреси, що не входить в список дозволених Клієнтом (якщо такий список був налаштований Клієнтом раніше).
3Недостатньо коштів на рахунку клієнта.
4IP-адреса тимчасово заблокована через часті помилки у запитах. Докладніше
5Невірний формат дати.
6Повідомлення заборонено (за текстом або по імені відправника). Також дана помилка виникає при спробі відправки масових та (або) рекламних повідомлень без укладеного договору.
7Неправильний формат номера телефону.
8Повідомлення на вказаний номер не може бути доставлене.
9Надсилання більше одного однакового запиту на передачу SMS-повідомлення або більше п'яти однакових запитів на отримання вартості повідомлення протягом хвилини.
Дана помилка виникає також при спробі відправки п'ятнадцяти і більше запитів одночасно з різних підключень під одним логіном (too many concurrent requests).

У разі успішної обробки запиту повертається рядок наступного виду:
  • при cost = 0 і fmt = 0: OK - <n> SMS, ID - <id>

  • при cost = 1 і fmt = 0: <cost> (<n> SMS)

  • при cost = 2 і fmt = 0: OK - <n> SMS, ID - <id>, COST - <cost>

  • при cost = 3 і fmt = 0: OK - <n> SMS, ID - <id>, COST - <cost>, BALANCE - <balance>

  • при cost = 0 і fmt = 1: <id>,<n>

  • при cost = 1 і fmt = 1: <cost>,<n>

  • при cost = 2 і fmt = 1: <id>,<n>,<cost>

  • при cost = 3 і fmt = 1: <id>,<n>,<cost>,<balance>

  • при cost = 0 і fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    </result>

  • при cost = 1 і fmt = 2:
    <result>
    <cost>cost</cost>
    <cnt>n</cnt>
    </result>

  • при cost = 2 і fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    </result>

  • при cost = 3 і fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    <balance>balance</balance>
    </result>

  • при cost = 0 і fmt = 3:
    {
    "id": <id>,
    "cnt": <n>
    }

  • при cost = 1 і fmt = 3:
    {
    "cost": "<cost>",
    "cnt": <n>
    }

  • при cost = 2 і fmt = 3:
    {
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>"
    }

  • при cost = 3 і fmt = 3:
    {
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>",
    "balance": "<balance>"
    }

  • при op = 1 і fmt = 0 або 1, інформація додається в кінець звичайного виводу з нового рядка:
    <phone>,<mccmnc>,<cost>,<status>,<error>

  • при op = 1 та fmt = 2, у відповідь додається масив:
    <phones>
    <phone mccmnc="mccmnc" cost="cost" status="status" error="error">phone</phone>
    ...
    </phones>

  • при op = 1 та fmt = 3, у відповідь додається масив:
    "phones": [{
    "phone": "<phone>",
    "mccmnc": "<mccmnc>",
    "cost": "<cost>",
    "status": "<status>",
    "error": "<error>"
    },
    ...
    ]

Де:
<n> - це кількість відправлених SMS, обчислюється як кількість SMS в повідомленні, помножене на кількість одержувач.
<id> – ідентифікатор повідомлення, переданий Клієнтом або призначений Сервером автоматично.
<cnt> – кількість частин (при відправці SMS-повідомлення) або 5-секундних блоків (при голосовому повідомленні (дзвінку)).
<balance> – новий баланс Клієнта.
<phone> – номер телефону.
<mccmnc> – числовий код країни абонента плюс числовий код оператора абонента.
<cost> – вартість SMS-повідомлення.
<status> – код статусу SMS-повідомлення.
<error> – код помилки в статусі.

Сервер не приймає більше одного однакового запиту на відправку SMS-повідомлень протягом хвилини для захисту від помилок і зациклень у програмі на стороні клієнта для того, щоб знизити навантаження і не витрачати кошти клієнта, а також не допустити багаторазової відправки повідомлення одному абоненту.

Сервер також блокує надсилання більше 50 повідомлень одному абоненту, які були відправлені з перервою між повідомленнями менше 60-ти секунд, для захисту від флуду і зайвого списання коштів із рахунку клієнта, так як багато операторів не пропускають велику кількість повідомлень одному абоненту за короткий проміжок часу.

Приклади надсилання повідомлень

Приклади:

Звичайне повідомлення:

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello! https://smsc.ua/sys/send.php?login=alex&psw=123
&list=79999999999:Hello!%0A79999999999:Hello\nworld!

Flash повідомлення в кодуванні "utf-8" від відправника "ivan", переведене в трансліт, яке повинно бути доставлене абоненту 01.01.2012 р в 00:00:

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello%20world!
&translit=1&time=0101120000&flash=1&sender=ivan
&charset=utf-8

Бінарне EMS повідомлення з текстом "Hello, World!", в якому слово "World" виділене курсивом і підкреслене:

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999
&mes=050A0307056048656C6C6F2C20576F726C6421&bin=2

Бінарне WAP-push повідомлення, що передає посилання на сайт "http://wap.ru/":

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999
&mes=0605040B8423F0DC0601AE02056A0045C60C037761702E72752F0001037761702E7275000101&bin=2

WAP-push повідомлення в текстовому вигляді, що передає посилання на сайт "http://wap.ru"із заголовком "WAP.RU":

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999
&mes=http://wap.ru%0AWAP.RU&push=1

Коментарі в SMS-повідомленнях

При відправці SMS-повідомлень можна додавати в кінець тексту будь-який коментар, уточнюючий або доповнюючий SMS-повідомлення для відправника. Даний текст не буде відправлятися абонентам і впливати на вартість SMS і доступний для перегляду і фільтрації в списку відправлених повідомлень в особистому кабінеті.

Для додавання коментаря необхідно в кінці тексту SMS-повідомлення, призначеного для відправки, вказати спеціальну комбінацію "\n~~~\n" (переклад рядка, 3 символу тильди і знову переклад рядка), і після цього будь-який текст, який буде вважатися коментарем, не буде відправлений абоненту, але відобразиться в історії.

Приклади:

Надсилання одного повідомлення:

Hello!
~~~
Comment
https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999%2C78888888888&mes=Hello!%0A~~~%0AComment
Надсилання кількох повідомлень через параметр list:

Hello1!
~~~
Comment1
Hello2!
~~~
Comment2
https://smsc.ua/sys/send.php?login=alex&psw=123&list=79999999999:Hello1!\n~~~\nComment1%0A78888888888:Hello2!\n~~~\nComment2

Відправка на групу номерів

В личном кабинете Клиента при создании или редактировании группы можно указать номер группы для рассылок сообщений. Тогда при отправке сообщения вместо списка телефонов можно будет указывать короткий код в виде "G<номер группы>" или "g<номер группы>", і повідомлення буде відправлено на всі номери телефонів, що належать даній групі.

Приклади:

Відправлення повідомлення на всі номери телефонів, що належать групам з призначеними номерами 777 і 888:

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=G777%2Cg888&mes=Hello!

Відправка HLR-запиту

Ви можете перевіряти номери телефонів на доступність, відправляючи спеціальний HLR-запит. В результаті виконання запиту будуть отримані дані про країну і оператора абонента, про роумінговому операторі при знаходженні абонента в чужій мережі, а також про статус абонента (доступний чи ні). Абоненти, власники номерів, що перевіряються, не отримуватимуть жодних повідомлень про виконані перевірки їх номера.

Виконання HLR-запиту по HTTP-протоколу виконується тим же способом, що і відправка SMS-повідомлення, при цьому в запиті необхідно передати додатковий параметр hlr=1.

Для відправки HLR-запиту необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&hlr=1
Також доступні й інші параметри, що використовуються для відправки звичайних SMS і описані на даній сторінці.

Результат HLR-запиту може бути відправлений на URL для прийому вхідних повідомлень і статусів, заданий в налаштуваннях в особистому кабінеті, або може зчитуватися за запитом статусу відправленого SMS-повідомлення.

Приклад:
https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&hlr=1

Надсилання MMS-повідомлення

Для відправки MMS-повідомлення необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&mms=1
Якщо при відправці планується передача будь-яких файлів (тексту, музики, аудіо, відео), то їх необхідно передавати методом POST в тілі http (s)-запиту до сервера. Також можлива передача в запиті зовнішнього файлу через параметр fileurl, що містить повну http (s)-адресу файлу або додавання до тексту повідомлення https-посилання раніше завантаженого файлу, дізнатися яку можна в особистому кабінеті на сторінці відправки, натиснувши послідовно "прикріпити файл" - "Завантажені файли".

Максимальна кількість вкладень, переданих в запиті, дорівнює двадцяти, і сумарний розмір усіх вкладень не повинен перевищувати 300 КБ. При перевищенні зазначених лімітів залишившиєся вкладення будуть передані у вигляді посилань. Для MMS-повідомлення вказівку теми або тексту є обов'язковим.

Приклади:

Відправка MMS-повідомлення з темою "Privet" і текстом "Hello":

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&subj=Privet&mms=1
Відправка MMS з темою "Holiday" і двома фотографіями через бібліотеку на основі cURL:

<?php
include "smsc_api.php";
send_sms("79999999999", "", 0, 0, 0, 7, false, "subj=Holiday", array("/home/alex/1.jpg", "/home/alex/2.jpg"));
?>

Відправка e-mail повідомлення

Для відправки e-mail необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&sender=<sender>&subj=<subj>&mail=1
Якщо при відправці планується передача будь-яких файлів, то їх необхідно передавати методом POST в тілі http (s)-запиту до сервера. Позиції в тексті, в які планується вставляти файли, необхідно позначати спеціальним чином у вигляді "<file n>", де n-номер файлу у формованому списку починаючи з одиниці. Якщо не вказувати позиції, то відповідні файли будуть додаватися в кінець повідомлення.

При создании сообщения можно вставлять в текст http(s)-ссылки ранее загруженных файлов, узнать которые можно в личном кабинете на странице отправки, нажав последовательно ссылки "прикрепить файл" – "Загруженные файлы". Также можно указывать локальные ссылки на загруженные файлы на нашем сервере в виде "<file /upload/files/sms/каталог_загрузки/название_файла>". Для вложений-картинок можно устанавливать атрибуты, например, "<file /upload/files/sms/каталог_загрузки/название_файла width=200 height=400>". Для завантаження файлу з зовнішнього джерела можна в запиті передавати додатковий параметр fileurl, що містить повну http (s)-адресу файлу.

Максимальна кількість вкладень, що передаються в запиті, дорівнює 20, і розмір кожного вкладення не повинен перевищувати 10 Мб. При перевищенні зазначених лімітів буде повертатися помилка з кодом 1 (невірні параметри). При відправці кожного листа максимальний загальний розмір вкладень, що прикріплюються, становить 15 Мб, вкладення, не вміщаються в цей розмір, будуть передаватися посиланням на наш сайт.

Для e-mail повідомлень вказівка теми, тексту і адреси відправника обов'язково.

Приклади відправки e-mail повідомлень

Приклади:

Відправка e-mail на адресу " alex@mysite.com "з темою" Privet "і текстом" Hello "від відправника" alex2@mysite2.com":

https://smsc.ua/sys/send.php?login=alex&psw=123&phones=alex%40mysite.com&mes=Hello&subj=Privet&sender=alex2%40mysite2.com&mail=1
Відправка e-mail з темою "Holiday" і двома фотографіями через бібліотеки на основі cURL:

<?php
include "smsc_api.php";
send_sms("alex@mysite.com", "Hello", 0, 0, 0, 8, "alex2@mysite2.com", "subj=Holiday", array("/home/alex/1.jpg", "/home/alex/2.jpg"));
?>

Відправка e-mail з темою "Hello" і фотографією, завантаженою раніше на сервер:

<?php
include "smsc_api.php";
send_sms("alex@mysite.com", "Hello, this is my photo &lt;file /upload/files/sms/123abc/photo.jpg width=200 height=400>", 0, 0, 0, 8, "alex2@mysite2.com", "subj=Hello");
?>

Надсилання голосового повідомлення (дзвінок)

Для відправки голосового повідомлення необхідно викликати методом GET або POST адресу: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&call=1
При формуванні повідомлення можна вказувати як текст, так і додавати медіа-файли форматів wav і mp3.

Якщо планується передача файлів, то їх необхідно передавати методом POST в тілі http (s)-запиту до сервера. Позиції в тексті, в які планується вставляти файли, необхідно позначати спеціальним чином у вигляді "<file n>", де n-номер файлу у формованому списку починаючи з одиниці. Якщо не вказувати позиції, то відповідні файли будуть додаватися в кінець повідомлення.

При создании сообщения можно вставлять в текст http(s)-ссылки ранее загруженных файлов, узнать которые можно в личном кабинете на странице отправки, нажав последовательно ссылки "прикрепить файл" – "Загруженные файлы". Также можно указывать локальные ссылки на загруженные файлы на нашем сервере в виде "<file /upload/files/sms/каталог_загрузки/название_файла>". Для завантаження файлу з зовнішнього джерела можна в запиті передавати додатковий параметр fileurl, що містить повний http (s)-адреса файлу. У цьому випадку передача в запиті параметра mes необов'язкова.

Так як телефонні лінії не можуть ідеально програвати складні медіа-файли, то при формуванні відправляється повідомлення передаються файли перетворюються на простий формат.

При відправці голосового повідомлення початковий час і вартість розраховуються приблизно. Після відправки і прослуховування повідомлення абонентом тривалість і вартість дзвінка коригуються або в меншу сторону (наприклад, якщо абонент не дослухав повідомлення до кінця), або, якщо тривалість повідомлення перевищує розраховану, то різниця в секундах вказується в коментарі до повідомлення у вигляді додаткового часу overtime, яке в тому числі відображається в деталізації у вигляді окремого запису. Також overtime може виникати при використанні голосового меню (IVR).

Максимальна кількість вкладень, що передаються в запиті, дорівнює чотирьом, і розмір кожного вкладення не повинен перевищувати 5 Мб. При перевищенні зазначених лімітів оброблювані вкладення будуть виключатися.

Для передачі свого номера телефону в якості імені відправника необхідно вказати його в параметрі sender. Вказаний номер раніше повинен бути доданий і активований в особистому кабінеті на даний сторінка.

При формуванні запиту можна передавати спеціальний параметр param, в якому задаються деякі характеристики дзвінка (більш детально можна ознайомитися в опис). Також додатково в запиті можна передати параметр voice, який визначає голос, який використовується для озвучування тексту. Даний параметр може приймати наступні значення:
  • voice = m – чоловічий голос.
  • voice = m2 – чоловічий голос 2.
  • voice = m3 – чоловічий голос 3.
  • voice = m4 – чоловічий голос 4.
  • voice = w – жіночий голос.
  • voice = w2 – жіночий голос 2.
  • voice = w3 – жіночий голос 3.
  • voice = w4 – жіночий голос 4.

Відправка коду в телефонному номері

При необхідності відправки цифрового коду для підтвердження певних операцій за допомогою телефонного номера (наприклад, при реєстрації нового користувача, оформленні замовлення, отриманні доступу до різних сервісів і т.п.) замість відправки SMS-повідомлення можна скористатись більш дешевим способом передачі коду в номері телефону вхідного дзвінка.

Щоб передати код у телефонному номері необхідно відправити абоненту спеціальне голосове повідомлення (дзвінок) зі словом code. При отриманні дзвінка абонент може його скинути або підняти трубку. При піднятті трубки система сама скине дзвінок. Останні 6 цифр номера, з якого прийшов дзвінок, будуть секретним кодом, його необхідно використовувати абоненту для підтвердження операції. Також можливе використання більш короткого коду з номера, вказавши кількість цифр в інструкції для користувачів на своєму сайті.

Для відправки зазначеного коду через API необхідно виконати запит на відправку голосового повідомлення, отримати згенерований код із відповіді системи і зберегти його на своїй стороні. Саме цей код прийде абоненту в телефонному номері при дзвінку і буде потрібний для підтвердження операції.

Формат запиту і відповідь Сервера: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=code&call=1
У разі успішної обробки запиту повертається рядок наступного виду (до стандартної відповіді Сервера додається параметр code):
  • при fmt = 0: OK - <n> SMS, ID - <id>, CODE - <code>

  • при fmt = 1: <id>,<n>,<code>

  • при fmt = 2 (xml):
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <code>code</code>
    </result>

  • при fmt = 3 (json):
    {
    "id": <id>,
    "cnt": <n>,
    "code": "<code>"
    }

    При використанні даної функції не можна передавати параметр voice, оскільки при його явній передачі в запиті відбудеться звичайне озвучування тексту повідомлення.

    Використання голосового меню (IVR)

    Для використання голосового меню необхідно на початку тексту повідомлення передати текст або голосовий файл з початковими інструкціями для абонента і далі вказати макрос, що містить службові команди меню {menu: <...>}, де <...> опис параметрів голосового меню.

    Схематично повідомлення з використанням голосового меню, виглядає наступним чином:
    СТАРТОВЫЙ ТЕКСТ

    {menu: [ТЕКСТ МЕНЮ]
    1: ТЕКСТ или КОМАНДА
    2
    : ТЕКСТ2 или КОМАНДА2
    ...
    }

    КОНЕЧНЫЙ ТЕКСТ

    Після підняття трубки абоненту озвучується "СТАРТОВИЙ ТЕКСТ", далі програється "ТЕКСТ МЕНЮ" з описом пунктів меню і допустимими діями. Після натискання клавіші на цифровій клавіатурі телефону, що відповідає необхідному пункту, абоненту може бути озвучений текст "ТЕКСТ" або виконана одна або декілька наступних одина за одною "КОМАНД". Після виходу з меню озвучується "КІНЦЕВИЙ ТЕКСТ".

    Опис параметрів, використовуваних в макросі {menu: <...>}:

    ПараметрЗначення
    *: backДля повернення до попереднього меню.
    #: startПовернення в початок меню і повтор "ТЕКСТУ МЕНЮ".
    0: repeatПовтор вибраного пункту.
    n: msgПункт меню, в який потрапляє абонент при натисканні на клавішу n, де n – номер пункту меню, який може набувати значень від 1 до 9, msg – повідомлення або команда. Пункти меню можна дублювати один за одним для виконання декількох дій при натисканні на одну клавішу.
    nm: msgПідпункт m пункту n меню, в який потрапляє абонент при натисканні на клавішу m. Може приймати значення від 1 до 9. msg – повідомлення або команда. Підпункти меню можна дублювати один за одним для виконання декількох дій при натисканні на одну клавішу. Вкладеність підпунктів обмежена тільки розміром всього повідомлення (1000 символів).

    У пунктах і підпунктах можна використовувати наступні команди:

    КомандаЗначення
    urlАдреса http(s)-обробника Клієнта, на який буде передана інформація про поточний пункті і часу знаходження абонента в меню.
    call:phone wait=n ok:end err:nПеренаправлення дзвінка абонента на вказаний номер телефону, де обов'язковим параметром є phone – номер телефону або список номерів телефонів через кому. Можна вказати до 9 номерів. Номери, на які буде відбуватися перенаправлення дзвінка абонента необхідно зареєструвати на даній сторінці.
    Необов'язковими параметрами є:
    wait=n – час очікування підняття трубки абонентом, якому був перенаправлений дзвінок, де n – час очікування в секундах. Діапазон можливих значень параметра від 0 до 120. За замовчуванням час очікування підняття трубки абонентом 120 секунд.
    ok:end – після успішного з'єднання із зазначеним номером та закінчення діалогу завершити голосове меню.
    err:n – якщо додзвонитись до вказаного номера не вдалось, то перейти на крок чи мітку n, що описана в тілі меню. Мітка може приймати значення будь-якого набору латинських літер та цифр.
    sms:phone,sender,msgВідправка SMS-повідомлення на вказаний номер телефону, де phone - номер телефону, sender - ім'я відправника, msg - текст повідомлення. В якості номера телефону, а також в тексті повідомлення може бути вказана спеціальна змінна $phone, яка при відправці буде замінена на номер телефону абонента, який отримав дане голосове меню.
    endОзнака виходу з голосового меню. Після виходу буде прочитаний "КІНЦЕВИЙ ТЕКСТ".
    Приклади:

    <?php
    $url
    = 'https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999,79999999998&call=1&charset=utf-8&mes=';

    $msg = 'Здравствуйте!

    {menu: Нажмите 1 для первого пункта, 2 для второго пункта, 3 для отправки заявки на обратный звонок, 5 для связи с оператором, решетка для перехода в начало, 0 для повтора, для возврата в предыдущее меню нажмите звёздочку.
    *: back
    #: start
    0: repeat
    1: пункт 1, нажмите 1 для подпункта 1, 2 для подпункта 2, 3 для подпункта 3
    11: подпункт 1.1
    12: подпункт 1.2
    13: подпункт 1.3
    2: пункт 2, нажмите 1 для подпункта 2.1
    21: подпункт 2.1
    3: sms:79999999999,Sender,текст
    3: end
    4: sms:$phone,Sender,Ваш номер: $phone
    4: end
    5: url
    5: call:79999999999,79999999998 wait=10 ok:end err:6
    6: call:79999999997 wait=60 ok:end err:callerr
    err: неверный номер, нажмите 0 для повтора
    callerr: Извините, не удалось дозвониться до оператора, выберите другой пункт или повторите попытку позже}

    Всего вам доброго!'
    ;

    echo
    file_get_contents($url.urlencode($msg));
    ?>

    Приклади відправки голосових повідомлень

    Приклади:

    Надсилання голосового повідомлення з текстом "Hello":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&call=1
    Відправка голосового повідомлення з текстом "Hello" від номера телефону "79991234567":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&call=1&sender=79991234567
    Відправка голосового повідомлення з текстом "Hello world", озвученим чоловічим голосом, із часом очікування зняття трубки 20 секунд, інтервалом повтору 10 секунд і кількістю спроб дозвону рівному 3:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello%20world&call=1&voice=m&param=20%2C10%2C3
    Надсилання голосового повідомлення з текстом "Hello world", озвученим жіночим альтернативним голосом:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello%20world&call=1&voice=w2
    Відправка голосового повідомлення з прикріпленим через параметр fileurl голосовим файлом:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&call=1&fileurl=http://mysite.com/voice.wav
    Надсилання голосового повідомлення з текстом і двома звуковими файлами через бібліотеку на основі cURL:

    <?php
    include "smsc_api.php";
    send_sms("79999999999", "first file <file 1> and second file <file 2>", 0, 0, 0, 9, false, "", array("/home/alex/1.mp3", "/home/alex/2.wav"));
    ?>

    Відправка viber-повідомлення

    Для відправки viber-повідомлення необхідно викликати методом GET або POST адреси: https://smsc.ua/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&viber=1

    Передача картинок

    Если на каждый номер планируется отправлять отдельную картинку в сообщении, то в этом случае необходимо либо передавать полный http(s)-адрес внешнего файла в виде <file http(s)://...>, або відправляти в запиті додатковий параметр fileurl, що містить повну http(s)-адресу картинки. При використанні fileurl передача в запиті параметра mes не обов'язкова.

    Якщо при створенні розсилки передбачається відправка одного тексту на декілька номерів, то необхідно вставляти в текст повідомлення повне http (s) -посилання раніше завантаженого файлу картинки, дізнатися яке можна в особистому кабінеті на сторінці відправки, натиснувши послідовно "прикріпити файл" - "Завантажені файли ". Прикріплюємий файл розміром не повинен перевищувати 512 КБ і задовольняти одному з наступних форматів: JPG, GIF, PNG.

    Додавання кнопки

    Для вставки в повідомлення кнопки, при натисканні на яку буде відбуватися відкриття браузера і перехід на вказану адресу, необхідно додати в текст повідомлення спеціальний макрос {button,url,text}, де:
    <button> – назва макросу.
    <url> – повна http-адреса посилання, по якій відбудеться перехід при натисканні кнопки.
    <text> – текст кнопки. Довжина тексту не може перевищувати 30 символів.

    Для вставки в повідомлення кнопки, при натисканні на яку буде відбуватися виклик абонента за вказаним номером телефону, необхідно додати в текст повідомлення спеціальний макрос {button,tel:79999999999,text}.

    Типи повідомлень

    Системою підтримуються наступні типи viber-повідомлень:
    • Тільки текст – абонент отримує текстове повідомлення.
    • Тільки картинка – абонент отримує картинку.
    • Текст+кнопка – абонент отримує текстове повідомлення, під яким розташована кнопка. При натисненні на кнопку відбувається перехід за заданим посиланням.
    • Текст+кнопка+картинка – абонент отримує текстове повідомлення, під яким розташовані картинка і кнопка. При натисненні на кнопку відбувається перехід за заданим посиланням.
    Для налаштування програмного забезпечення і тестування відправки viber-повідомлень можливе використання нашого спільного ім'я відправника "SMSC" і зумовлені шаблони:
    • Hello! This is test message
    • Вітаємо! Це тестове повідомлення
    • Test
    • Тест
    • Test {button,https://smsc.ua,site}
    • Тест {button,https://smsc.ua,сайт}
    • Picture <file http://smsc.ua/im/smsc_logo_tiny.gif>
    • Картинка <file http://smsc.ua/im/smsc_logo_tiny.gif>
    Як і в шаблонах для операторів тут діють загальні правила створення повідомлень для зазначених шаблонів (внизу сторінки розкривається вкладка "Правила реєстрації шаблонів").

    Приклади відправки viber-повідомлень

    Приклади:

    Відправка viber-повідомлення з текстом "Hello":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&viber=1
    Відправка viber-повідомлення по одному з визначених шаблонів для тестування з текстом "Test", кнопкою "{button,http://smsc.ua,Site}" і картинкою, раніше завантажену в особистий кабінет, що має адресу "http://smsc.ua/upload/files/sms/1856f97d/6_1.jpg":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=Test+%7Bbutton%2Chttp%3A%2F%2Fsmsc.ua%2CSite%7D+http%3A%2F%2Fsmsc.ua%2Fupload%2Ffiles%2Fsms%2F1856f97d%2F6_1.jpg
    Відправка viber-повідомлення за одним із визначених шаблонів для тестування з текстом "test", кнопкою "{button,http://smsc.ua,Site}" і картинкою, розташованою на зовнішньому ресурсі "https://mysite.com/sms/picture.jpg":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=test+%7Bbutton%2Chttp%3A%2F%2Fsmsc.ua%2CSite%7D+%3Cfile+https%3A%2F%2Fmysite.com%2Fsms%2Fpicture.jpg%3E
    Відправка viber-повідомлення за одним із визначених шаблонів для тестування із текстом "test", кнопкою "{button,http://smsc.ua,Site}" і картинкою "https://mysite.com/sms/picture.jpg", що передана через параметр fileurl:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=test+%7Bbutton%2Chttp%3A%2F%2Fsmsc.ua%2CSite%7D&fileurl=https%3A%2F%2Fmysite.com%2Fsms%2Fpicture.jpg

    Використання префіксів при відправці повідомлень

    Для відправки різних типів повідомлень можна скористатися можливістю вказівки спеціальних префіксів на початку або замість тексту повідомлення.

    Підтримувані префікси:

    НазваОпис
    __CALL__: повідомленняВідправка голосового повідомлення (дзвінка). При відправці голосового повідомлення в кінці тексту можна вказати спеціальну комбінацію "\n~~~\n"(переклад рядка, 3 символу тильди і знову переклад рядка), після якої передати параметр param, визначальний деякі характеристики дзвінка (більш детально можна подивитися в опис). При формуванні повідомлення можна вказувати як текст, так і додавати медіа-файли форматів wav і mp3, а також вставляти раніше завантажені файли. Більш детально по процесу створення голосового повідомлення можна прочитати на даний сторінка.
    __VIBER__: повідомленняВідправка повідомлення користувачам месенджера Viber.
    __SOC__: повідомлення Відправка повідомлення користувачам соціальних мереж "Однокласники", "ВКонтакте" або користувачам "Mail.Ru Агент".
    __PING__Відправка спеціального SMS, що не відображається в телефоні, для перевірки номерів на доступність в реальному часі за статусом доставки.
    __HLR__Ознака HLR-запиту для отримання інформації про номер з бази оператора без відправки реального SMS. Більш детально за HLR-запитами можна ознайомитися тут.


    Приклади:

    Надсилання голосового повідомлення з текстом " Privet":

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__CALL__%3A%20Privet
    Відправка ping-SMS:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__PING__
    Відправка HLR-запиту:

    https://smsc.ua/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__HLR__

    Керування шаблонами повідомлень

    Для управління шаблонами повідомлень необхідно викликати методом GET або POST відповідну адресу із зазначенням необхідної команди і параметрів.

    Для створення шаблону: https://smsc.ua/sys/templates.php?add=1&login=<login>&psw=<password>&name=<name>&msg=<msg>
    Для зміни шаблону: https://smsc.ua/sys/templates.php?chg=1&login=<login>&psw=<password>&id=<id>
    Для видалення шаблону: https://smsc.ua/sys/templates.php?del=1&login=<login>&psw=<password>&id=<id>
    Для отримання списку шаблонів: https://smsc.ua/sys/templates.php?get=1&login=<login>&psw=<password>
    Серверу передаються наступні параметри:

    ПараметрЗначення
    loginЛогін Клієнта.
    pswПароль Клієнта (можна додати або редагувати на даннійсторінці).
    nameНазва шаблона.
    msgТекст повідомлення.
    formatФормат повідомлення:
    порожній рядок - не заданий.
    sms – SMS-повідомлення.
    flash – Flash-SMS.
    bin – Бінарне SMS.
    push – Wap-push.
    mms – MMS.
    call – Дзвінок.
    mail – E-mail.
    viber – Viber.
    senderІм'я відправника.
    fl[1]Використовувати для автопідпису.

    У разі помилки Сервер повертає наступний рядок:
    • при fmt = 0:
      ERROR = N (опис)

    • при fmt = 1:
      0,-N

    • при fmt = 2:
      <result>
      <error>опис</error>
      <error_code>N</error_code>
      </result>

    • при fmt = 3:
      {
      "error": "опис",
      "error_code": N
      }
    N – номер помилки, може приймати наступні значення:

    ЗначенняОпис
    1Помилка в параметрах.
    2Невірний логін або пароль. Також виникає при спробі відправки повідомлення з IP-адреси, що не входить в список дозволених Клієнтом (якщо такий список був налаштований Клієнтом раніше).
    3Запис не знайдено.
    4IP-адреса тимчасово заблокована.
    5Помилка збереження або видалення.
    9Спроба відправки більше трьох однакових запитів на дії з шаблонами.
    Дана помилка виникає також при спробі відправки п'ятнадцяти і більше запитів одночасно з різних підключень під одним логіном (too many concurrent requests).

    У разі успішного запиту Сервер повертає відповідь у вигляді рядка:

    При створенні шаблону:
    • при fmt = 0: ID - <id>

    • при fmt = 1: <id>

    • при fmt = 2:
      <template>
      <id>id</id>
      </template>

    • при fmt = 3:
      {
      "id": <id>
      }

    При зміні або видаленні шаблону:
    • при fmt = 0, 1: OK

    • при fmt = 2:
      <result>OK</result>

    • при fmt = 3:
      {
      "result": "OK"
      }


    При запиті списку шаблонів повідомлень:
    • при fmt = 0:
      id = <id>, name = <name>, format = <format>, sender = <sender>, flag = <flag>, message = <message>
      ...

    • при fmt = 1:
      <id>,<name>,<format>,<sender>,<flag>,<message>
      ...

    • при fmt = 2:
      <list>
      <template>
      <id>id</id>
      <name>name</name>
      <format>format</format>
      <sender>sender</sender>
      <flag>flag</flag>
      <message>message</message>
      </template>
      ...
      </list>

    • при fmt = 3:
      [{
      "id": <id>,
      "name": "<name>",
      "format": "<format>",
      "sender": "<sender>",
      "flag": <flag>,
      "message": "<message>"
      },
      ...]

    Де:
    <id> – ідентифікатор шаблону, призначений системою автоматично.
    <name> – назва шаблона.
    <format> – формат повідомлення.
    <sender> – ім'я відправника.
    <flag> – прапор для шаблону. Установка першого біта прапора (fl[1]=1) призначає використання шаблону для автопідпису.
    <message> – текст повідомлення.

    Сервер не приймає більше трьох однакових запитів на дії з шаблонами протягом хвилини для зниження навантаження і захисту від помилок і зациклень в програмі на стороні клієнта.

    Керування шаблонами операторів

    Для управління шаблонами сервісних і транзакційних повідомлень необхідно викликати методом GET або POST відповідниу адресу із зазначенням необхідної команди і параметрів.

    Для створення шаблону (для всіх операторів): https://smsc.ua/sys/op_templates.php?add=1&login=<login>&psw=<password>&sender=<sender>&msg=<msg>&mts_srv=1&mts_trn=1&mega_srv=1&mega_trn=1&bee_srv=1&bee_trn=1&tele2_srv=1&tele2_trn=1&soc=1
    Для отримання інформації про шаблон (по всіх операторах): https://smsc.ua/sys/op_templates.php?get=1&login=<login>&psw=<password>&sender=<sender>&msg=<msg>
    Серверу передаються наступні параметри:

    ПараметрЗначення
    loginЛогін Клієнта.
    pswПароль Клієнта (можна додати або редагувати на даннійсторінці).
    senderІм'я відправника для якого створюється шаблон.
    msgТекст шаблону.
    charsetКодування тексту шаблону, якщо використовується відмінна від кодування за замовчуванням windows-1251. Варіанти: utf-8 і koi8-r.
    mts_srvСтворити шаблон для оператора МТС (сервісні повідомлення).
    mts_trnСтворити шаблон для оператора МТС (транзакційні повідомлення).
    mega_srvСтворити шаблон для оператора Мегафон (Сервісні (інформаційні) повідомлення).
    mega_authСтворити шаблон для оператора Мегафон (авторизаційні повідомлення).
    mega_trnСтворити шаблон для оператора Мегафон (транзакційні повідомлення).
    bee_srvСтворити шаблон для оператора Білайн (сервісні повідомлення).
    bee_trnСтворити шаблон для оператора Білайн (транзакційні повідомлення).
    tele2_srvСтворити шаблон для оператора Теле2 (сервісні повідомлення).
    tele2_trnСтворити шаблон для оператора Теле2 (транзакційні повідомлення).
    socСтворити шаблон для soc-повідомлення, що відправляється користувачам соціальних мереж "Однокласники"," ВКонтакті " або користувачам "Mail.Ru Агент".

    У разі помилки Сервер повертає наступний рядок:
    • при fmt = 0:
      ERROR = N (опис)

    • при fmt = 1:
      0,-N

    • при fmt = 2:
      <result>
      <error>опис</error>
      <error_code>N</error_code>
      </result>

    • при fmt = 3:
      {
      "error": "опис",
      "error_code": N
      }
    N – номер помилки, може приймати наступні значення:

    ЗначенняОпис
    1Помилка в параметрах.
    2Невірний логін або пароль. Також виникає при спробі відправки повідомлення з IP-адреси, що не входить в список дозволених Клієнтом (якщо такий список був налаштований Клієнтом раніше).
    4IP-адреса тимчасово заблокована.
    9Спроба відправки більше десяти однакових запитів на дії з шаблонами.
    Дана помилка виникає також при спробі відправки п'ятнадцяти і більше запитів одночасно з різних підключень під одним логіном (too many concurrent requests).

    У разі успішного запиту Сервер повертає відповідь у вигляді рядка:

    При створенні шаблону:
    • при fmt = 0:
      name = <status>, id = <id>
      ...

    • при fmt = 1:
      <name>,<status>,<id>
      ...

    • при fmt = 2:
      <result>
      <template>
      <name>name</name>
      <status>status</status>
      <id>id</id>
      </template>
      ...
      </result>

    • при fmt = 3:
      [{
      "name": <status>,
      "id": <id>
      },
      ...]

    При запиті списку шаблонів:
    • при fmt = 0:
      name = <status>, id = <id>
      ...

    • при fmt = 1:
      <name>,<status>,<id>
      ...

    • при fmt = 2:
      <result>
      <template>
      <name>name</name>
      <status>status</status>
      <id>id</id>
      </template>
      ...
      </result>

    • при fmt = 3:
      [{
      "name": <status>,
      "id": <id>
      },
      ...]

    Де:
    <name> – назва оператора і тип повідомлень.
    <id> – ідентифікатор шаблону, призначений системою автоматично.
    <status> – статус шаблону, може набувати таких значень:

    для команди add:
    -2 – неможливо зберегти вказаний шаблон;
    -1 – ім'я відправника для даного шаблону, не знайдено або не прийнято оператором;
    1 – шаблон успішно доданий;

    для команди get:
    -1 – шаблон для зазначеного оператора не знайдено;
    0 – очікує реєстрації;
    1 – відправлено на реєстрацію;
    2 – допущено оператором;
    3 – не прийнято оператором;
    4 – тимчасово вимкнено.

    Сервер не приймає більше десяти однакових запитів на дії з шаблонами протягом хвилини для зниження навантаження і захисту від помилок і зациклення в програмі на стороні Клієнта.

    Віртуальна відправка (режим тестування)

    Даний режим роботи дозволяє протестувати відправку повідомлень без реальної передачі операторам. Може бути корисний при початковому налаштуванні і тестуванні різного програмного забезпечення і устаткування. Для включення даного режиму необхідно в особистому кабінеті в пункті "Налаштування" в спадному блоці "Налаштування API" встановити галочку "Режим тестування (віртуальна відправка без оплати)".

    При віртуальній відправці всі повідомлення будуть мати кінцевий статус "Доставлено", але в процесі відправки повідомлення будуть проходити всі стадії обробки по ланцюжку "Чекає відправки" - "Передано оператору" - "Доставлено". Отримувати статуси повідомлень можна як за запитом, так і на свій http-обробник. Відправляти можна і поодинокі повідомлення і масові розсилки. Тестувати при віртуальній відправці можливо різні типи повідомлень (SMS, бінарні повідомлення, HLR, MMS, дзвінок), крім e-mail.

    Повідомлення про події

    При виникненні певних подій може знадобитися відправка споіщень у вигляді повідомлень, що містять інформацію, необхідну для обробки даних подій. Для вирішення подібних завдань можна скористатися розширенням нашої системи моніторингу, яке дозволяє відправляти різні повідомлення через наш сервіс із зовнішніх систем. Для цього в особистому кабінеті на сторінці "Створення групи завдань" потрібно створити відповідну групу, де вказати шаблони сповіщень, типи повідомлень, що відправляються при виникненні події, а також контакти для сповіщень (номери телефонів, e-mail адреси, jabber аккаунти).

    Для відправки повідомлення необхідно викликати методом GET або POST адреса: https://smsc.ua/sys/ping.php?login=<login>&psw=<password>&id=<id>
    Серверу передаються наступні параметри:

    ПараметрЗначення
    loginЛогін Клієнта.
    pswПароль Клієнта (можна додати або редагувати на даннійсторінці).
    idІдентифікатор групи завдань (колонка "ID").
    nameНазва правила або сервера в завданні. Замінює макрос {NAME} в тексті повідомлення.
    hostАдреса або IP сервера, що перевіряється. Замінює макрос {HOST}.
    infoДодаткова інформація про подію. Замінює макрос {INFO}.
    okПри формуванні повідомлення використовувати наступний шаблон:
    0 – (за замовчуванням) використовується шаблон групи завдань, що відправляється при збої.
    1 – використовується шаблон групи завдань, що відправляється при відновленні.

    У разі помилки Сервер повертає наступний рядок:
    • ERROR = N (опис)

    • При fmt = 1:
      0,-N

    • При fmt = 2:
      <result>
      <error>опис</error>
      <error_code>N</error_code>
      </result>

    • При fmt = 3:
      {
      "error": "опис",
      "error_code": N
      }
    N – номер помилки, може приймати наступні значення:

    ЗначенняОпис
    1Помилка в параметрах.
    2Невірний логін або пароль. Також виникає при спробі відправки повідомлення з IP-адреси, що не входить в список дозволених Клієнтом (якщо такий список був налаштований Клієнтом раніше).
    3Групу завдань не знайдено.
    4IP-адреса тимчасово заблокована.
    9Спроба відправки більше п'яти однакових запитів на відправку повідомлення протягом хвилини.
    Дана помилка виникає також при спробі відправки п'ятнадцяти і більше запитів одночасно з різних підключень під одним логіном (too many concurrent requests).

    У разі успішного запиту Сервер повертає відповідь у вигляді рядка.

    • при fmt = 0 и fmt = 1: OK

    • при fmt = 2:
      <result>OK</result>

    • при fmt = 3:
      {
      "result": "OK"
      }

    Сервер не приймає більше п'яти однакових запитів на відправку повідомлення протягом хвилини для зниження навантаження і захисту від помилок і зациклення в програмі на стороні Клієнта.




© 2003–2022 ТОВ «СМСЦЕНТР»
Код ЄДРПОУ 38404962
support@smsc.ua
Контакти
Дизайн — Студія Артемія Лебедєва
Інформація про сайт
SMS-центр для Android Яндекс.Метрика