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

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

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


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

Протокол SMTP (E-mail)

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

Для відправки SMS необхідно послати e-mail на адресу sendsend.smsc.ua з текстом у форматі: <login>:<psw>:<id>:<time>,<tz>:<translit>,<format>,<sender>,<test>:<phones>:<mes> або: <login>:<psw>:<id>:<time>,<tz>:<translit>,<format>,<sender>,<test>::<list>
Можливе безпосереднє використання нашого SMTP-сервера. Адреса: send.smsc.ua. Авторизація не потрібна.

Лист повинен передаватися простим текстом із зазначенням кодування, за замовчуванням koi8-r. Кодування задається в заголовку Content-Type (Content-Type: text/plain; charset="CHARSET"). Максимальний розмір листа становить 100 Кб.

У разі відсутності можливості передачі тексту листа з "Content-Type: text/plain" необхідно укласти текст у спеціальні теги "[text]текст листа [/text]".

Опис параметрів, що передаються Серверу :

ПараметрЗначення
loginЛогін Клієнта.
pswПароль клієнта (можна додати або змінити на даний сторінка). При передачі в запиті порожнього значення поля login даний параметр інтерпретується, як API ключ авторизації (apikey).
phonesНомер або розділений комою або крапкою з комою список номерів мобільних телефонів в міжнародному форматі, на які відправляється повідомлення. Номери можуть передаватися без знака "+". Якщо номер переданий без знака "+", то він може бути виправлений автоматичним форматуванням і приведений до правильного міжнародного формату. Таким чином, деякі помилки при введенні номерів телефонів можуть бути виправлені автоматично. Для відключення автовиправлення передайте номер зі знаком "+".
Також можна відправляти повідомлення на групу номерів, вказавши спеціальний код "G<номер группы>". Повідомлення буде відправлено на всі номери, що належать цій групі. Для E-mail повідомлення передається список e-mail адрес одержувачів. Для telegram в якості одержувача повідомлення можлива вказівка Ніка абонента або його ID у вигляді #ID.
mesТекст повідомлення, що відправляється. Максимальний розмір – 1000 символів. Повідомлення при необхідності буде розбите на кілька SMS, відправлених абоненту і оплачених окремо. Розмір одного SMS – 160 символів у латиниці або 70 символів у кирилиці. При розбивці повідомлення на кілька SMS в кожну частину додається заголовок для об'єднання частин в одне повідомлення на телефоні одержувача, і максимальна довжина стає 67 для кирилиці і 153 для латинських букв. У текст повідомлення можна додавати коментарі, призначені для перегляду відправником історії в особистому кабінеті.
Додаткові параметри
idІдентифікатор повідомлення. Призначається Клієнтом. Служить для подальшої ідентифікації повідомлення. Якщо не вказувати, то буде призначений автоматично. Не обов'язково унікальний. Ідентифікатор являє собою 32-бітне число в діапазоні від 1 до 2147483647, або рядок довжиною до 40 символів, який складається із латинських букв, цифр і символів ".-_".
senderІм'я відправника, що відображається в телефоні одержувача. Дозволені англійські букви, цифри, пробіл і деякі символи. Довжина – 11 символів або 15 цифр. Всі імена реєструються в особистому кабінеті на даній сторінці.
translitОзнака того, що повідомлення необхідно перевести у трансліт.
0 (за замовчуванням) – не переводити в трансліт.
1 – перекласти в трансліт у вигляді "translit".
2 – перевести в трансліт у вигляді "mpaHc/Ium".
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 не заданий, то часовий пояс буде взятий із налаштувань клієнта.
formatВизначає тип SMS-повідомлення.
0 (за замовчуванням) – звичайне текстове повідомлення.
1 – flash-sms. Повідомлення, що відображається відразу на екрані телефону.
2 – wap-push. Повідомлення, що містить посилання на сайт, перший рядок задає посилання, друга-назва.
3 – hLR-запит. Дозволяє отримати інформацію про номер з бази оператора без відправки SMS.
4 – бінарне повідомлення в двійковому вигляді.
5 – бінарне повідомлення, представлене у вигляді шістнадцяткового рядка (hex).
6 – ping-sms. Перевірка номера на доступність відправкою спеціального невидимого SMS.
7 – mms. Повідомлення, що дозволяє передавати текст (txt), зображення різних форматів (jpg, gif, png), музику (wav, amr, mp3, mid) і відео (mp4, 3gp).
8 – e-mail. Повідомлення електронної пошти. Тема листа вказується в кінці тексту повідомлення через переведення рядка в вигляді "subj: Тема". Вказівка теми, тексту і e-mail відправника обов'язково.
9 – голосове повідомлення (дзвінок). Голос, який використовується для озвучення, вказується в кінці тексту повідомлення через переведення рядка в вигляді "voice: Голос". Можливі типи голосів детально описані на даний сторінка.
10 – viber-повідомлення, що відправляється користувачам месенджера Viber.
11 – whatsapp-повідомлення, яке надсилається користувачам месенджера WhatsApp.
12 – soc-повідомлення, що відправляється користувачам соціальних мереж "Однокласники", "ВКонтакте" або користувачам "Mail.Ru Агент".
testВказує на необхідність відправляти у відповідь лист з результатом відправки SMS-повідомлення. Якщо 0 або не вказано, то відповідь надсилається тільки при помилку в параметрах, якщо 1, то відповідь відправляється в будь-якому випадку. Параметр використовується для налагодження при початковому налаштуванні сервісу.
listСписок номерів телефонів і відповідних їм повідомлень, розділених двокрапкою або крапкою з комою і представлений у вигляді:
phones1:mes1
phones2:mes2
...
Як phones можна вказати кілька номерів телефонів через кому. Якщо в повідомленні mes потрібно передати символ нового рядка, то вкажіть його через \ n. у разі неможливості коригування тексту мультистрокового повідомлення можливе включення спеціального режиму для передачі такого типу повідомлень. Для цього необхідно в параметрі test передати значення, рівне 2.
Параметр list дозволяє виконувати множинну розсилку з різними повідомленнями на кілька телефонів одним запит. Повідомленнями в запиті присвоюється єдиний ідентифікатор. Деякі параметри (наприклад, subj, voice) передаються в кінці списку повідомлень list через переклад рядка.


