Интеграция с сервисом (API)

HTTP/HTTPS

Описание параметров
Ответ сервера и коды ошибок
Примеры операций с контактами
Работа с субклиентами
Перечень доступных операций
Описание параметров
Ответ сервера и коды ошибок
Примеры действий с субклиентами
Создание и выгрузка счетов и актов
Перечень доступных операций с именами отправителей
Описание параметров
Ответ сервера и коды ошибок
Примеры действий с именами отправителей
Получение истории отправленных сообщений
Получение входящих сообщений
Получение статистики
Запрос тарифов
Получение информации об операторе
Получение данных о короткой ссылке
Подключение выделенных номеров для приема сообщений
Передача статусов и сообщений на обработчик Клиента
Подключение антиспам проверки (captcha) к сайту
Подтверждение номера телефона с помощью звонка
УПРАВЛЕНИЕ КЛИЕНТАМИ
УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)
ПОЛУЧЕНИЕ ДАННЫХ
РАЗНОЕ

Отправка SMS-сообщения

Для отправки SMS необходимо вызвать методом GET или POST адрес:

http://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>
Для получения стоимости SMS необходимо вызвать методом GET или POST адрес:

http://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&cost=1
Для отправки SMS с передачей параметров в формате json в теле запроса необходимо вызвать методом POST адрес:

http://smsclub24.ru/rest/send/
Описание параметров, передаваемых Серверу :
Обязательными параметрами являются loginpswphones и mes либо loginpsw и 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 – номер ошибки, может принимать следующие значения:
В случае успешной обработки запроса возвращается строка следующего вида:

  • при 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-сообщения) либо количество секунд (при голосовом сообщении (звонке)).

<balance> – новый баланс Клиента.

<phone> – номер телефона.

<mccmnc> – числовой код страны абонента плюс числовой код оператора абонента.

<cost> – стоимость SMS-сообщения.

<status> – код статуса SMS-сообщения.

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

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

Примеры отправки сообщений

Примеры:

Обычное сообщение:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello!

https://smsclub24.ru/sys/send.php?login=alex&psw=123&list=79999999999:Hello!%0A79999999999:Hello\nworld!
Flash сообщение в кодировке "utf-8" от отправителя "ivan", переведенное в транслит, которое должно быть доставлено абоненту 01.01.2012 г. в 00:00:

https://smsclub24.ru/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://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=050A0307056048656C6C6F2C20576F726C6421&bin=2
Бинарное WAP-push сообщение, передающее ссылку на сайт "http://wap.ru/":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=0605040B8423F0DC0601AE02056A0045C60C037761702E72752F0001037761702E7275000101&bin=2
WAP-push сообщение в текстовом виде, передающее ссылку на сайт "http://wap.ru" с заголовком "WAP.RU":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=http://wap.ru%0AWAP.RU&push=1

Комментарии в SMS-сообщениях

При отправке SMS-сообщений можно добавлять в конец текста любой комментарий, уточняющий либо дополняющий SMS-сообщение для отправителя. Данный текст не будет отправляться абонентам и влиять на стоимость SMS и доступен для просмотра и фильтрации в списке отправленных сообщений в личном кабинете.

Для добавления комментария необходимо в конце текста SMS-сообщения, предназначенного для отправки, указать специальную комбинацию "\n~~~\n" (перевод строки, 3 символа тильды и снова перевод строки), и после этого любой текст, который будет считаться комментарием, не будет отправлен абоненту, но отобразится в истории.

Примеры:

Отправка одного сообщения:

Hello!
~~~
Comment

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999%2C78888888888&mes=Hello!%0A~~~%0AComment
Отправка нескольких сообщений через параметр list:

Hello1!
~~~
Comment1
Hello2!
~~~
Comment2

https://smsclub24.ru/sys/send.php?login=alex&psw=123&list=79999999999:Hello1!\n~~~\nComment1%0A78888888888:Hello2!\n~~~\nComment2

Отправка на группу номеров

В личном кабинете Клиента при создании или редактировании группы можно указать номер группы для рассылок сообщений. Тогда при отправке сообщения вместо списка телефонов можно будет указывать короткий код в виде "G<номер группы>" или "g<номер группы>", и сообщение будет отправлено на все номера телефонов, принадлежащие данной группе.

Примеры:

Отправка сообщения на все номера телефонов, принадлежащих группам с назначенными номерами 777 и 888:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=G777%2Cg888&mes=Hello!

Отправка HLR-запроса

Вы можете проверять номера телефонов на доступность, отправляя специальный HLR-запрос. В результате выполнения запроса будут получены данные о стране и операторе абонента, о роуминговом операторе при нахождении абонента в чужой сети, а также о статусе абонента (доступен или нет). Абоненты, владельцы проверяемых номеров, не будут получать никаких уведомлений о выполненных проверках их номера.

Выполнение HLR-запроса по HTTP-протоколу выполняется тем же способом, что и отправка SMS-сообщения, при этом в запросе необходимо передать дополнительный параметр hlr=1.

Для отправки HLR-запроса необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&hlr=1

Также доступны и другие параметры, использующиеся для отправки обычных SMS и описанные на данной странице.

Результат HLR-запроса может быть отправлен на URL для приема входящих сообщений и статусов, заданный в настройках в личном кабинете, либо может считываться по запросу статуса отправленного SMS-сообщения.

Примеры:


https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&hlr=1

Отправка MMS-сообщения

Для отправки MMS-сообщения необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&mms=1
Если при отправке планируется передача каких-либо файлов (текста, музыки, аудио, видео), то их необходимо передавать методом POST в теле http(s)-запроса к серверу. Также возможна передача в запросе внешнего файла через параметр fileurl, содержащий полный http(s)-адрес файла или добавления к тексту сообщения https-ссылки ранее загруженного файла, узнать которую можно в личном кабинете на странице отправки, нажав последовательно "прикрепить файл" – "Загруженные файлы".

Максимальное количество вложений, передаваемых в запросе, равно двадцати, и суммарный размер всех вложений не должен превышать 300 Кб. При превышении указанных лимитов оставшиеся вложения будут переданы в виде ссылок. Для MMS-сообщения указание темы или текста является обязательным.

