|
0 (800) 30 7672 Безкоштовно по Україні |
API дозволяє розсилати повідомлення через ваші проекти і сервіси по протоколах HTTP/HTTPS, SMTP і SMPP. Готові бібліотеки різними мовами програмування підключаються до вашого проекту та допомагають надсилати повідомлення з будь-якого місця за допомогою однієї команди. Для спрощеної авторизації замість пари логін і пароль можна використовувати спеціальний API-ключ.
ПІДКЛЮЧЕННЯ ШВИДКІСТЬ РОЗСИЛОК МНОЖИННІ ПІДКЛЮЧЕННЯ ВІДПРАВКА ПОВІДОМЛЕННЯ Відправка SMS-повідомлення ПЕРЕВІРКА СТАТУСУКоментарі в SMS-повідомленнях Відправка e-mail повідомлення Надсилання голосового повідомлення (дзвінок) Відправка viber-повідомлення Відправка soc-повідомлення Відправлення повідомлення в Telegram Відправлення повідомлення в чат-бот Telegram Відправка HLR-запиту ОТРИМАННЯ ВХІДНИХ ПОВІДОМЛЕНЬ КОДИ ПОМИЛОК У СТАТУСІ | SMPP протоколПідключенняЧерез наш SMS-шлюз можливо відправляти повідомлення по протоколу SMPP версій 3.4 і 5.0.Для отримання доступу по SMPP-протоколу необхідно включити в налаштуваннях в групі "Налаштування API" відповідну опцію і додати IP-адреси, з яких будете виконувати підключення, на цій сторінці. Адреса SMPP-сервера: smpp.smsc.ua, порт: 3700. Для шифрованого SSL-підключення використовується порт 3443. Адреса резервного SMPP-сервера: smpp2.smsc.ua. Приклад налаштувань для підключення (формат kannel):
group = smsc
Максимально можливий інтервал бездіяльності становить 2 хвилини. Протягом цього часу клієнту необхідно відправити повідомлення або виконати порожню команду ENQUIRE_LINK, інакше з'єднання буде розірвано через не активність. Приклад додаткових налаштувань для підключення по SSL-протоколу (kannel версії 1.4.4 і вище):
...
Сертифікат можна згенерувати командою (Linux CentOS): /etc/ssl/certs/make-dummy-cert kannel.pem Логін використовується від особистого кабінету, пароль повинен бути створений на сторінці Паролі для доступу. Логін і пароль не повинні бути російською мовою. Даний розділ містить тільки короткий опис SMPP-протоколу. Подробиці дивіться в специфікації. Завантажити специфікацію протоколу SMPP v3.4 smpp34.zip (500 Кб) smpp34rus.zip (1,1 Мб). Швидкість розсилокПропускна спроможність підключення або кількість відправлених кожну секунду SMS-повідомлень залежить від розміру вікна передачі (smpp window size). У прикладі налаштувань даний параметр називається max-pending-submits. Для масових розсилок краще ставити великі значення (1000-2000). Також в прикладі параметр throughput задає обмеження на максимальну кількість SMS-повідомлень в секунду.Разом із масовими розсилками через одне підключення можна відправляти і термінові одиночні SMS-повідомлення. Система встановить максимальний пріоритет таким повідомленням і відправить їх раніше будь-яких масових розсилок без очікування в черзі. При масовій відправці повідомлень не варто забувати про систему контролю швидкості відправки повідомлень у секунду, при перевищенні якої відбувається генерація помилки перевищення швидкості (throttling). У разі отримання даної помилки Клієнту по SMPP-стандарту необхідно повторити відправку, знизивши загальну швидкість на своїй стороні. За замовчуванням швидкість задана 30 SMS/сек для кожного аккаунта. Для зміни максимально дозволеної швидкості необхідно відправити запит в службу підтримки сервісу. Множинні підключенняЗа замовчуванням сервер обробляє одночасно з одного логіна тільки одне підключення для більш коректної віддачі статусів, тому при повторному підключенні раніше підключене з'єднання з таким же логіном буде автоматично завершуватися. Якщо ж необхідно мати кілька одночасних підключень для підвищення швидкості відправки, то можна в налаштуваннях всіх підключень задати наступний параметр (multi connection):
system-type = "MCON2"
Значення після MCON може бути від 1 до 9 і задає кількість одночасних підключень.
Також можливі одночасні підключення з різними логінами, прив'язаними до одного особистого кабінету і рахунку. Для цього необхідно створити в особистому кабінеті в розділі "Реселлер" додаткові аккаунти з необхідним типом субаккаунта. Відправка повідомленняВідправка SMS-повідомленняДля відправки SMS-повідомлення використовуйте команду SUBMIT_SM згідно специфікації.Підтримуються наступні кодування:
Для використання кодування ISO-8859-1 (ASCII) замість GSM при підключенні потрібно вказати:
system-type = "ISO"
У текст SMS-повідомлення можна додавати коментарі, призначені для перегляду відправником історії повідомлень в особистому кабінеті. Команда SUBMIT_MULTI для множинної розсилки поки не реалізована. Сервер не приймає більше одного однакового запиту на відправку 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", двокрапка, голос, який використовується для озвучування тексту).Можливі значення для використовуваного голосу:
В процесі формування повідомлення в кінці тексту можна вказати спеціальну комбінацію "\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>
Опис параметрів:
Рядкові дані, наприклад, країна і оператор, закодовані через функцію urlencode. Приклад результату HLR-запиту:
id:855469 stat:DELIVRD err:000 imsi:250023012345678
Приклад коду на PHP для розбору рядка з результатом HLR-запиту: $dlr = strtr($dlr, ": ", "=&"); // $dlr - строка статуса
Приклад розбору через регулярні вирази: preg_match("/^id:(\d+) stat:(\w+) err:(\d+) imsi:(\d*) msc:(\d*) mcc:(\d*) mnc:(\d*) cn:([^ ]*) net:([^ ]*) rcn:([^ ]*) rnet:([^ ]*)/", $dlr, $m); // $dlr - строка статуса
Для відправки ping-SMS використовуйте команду SUBMIT_SM з текстом __PING__. Перевірка статусуОтримувати статус доставки відправленого SMS-повідомлення по SMPP-протоколу можна як в автоматичному режимі, отримуючи від сервера відповідну PDU-команду DELIVER_SM відразу після зміни статусу, так і за запитом окремою командою QUERY_SM. Для автоматичного отримання статусу по SMPP-протоколу необхідно підключатися в режимі transceiver або receiver і при відправці SMS вказувати прапор запиту статусу (registered_delivery). Якщо при відправці не вказувати цей прапор, то статуси повідомлень будуть передаватися на HTTP-обробник.При автоматичному поверненні статусу в команді DELIVER_SM передаються стандартні TLV-параметри receipted_message_id (<id>), message_state (числовий <status>) та network_error_code (<err>), а також додаткові TLV-поля, описані нижче:
Також в команді DELIVER_SM передається текст статусу в наступному форматі:
id:<id> sub:<sub> dlvrd:<dlvrd> submit date:<submit date> done date:<done date> stat:<status> err:<err>
Опис параметрів:
Приклад результату рядка статусу (Delivery Report):
id:854019 sub:001 dlvrd:001 submit date:1108202241 done date:1108202241 stat:DELIVRD err:000
За замовчуванням для довгих повідомлень, що розбиваються на кілька SMS, сервер повертає тільки один статус (DELIVER_SM) для всього склеєного повідомлення і однакові ID у відповіді SUBMIT_SM_RESP для всіх SMS-частин даного повідомлення. Для включення режиму обробки і повернення статусів для кожної SMS-частини окремо встановіть наступний параметр в налаштуваннях підключення (або в налаштуваннях особистого кабінету):
system-type = "SINGLE"
Якщо необхідно вказати кілька параметрів у поле system-type, то вкажіть їх через кому:
system-type = "ISO,SINGLE"
Отримання вхідних повідомленьДля включення пересилання вхідних SMS-повідомлень по SMPP-підключенню необхідно встановити галочку "Передавати вхідні SMS по SMPP-підключенню" в налаштуваннях особистого кабінету (розкривна вкладка "Налаштування API") або звернутися в службу підтримки. При цьому передача вхідних повідомлень на обробник клієнта повинна бути відключена.Вхідні повідомлення приходять в PDU-команді DELIVER_SM. Для отримання необхідно підключатися до SMPP-сервера в режимі transceiver або receiver. Коди помилок у статусіМожливі коди помилок у статусі повідомлень або HLR-запитів (значення <err>):
Можливі коди помилок в статусі e-mail повідомлень (значення <err>):
|
© 2003–2024 ТОВ " СМСЦЕНТР» Код ЄДРПОУ 38404962 | support@smsc.ua Контакти | Дизайн — Студія Артемія Лебедєва Інформація про сайт |