![]() |
|
0 (800) 30 7672 Безкоштовно по Україні |
API дозволяє розсилати повідомлення через ваші проекти і сервіси по протоколах HTTP, HTTPS, SMTP та SMPP. Готові бібліотеки на різних мовах програмування підключаються до вашому проекту і допомагають відправляти повідомлення з будь-якого місця за допомогою однієї команди.
ПІДКЛЮЧЕННЯ ШВИДКІСТЬ РОЗСИЛОК МНОЖИННІ ПІДКЛЮЧЕННЯ ВІДПРАВЛЕННЯ ПОВІДОМЛЕННЯ Відправка SMS-повідомлення ПЕРЕВІРКА СТАТУСУКоментарі в SMS-повідомленнях Надсилання MMS-повідомлення Відправка e-mail повідомлення Відправка голосового повідомлення (дзвінок) Відправка viber-повідомлення Відправка soc-повідомлення Відправка 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 Mб). Швидкість розсилокПропускна здатність підключення або кількість відправлених кожну секунду SMS-повідомлень залежить від розміру вікна передачі (smpp window size). У прикладі налаштувань даний параметр називається max-pending-submits. Для масових розсилок краще ставити великі значення (1000-2000). Також у прикладі параметр throughput задає обмеження на максимальну кількість SMS-повідомлень в секунду.Разом з масовими розсилками через одне підключення можна відправляти і термінові поодинокі SMS-повідомлення. Система встановить максимальний пріоритет таким повідомленнями і відправить їх раніше будь-яких масових розсилок без очікування в черзі. При масової відправки повідомлень не варто забувати про систему контролю швидкості відправки повідомлень в секунду, при перевищенні якої відбувається генерація помилки перевищення швидкості (throttling). У разі отримання даної помилки Клієнту за SMPP-стандарту необхідно повторити відправку, знизивши загальну швидкість на своїй стороні. За замовчуванням задана швидкість 100 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 символу тильди і знову переведення рядка), і після цього будь-який текст, який буде вважатися коментарем, не буде відправлений абоненту, але відобразиться в історії. Надсилання MMS-повідомленняДля відправки MMS-повідомлення використовуйте команду SUBMIT_SM з текстом "__MMS__: <message>\nsubj:<subject>" (текст "__MMS__", двокрапка, пробіл, текст повідомлення, переклад рядка, текст "subj", двокрапка, тема MMS-повідомлення).Відправка e-mail повідомленняДля відправки e-mail повідомлення використовуйте команду SUBMIT_SM з текстом "__MAIL__: <message>\nsubj:<subject>" (текст "__MAIL__", двокрапка, пробіл, текст повідомлення, переклад рядка, слово "subj", двокрапка, тема e-mail повідомлення).Відправка голосового повідомлення (дзвінок)Для відправки голосового повідомлення використовуйте команду SUBMIT_SM з текстом "__CALL__: <message>\nvoice:<voice>" (текст "__CALL__", двокрапка, пробіл, текст повідомлення, переклад рядка, слово "voice", двокрапка, голос, використовуваний для озвучування тексту).Можливі значення для використовуваного голоси:
Відправка viber-повідомленняДля відправки viber-повідомлення використовуйте команду SUBMIT_SM з текстом "__VIBER__: <message>" (текст "__VIBER__", двокрапка, пробіл, текст повідомлення).При формуванні тексту повідомлення, можна використовувати спеціальні макроси для створення кнопки, при натисканні на яку буде відбуватися відкриття браузера і перехід зазначеної в макросі посиланням, а також прикріплювати файли. Більш докладно додаткові можливості при відправці viber-повідомлень описані в документації до http-протоколом. Відправка soc-повідомленняДля відправки soc-повідомлення, що відправляється користувачам соціальних мереж "Однокласники", "ВКонтакте" або користувачам "Mail.Ru Агент", використовуйте команду SUBMIT_SM з текстом "__SOC__: <message>" (текст "__SOC__", двокрапка, пробіл, текст повідомлення).Відправка 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 - строка статуса
Для надсилання 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-поля з кодами 0x2000 і 0x2001, що містять інформацію про вартість і тип повідомлення:
Також в команді 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>):
|
© 2003–2021 ТОВ «СМСЦЕНТР» Код за ЄДРПОУ 38404962 | support@smsc.ua Контакти | Дизайн — Студія Артемія Лебедєва Інформація про сайт |
![]() |