Sms-центр api

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

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

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

Пароль Клієнта або MD5-хеш пароля в нижньому регістрі.

Ідентифікатор повідомлення. Призначається Клієнтом. Служить для подальшої ідентифікації повідомлення. Якщо не вказувати, то буде призначений автоматично. Не обов'язково унікальний. Ідентифікатор є 32-бітове число в діапазоні від 1 до 2147483647, або рядок довжиною до 40 символів, що складається з латинських букв, цифр і символів ".-_".

Ознака того, що повідомлення необхідно перевести в трансліт.
0 (за замовчуванням) - не переводити в трансліт.
1 - перевести в трансліт у вигляді "translit".
2 - перевести в трансліт у вигляді "mpaHc / Ium".

Автоматично скорочувати посилання в повідомленнях. Дозволяє замінювати посилання в тексті повідомлення на короткі для скорочення довжини, а також для відстеження кількості переходів на цій сторінці.
0 (за замовчуванням) - залишити посилання в тексті повідомлення без змін.
1 - скоротити посилання.

Часовий пояс, в якому задається параметр time. Вказується щодо московського часу. Параметр tz може бути як позитивним, так і негативним. Якщо tz дорівнює 0, то буде використаний московський часовий пояс, якщо ж параметр tz не заданий, то часовий пояс буде взятий з налаштувань Клієнта.

Вказує на необхідність відправляти у відповідь лист з результатом відправки SMS-повідомлення. Якщо 0 або не вказано, то відповідь надсилається тільки при помилку в параметрах, якщо 1, то відповідь відправляється в будь-якому випадку. Параметр використовується для налагодження при початковому налаштуванні сервісу.


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

приклад (. поле

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

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

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

Відправка голосового повідомлення (дзвінка). При відправці голосового повідомлення в кінці тексту можна вказати спеціальну комбінацію "\ n

\ N "(переклад рядка, 3 тильди і знову новий рядок), після якої передати параметр param. Визначальний деякі характеристики дзвінка (більш докладно можна подивитися в описі).

Відправлення повідомлення користувачам месенджера Viber.

Ознака HLR-запиту для отримання інформації про номер з бази оператора без відправки реального SMS.

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

    Помилка в параметрах.

    Повідомлення на вказаний номер не може бути доставлено.

    Відправлення більш одного однакового запиту на передачу SMS-повідомлення протягом хвилини.


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

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

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

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

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