| Получение данныхПолучение истории отправленных сообщенийДля получения списка отправленных SMS-сообщений необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/get.php?get_messages=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
start | Начальная дата в периоде, за который запрашивается история. Формат: 'дд.мм.гггг'. Максимальный период, за который возможен запрос истории
отправленных сообщений, составляет полгода.
|
---|
end | Конечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
|
---|
phone | Номер или разделенный запятыми список номеров телефонов, для которых необходимо получить
историю отправленных SMS-сообщений.
|
---|
email | E-mail адрес или разделенный запятыми список адресов, для которых необходимо получить
историю отправленных e-mail сообщений.
|
---|
format | Признак запроса e-mail сообщений.
0 (по умолчанию) – запрос SMS-сообщений. 8 – запрос e-mail сообщений.
|
---|
cnt | Количество возвращаемых в ответе сообщений. Максимальное значение равно 1000.
|
---|
prev_id | Глобальный идентификатор сообщения (параметр int_id в ответе Сервера), назначаемый Сервером автоматически. Используется для запроса списка сообщений, отправленных до сообщения с указанным идентификатором.
|
---|
fmt | Формат ответа Сервера.
0 – (по умолчанию) в виде строки (подробнее можно ознакомиться в описании ниже).
1 – вернуть ответ в виде параметров через запятую.
2 – ответ в xml формате.
3 – ответ в json формате.
|
---|
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
3 | Сообщение не найдено.
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов на получение истории исходящих сообщений в течение минуты либо более тридцати запросов в течение часа.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
В случае успешного запроса Сервер возвращает ответ в виде строки:
- при fmt = 0:
Status = <status>, check_time = <last_date>, err = <err>, send_date = <send_date>, phone = <phone>,
mccmnc = <mccmnc>, country = <country>, operator = <operator>, region = <region>, cost = <cost>, sender_id = <sender>,
status_name = <status_name>, message = <message>, type = <type>, ID = <id>, int_id = <int_id>, sms_cnt = <sms_cnt>,
format = <format>, crc = <crc>
... |
- при fmt = 1:
<status>,<last_timestamp>,<err>,<send_timestamp>,<phone>,<mccmnc>,<country>,<operator>,<region>,<cost>,<sender>,<status_name>,
<message>,<type>,<id>,<int_id>,<sms_cnt>,<format>,<crc>
... |
- при fmt = 2:
<list>
<sms>
<status>status</status>
<last_date>last_date</last_date>
<last_timestamp>last_timestamp</last_timestamp>
<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>
<mccmnc>mccmnc</mccmnc>
<country>country</country>
<operator>operator</operator>
<region>region</region>
<type>type</type>
<id>id</id>
<int_id>int_id</int_id>
<sms_cnt>sms_cnt</sms_cnt>
<format>format</format>
<crc>crc</crc>
</sms>
...
</list>
|
- при fmt = 3:
[{
"status": <status>,
"last_date": "<last_date>",
"last_timestamp": <last_timestamp>,
"err": <err>,
"send_date": "<send_date>",
"send_timestamp": <send_timestamp>,
"phone": "<phone>",
"cost": "<cost>",
"sender_id": "<sender>",
"status_name": "<status_name>",
"message": "<message>",
"mccmnc": "<mccmnc>",
"country": "<country>",
"operator": "<operator>",
"region": "<region>",
"type": <type>,
"id": <id>,
"int_id": "<int_id>",
"sms_cnt": <sms_cnt>,
"format": <format>,
"crc": <crc>
...] |
Где:
<status> – код статуса (список)
<last_date> – дата последнего изменения статуса. Формат DD.MM.YYYY hh:mm:ss.
<last_timestamp> – штамп времени последнего изменения статуса.
<err> – код ошибки, если сообщение не было доставлено.
<send_date> – дата отправки сообщения (формат DD.MM.YYYY hh:mm:ss).
<send_timestamp> – штамп времени отправки сообщения.
<phone> – номер телефона абонента.
<country> – название страны регистрации номера абонента.
<operator> – название оператора абонента.
<region> – регион регистрации номера абонента.
<type> – тип сообщения.
<cost> – стоимость сообщения.
<sender> – имя отправителя.
<status_name> – название статуса.
<message> – текст сообщения.
<mccmnc> – мобильный код страны и мобильный код оператора.
<id> – идентификатор сообщения.
<int_id> – глобальный идентификатор сообщения.
<sms_cnt> – количество частей в сообщении.
<format> – формат сообщения.
<crc> – контрольная сумма сообщения.
Примеры:
Получение последних десяти исходящих SMS-сообщений:
https://smsc.ru/sys/get.php?get_messages=1&login=alex&psw=123&cnt=10
Получение последнего исходящего SMS-сообщения, отправленного на номер "79999999999":
https://smsc.ru/sys/get.php?get_messages=1&login=alex&psw=123&phone=79999999999
Сервер не принимает более трех одинаковых запросов в течение минуты либо тридцати запросов в течение часа на получение истории исходящих
сообщений для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Получение входящих сообщений
Для получения списка входящих сообщений необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/get.php?get_answers=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
cnt | Количество возвращаемых в ответе сообщений. Максимальное значение равно 10000.
|
---|
hour | Период в часах, за который необходимо запросить входящие сообщения. Максимальное количество часов - 168 (7 дней).
|
---|
after_id | Идентификатор сообщения, начиная с которого необходимо вернуть входящие сообщения, за исключением самого
after_id.
|
---|
to_phone | Номер телефона Клиента, на который получены входящие сообщения.
|
---|
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов на получение списка входящих сообщений в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
В случае успешного запроса Сервер возвращает ответ в виде строки:
- при fmt = 0:
id = <id>, received = <received>, phone = <phone>, message = <message>, to_phone = <to_phone>, sent = <sent>
... |
- при fmt = 1:
<id>,<received>,<phone>,<to_phone>,<sent>,<message>
... |
- при fmt = 2:
<sms_answers>
<sms>
<id>id</id>
<received>received</received>
<phone>phone</phone>
<message>message</message>
<to_phone>to_phone</to_phone>
<sent>sent</sent>
</sms>
...
</sms_answers>
|
- при fmt = 3:
[{
"id": <id>,
"received": "<received>",
"phone": "<phone>",
"message": "<message>",
"to_phone": "<to_phone>",
"sent": "<sent>"
},
...] |
Где:
<id> – идентификатор входящего сообщения, назначаемый Сервером автоматически.
<received> – дата получения сообщения Сервером. Формат DD.MM.YYYY hh:mm:ss.
<phone> – номер телефона абонента.
<message> – входящее сообщение.
<to_phone> – номер телефона получателя.
<sent> – дата отправки сообщения. Формат DD.MM.YYYY hh:mm:ss.
Примеры:
Получение списка из 10 первых входящих сообщений за текущие сутки:
https://smsc.ru/sys/get.php?get_answers=1&login=alex&psw=123&cnt=10
Получение списка из 15 первых входящих сообщений за последние 48 часов:
https://smsc.ru/sys/get.php?get_answers=1&login=alex&psw=123&hour=48&cnt=15
Получение списка из 20 первых входящих сообщений с идентификаторами, большими id="1234567":
https://smsc.ru/sys/get.php?get_answers=1&login=alex&psw=123&after_id=1234567&cnt=20
Сервер не принимает более трех одинаковых запросов в течение минуты на получение списка входящих
сообщений для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Получение статистикиДля получения статистики отправленных сообщений необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/get.php?get_stat=1&login=<login>&psw=<password>&start=<date1>&end=<date2>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
start | Начальная дата в периоде, за который запрашивается статистика. Формат: 'дд.мм.гггг'.
|
---|
end | Конечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
|
---|
mycur | Флаг, позволяющий выводить статистику в текущей валюте Клиента.
|
---|
balance2 | Флаг, позволяющий получить статистику по отправленным сообщениям, оплаченным с электронного баланса.
|
---|
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов на получение списка входящих сообщений в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
В случае успешного запроса Сервер возвращает ответ в виде строки:
- при fmt = 0:
login = <login>, sms = <cnt>, credit = <credit>, debit = <debit>, currency = <currency>
... |
- при fmt = 1:
<login>,<cnt>,<credit>,<debit>,<currency>
... |
- при fmt = 2:
<list>
<stat>
<login>login</login>
<sms>cnt</sms>
<credit>credit</credit>
<debit>debit</debit>
<currency>currency</currency>
</stat>
...
</list> |
- при fmt = 3:
[{
"login": "<login>",
"sms": "<cnt>",
"credit": "<credit>",
"debit": "<debit>",
"currency": "<currency>"
},
...] |
Где:
<login> - логин Клиента.
<cnt> - количество сообщений.
<credit> - расход.
<debit> - приход.
<currency> - трехсимвольный код валюты.
Примеры:
Получение статистики в текущей валюте Клиента с "01.01.2014" по "01.02.2014" по безналичному балансу:
https://smsc.ru/sys/get.php?get_stat=1&login=alex&psw=123&mycur=1&start=01.01.2014&end=01.02.2014
Сервер не принимает более трех запросов в течение минуты на получение статистики для снижения
нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Запрос тарифовДля получения списка тарифов указанного Клиента необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/get.php?get_price=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов на получение списка тарифов в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
В случае успешного запроса Сервер возвращает ответ в виде набора строк:
- при fmt = 0:
zone = <zone>, name = <name>, api = <api>, mass = <mass>, mms = <mms>, hlr = <hlr>, call = <call>
...
|
при наличии установленных индивидуальных тарифов по определенным операторам к ответу добавляется набор строк:
mccmnc = <mccmnc>, cost = <cost>
...
mail = <mail>
|
- при fmt = 1:
<zone>,<name>,<api>,<mass>,<mms>,<hlr>,<call>
...
<mccmnc>,<cost>
...
<mail>
|
- при fmt = 2:
<price>
<zones>
<zone name="<name>" api="<api>" mass="<mass>" mms="<mms>" hlr="<hlr>" call="<call>">zone</zone>
...
</zones>
<codes>
<mccmnc cost="<cost>">mccmnc</mccmnc>
...
</codes>
<mail>mail</mail>
</price> |
- при fmt = 3:
{
"zones": [{
"zone": "<zone>",
"name": "<name>",
"api": "<api>",
"mass": "<mass>",
"mms": "<mms>",
"hlr": "<hlr>",
"call": "<call>"
},
...
{
...
}],
"codes": [{
"mccmnc": "<mccmnc>",
"cost": "<cost>"
},
...
{
...
}],
"mail": "<mail>"
}
|
Где:
<zone> - тарифная зона.
<name> - название тарифной зоны (оператор, страна и т.п.).
<api> - стоимость SMS при отправке через API.
<mass> - стоимость SMS при отправке через личный кабинет.
<mms> - стоимость MMS-сообщения.
<hlr> - стоимость HLR-запроса.
<call> - стоимость голосового сообщения (звонок).
<mccmnc> - код страны и мобильного оператора, для которого установлен индивидуальный тариф.
<cost> - стоимость сообщения по данному индивидуальному тарифу.
<mail> - стоимость e-mail сообщения.
Примеры:
Получение списка тарифов:
https://smsc.ru/sys/get.php?get_price=1&login=alex&psw=123
Сервер не принимает более трех одинаковых запросов в течение минуты на получение списка тарифов для
снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Получение информации об оператореДля получения информации об операторе абонента (кроме портированных номеров) необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/info.php?get_operator=1&login=<login>&psw=<password>&phone=<phone>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
phone | Номер телефона абонента или список номеров через запятую.
|
---|
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
3 | Оператор не найден.
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов или любых 100 запросов на получение
информации об операторе абонента в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
При успешном запросе Сервер возвращает ответ в виде строки или списка строк при множественном запросе (в этом случае в ответ
Сервера добавляется параметр "phone"):
- при fmt = 0: country = <country>, operator = <operator>, region = <region>, mcc = <mcc>, mnc = <mnc>, tz = <tz>
- при fmt = 1: <country>,<operator>,<region>,<mcc>,<mnc>,<tz>
- при fmt = 2:
<info>
<country>country</country>
<operator>operator</operator>
<region>region</region>
<mcc>mcc</mcc>
<mnc>mnc</mnc>
<tz>tz</tz>
</info>
|
При множественном запросе конструкции <info> заключаются в тег <list>.
- при fmt = 3:
{
"country": "<country>",
"operator": "<operator>",
"region": "<region>",
"mcc": "<mcc>",
"mnc": "<mnc>",
"tz": "<tz>"
} |
Где:
<phone> – номер телефона абонента.
<country> – название страны регистрации номера абонента.
<operator> – мобильный оператор абонента.
<region> – регион регистрации номера абонента.
<mcc> – числовой код страны абонента.
<mnc> – числовой код оператора абонента.
<tz> – часовой пояс региона регистрации номера абонента.
Пример:
Получение информации об операторе абонента с номером "79999999999":
https://smsc.ru/sys/info.php?get_operator=1&login=alex&psw=123&phone=79999999999
Сервер не принимает более трех одинаковых запросов в течение минуты на получение информации
об операторе абонента для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
Сервер также блокирует отправку более 100 запросов в течение минуты на получение данных об операторе для снижения
нагрузки на базу данных.
Получение данных о короткой ссылкеДля получения информации о короткой ссылке необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/tinyurls.php?get=1&login=<login>&psw=<password>&link=<link>
или
https://smsc.ru/sys/tinyurls.php?get=1&login=<login>&psw=<password>&id=<id>
Описание параметров, передаваемых Серверу:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента (можно добавить или изменить на данной странице).
|
---|
apikey | Специальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
|
---|
link | Исходная полная ссылка.
|
---|
id | Идентификатор короткой ссылки. Назначается автоматически при создании.
|
---|
Все параметры, которые содержат специальные символы (плюс, пробел, символы кириллицы и т.д.), должны быть закодированы при помощи функции urlencode для передачи в HTTP-запросе.
В случае ошибки Сервер возвращает следующую строку:
- ERROR = N (описание)
- При fmt = 1:
0,-N
- При fmt = 2:
<result>
<error>описание</error>
<error_code>N</error_code>
</result> |
- При fmt = 3:
{
"error": "описание",
"error_code": N
} |
N – номер ошибки, может принимать следующие значения:
Значение | Описание
|
---|
1 | Ошибка в параметрах.
|
---|
2 | Неверный логин или пароль. Также возникает при попытке отправки сообщения с IP-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
|
---|
3 | Ссылка не найдена.
|
---|
4 | IP-адрес временно заблокирован.
|
---|
9 | Попытка отправки более трех одинаковых запросов на получение
информации о короткой ссылке в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).
|
---|
В случае успешного запроса Сервер возвращает ответ в виде строки:
- при fmt = 0: id = <id>, cnt = <cnt>, cnt_mon = <cnt_mon>, cnt_day = <cnt_day>, cnt_yes = <cnt_yes>, cnt_pmon = <cnt_pmon>, link = <link>
- при fmt = 1: <id>,<cnt>,<cnt_mon>,<cnt_day>,<cnt_yes>,<cnt_pmon>,<link>
- при fmt = 2:
<result>
<id>id</id>
<cnt>cnt</cnt>
<cnt_mon>cnt_mon</cnt_mon>
<cnt_day>cnt_day</cnt_day>
<cnt_yes>cnt_yes</cnt_yes>
<cnt_pmon>cnt_pmon</cnt_pmon>
<link>link</link>
</result>
|
- при fmt = 3:
{
"id": "<id>",
"cnt": "<cnt>",
"cnt_mon": "<cnt_mon>",
"cnt_day": "<cnt_day>",
"cnt_yes": "<cnt_yes>",
"cnt_pmon": "<cnt_pmon>",
"link": "<link>"
} |
Где:
<id> – идентификатор короткой ссылки.
<cnt> – количество всех переходов по короткой ссылке.
<cnt_mon> – количество переходов по короткой ссылке за месяц.
<cnt_day> – количество переходов по короткой ссылке за сегодня.
<cnt_yes> – количество переходов по короткой ссылке за вчера.
<cnt_pmon> – количество переходов по короткой ссылке в предыдущем месяце.
<link> – короткая ссылка.
Пример:
Получение информации о короткой ссылке с id="145142":
https://smsc.ru/sys/tinyurls.php?get=1&login=alex&psw=123&id=145142
Получение информации о короткой ссылке по полной исходной ссылке "mywebsite.ru":
https://smsc.ru/sys/tinyurls.php?get=1&login=alex&psw=123&link=mywebsite.ru
Сервер не принимает более трех одинаковых запросов в течение минуты на получение информации
о короткой ссылке для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента.
|