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

API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды. Для упрощенной авторизации вместо пары логин и пароль можно использовать специальный API-ключ.


HTTP/HTTPS SMTP SMPP SOAP OMS SMS-команды Библиотеки и примеры кода

ОТПРАВКА СООБЩЕНИЙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

УПРАВЛЕНИЕ РАССЫЛКАМИ

СТАТУСЫ СООБЩЕНИЙ

ПРОВЕРКА СОСТОЯНИЯ БАЛАНСА

УПРАВЛЕНИЕ КОНТАКТАМИ

УПРАВЛЕНИЕ КЛИЕНТАМИ

УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)

ПОЛУЧЕНИЕ ДАННЫХ

РАЗНОЕ

Получение истории отправленных сообщений

Для получения списка отправленных SMS-сообщений необходимо вызвать методом GET или POST адрес: https://smsc.ru/sys/get.php?get_messages=1&login=<login>&psw=<password>
Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента (можно добавить или изменить на данной странице).
apikeyСпециальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
startНачальная дата в периоде, за который запрашивается история. Формат: 'дд.мм.гггг'. Максимальный период, за который возможен запрос истории отправленных сообщений, составляет полгода.
endКонечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
phoneНомер или разделенный запятыми список номеров телефонов, для которых необходимо получить историю отправленных SMS-сообщений.
emailE-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Сообщение не найдено.
4IP-адрес временно заблокирован.
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

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