Параметри повинні йти строго в заданому порядку. Обов'язковими є login, psw, phones і mes. Якщо якийсь необов'язковий параметр відсутній, то двокрапка повинна залишатися.

Приклад (<id>, поле <time>,<tz> і поле <translit>,<format>,<sender>,<test> не вказані):

alex:123::::79999999999:повідомлення

У складеному полі <translit>,<format>,<sender>,<test> будь-який параметр може бути відсутнім, зберігаючи початкову кому.

Приклади:

alex:psw:::1,1,Alex:79999999999:повідомлення
alex:psw:::1:79999999999:повідомлення
alex:psw:::,1:79999999999:повідомлення
alex:psw:::,1,Alex:79999999999:повідомлення
alex:psw:::,1,,1:79999999999:повідомлення

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

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

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


Якщо була допущена помилка в параметрах або сталася будь-яка інша помилка, і параметром test був запитаний відповідь, то він буде наступним:
  • ERROR = N (описание) – для помилок 1,2,4,5,9;

  • ERROR = N (описание), ID - <id сообщения> – для помилок 3,6,7,8.
N – номер помилки, може приймати наступні значення:

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

У разі успішного прийняття повідомлення та запиту відповіді параметром test повертається рядок наступного вигляду:
  • OK - <n> SMS, ID - <id>
Де:
<n> - це кількість відправлених SMS, обчислюється як кількість SMS в повідомленні, помножене на кількість одержувач.
<id> – ідентифікатор повідомлення, переданий Клієнтом або призначений Сервером автоматично.

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

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

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

Для відправки HLR-запиту використовуйте команду звичайної відправки SMS-повідомлення, вказуючи format рівним 3. Параметр <mes> з текстом повідомлення не використовується і може бути порожнім. Результат запиту можна отримати за HTTP-протоколом автоматичним викликом обробника або самостійно запросити статус відправленого SMS-повідомлення спеціальною командою. Так як HLR-запит виконується асинхронно, і результат може повернутися від оператора не відразу, то при самостійному запиті статусу важливо робити цикл з декількох ітерацій з засипанням (команда sleep).

Функція E-mail2sms

В особистому кабінеті Клієнта в "Налаштуваннях користувача"є можливість вказівки списку номерів телефонів, на які відбуватиметься пересилання у вигляді SMS-повідомлень текстів електронних листів, що прийшли на адресу ваш_логінsend.smsc.ua. Ця функція може бути використана, наприклад, для отримання повідомлень на телефон про різні події з програм або інтернет-сервісів, в яких можлива вказівка тільки адреси E-mail.



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