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

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

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


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

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

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

Для відправки SMS-повідомлення використовуйте команду SUBMIT_SM згідно специфікації.

Підтримуються наступні кодування:
  • 7-бітна GSM для латинського тексту з підтримкою європейських символів − (coding = 0);
  • 8-бітна ISO-8859-1 (ASCII) для латинського тексту або бінарних даних − (coding = 1);
  • UCS2 (UCS-2BE або UTF-16BE) для національних алфавітів (наприклад, російської) − (coding = 2).
Поле coding кодується двома бітами в складеному полі data_coding, тому data_coding = coding * 4.

Для використання кодування ISO-8859-1 (ASCII) замість GSM при підключенні потрібно вказати:
system-type = "ISO"
У текст SMS-повідомлення можна додавати коментарі, призначені для перегляду відправником історії повідомлень в особистому кабінеті.

Команда SUBMIT_MULTI для множинної розсилки поки не реалізована.

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

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

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

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

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

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

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

Для відправки e-mail повідомлення використовуйте команду SUBMIT_SM з текстом "_ _ MAIL__: <message>\nsubj:<subject>" (текст "__MAIL__", двокрапка, пробіл, текст повідомлення, переклад рядка, слово "subj", двокрапка, тема e-mail повідомлення).

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

Для відправки голосового повідомлення використовуйте команду SUBMIT_SM з текстом "_ _ CALL__: <message>\nvoice:<voice>" (текст "__CALL__", двокрапка, пробіл, текст повідомлення, переклад рядка, слово "voice", двокрапка, голос, який використовується для озвучування тексту).

Можливі значення для використовуваного голосу:
  • m – чоловічий голос.
  • m2 – чоловічий голос 2.
  • m3 (за замовчуванням) - чоловічий голос 3.
  • m4 – чоловічий голос 4.
  • w – жіночий голос.
  • w2 – жіночий голос 2.
  • w3 – жіночий голос 3.
  • w4 – жіночий голос 4.
При відправці повідомлень також можливе зазначення мови озвучування тексту у вигляді: "m, en", "w, fr", "w, de" і т. п.

В процесі формування повідомлення в кінці тексту можна вказати спеціальну комбінацію "\n~~~\n"(подача рядка, 3 символу тильди і знову переведення рядка), після якої передати параметр param, що визначає деякі характеристики дзвінка (більш детально можна подивитися в опис).

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

Для відправки viber-повідомлення використовуйте команду SUBMIT_SM з текстом "_ _ VIBER__: <message>" (текст "__VIBER__", двокрапка, пробіл, текст повідомлення).

При формуванні тексту повідомлення можна використовувати спеціальні макроси для створення кнопки, при натисканні на яку буде відбуватися відкриття браузера і перехід за вказаним у макросі посиланням, а також прикріплювати файли. Більш детально додаткові можливості при відправці viber-повідомлень описані в документації до http-протоколу.

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

Для відправки soc-повідомлення, що відправляється користувачам соціальних мереж "Однокласники", "ВКонтакте" або користувачам "Mail.Ru Агент", використовуйте команду SUBMIT_SM з текстом " __SOC__: <message>" (текст "__SOC__", двокрапка, пробіл, текст повідомлення).

Відправлення повідомлення в Telegram

Для відправки коду підтвердження в Telegram використовуйте команду SUBMIT_SM з текстом " _ _ TGM__: <code>" (текст "__TGM__", двокрапка, пробіл, код підтвердження).

До відправки приймаються тільки числові коди довжиною від 4 до 8 цифр.

Відправлення повідомлення в чат-бот Telegram

Для відправки повідомлення в чат-бот Telegram використовуйте команду SUBMIT_SM з текстом " _ _ BOT__: <message>\nbot:@<bot_name>" (текст "__BOT__", двокрапка, пробіл, текст повідомлення, подача рядка, текст "bot", двокрапка, ім'я бота).

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

Для відправки HLR-запиту використовуйте команду SUBMIT_SM з текстом __HLR__. Результат запиту приходить у звичайному статусі (Delivery Report), який можна отримати як по SMPP-підключенню, так і по HTTP на свій обробник.

Формат статусу з результатом HLR-запиту, що повертається по SMPP: id:<id> stat:<status> err:<err> imsi:<imsi> msc:<msc> mcc:<mcc> mnc:<mnc> cn:<cn> net:<net> rcn:<rcn> rnet:<rnet>
Опис параметрів:

ПараметрЗначення
idІдентифікатор повідомлення.
statusСтатус повідомлення.
errКод помилки, якщо абонент недоступний (список).
imsiУнікальний код IMSI SIM-карти абонента.
mscНомер сервіс-центру оператора, в мережі якого знаходиться абонент.
mccЧисловий код країни абонента.
mncЧисловий код оператора абонента.
cnНазва країни реєстрації абонента.
netНазва оператора реєстрації абонента.
rcnНазва роумінгової країни абонента при знаходженні в чужій мережі.
rnetНазва роумінгового оператора абонента при знаходженні в чужій мережі.

Рядкові дані, наприклад, країна і оператор, закодовані через функцію urlencode.

Приклад результату HLR-запиту: id:855469 stat:DELIVRD err:000 imsi:250023012345678 msc:79232510066 mcc:250 mnc:02 cn:Russian+Federation net:MegaFON+open+Joint+Stock+Company rcn: rnet:
Приклад коду на PHP для розбору рядка з результатом HLR-запиту:
$dlr = strtr($dlr, ": ", "=&"); // $dlr - строка статуса
parse_str($dlr, $m); // $m - массив параметров, $m["id"], $m["err"], $m["imsi"] и тд.

Приклад розбору через регулярні вирази:
preg_match("/^id:(\d+) stat:(\w+) err:(\d+) imsi:(\d*) msc:(\d*) mcc:(\d*) mnc:(\d*) cn:([^ ]*) net:([^ ]*) rcn:([^ ]*) rnet:([^ ]*)/", $dlr, $m); // $dlr - строка статуса
for ($i = 6; $i <= 9; $i++)
   
$m[$i] = urldecode($m[$i]);
// $m - массив параметров, $m[1] = id, $m[2] = status, $m[3] = err и тд.

Для відправки ping-SMS використовуйте команду SUBMIT_SM з текстом __PING__.



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