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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

РАЗНОЕ

Управление именами отправителей (Sender ID)

Перечень доступных операций с именами отправителей

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

Для получения списка зарегистрированных в личном кабинете и допущенных модератором имен отправителей: https://smsc.ru/sys/senders.php?get=1&login=<login>&psw=<password>
Для добавления нового имени отправителя: https://smsc.ru/sys/senders.php?add=1&login=<login>&psw=<password>&sender=<sender>&cmt=<cmt>
Для изменения имени отправителя: https://smsc.ru/sys/senders.php?chg=1&login=<login>&psw=<password>&sender=<sender>&cmt=<cmt> или https://smsc.ru/sys/senders.php?chg=1&login=<login>&psw=<password>&id=<id>&cmt=<cmt>
Отправка кода подтверждения для цифрового имени отправителя: https://smsc.ru/sys/senders.php?send_code=1&login=<login>&psw=<password>&sender=<sender>
Подтверждение цифрового имени отправителя: https://smsc.ru/sys/senders.php?check_code=1&login=<login>&psw=<password>&sender=<sender>&code=<code>
Для удаления имени отправителя: https://smsc.ru/sys/senders.php?del=1&login=<login>&psw=<password>&sender=<sender> либо https://smsc.ru/sys/senders.php?del=1&login=<login>&psw=<password>&id=<id>
При добавлении или изменении имени отправителя в теле запроса можно передавать файл документа для операторов (свидетельство на товарный знак, сертификат на домен) в формате jpg, tif, pdf, png, zip, rar. Максимальный размер передаваемого файла не должен превышать 3 Мб. Комментарий к документу может быть указан в дополнительном параметре doc_info.

Описание параметров

Описание параметров, передаваемых Серверу:

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента (можно добавить или изменить на данной странице).
apikeyСпециальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
all0 (по умолчанию) – получить список активированных имен отправителей.
1 – получить полный список имен отправителей.
senderСоздаваемое или удаляемое имя отправителя.
mts_step1 – зарегистрировать платное имя у оператора MTS.
sber_step1 – зарегистрировать бесплатное имя у оператора СберМобайл.
tele21 – зарегистрировать имя у оператора Tele2 по тарифу с бесплатными именами.
motiv1 – зарегистрировать имя у оператора МОТИВ по тарифу с бесплатными именами.
mega_step1 – зарегистрировать платное имя у оператора Мегафон.
bee_step1 – зарегистрировать платное имя у оператора Билайн.
motiv_step1 – зарегистрировать платное имя у оператора MOTIV.
winmob_step1 – зарегистрировать платное имя у оператора Win-Mobile.
volnamob_step1 – зарегистрировать платное имя у оператора Волна мобайл.
tele2_step1 – зарегистрировать платное имя у оператора Tele2.
ua_reg1 – зарегистрировать имя для Украины на пониженный тариф по национальному трафику.
Для данного тарифа необходимо дополнительно передать следующие параметры:
fio – Юридическое название организации (ООО/СПД).
inn – ЕДРПОУ/ИНН.
site – Адрес сайта или ссылка на соц. сеть.
email – E-mail для связи.
address – Фактический адрес.
desc – Описание услуг, предоставляемых отправителем.
subj – Тема (цель информирования).
ua_int1 – зарегистрировать имя для Украины по более высокому тарифу для международного трафика. Для регистрации также необходимо дополнительно передать поля, описанные выше для параметра ua_reg.
by_reg1 – зарегистрировать имя для Беларуси на пониженный тариф по национальному трафику.
Для данного тарифа необходимо дополнительно передать следующие параметры:
by_fio – Название компании.
by_inn – УНП/ИНН.
by_address – Адрес компании.
by_ocup – Сфера деятельности (варианты можно уточнить на данной странице). Нумерация от 1 до 19.
by_type – Тип рассылки (варианты можно уточнить на данной странице). Нумерация от 1 до 3.
by_mes – Пример сообщения.
by_site – Адрес сайта.
by_int1 – зарегистрировать имя для Беларуси по более высокому тарифу для международного трафика. Для регистрации также необходимо дополнительно передать поля, описанные выше для параметра by_reg.
idИдентификатор имени отправителя, назначаемый Сервером автоматически при создании нового имени.
cmtКомментарий, указываемый при создании имени отправителя.
mail1 – добавить e-mail адрес отправителя.
nameКомментарий, связанный с параметром mail (обычно имя владельца e-mail адреса).
codeКод для подтверждения цифрового имени отправителя.
siteАдрес сайта, от которого будут приходить коды для подтверждения цифровых имен отправителей. Данный параметр должен быть ранее добавлен и активирован в качестве Sender ID. Если не указан, то сообщения будут приходить от имени отправителя по умолчанию.
site_nameАдрес сайта, указываемый в тексте сообщения с кодом подтверждения.
userЛогин субклиента, к которому применяется указанная команда.
operators1 – добавить в ответ код статуса имени отправителя у оператора.
from_dateВыбрать имена отправителей начиная с указанной даты, для которых был изменен статус имени у любого из операторов. При указании данного параметра происходит сортировка имен в порядке убывания даты изменения статусов имен. Формат DD.MM.YYYY.
prev_idУникальный идентификатор имени отправителя, назначаемый Сервером автоматически при создании имени. Используется для запроса списка имен, созданных до имени с указанным идентификатором.
cntКоличество имен отправителей возвращаемых при запросе списка имен. Максимальное значение равно 15000.
doc_infoЕсли при создании или изменении имени отправителя в теле запроса будет передан файл документа для операторов, то в данном параметре можно указать описание к переданному файлу.
charsetКодировка передаваемых параметров.
files1 – вернуть в ответе сервера для команды get массив files, содержащий информацию о прикрепленных файлах документов для операторов. Параметр актуален только для форматов fmt=2 или fmt=3.
Массив включает следующие поля:
file – Название файла.
fid – Идентификатор файла в системе.
fstatus – Статус файла (0 - на проверке, 1 - отклонено, 2 - допущено).
fcomment – Комментарий администратора.

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

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

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

