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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

РАЗНОЕ

Действия с отложенными заданиями

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

Для получения списка отложенных заданий необходимо вызвать методом GET или POST адрес: https://smsc.ru/sys/downloads.php?login=<login>&psw=<password>&get_list=1
Для получения файла задания с отправленными сообщениями необходимо вызвать методом GET или POST адрес: https://smsc.ru/sys/downloads.php?login=<login>&psw=<password>&get_file=1&id=<id> или https://smsc.ru/sys/downloads.php?login=<login>&psw=<password>&get_file=1&name=<name>
Серверу передаются следующие параметры:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента (можно добавить или изменить на данной странице).
apikeyСпециальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
cntКоличество отложенных заданий, возвращаемых Сервером.
after_idДанный параметр указывает Серверу на необходимость возврата в ответе списка заданий с идентификаторами, следующими за after_id.
idЗагрузить файл задания с идентификатором, равным id.
nameЗагрузить файл задания с именем name.

В случае ошибки Сервер возвращает следующую строку:
  • 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-адреса, не входящего в список разрешенных Клиентом (если такой список был настроен Клиентом ранее).
4IP-адрес временно заблокирован.
5Отложенная задача или файл для скачивания не найдены в системе.
9Попытка отправки более трех одинаковых запросов на получение списка заданий или на скачивание файла в течение минуты.
Данная ошибка возникает также при попытке отправки пятнадцати и более запросов одновременно с разных подключений под одним логином (too many concurrent requests).

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

При получении списка отложенных заданий:
  • при fmt = 0: id = <id>, name = <name>, status = <status>, created = <created>, time = <time>, file = <file>

  • при fmt = 1: <id>,<name>,<status>,<created>,<time>,<file>

  • при fmt = 2:
    <list>
    <task>
    <id>id</id>
    <name>name</name>
    <status>status</status>
    <created>created</created>
    <time>time</time>
    <file>file</file>
    </task>
    ...
    </list>

  • при fmt = 3:
    [{ "id": id,
    "name": "name",
    "status": "status",
    "created": "created",
    "time": "time",
    "file": "file"
    },
    ...]

Где:
<id> – идентификатор отложенного задания.
<name> – название задания.
<status> – статус задания (0 - ожидает выполнения, 1 - выполняется, 2 - выполнено, 3 - отменено, 4 - ошибка выполнения).
<created> – дата создания задания.
<time> – время запуска задания.
<file> – название файла задания.

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

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