Интеграция с сервисом (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/users.php?add=1&login=<login>&psw=<password>&user=<user>&password=<password2>
Изменение настроек субклиента: https://smsc.ru/sys/users.php?chg=1&login=<login>&psw=<password>&user=<user>&fio=<fio>
Изменение баланса субклиента: https://smsc.ru/sys/users.php?pay=1&login=<login>&psw=<password>&user=<user>&sum=<sum>
Получение статистики по субклиентам c независимым балансом: https://smsc.ru/sys/users.php?get_stat=1&login=<login>&psw=<password>&start=<date1>&end=<date2>&reseller=1
Получение статистики по одному субклиенту: https://smsc.ru/sys/users.php?get_stat=1&login=<login>&psw=<password>&start=<date1>&end=<date2>&user=<sub_login>
либо: https://smsc.ru/sys/users.php?get_stat=1&login=<login>&psw=<password>&start=<date1>&end=<date2>&user_id=<id>
Получение подробной статистики по субклиентам с независимым балансом: https://smsc.ru/sys/users.php?get_stat_all=1&login=<login>&psw=<password>&start=<date1>&end=<date2>&reseller=1

Субклиенты. Описание параметров

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

ПараметрЗначение
loginЛогин Клиента.
pswПароль Клиента (можно добавить или изменить на данной странице).
apikeyСпециальный API-ключ, используемый для упрощенной авторизации вместо пары "логин+пароль" (можно создать на данной странице).
userЛогин субклиента.
pswcТекущий пароль субклиента.
passwordНовый пароль субклиента. Длина должна быть не менее 8 символов, и выполняться 3 из условий: буквы, цифры, разный регистр, символы.
sumСумма, перечисляемая клиенту с главного аккаунта в валюте главного аккаунта.
balance2Флаг, устанавливающий возможность использования электронного баланса для зачислений, списаний и получения статистики по сообщениям.
site_idID сайта, которому будет принадлежать создаваемый субклиент.
new_loginНовый логин субклиента при изменении.
typeТип учетной записи.
0 (по умолчанию) – независимые тариф и баланс.
1 – тариф главного аккаунта, независимый баланс.
2 – тариф и баланс главного аккаунта.
3 – баланс главного аккаунта, независимый тариф.
4 – дополнительный логин главного аккаунта.
emailОсновной адрес электронной почты.
fl[9]Флаг, устанавливающий возможность пересылки входящих SMS на e-mail.
email2Альтернативный адрес электронной почты для пересылки входящих SMS.
phoneОсновной номер телефона.
fl[8]Флаг, устанавливающий возможность пересылки входящих SMS на телефон.
phone2Альтернативный номер телефона для пересылки входящих SMS.
startНачальная дата в периоде, за который запрашивается статистика. Формат: 'дд.мм.гггг'.
endКонечная дата в периоде. Если не указана, то возвращаются данные с начальной даты. Формат: 'дд.мм.гггг'.
user_idИдентификатор субклиента, назначаемый сервером автоматически при создании.
resellerТипы субклиентов.
0 или отсутствует – cубклиенты, использующие баланс главного аккаунта.
1 – субклиенты с независимым балансом.
hide_deletedСкрыть статистику по удаленным субклиентам.
0 или отсутствует – вывести статистику по всем субклиентам.
1 – скрыть статистику по удаленным субклиентам.
mycurФлаг, позволяющий выводить статистику в валюте главного аккаунта.
fioИнициалы (фамилия, имя, отчество) или название компании.
propsПоле "Другие реквизиты" субклиента.
cntrНомер договора.
tariffТекущий тарифный план. Субклиенту можно установить тарифный план не выше тарифного плана Клиента. Параметр может принимать следующие значения:
0 (по умолчанию) – 1 тариф (от 1 р.).
1 – 2 тариф (от 1000 р.).
...
8 – 9 тариф (от 100000 р.).
mintrfМинимальный тариф. Определяет минимальное значение тарифа субклиента независимо от суммы платежа.
currВалюта расчетов субклиента. Используется в командах add и chg. Может принимать следующие основные значения:
1 – российский рубль;
2 – доллар США;
3 – евро;
4 – украинская гривна;
5 – казахстанский тенге.
tzЧасовой пояс. По умолчанию устанавливается часовой пояс Клиента. Возможные значения:
0 – GMT-12.
...
12 – GMT+00
...
24 – GMT+12.
senderИмя отправителя (Sender ID) по умолчанию.
sender2Резервное имя отправителя.
fl[29]Флаг, определяющий возможность использования списка отправителей Клиента (главного аккаунта).
fl2[9]Флаг, разрешающий использование более дорогих маршрутов для гарантированной доставки сообщений.
fl2[24]Флаг, позволяющий отправлять сначала через дешевые маршруты, при недоставке повторять через дорогие (кроме массовых рассылок).
fl2[12]Флаг запрещает отправку сообщений с автоматической заменой имени отправителя.
fl2[13] Флаг отключает добавление имени отправителя в текст сообщений без удорожания в случае автозамены.
nbБаланс для уведомлений. При достижении указанной суммы будут отправляться уведомления на e-mail субклиента.
ktmДанный параметр устанавливает количество дней для хранения отправленных сообщений, по истечении которых SMS-сообщения будут автоматически удаляться из истории.
fmtsСписок телефонных кодов, на которые разрешена отправка сообщений.
notesКомментарии главного аккаунта. Недоступны субклиенту.
fl2[23]Запрет массовых и рекламных рассылок.
fl[26]Разрешение использования списка контактов главного аккаунта.
fl2[8]Флаг, устанавливающий расширенный режим личного кабинета.
fl[16]Включить распознавание автоответчиков при звонках.
fl2[31]Разрешить использование шаблонов главного аккаунта.
Дополнительные параметры для настройки доступа к сервису
fl3[20]Флаг, позволяющий отключить подтверждение доступа с новых IP-адресов при входе.
phСписок телефонов или номеров групп через запятую для выполнения рассылок по SMS-командам.
fl[27]Запретить изменения настроек субклиентом.
fl[28]Запретить оплаты субаккаунтом.
fl[6]Запретить рассылки.
fl2[1]Скрыть сообщения для субклиента.
fl2[10]Заблокировать субаккаунт.
Дополнительные параметры для лимитов и ограничений
dlimОбщий лимит SMS за день. Определяет максимальное количество отправляемых за сутки сообщений.
plimЛимит на один номер. Устанавливает максимальное количество отправляемых за сутки сообщений на один номер телефона.
tlimЛимит на номер и текст. Устанавливает максимальное количество отправляемых за сутки сообщений с одним текстом на один номер телефона.
ilimЛимит с одного IP-адреса. Задает максимальное количество отправляемых за сутки сообщений с одного IP-адреса.
tmlimДиапазон времени в часах h1-h2, в который разрешено отправлять сообщения. Если текущее время меньше h1, то SMS-сообщение будет отправлено абоненту при наступлении времени h1, если текущее время попадает в промежуток от h1 до h2, то сообщение будет отправлено немедленно, в другом случае отправка будет выполнена на следующий день при достижении времени h1. Данная функция, например, полезна для того, чтобы не допустить получение SMS-сообщений абонентами в ночное время.
fl2[15]Запретить отправку в другое время, кроме указанного в параметре tmlim, вместо переноса на следующий день.
fl2[16]При использовании параметра tmlim учитывать часовой пояс абонентов.
vldМаксимальный срок доставки сообщений временно недоступным абонентам (мин.).
Дополнительные параметры для автоответов
answАвтоответ на входящие SMS.
answ_callАвтоответ на входящие звонки.
fl2[4]Отключить пересылку звонков (на e-mail, телефон и обработчик).
Дополнительные параметры для настроек API
urlhttp-адрес (URL) скрипта для обработки статусов доставки SMS-сообщений и (или) входящих SMS-сообщений на стороне субклиента. Указанный скрипт будет вызываться Сервером после каждого получения статуса доставки ранее отправленного субклиентом SMS-сообщения и (или) после получения входящего SMS-сообщения от абонента.
fl[10]Включение пересылки статусов сообщений на http-адрес, указанный в параметре url.
fl[11]Включение пересылки входящих SMS-сообщений на http-адрес, установленный в параметре url.
fl[2]Включить SMPP-доступ (предварительно необходимо зарегистрировать IP-адрес через ONLINE-поддержку).
fl[1]Передавать входящие SMS по SMPP-подключению.
fl[23]Отслеживать статусы отдельных SMS-частей.
fl2[27]Режим тестирования (виртуальная отправка без оплаты).
fl[5]Включить контроль за доставкой сообщений.
fl[30]Включение лога API. Позволяет просматривать 20 последних http-запросов. Хранится 10 минут после последнего запроса.
Дополнительные параметры для E-mail2sms
mfl[0]Флаг, позволяющий отключить функцию e-mail2sms.
mphРазделенный запятой список номеров телефонов, на которые будут отправляться сообщения.
mfl[5]Включает возможность указания списка телефонов в теле письма.
mfl[6]Включает возможность указания списка телефонов в адресе письма.
mfl[1]Пересылка письма без темы.
mfl[2]Пересылка письма без текста.
mfl[3]Пересылка письма без обратного адреса (от кого).
mfl[4]Перевод текста письма в транслит.
mh1Начальное значение диапазона времени для отправки входящих писем. Вместе с параметром mh2 определяет диапазон, в течение которого возможна пересылка входящих писем в виде SMS-сообщений.
mh2Конечное значение диапазона времени для отправки входящих писем.
mlenМаксимальная длина сообщения, до которой обрезается входящее письмо при отправке в виде SMS-сообщения (число больше 12 задает максимальную длину сообщения, меньше 12 - количество SMS).

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

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

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

При создании субклиента:
  • при fmt = 0: ID = <id>

  • при fmt = 1: <id>

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

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

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

При изменении сублогина:
  • при fmt = 0,1: OK

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

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


При запросе статистики:
  • при fmt = 0 и get_stat = 1:
    login = <login>, sms = <cnt>, credit = <credit>, debit = <debit>, currency = <currency>
    ...

  • при fmt = 0 и get_stat_all = 1:
    login = <login>, description = <description>, operator = <operator>, mccmnc = <mccmnc>, sms = <cnt>, credit = <credit>, debit = <debit>, currency = <currency>
    ...

  • при fmt = 1 и get_stat = 1:
    <login>,<cnt>,<credit>,<debit>,<currency>
    ...

  • при fmt = 1 и get_stat_all = 1:
    <login>,<description>,<operator>,<mccmnc>,<cnt>,<credit>,<debit>,<currency>
    ...

  • при fmt = 2 и get_stat = 1:
    <list>
    <stat>
    <login>login</login>
    <sms>cnt</sms>
    <credit>credit</credit>
    <debit>debit</debit>
    <currency>currency</currency>
    </stat>
    ...
    </list>

  • при fmt = 2 и get_stat_all = 1:
    <list>
    <user login="login">
    <item>
    <description>description</description>
    <operator>operator</operator>
    <mccmnc>mccmnc</mccmnc>
    <sms>cnt</sms>
    <credit>credit</credit>
    <debit>debit</debit>
    <currency>currency</currency>
    </item>
    ...
    </user>
    ...
    </list>

  • при fmt = 3 и get_stat = 1:
    [{
    "login": "<login>",
    "sms": "<cnt>",
    "credit": "<credit>",
    "debit": "<debit>",
    "currency": "<currency>"
    },
    ...]

  • при fmt = 3 и get_stat_all = 1:
    [{
    "login": "<login>",
    "items": [{
    "description": "<description>",
    "operator": "<operator>",
    "mccmnc": "<mccmnc>",
    "sms": "<cnt>",
    "credit": "<credit>",
    "debit": "<debit>",
    "currency": "<currency>"
    },
    ...]
    },
    ...]

Где:
<login> - логин субклиента.
<description> - название операции.
<operator> - название оператора.
<mccmnc> - числовой код страны абонента плюс числовой код оператора абонента
<cnt> - количество сообщений.
<credit> - расход.
<debit> - приход.
<currency> - трехсимвольный код валюты субклиента.

Примеры действий с субклиентами

Примеры:

Создание субклиента с логином "mylogin", паролем "mypassword", номером телефона 79999999999 и разрешением на использование имен отправителей (Sender ID) главного аккаунта:

https://smsc.ru/sys/users.php?add=1&login=alex&psw=123&user=mylogin&password=mypassword&phone=79999999999&fl[29]=1
Изменение логина субклиента с "mylogin" на "mylogin2", типа клиента на "Тариф и баланс главного аккаунта" и установки разрешенных кодов для отправки SMS только по России:

https://smsc.ru/sys/users.php?chg=1&login=alex&psw=123&user=mylogin&password=mypassword&new_login=mylogin2&type=2&fmts=7,-77
Получение статистики по субклиентам, имеющим общий баланс с главным аккаунтом и SMS, отправленные с электронного баланса:

https://smsc.ru/sys/users.php?get_stat=1&login=alex&psw=123&balance2=1
Получение статистики по субклиенту с логином "sub_alex":

https://smsc.ru/sys/users.php?get_stat=1&login=alex&psw=123&user=sub_alex
Получение статистики по независимым субклиентам в валюте главного аккаунта с "01.01.2014" по "01.02.2014":

https://smsc.ru/sys/users.php?get_stat=1&login=alex&psw=123&mycur=1&start=01.01.2014&end=01.02.2014

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