Примеры:

Отправка MMS-сообщения с темой "Privet" и текстом "Hello":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&subj=Privet&mms=1
Отправка MMS с темой "Holiday" и двумя фотографиями через библиотеку на основе cURL:

<?php
include "smsc_api.php";
send_sms("79999999999", "", 0, 0, 0, 7, false, "subj=Holiday", array("/home/alex/1.jpg", "/home/alex/2.jpg"));
?>

Отправка e-mail сообщения

Для отправки e-mail необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&sender=<sender>&subj=<subj>&mail=1
Если при отправке планируется передача каких-либо файлов, то их необходимо передавать методом POST в теле http(s)-запроса к серверу. Позиции в тексте, в которые планируется вставлять файлы, необходимо обозначать специальным образом в виде "<file n>", где n - номер файла в формируемом списке начиная с единицы. Если не указывать позиции, то соответствующие файлы будут добавляться в конец сообщения.

При создании сообщения можно вставлять в текст http(s)-ссылки ранее загруженных файлов, узнать которые можно в личном кабинете на странице отправки, нажав последовательно ссылки "прикрепить файл" – "Загруженные файлы". Также можно указывать локальные ссылки на загруженные файлы на нашем сервере в виде "<file /upload/files/sms/каталог_загрузки/название_файла>". Для вложений-картинок можно устанавливать атрибуты, например, "<file /upload/files/sms/каталог_загрузки/название_файла width=200 height=400>". Для загрузки файла из внешнего источника можно в запросе передавать дополнительный параметр fileurl, содержащий полный http(s)-адрес файла.

Максимальное количество вложений, передаваемых в запросе, равно 20, и размер каждого вложения не должен превышать 10 Мб. При превышении указанных лимитов будет возвращаться ошибка с кодом 1 (неверные параметры). При отправке каждого письма максимальный общий размер прикрепляемых вложений составляет 15 Мб, вложения, не вмещающиеся в этот размер, будут передаваться ссылкой на наш сайт.

По-умолчанию, в конец текста письма добавляется специальная ссылка для отписки. Для отключения данной ссылки необходимо добавить в любое место текста письма специальный макрос {no_unsub}.

Для e-mail сообщений указание темы, текста и адреса отправителя обязательно.

Примеры отправки e-mail сообщений

Примеры:

Отправка e-mail на адрес "alex@mysite.com" с темой "Privet" и текстом "Hello" от отправителя "alex2@mysite2.com":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=alex%40mysite.com&mes=Hello&subj=Privet&sender=alex2%40mysite2.com&mail=1
Отправка e-mail с темой "Holiday" и двумя фотографиями через библиотеку на основе cURL:

<?php
include "smsc_api.php";
send_sms("alex@mysite.com", "Hello", 0, 0, 0, 8, "alex2@mysite2.com", "subj=Holiday", array("/home/alex/1.jpg", "/home/alex/2.jpg"));
?>
Отправка e-mail с темой "Hello" и фотографией, загруженной ранее на сервер:

<?php
include "smsc_api.php";
send_sms("alex@mysite.com", "Hello, this is my photo &lt;file /upload/files/sms/123abc/photo.jpg width=200 height=400>", 0, 0, 0, 8, "alex2@mysite2.com", "subj=Hello");
?>

Отправка голосового сообщения (звонок)

Для отправки голосового сообщения необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&call=1
При формировании сообщения можно указывать как текст, так и добавлять медиа-файлы форматов wav и mp3.

Если планируется передача файлов, то их необходимо передавать методом POST в теле http(s)-запроса к серверу. Позиции в тексте, в которые планируется вставлять файлы, необходимо обозначать специальным образом в виде "<file n>", где n - номер файла в формируемом списке начиная с единицы. Если не указывать позиции, то соответствующие файлы будут добавляться в конец сообщения.

При создании сообщения можно вставлять в текст http(s)-ссылки ранее загруженных файлов, узнать которые можно в личном кабинете на странице отправки, нажав последовательно ссылки "прикрепить файл" – "Загруженные файлы". Также можно указывать локальные ссылки на загруженные файлы на нашем сервере в виде "<file /upload/files/sms/каталог_загрузки/название_файла>". Для загрузки файла из внешнего источника можно в запросе передавать дополнительный параметр fileurl, содержащий полный http(s)-адрес файла. В этом случае передача в запросе параметра mes необязательна.

Так как телефонные линии не могут идеально проигрывать сложные медиа-файлы, то при формировании отправляемого сообщения передаваемые файлы преобразуются к простому формату.

При отправке голосового сообщения первоначальное время и стоимость рассчитываются приблизительно. После отправки и прослушивания сообщения абонентом продолжительность и стоимость звонка корректируются либо в меньшую сторону (например, если абонент не дослушал сообщение до конца), либо, если длительность сообщения превышает рассчитанную, то разница в секундах указывается в комментарии к сообщению в виде дополнительного времени overtime, которое в том числе отображается в детализации в виде отдельной записи. Также overtime может возникать при использовании голосового меню (IVR).

Максимальное количество вложений, передаваемых в запросе, равно четырем, и размер каждого вложения не должен превышать 5 Мб. При превышении указанных лимитов обрабатываемые вложения будут исключаться.

Для передачи своего номера телефона в качестве имени отправителя необходимо указать его в параметре sender. Указанный номер прежде должен быть добавлен и активирован в личном кабинете на данной странице.

При формировании запроса можно передавать специальный параметр param, в котором задаются некоторые характеристики звонка (более подробно можно ознакомиться в описании). Также дополнительно в запросе можно передать параметр voice, который определяет голос, используемый для озвучивания текста. Данный параметр может принимать следующие значения:
  • voice = m – мужской голос.
  • voice = m2 – мужской голос 2.
  • voice = m3 – мужской голос 3.
  • voice = m4 – мужской голос 4.
  • voice = w – женский голос.
  • voice = w2 – женский голос 2.
  • voice = w3 – женский голос 3.
  • voice = w4 – женский голос 4.