При запросе списка имен отправителей:
  • при fmt = 0 и all = 0:
    name = <sender>, id = <id>
    ...

  • при fmt = 1 и all = 0:
    <sender>,<id>
    ...

  • при fmt = 2 и all = 0:
    <list>
    <sender id="<id>">sender</sender>
    ...
    </list>

  • при fmt = 3 и all = 0:
    [{
    "sender": "<sender>",
    "id": <id>
    },
    ...]

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

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

  • при fmt = 2 и all = 1:
    <list>
    <sender status="<status>" id="<id>">sender</sender>
    ...
    </list>

  • при fmt = 3 и all = 1:
    [{
    "sender": "<sender>",
    "status": <status>,
    "id": <id>
    },
    ...]

  • при fmt = 0 и operators = 1:
    name = <sender>, mega_step = <mega_step_status>, bee_step = <bee_step_status>, motiv_step = <motiv_step_status>, sber_step = <sber_step_status>, winmob_step = <winmob_step>, volnamob_step = <volnamob_step>, mts_step = <mts_step_status>, tele2_step = <tele2_step_status>, tele2 = <tele2_status>, ua_reg = <ua_reg_status>, ua_int = <ua_int_status>, mega_int = <mega_int_status>, motiv_int = <motiv_int_status>, mts_int = <mts_int_status>, motiv = <motiv_status>, by_reg = <by_reg_status>, by_int = <by_int_status>, tele2_int = <tele2_int_status>, sber_int = <sber_int_status>, id = <id>
    ...

  • при fmt = 2 и operators = 1:
    <list>
    <sender mega_step="<mega_step_status>" bee_step="<bee_step_status>" motiv_step="<motiv_step_status>" sber_step="<sber_step_status>" winmob_step="<winmob_step_status>" volnamob_step="<volnamob_step_status>" mts_step="<mts_step_status>" tele2_step="<tele2_step_status>" tele2="<tele2_status>" ua_reg="<ua_reg_status>" ua_int="<ua_int_status>" mega_int="<mega_int_status>" motiv_int="<motiv_int_status>" mts_int="<mts_int_status>" motiv="<motiv_status>" by_reg="<by_reg_status>" by_int="<by_int_status>" tele2_int="<tele2_int_status>" sber_int="<sber_int_status>" id="<id>">sender</sender>
    ...
    </list>

  • при fmt = 3 и operators = 1:
    [{
    "sender": "<sender>",
    "mega_step": "<mega_step_status>",
    "mega_int": "<mega_int_status>",
    "bee_step": "<bee_step_status>",
    "motiv": "<motiv_status>",
    "motiv_step": "<motiv_step_status>",
    "motiv_int": "<motiv_int_status>",
    "sber_step": "<sber_step_status>",
    "sber_int": "<sber_int_status>",
    "winmob_step": "<winmob_step_status>",
    "volnamob_step": "<volnamob_step_status>",
    "mts_step": "<mts_step_status>",
    "mts_int": "<mts_int_status>",
    "tele2_step": "<tele2_step_status>",
    "tele2": "<tele2_status>",
    "tele2_int": "<tele2_int_status>",
    "ua_reg": "<ua_reg_status>",
    "ua_int": "<ua_int_status>",
    "by_reg": "<by_reg_status>",
    "by_int": "<by_int_status>",
    "id": "<id>"
    },
    ...]

