Интеграция с сервисом (API)
API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды. Для упрощенной авторизации вместо пары логин и пароль можно использовать специальный API-ключ.
ОТПРАВКА СООБЩЕНИЙ Отправка SMS-сообщения УПРАВЛЕНИЕ РАССЫЛКАМИКомментарии в SMS-сообщениях Отправка на группу номеров Отправка HLR-запроса Отправка e-mail сообщения Отправка голосового сообщения (звонок) Отправка viber-сообщения Отправка сообщения в Telegram Отправка сообщения в чат-бот Telegram Использование префиксов при отправке сообщений Управление шаблонами сообщений Управление шаблонами операторов Виртуальная отправка (режим тестирования) Уведомления о событиях СТАТУСЫ СООБЩЕНИЙ Проверка статуса ПРОВЕРКА СОСТОЯНИЯ БАЛАНСАСтатусы сообщений. Ответ сервера и коды ошибок Коды статусов Коды ошибок в статусе Удаление сообщения УПРАВЛЕНИЕ КОНТАКТАМИ Действия с контактами и группами УПРАВЛЕНИЕ КЛИЕНТАМИКонтакты и группы. Ответ сервера и коды ошибок Примеры операций с контактами Работа с субклиентами УПРАВЛЕНИЕ ИМЕНАМИ ОТПРАВИТЕЛЕЙ (SENDER ID)Создание и выгрузка счетов и актов Перечень доступных операций с именами отправителей ПОЛУЧЕНИЕ ДАННЫХОтвет сервера и коды ошибок Примеры действий с именами отправителей Получение истории отправленных сообщений Получение входящих сообщений Получение статистики Запрос тарифов Получение информации об операторе Получение данных о короткой ссылке РАЗНОЕ | РазноеПодключение выделенных номеров для приема сообщенийВы можете через специальные команды API получать список свободных выделенных номеров для приема SMS-сообщений и подключать любой номер к своему логину, оплачивая стоимость за остаток дней в текущем месяце. При подключении выделенного номера вы автоматически соглашаетесь с правилами использования таких номеров.Для получения списка доступных выделенных номеров необходимо вызвать методом GET или POST следующий адрес:
https://smsc.ru/sys/receive_phones.php?g Для подключения выделенного номера необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/receive_phones.php?b Для изменения признака продления выделенного номера на следующий месяц необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/receive_phones.php?c Описание параметров, передаваемых Серверу:
В случае ошибки Сервер возвращает следующую строку:
В случае успешного запроса Сервер возвращает ответ в виде строки. Для получения списка доступных номеров:
<phone> – номер телефона. <type> – тип номера: 1,4 – выделенный виртуальный номер, 2 – номер на услуге SIM-хостинга. <cost> – стоимость аренды номера за полный месяц. <current_cost> – стоимость аренды номера за остаток дней до конца текущего месяца. <info> – название оператора и поддерживаемые типы уведомлений. Для аренды номера:
<cost> – сумма, списанная со счета Клиента за аренду номера. Для изменения признака продления номера:
Примеры: Получение списка свободных номеров для аренды: https://smsc.ru/sys/receive_phones.php?g Подключение номера "79999999999": https://smsc.ru/sys/receive_phones.php?b Отключение возможности продления выделенного номера "79999999999" на следующий месяц: https://smsc.ru/sys/receive_phones.php?c
Сервер не принимает более двух одинаковых запросов в течение минуты на получение списка свободных для аренды номеров или подключение номера, либо изменение свойств выделенного номера для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента. Передача статусов и сообщений на обработчик КлиентаВ личном кабинете Клиента в "Настройках пользователя" имеется возможность указания http(s)-адреса (URL) скрипта для обработки статусов доставки сообщений, входящих SMS-сообщений, а также служебных сообщений (при использовании услуги "Подтверждение номера с помощью звонка") на стороне Клиента. Указанный скрипт будет вызываться Сервером после каждого получения статуса доставки ранее отправленного Клиентом сообщения, после получения входящего SMS-сообщения от абонента или звонка от абонента (при использовании услуги "Подтверждение номера с помощью звонка").В адресе обработчика можно указать параметр charset для выбора кодировки передаваемых параметров:
?charset=utf-8
По умолчанию используется кодировка windows-1251.
Также в адресе обработчика статусов и входящих сообщений можно передавать параметр fmt для указания формата возвращаемых параметров. Возможные значения: fmt=2 (для формата xml) и fmt=3 (для формата json). При передаче параметра fmt кодировка koi8-r не используется. Для защиты передаваемых данных от подмены в адресе обработчика дополнительно можно указать любой из параметров md5, sha1, crc32, определяющих алгоритм подсчета контрольного параметра с хешем строки:
"id:phone:status:<секретная строка>" − для статуса доставки
в виде:
?md5=<секретная строка>
В качестве символов секретной строки можно использовать латинские буквы, цифры, минус и подчеркивание.
Обработчику будет передан соответствующий параметр, в котором секретная строка будет заменена на значение хеша передаваемых данных.
Все параметры передаются методом POST (для fmt=2 и fmt=3 параметры передаются в теле запроса). В случае необходимости передачи параметров, указанных в URL обработчика методом GET требуется прописать их специальным образом через символ "!" (например, в URL "https://mysite.ru/!param1¶m2?param3¶m4" параметры param1 и param2 будут переданы методом GET, а param3 и param4 методом POST). Передаваемые параметры для статуса SMS-сообщения:
Передаваемые параметры для входящего SMS-сообщения:
Передаваемые параметры при использовании услуги "Подтверждение номера с помощью звонка":
Дополнительные параметры, передаваемые при использовании функции голосового меню в звонках:
Помимо описанных выше стандартных параметров Сервер также будет передавать методом POST все параметры, указанные в http(s)-адресе обработчика после знака "?". Для различия статуса сообщения, входящего SMS-сообщения или служебного сообщения (при использовании услуги "Подтверждение номера с помощью звонка") в одном обработчике можно выполнить проверку на наличие параметра mes (для входящего сообщения) и waitcall (для услуги подтверждения номера): if (isset($_POST["mes"])) {
Пересылка статусов на обработчик Клиента осуществляется только при отправке сообщений
по протоколам HTTP/HTTPS, SMTP или SMPP. При отправке сообщений с личного кабинета передача статусов на обработчик Клиента
не происходит. Подключение антиспам проверки (captcha) к сайтуИногда возникает необходимость отправки сообщений со своего сайта по запросу пользователей, и в таких случаях для исключения автоматизированных спам-рассылок с помощью роботов можно легко внедрить антиспам проверку, используя наш сервис.Для этого достаточно на форме для отправки сообщений разместить специальный код для вывода картинки (captcha) и поля для ввода кода: Код с картинки <img src="https://smsc.ru/sys/imgcode.php?1.1" onclick="src+=1" width="50" height="18" border="1">
и передать его с другими данными формы в соответствующий скрипт отправки сообщений в качестве значения параметра imgcode.Также с данным параметром необходимо передавать значение IP-адреса пользователя, которому отображалась картинка в качестве значения параметра userip. Примеры: Пример скрипта для отправки сообщений, использующего код с картинки (captcha), полученный с формы: include_once "smsc_api.php"; Подтверждение номера телефона с помощью звонкаПри различного рода операциях, таких как восстановление паролей, авторизация в общественных сетях Wi-Fi, подтверждение денежных переводов, вход в личный кабинет и так далее требуется отправка аутентификационных данных. Используя наш API можно организовать процедуру подтверждения номера телефона с помощью звонка самим абонентом.Для создания запроса на получение номера телефона, по которому абонент должен будет осуществить подтверждающий звонок, необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/wait_call.php?login= Серверу передаются следующие параметры:
В случае ошибки Сервер возвращает следующую строку:
В случае успешного запроса Сервер возвращает ответ в виде строки.
<phone> – номер телефона, на который в течение 15 минут должен осуществить звонок абонент для подтверждения своего номера телефона. <all_phones> – список всех возможных номеров телефонов, один из которых был назначен системой для звонка абонента (в зависимости от страны). После звонка абонента Сервер зафиксирует факт звонка в виде входящего сообщения с текстом "[waitcall]" и отправит на обработчик Клиента всю необходимую информацию о данном звонке. Сервер не принимает более пятидесяти одинаковых запросов на получение номера телефона для подтверждения в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента. Действия с отложенными заданиямиДля снижения нагрузки на Сервер при выгрузке большого пакета отправленных сообщений в системе был реализован механизм отложенных заданий. Данный механизм с определенной периодичностью производит выборку активных заданий на выгрузку пакетов сообщений и выполняет их. Это позволяет не только снизить нагрузку на Сервер, но и исключить задержки с формированием и выгрузкой пакетов сообщений в браузере Клиента.Для получения списка отложенных заданий необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/downloads.php?login=
Для получения файла задания с отправленными сообщениями необходимо вызвать методом GET или POST адрес:
https://smsc.ru/sys/downloads.php?login=
или
https://smsc.ru/sys/downloads.php?login= Серверу передаются следующие параметры:
В случае ошибки Сервер возвращает следующую строку:
В случае успешного запроса Сервер возвращает ответ в виде строки. При получении списка отложенных заданий:
<id> – идентификатор отложенного задания. <name> – название задания. <status> – статус задания (0 - ожидает выполнения, 1 - выполняется, 2 - выполнено, 3 - отменено, 4 - ошибка выполнения). <created> – дата создания задания. <time> – время запуска задания. <file> – название файла задания. После присвоения отложенному заданию статуса 2 (выполнено) появится возможность скачать файл с пакетом отправленных сообщений в формате csv. Сервер не принимает более трех одинаковых запросов на получение списка заданий или на скачивание файла в течение минуты для снижения нагрузки и защиты от ошибок и зацикливаний в программе на стороне Клиента. |