Использование голосового меню (IVR)

Для использования голосового меню необходимо в начале текста сообщения передать текст или голосовой файл с начальными инструкциями для абонента и далее указать макрос, содержащий служебные команды меню {menu: <...>}, где <...> описание параметров голосового меню.

Схематично сообщение с использованием голосового меню, выглядит следующим образом:

СТАРТОВЫЙ ТЕКСТ

{menu: [ТЕКСТ МЕНЮ]
1: ТЕКСТ или КОМАНДА
2: ТЕКСТ2 или КОМАНДА2
...
}

КОНЕЧНЫЙ ТЕКСТ
После поднятия трубки абоненту озвучивается "СТАРТОВЫЙ ТЕКСТ", далее проигрывается "ТЕКСТ МЕНЮ" с описанием пунктов меню и допустимыми действиями. После нажатия клавиши на цифровой клавиатуре телефона, соответствующей необходимому пункту, абоненту может быть озвучен текст "ТЕКСТ" или выполнена одна или несколько следующих друг за другом "КОМАНД". После выхода из меню озвучивается "КОНЕЧНЫЙ ТЕКСТ".

Описание параметров, используемых в макросе {menu: <...>}:
В пунктах и подпунктах можно использовать следующие команды:

Примеры:


<?php
$url = 'https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999,79999999998&call=1&charset=utf-8&mes=';

$msg = 'Здравствуйте!

{menu: Нажмите 1 для первого пункта, 2 для второго пункта, 3 для отправки заявки на обратный звонок, 5 для связи с оператором, решетка для перехода в начало, 0 для повтора, для возврата в предыдущее меню нажмите звёздочку.
*: back
#: start
0: repeat
1: пункт 1, нажмите 1 для подпункта 1, 2 для подпункта 2, 3 для подпункта 3
11: подпункт 1.1
12: подпункт 1.2
13: подпункт 1.3
2: пункт 2, нажмите 1 для подпункта 2.1
21: подпункт 2.1
3: sms:79999999999,Sender,текст
3: end
4: sms:$phone,Sender,Ваш номер: $phone
4: end
5: url
5: call:79999999999,79999999998 wait=10 ok:end err:6
6: call:79999999997 wait=60 ok:end err:callerr record
7: Сейчас начнется запись до 10 секунд
7: record: 10
7: Конец записи
err: неверный номер, нажмите 0 для повтора
callerr: Извините, не удалось дозвониться до оператора, выберите другой пункт или повторите попытку позже}

Всего вам доброго!';

echo file_get_contents($url.urlencode($msg));
?>

Примеры отправки голосовых сообщений

Примеры:

Отправка голосового сообщения с текстом "Hello":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&call=1
Отправка голосового сообщения с текстом "Hello" от номера телефона "79991234567":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&call=1&sender=79991234567
Отправка голосового сообщения с текстом "Hello world", озвученным мужским голосом, с временем ожидания снятия трубки 20 секунд, интервалом повтора 10 секунд и количеством попыток дозвона равным 3:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello%20world&call=1&voice=m&param=20%2C10%2C3
Отправка голосового сообщения с текстом "Hello world", озвученным женским альтернативным голосом:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello%20world&call=1&voice=w2
Отправка голосового сообщения с прикрепленным через параметр fileurl голосовым файлом:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&call=1&fileurl=http://mysite.com/voice.wav
Отправка голосового сообщения с текстом и двумя звуковыми файлами через библиотеку на основе cURL:

<?php
include "smsc_api.php";
send_sms("79999999999", "first file <file 1> and second file <file 2>", 0, 0, 0, 9, false, "", array("/home/alex/1.mp3", "/home/alex/2.wav"));
?>

Отправка viber-сообщения

Для отправки viber-сообщения необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&viber=1

Передача картинок

Если на каждый номер планируется отправлять отдельную картинку в сообщении, то в этом случае необходимо либо передавать полный http(s)-адрес внешнего файла в виде <file http(s)://...>, либо отправлять в запросе дополнительный параметр fileurl, содержащий полный http(s)-адрес картинки. При использовании fileurl передача в запросе параметра mes необязательна.
Если при создании рассылки предполагается отправка одного текста на несколько номеров, то необходимо вставлять в текст сообщения полную http(s)-ссылку ранее загруженного файла картинки, узнать которую можно в личном кабинете на странице отправки, нажав последовательно "прикрепить файл" – "Загруженные файлы". Прикрепляемый файл по размеру не должен превышать 512 Кб и удовлетворять одному из следующих форматов: JPG, GIF, PNG.

Добавление кнопки

Для вставки в сообщение кнопки, при нажатии на которую будет происходить открытие браузера и переход на указанный адрес, необходимо добавить в текст сообщения специальный макрос {button,url,text}, где:
<button> – название макроса.
<url> – полный http-адрес ссылки, по которой произойдет переход при нажатии кнопки.
<text> – текст кнопки. Длина текста не может превышать 30 символов.
Для вставки в сообщение кнопки, при нажатии на которую будет происходить вызов абонента по указанному номеру телефона, необходимо добавить в текст сообщения специальный макрос {button,tel:79999999999,text}.

Типы сообщений

Система поддерживает следующие типы viber-сообщений:
  • Только текст – абонент получает текстовое сообщение.
  • Только картинка – абонент получает картинку.
  • Текст+кнопка – абонент получает текстовое сообщение, под которым расположена кнопка. При нажатии на кнопку происходит переход по заданной ссылке.
  • Текст+кнопка+картинка – абонент получает текстовое сообщение, под которым расположены картинка и кнопка. При нажатии на кнопку происходит переход по заданной ссылке.
