Тарифи  Послуги  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-повідомлення. Буде відправлено sms на кожен номер телефону в списку.
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 – мужской альтернативный голос.
w – женский голос.
w2 – женский альтернативный голос.
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 обов'язковим є вказівка теми або тексту. Якщо не вказати тему повідомлення, в її якості буде використано ім'я відправника, передане в запиті або використовуване за замовчуванням.
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.
Параметр 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



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