Где:
<sender> – зарегистрированное и допущенное к использованию имя отправителя.
<mega_step_status>, <mega_int_status>, <bee_step_status>, <motiv_status>, <motiv_step_status>, <motiv_int_status>, <sber_step_status>, <sber_int_status>, <winmob_step_status>, <volnamob_step_status>, <mts_step_status>, <mts_int_status>, <tele2_step_status>, <tele2_status>, <tele2_int_status>, <ua_reg_status>, <ua_int_status>, <by_reg_status>, <by_int_status> – код статуса имени отправителя у соответствующего оператора (0 - ожидает регистрации, 1 - отправлено на регистрацию, 2 - допущено оператором, 3 - не принято оператором, 4 - временно отключено, 5 - недостаточно средств на счете, 8 - необходимы подтверждающие документы, 9 - активация с начала месяца), 255 - допущено, но помечено на снятие с регистрации).
<status> – статус имени отправителя (0 - ожидает модерации, 1 - допущено к использованию, 2 - выключено).
<id> – уникальный идентификатор имени отправителя (назначается Сервером автоматически при создании имени).

Если для какого-либо оператора имя отправителя имеет заменяющий аналог, то при operators = 1 и fmt = 0,2,3 в ответ сервера дополнительно будет включена данная замена.

При добавлении нового имени отправителя:
  • при fmt = 0: ID = <id>

  • при fmt = 1: <id>

  • при fmt = 2:
    <sender>
    <id>id</id>
    </sender>

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

Где:
<id> – идентификатор имени отправителя, назначенный Сервером автоматически.

При изменении имени отправителя, отправке кода, подтверждении и удалении имени отправителя:
  • при fmt = 0, 1: OK

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

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


Примеры действий с именами отправителей

Примеры:

Получение списка имен отправителей:

https://smsc.ru/sys/senders.php?get=1&login=alex&psw=123
Добавление нового имени отправителя:

https://smsc.ru/sys/senders.php?add=1&login=alex&psw=123&sender=my_shop&cmt=test
Отправка кода подтверждения для цифрового имени отправителя:

https://smsc.ru/sys/senders.php?send_code=1&login=alex&psw=123&sender=79999999999
Отправка кода подтверждения цифрового имени отправителя для субклиента "subalex" от имени "mysite.ru":

https://smsc.ru/sys/senders.php?send_code=1&login=alex&psw=123&sender=79999999999&user=subalex&site=mysite.ru
Подтверждение цифрового имени отправителя:

https://smsc.ru/sys/senders.php?check_code=1&login=alex&psw=123&sender=79999999999&code=338824
Удаление имени отправителя:

https://smsc.ru/sys/senders.php?del=1&login=alex&psw=123&sender=my_shop

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