Для настройки программного обеспечения и тестирования отправки viber-сообщений можно использовать наше общее имя отправителя "SMSC" и предопределенные шаблоны:
  • Hello! This is test message
  • Здравствуйте! Это тестовое сообщение
  • Test
  • Тест
  • Test {button,https://smsclub24.ru,site}
  • Тест {button,https://smsclub24.ru,сайт}
  • Picture <file http://smsclub24.ru/im/smsc_logo_tiny.gif>
  • Картинка <file http://smsclub24.ru/im/smsc_logo_tiny.gif>
Как и в шаблонах для операторов здесь действуют общие правила создания сообщений для указанных шаблонов (внизу страницы раскрывающаяся вкладка "Правила регистрации шаблонов").

Примеры отправки viber-сообщений

Примеры:

Отправка viber-сообщения с текстом "Hello":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&viber=1
Отправка viber-сообщения по одному из предопределенных шаблонов для тестирования с текстом "Test", кнопкой "{button,http://smsclub24.ru,Site}" и картинкой, ранее загруженной в личном кабинете и имеющей адрес "http://smsclub24.ru/upload/files/sms/1856f97d/6_1.jpg":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=Test+%7Bbutton%2Chttp%3A%2F%2Fsmsclub24.ru%2CSite%7D+http%3A%2F%2Fsmsclub24.ru%2Fupload%2Ffiles%2Fsms%2F1856f97d%2F6_1.jpg

Отправка viber-сообщения по одному из предопределенных шаблонов для тестирования с текстом "test", кнопкой "{button,http://smsclub24.ru,Site}" и картинкой, расположенной на внешнем ресурсе "https://mysite.com/sms/picture.jpg":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=test+%7Bbutton%2Chttp%3A%2F%2Fsmsclub24.ru%2CSite%7D+%3Cfile+https%3A%2F%2Fmysite.com%2Fsms%2Fpicture.jpg%3E

Отправка viber-сообщения по одному из предопределенных шаблонов для тестирования с текстом "test", кнопкой "{button,http://smsclub24.ru,Site}" и картинкой "https://mysite.com/sms/picture.jpg", переданной через параметр fileurl:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&viber=1&mes=test+%7Bbutton%2Chttp%3A%2F%2Fsmsclub24.ru%2CSite%7D&fileurl=https%3A%2F%2Fmysite.com%2Fsms%2Fpicture.jpg

Отправка telegram-сообщения

Для отправки telegram-сообщения необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/send.php?login=<login>&psw=<password>&phones=<phones>&mes=<message>&bot=<@botname_bot>

Примеры отправки telegram-сообщений

Примеры:

Отправка telegram-сообщения с текстом "Hello" на номер "79999999999" в telegram-бот "@mybot_bot":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Hello&bot=@mybot_bot

Отправка telegram-сообщения с текстом "Привет" на номер "79999999999" в telegram-бот "@mybot_bot" с указанием в параметре smsreq количества дней, по истечении которого будет необходимо подтвердить номер телефона SMS-кодом:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=Привет&bot=@mybot_bot&smsreq=25

Использование префиксов при отправке сообщений

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

Примеры:

Отправка голосового сообщения с текстом "Privet":

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__CALL__%3A%20Privet

Отправка Ping-SMS:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__PING__

Отправка HLR-запроса:

https://smsclub24.ru/sys/send.php?login=alex&psw=123&phones=79999999999&mes=__HLR__

Управление шаблонами сообщений

Для управления шаблонами сообщений необходимо вызвать методом GET или POST соответствующий адрес с указанием требуемой команды и параметров.
Для создания шаблона:

https://smsclub24.ru/sys/templates.php?add=1&login=<login>&psw=<password>&name=<name>&msg=<msg>

Для изменения шаблона:

https://smsclub24.ru/sys/templates.php?chg=1&login=<login>&psw=<password>&id=<id>

Для удаления шаблона:

https://smsclub24.ru/sys/templates.php?del=1&login=<login>&psw=<password>&id=<id>

Для получения списка шаблонов:

https://smsclub24.ru/sys/templates.php?get=1&login=<login>&psw=<password>

Серверу передаются следующие параметры:
В случае ошибки Сервер возвращает следующую строку:
  • при fmt = 0: ERROR = N (описание)
  • при fmt = 1: 0,-N
  • при fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • при fmt = 3:
{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешного запроса Сервер возвращает ответ в виде строки:

При создании шаблона:
  • при fmt = 0: ID - <id>
  • при fmt = 1: <id>
  • при fmt = 2:
<template>
<id>id</id>
</template>

  • при fmt = 3:
{
"id": <id>
}
При изменении или удалении шаблона:
  • при fmt = 0, 1: OK
  • при fmt = 2: <result>OK</result>
  • при fmt = 3:
{
"result": "OK"
}
При запросе списка шаблонов сообщений:
  • при fmt = 0:
id = <id>, name = <name>, format = <format>, sender = <sender>, flag = <flag>, message = <message>
...

  • при fmt = 1:
<id>,<name>,<format>,<sender>,<flag>,<message>
...

  • при fmt = 2:
<list>
<template>
<id>id</id>
<name>name</name>
<format>format</format>
<sender>sender</sender>
<flag>flag</flag>
<message>message</message>
</template>
...
</list>

  • при fmt = 3:
[{
"id": <id>,
"name": "<name>",
"format": "<format>",
"sender": "<sender>",
"flag": <flag>,
"message": "<message>"
},
  • ...]
Где:

<id> – идентификатор шаблона, назначенный системой автоматически.

<name> – название шаблона.

<format> – формат сообщения.

<sender> – имя отправителя.

<flag> – флаг для шаблона. Установка первого бита флага (fl[1]=1) назначает использование шаблона для автоподписи.

<message> – текст сообщения.
Сервер не принимает более трех одинаковых запросов на действия с шаблонами в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Управление шаблонами операторов

Для управления шаблонами сервисных и транзакционных сообщений необходимо вызвать методом GET или POST соответствующий адрес с указанием требуемой команды и параметров.

Для создания шаблона (для всех операторов):

https://smsclub24.ru/sys/op_templates.php?add=1&login=<login>&psw=<password>&sender=<sender>&msg=<msg>&mts_srv=1&mts_auth=1&mts_trn=1&mega_srv=1&mega_auth=1&mega_trn=1&bee_srv=1&bee_trn=1&tele2_srv=1&tele2_trn=1&motiv_srv=1&motiv_trn=1&soc=1

Для получения информации о шаблоне (по всем операторам):

https://smsclub24.ru/sys/op_templates.php?get=1&login=<login>&psw=<password>&sender=<sender>&msg=<msg>

Серверу передаются следующие параметры:
В случае ошибки Сервер возвращает следующую строку:
  • при fmt = 0: ERROR = N (описание)
  • при fmt = 1: 0,-N
  • при fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • при fmt = 3:
{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешного запроса Сервер возвращает ответ в виде строки:

При создании шаблона:
  • при fmt = 0:
name = <status>, id = <id>
...

  • при fmt = 1:
<name>,<status>,<id>
...

  • при fmt = 2:
<result>
<template>
<name>name</name>
<status>status</status>
<id>id</id>
</template>
...
</result>

  • при fmt = 3:
[{
"name": <status>,
"id": <id>
},
...]
При запросе списка шаблонов:
  • при fmt = 0:
name = <status>, id = <id>
...

  • при fmt = 1:
<name>,<status>,<id>
...

  • при fmt = 2:
<result>
<template>
<name>name</name>
<status>status</status>
<id>id</id>
</template>
...
</result>

  • при fmt = 3:
[{
"name": <status>,
"id": <id>
},
...]
Где:

<name> – название оператора и тип сообщений.

<id> – идентификатор шаблона, назначенный системой автоматически.

<status> – статус шаблона, может принимать следующие значения:
для команды add:
-2 – невозможно сохранить указанный шаблон;
-1 – имя отправителя для данного шаблона не найдено или не принято оператором;
1 – шаблон успешно добавлен;
для команды get:
-1 – шаблон для указанного оператора не найден;
0 – ожидает регистрации;
1 – отправлено на регистрацию;
2 – допущено оператором;
3 – не принято оператором;
4 – временно отключено.
Сервер не принимает более десяти одинаковых запросов на действия с шаблонами в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Виртуальная отправка (режим тестирования)

Данный режим работы позволяет протестировать отправку сообщений без реальной передачи операторам. Может быть полезен при первоначальной настройке и тестировании различного программного обеспечения и оборудования. Для включения данного режима необходимо в личном кабинете в пункте "Настройки" в раскрывающемся блоке "Настройки API" установить галочку "Режим тестирования (виртуальная отправка без оплаты)".

При виртуальной отправке все сообщения будут иметь конечный статус "Доставлено", но в процессе отправки сообщения будут проходить все стадии обработки по цепочке "Ожидает отправки" – "Передано оператору" – "Доставлено". Получать статусы сообщений можно как по запросу, так и на свой http-обработчик. Отправлять можно и одиночные сообщения и массовые рассылки. Тестировать при виртуальной отправке возможно различные типы сообщений (SMS, бинарные сообщения, HLR, MMS, звонок), кроме e-mail.

Уведомления о событиях

При возникновении определенных событий может потребоваться отправка уведомительных сообщений, содержащих информацию, необходимую для обработки данных событий. Для решения подобных задач можно воспользоваться расширением нашей системы мониторинга, которое позволяет отправлять различные уведомления через наш сервис из внешних систем. Для этого в личном кабинете на странице "Создание группы заданий" требуется создать соответствующую группу, где указать шаблоны уведомлений, типы сообщений, отправляемых при возникновении события, а также контакты для уведомлений (номера телефонов, e-mail адреса, jabber аккаунты).
Для отправки уведомления необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/ping.php?login=<login>&psw=<password>&id=<id>

Серверу передаются следующие параметры:
В случае ошибки Сервер возвращает следующую строку:
  • ERROR = N (описание)
  • при fmt = 1: 0,-N
  • при fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • при fmt = 3:
{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешного запроса Сервер возвращает ответ в виде строки.
  • при fmt = 0 и fmt = 1: OK
  • при fmt = 2:
<result>OK</result>

  • при fmt = 3:
{
"result": "OK"
}
Сервер не принимает более пяти одинаковых запросов на отправку уведомления в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Управление рассылками

Действия с рассылками

Для создания рассылки необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/jobs.php?add=1&login=<login>&psw=<password>&name=<name>&phones=<phones>&mes=<message>

Для удаления рассылки необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/jobs.php?del=1&login=<login>&psw=<password>&id=<id>

Для отключения рассылки, ожидающей отправки, необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/jobs.php?cancel=1&login=<login>&psw=<password>&id=<id>

Для получения информации о конкретной рассылке, необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/jobs.php?get=1&login=<login>&psw=<password>&id=<id>

Для получения списка рассылок, необходимо вызвать методом GET или POST адрес:

https://smsclub24.ru/sys/jobs.php?get_all=1&login=<login>&psw=<password>

Описание параметров, передаваемых Серверу при создании рассылки (любой из дополнительных параметров применяется к каждому сообщению в рассылке; для работы с e-mail рассылками необходимо в запросе передавать дополнительный параметр mail=1):
Обязательными параметрами являются login, psw, name, phones и mes или login, psw, name и list.
Описание параметров, передаваемых Серверу при удалении, отключении или получении списка рассылок:
Обязательными параметрами являются login, psw и id.
После принятия и обработки данных Сервер возвращает Клиенту подтверждение с указанием результата обработки.
Все параметры, которые содержат специальные символы (плюс, пробел и т.д.), должны быть закодированы при помощи функции urlencode для передачи в HTTP-запросе.

Ответ сервера и коды ошибок

Сервер отправляет ответ в виде строки:

Если произошла ошибка, то ответ будет одним из следующих:
  • при fmt = 0:
ERROR = N (описание) – для ошибок 1,2,3,4,5,9.

  • при fmt = 1:
0,-N – для ошибок 1,2,3,4,5,9.

  • при fmt = 2:
Для ошибок 1,2,3,4,5,9:
<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • при fmt = 3:
Для ошибок 1,2,3,4,5,9:
{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешной обработки запроса возвращается строка следующего вида:

При создании рассылки:
  • при cost = 0 и fmt = 0: OK, ID - <id>
  • при cost = 1 и fmt = 0: OK, ID - <id>, COST - <cost>
  • при cost = 0 и fmt = 1: <id>
  • при cost = 1 и fmt = 1: <id>,<cost>
  • при cost = 0 и fmt = 2:
<result>
<id>id</id>
</result>

  • при cost = 1 и fmt = 2:
<result>
<id>id</id>
<cost>cost</cost>
</result>

  • при cost = 0 и fmt = 3:
{
"id": <id>
}

  • при cost = 1 и fmt = 3:
{
"id": <id>,
"cost": "<cost>"
}
При отключении или удалении рассылки:
  • при fmt = 0,1: OK
  • при fmt = 2:
<result>OK</result>

  • при fmt = 3:
{
"result": "OK"
}
При получении информации о конкретной рассылке (при mail=1 параметр "phones" заменяется на "emails"):
  • при fmt = 0: <id>|<name>|<subject>|<repeat_send>|<repeat_cnt>|<created>|<changed>|<need_date>|<last_sent>|<phones>|<message>|<format>|<validity>|<period>|<frequency>|<status>|<sender_id>

  • при fmt = 1: <id>;<name>;<subject>;<repeat_send>;<repeat_cnt>;<created>;<changed>;<need_date>;<last_sent>;<phones>;<message>;<format>;<validity>;<period>;<frequency>;<status>;<sender_id>

  • при fmt = 2:
<job>
<id>id</id>
<name>name</name>
<subject>subject</subject>
<repeat_send>repeat_send</repeat_send>
<repeat_cnt>repeat_cnt</repeat_cnt>
<created>created</created>
<changed>changed</changed>
<need_date>need_date</need_date>
<last_sent>last_sent</last_sent>
<phones>phones</phones>
<message>message</message>
<format>format</format>
<validity>validity</validity>
<period>period</period>
<frequency>frequency</frequency>
<status>status</status>
<sender_id>sender_id</sender_id>
</job>

  • при fmt = 3:
[
{
"id": <id>,
"name": "<name>",
"subject": "<subject>",
"repeat_send": <repeat_send>,
"repeat_cnt": <repeat_cnt>,
"created": "<created>",
"changed": "<changed>",
"need_date": "<need_date>",
"last_sent": "<last_sent>",
"phones": "<phones>",
"message": "<message>",
"format": <format>,
"validity": <validity>,
"period": "<period>",
"frequency": <frequency>,
"status": <status>,
"cost": "<cost>",
"sms_sent": <sms_sent>,
"sms_ok": <sms_ok>,
"sender_id": "<sender_id>"
}
]
При получении списка рассылок (при mail=1 параметр "phones" заменяется на "emails"):
  • при fmt = 0: <id>|<name>|<changed>|<need_date>|<last_sent>|<phones>|<message>|<phones_cnt>|<cost>|<status>|<sender_id>|<format>

  • при fmt = 1: <id>;<name>;<changed>;<need_date>;<last_sent>;<phones>;<message>;<phones_cnt>;<cost>;<status>;<sender_id>;<format>

  • при fmt = 2:
<sms_jobs>
<job>
<id>id</id>
<name>name</name>
<changed>changed</changed>
<need_date>need_date</need_date>
<last_sent>last_sent</last_sent>
<phones>phones</phones>
<message>message</message>
<phones_cnt>phones_cnt</phones_cnt>
<cost>cost</cost>
<status>status</status>
<sender_id>sender_id</sender_id>
<format>format</format>
</job>
...
</sms_jobs>

  • при fmt = 3:
[
{
"id": <id>,
"name": "<name>",
"changed": "<changed>",
"need_date": "<need_date>",
"last_sent": "<last_sent>",
"phones": "<phones>",
"message": "<message>",
"phones_cnt": <phones_cnt>,
"cost": "<cost>",
"status": <status>,
"sender_id": "<sender_id>",
"format": <format>,
"sms_sent": <sms_sent>,
"sms_ok": <sms_ok>
},
...
]
Где:

<id> – идентификатор рассылки, переданный Клиентом или назначенный Сервером автоматически.
<name> – название рассылки.
<subject> – тема (для e-mail рассылок).
<repeat_send> – период повтора.
<repeat_cnt> – количество повторов рассылки.
<created> – дата создания рассылки.
<changed> – дата изменения рассылки.
<need_date> – назначенная дата отправки.
<last_sent> – дата последней отправки.
<phones> (<emails>) – список телефонов (e-mail адресов) получателей сообщений.
<message> – текст сообщения.
<format> – формат сообщения.
<validity> – "время жизни" сообщения.
<period> – интервал отправки сообщений.
<frequency> – частота отправки сообщений.
<status> – статус рассылки.
<sender_id> – имя отправителя.
<phones_cnt> – количество получателей.
<cost> – стоимость рассылки.
<sms_sent> – количество отправленных сообщений.
<sms_ok> – количество доставленных сообщений.

Примеры операций с рассылками

Примеры:

Создание SMS-рассылки:

https://smsclub24.ru/sys/jobs.php?add=1&login=alex&psw=123&phones=79999999999&name=Privet&mes=Hello!

Создание рассылки с голосовым сообщением:

https://smsclub24.ru/sys/jobs.php?add=1&login=alex&psw=1234567890&phones=79999999999&call=1&voice=w2&name=Privet&mes=Hello!

Создание рассылки с e-mail сообщением на адрес "alex@mysite.com" с темой "Hi" и текстом "Hello!" от отправителя "alex2@mysite2.com" и названием рассылки "Privet":

https://smsclub24.ru/sys/jobs.php?add=1&login=alex&psw=123&phones=alex%40mysite.com&mail=1&name=Privet&mes=Hello!&subj=Hi&sender=alex2%40mysite2.com

Создание Viber-рассылки с макросами и автоповтором по SMS (текст SMS отличен от текста Viber-сообщения) на несколько номеров (тексты сообщений необходимо закодировать при помощи функции urlencode):

https://smsclub24.ru/sys/jobs.php?add=1&login=alex&psw=123&phones=79999999999,78888888888&name=rassilka1&mes={Имя}, это Viber-сообщение&mes2=Это SMS для {Имя}&sender=MyViber&fl[5]=1&viber=1

Удаление созданной рассылки с id равным 701:

https://smsclub24.ru/sys/jobs.php?del=1&login=alex&psw=123&id=701

Отключение отложенной рассылки с id равным 701:

https://smsclub24.ru/sys/jobs.php?cancel=1&login=alex&psw=123&id=701

Статусы сообщений

Проверка статуса

Для проверки статуса доставки SMS или e-mail необходимо вызвать методом GET или POST адрес:

https://smsc.ru/sys/status.php?login=<login>&psw=<password>&phone=<phone>&id=<sms_id>
Серверу передаются следующие параметры:

Ответ сервера и коды ошибок

В случае ошибки Сервер возвращает следующую строку:

  • При fmt = 0:
ERROR = N (описание)

  • При fmt = 1:
0,-N

  • При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • При fmt = 3:
{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешного запроса Сервер возвращает ответ в виде строки:

Ответы для SMS-сообщений:

  • при fmt = 0 и all = 0: Status = <status>, check_time = <last_date>, err = <err>
  • при fmt = 1 и all = 0: <status>,<last_timestamp>,<err>
  • при fmt = 2 и all = 0:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
</sms>

  • при fmt = 3 и all = 0:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>
}

  • при fmt = 0 и all = 1:
Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, comment = <comment>, type = <type>

  • при fmt = 1 и all = 1:
<status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<cost>,<sender>,<status_name>,<message>, <comment>, <type>

  • при fmt = 2 и all = 1:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<comment>comment</comment>
<type>type</type>
<sms_cnt>sms_cnt</sms_cnt>
</sms>

  • при fmt = 3 и all = 1:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"comment": "<comment>",
"type": <type>,
"sms_cnt": <sms_cnt>
}

  • при fmt = 0 и all = 2:
Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>, mccmnc = <mccmnc>, country = <country>, operator = <operator>, operator_orig= <operator_orig>, region = <region>, cost = <cost>, sender_id = <sender>, status_name = <status_name>, message = <message>, comment = <comment>, type = <type>

  • при fmt = 1 и all = 2:
<status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender>,<status_name>,<message>, <comment>, <type>

  • при fmt = 2 и all = 2:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<comment>comment</comment>
<mccmnc>mccmnc</mccmnc>
<country>country</country>
<operator>operator</operator>
<operator_orig>operator_orig</operator_orig>
<region>region</region>
<type>type</type>
<sms_cnt>sms_cnt</sms_cnt>
</sms>

  • при fmt = 3 и all = 2:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"comment": "<comment>",
"mccmnc": "<mccmnc>",
"country": "<country>",
"operator": "<operator>",
"operator_orig": "<operator_orig>",
"region": "<region>",
"type": <type>,
"sms_cnt": <sms_cnt>
}
Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<flag> – флаг в виде 2-х байтового числа, содержащий различную информацию о сообщении. Возможны комбинации значений битов разных характеристик. Биты 0-3 (тип сообщения): 0 – SMS, 1 – Flash-SMS, 2 – Бинарное SMS, 3 – Wap-push, 4 – HLR-запрос, 5 – Ping-SMS, 6 – MMS, 7 – Звонок, 8 – E-mail, 10 – Viber, 12 – Соцсети.
Бит 5 – оплата сообщения со второго баланса. Бит 8 – признак шаблонного сообщения.
<err> – код ошибки, если сообщение не было доставлено.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента или e-mail адрес.
<country> – название страны регистрации номера абонента.
<operator> – текущий сотовый оператор абонента.
<operator_orig> – оператор абонента по мобильному коду до портирования номера.
<region> – регион регистрации номера абонента.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
<comment> – комментарий сообщения.
<mccmnc> – числовой код страны абонента плюс числовой код оператора абонента.
<type> – тип сообщения (0 – SMS, 1 – Flash-SMS, 2 – Бинарное SMS, 3 – Wap-push, 4 – HLR-запрос, 5 – Ping-SMS, 6 – MMS, 7 – Звонок, 8 – E-mail, 10 – Viber, 12 – Соцсети).
<sms_cnt> – количество частей в SMS-сообщении (либо секунд в голосовом сообщении).

Ответы для HLR-запросов:

  • при fmt = 0 и all = 0:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>, msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet>

  • при fmt = 1 и all = 0:
<status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>

  • при fmt = 2 и all = 0:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
</sms>

  • при fmt = 3 и all = 0:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>"
}

  • при fmt = 0 и all = 1:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>, msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet>, send_date = <send_date>, phone = <phone>, cost = <cost>, sender_id = <sender_id>, status_name = <status_name>, message = <message>, type = <type>

  • при fmt = 1 и all = 1:
<status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>, <send_timestamp>,<phone>,<cost>,<sender_id>,<status_name>,<message>,<type>

  • при fmt = 2 и all = 1:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender_id</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<type>type</type>
</sms>

  • при fmt = 3 и all = 1:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>",
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"type": <type>
}

  • при fmt = 0 и all = 2:
Status = <status>, check_time = <check_time>, err = <err>, imsi = <imsi>, msc = <msc>, mcc = <mcc>, mnc = <mnc>, cn = <cn>, net = <net>, rcn = <rcn>, rnet = <rnet>, send_date = <send_date>, phone = <phone>, country = <country>, operator = <operator>, region = <region>, cost = <cost>, sender_id = <sender_id>, status_name = <status_name>, message = <message>, type = <type>

  • при fmt = 1 и all = 2:
<status>,<last_timestamp>,<err>,<imsi>,<msc>,<mcc>,<mnc>,<cn>,<net>,<rcn>,<rnet>, <send_timestamp>,<phone>,<country>,<operator>,<region>,<cost>,<sender_id>,<status_name>,<message>,<type>

  • при fmt = 2 и all = 2:
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<flag>flag</flag>
<err>err</err>
<imsi>imsi</imsi>
<msc>msc</msc>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<cn>cn</cn>
<net>net</net>
<rcn>rcn</rcn>
<rnet>rnet</rnet>
<send_date>send_date</send_date>
<send_timestamp>send_timestamp</send_timestamp>
<phone>phone</phone>
<cost>cost</cost>
<sender_id>sender_id</sender_id>
<status_name>status_name</status_name>
<message>message</message>
<country>country</country>
<operator>operator</operator>
<region>region</region>
<type>type</type>
</sms>

  • при fmt = 3 и all = 2:
{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"flag": <flag>,
"err": <err>,
"imsi": "<imsi>",
"msc": "<msc>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"cn": "<cn>",
"net": "<net>",
"rcn": "<rcn>",
"rnet": "<rnet>",
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"country": "<country>",
"operator": "<operator>",
"region": "<region>",
"type": <type>
}
Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<flag> – флаг в виде 2-х байтового числа, содержащий различную информацию о сообщении. Возможны комбинации значений битов разных характеристик. Биты 0-3 (тип сообщения): 0 – SMS, 1 – Flash-SMS, 2 – Бинарное SMS, 3 – Wap-push, 4 – HLR-запрос, 5 – Ping-SMS, 6 – MMS, 7 – Звонок, 8 – E-mail, 10 – Viber, 12 – Соцсети.
Бит 5 – оплата сообщения со второго баланса. Бит 8 – признак шаблонного сообщения.
<err> – код HLR-ошибки или статуса абонента (список).
<imsi> – уникальный код IMSI SIM-карты абонента.
<msc> – номер сервис-центра оператора, в сети которого находится абонент.
<mcc> – числовой код страны абонента.
<mnc> – числовой код оператора абонента.
<cn> – название страны регистрации абонента.
<net> – название оператора регистрации абонента.
<rcn> – название роуминговой страны абонента при нахождении в чужой сети.
<rnet> – название роумингового оператора абонента при нахождении в чужой сети.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента.
<country> – название страны регистрации номера абонента.
<operator> – название оператора абонента.
<region> – регион регистрации номера абонента.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
<type> – тип сообщения (для HLR равен 4).
Если сообщение не найдено или находится в архивной базе (значение статуса равно -3), то для fmt = 0,2,3 возвращается код статуса в соответствующем формате. Для fmt = 1 возвращается ответ в формате статуса обычного сообщения.

При множественном запросе статусов:

  • для fmt = 0 и fmt = 1 в результате возвращается список строк, каждая из которых содержит информацию о статусе соответствующего сообщения.
  • для fmt = 2 формат возвращаемых статусов аналогичен формату для одиночных сообщений, при этом весь список статусов заключается в тег "<list>".
  • для fmt = 3 формат также аналогичен формату для одиночных сообщений, статусы перечисляются через запятую, и весь список обрамляется квадратными скобками.
В случае множественного запроса статусов при значении параметра all = 1 или all = 2 для каждого статуса дополнительно возвращается идентификатор сообщения. При all = 0 дополнительно возвращается идентификатор сообщения и номер телефона.

Коды статусов

Возможные варианты кодов статусов сообщений или HLR-запросов (значения <status>):
Запрос статусов сообщений необходимо осуществлять в течение суток с момента отправки. По истечении данного времени сообщения помещаются в архивную базу. В 03:00 по московскому времени переносятся сообщения с конечным статусом, отправленные до 18:00 прошедшего дня. Для возможности получения реальных статусов таких сообщений необходимо обратиться в службу поддержки.

Также сервер не принимает более пяти одинаковых запросов на получение статуса одного и того же сообщения или более одного массового запроса в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.

Коды ошибок в статусе

Возможные коды ошибок в статусе сообщений или HLR-запросов (значения <err>):
Возможные коды ошибок в статусе e-mail сообщений (значения <err>):

Удаление сообщения

Для удаления сообщения необходимо вызвать методом GET или POST скрипт запроса статуса, указав команду del:

https://smsc.ru/sys/status.php?del=1&login=<login>&psw=<password>&phone=<phone>&id=<sms_id>
Описание параметров, передаваемых Серверу, и возвращаемых им ошибок аналогичное приведенному для функции запроса статуса.

В случае успешного запроса Сервер возвращает ответ в виде строки:

  • при fmt = 0,1:
OK

  • при fmt = 2:
<result>OK</result>

  • при fmt = 3:
{
"result": "OK"
}

Удаление сообщений необходимо производить до переноса в архивную базу.

Проверка состояния баланса

Запрос баланса

Для запроса баланса используйте адрес:

https://smsc.ru/sys/balance.php?login=<login>&psw=<password>

Ответ сервера и коды ошибок

В случае ошибки Сервер возвращает следующую строку:

  • При fmt = 0:
ERROR = N (описание)

  • При fmt = 1:
0,-N

  • При fmt = 2:<result>
<error>описание</error>
<error_code>N</error_code>
</result>

  • При fmt = 3:{
"error": "описание",
"error_code": N
}
N – номер ошибки, может принимать следующие значения:
В случае успешного запроса Сервер возвращает ответ в виде строки:

При cur = 0:
  • при fmt = 0 или 1: <balance>
  • при fmt = 2: <balance>balance</balance>
  • при fmt = 3:
{
"balance": "<balance>"
}

При cur = 1 и ненулевом кредите:
  • при fmt = 0: <balance> <currency>
  • при fmt = 1: <balance>,<currency>
  • При fmt = 2:
<result>
<balance>balance</balance>
<credit>credit</credit>
<currency>currency</currency>
</result>

  • при fmt = 3:
{
"balance": "<balance>",
"credit": "<credit>",
"currency": "<currency>"
}
Где:
<balance> – текущее состояние баланса.
<credit> – текущее состояние установленного кредита.
<currency> – валюта Клиента.
Сервер не принимает более десяти запросов на получение баланса в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Создайте первую бесплатную SMS рассылку прямо сейчас!
Оставьте заявку и мы свяжемся с вами в течении часа.
Связаться с нами
Нажимая на кнопку «Попробовать бесплатно», я соглашаюсь с политикой конфиденциальности