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

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


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

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

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

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

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

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

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

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

Использование голосового меню (IVR)

Примеры отправки голосовых сообщений

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

РАЗНОЕ

Использование голосового меню (IVR)

Для использования голосового меню необходимо в начале текста сообщения передать текст или голосовой файл с начальными инструкциями для абонента и далее указать макрос, содержащий служебные команды меню {menu: <...>}, где <...> описание параметров голосового меню.

Схематично сообщение с использованием голосового меню, выглядит следующим образом:
СТАРТОВЫЙ ТЕКСТ

{menu: [ТЕКСТ МЕНЮ]
1: ТЕКСТ или КОМАНДА
2
: ТЕКСТ2 или КОМАНДА2
...
}

КОНЕЧНЫЙ ТЕКСТ

После поднятия трубки абоненту озвучивается "СТАРТОВЫЙ ТЕКСТ", далее проигрывается "ТЕКСТ МЕНЮ" с описанием пунктов меню и допустимыми действиями. После нажатия клавиши на цифровой клавиатуре телефона, соответствующей необходимому пункту, абоненту может быть озвучен текст "ТЕКСТ" или выполнена одна или несколько следующих друг за другом "КОМАНД". После выхода из меню озвучивается "КОНЕЧНЫЙ ТЕКСТ".

Описание параметров, используемых в макросе {menu: <...>}:

ПараметрЗначение
*: backВозврат в предыдущее меню.
#: startВозврат в начало меню и повтор "ТЕКСТА МЕНЮ".
0: repeatПовтор выбранного пункта.
n: msgПункт меню, в который попадает абонент при нажатии на клавишу n, где n – номер пункта меню, который может принимать значения от 1 до 9, msg – сообщение или команда. Пункты меню можно дублировать один за одним для выполнения нескольких действий при нажатии на одну клавишу.
nm: msgПодпункт m пункта n меню, в который попадает абонент при нажатии на клавишу m. Может принимать значения от 1 до 9. msg – сообщение или команда. Подпункты меню можно дублировать один за одним для выполнения нескольких действий при нажатии на одну клавишу. Вложенность подпунктов ограничена только размером всего сообщения (1000 символов).

В пунктах и подпунктах можно использовать следующие команды:

КомандаЗначение
urlАдрес http(s)-обработчика Клиента, на который будет передана информация о текущем пункте и времени нахождения абонента в меню.
call:phone wait=n ok:end err:n recordПеренаправление звонка абонента на указанный номер телефона, где обязательным параметром является phone – номер телефона или список номеров телефонов через запятую. Можно указать до 9 номеров. Номера, на которые будет происходить перенаправление звонка абонента необходимо зарегистрировать на данной странице.
Необязательными параметрами являются:
wait=n – время ожидания поднятия трубки абонентом, которому был перенаправлен звонок, где n – время ожидания в секундах. Диапазон возможных значений параметра от 0 до 120. По умолчанию время ожидания поднятия трубки абонентом 120 секунд.
ok:end – после успешного соединения с указанным номером и окончания диалога завершить голосовое меню.
err:n – если дозвониться до указанного номера не удалось, то перейти на шаг или метку n, описанную в теле меню. Метка может принимать значение любого набора латинских букв и цифр.
record – после успешного соединения с указанным номером осуществить запись разговора. Время записи для одного звонка ограничено максимум 30 минутами. Также соединение и запись прерывается спустя 30 секунд тишины со стороны абонентов. Данный параметр указывается последним. Ссылка на запись отображается в истории сообщений под текстом голосового меню.
sms:phone,sender,msgОтправка SMS-сообщения на указанный номер телефона, где phone – номер телефона, sender – имя отправителя, msg – текст сообщения. В качестве номера телефона, а также в тексте сообщения может быть указана специальная переменная $phone, которая при отправке будет заменена на номер телефона абонента, получившего данное голосовое меню.
record: nЗапись фрагмента голосового ответа абонента, которая будет произведена с момента активации до окончания действия команды, где n – время для записи в секундах. По умолчанию (без явного указания времени) запись ограничена 30 секундами. Также запись прерывается после 10 секунд тишины со стороны абонента.
endПризнак выхода из голосового меню. После выхода будет прочитан "КОНЕЧНЫЙ ТЕКСТ".
Примеры:

<?php
$url
= 'https://smsc.ru/sys/send.php?login=alex&psw=123&phones=79999999999,79999999998&call=1&charset=utf-8&mes=';

$msg = 'Здравствуйте!

{menu: Нажмите 1 для первого пункта, 2 для второго пункта, 3 для отправки заявки на обратный звонок, 5 для связи с оператором, решетка для перехода в начало, 0 для повтора, для возврата в предыдущее меню нажмите звёздочку.
*: back
#: start
0: repeat
1: пункт 1, нажмите 1 для подпункта 1, 2 для подпункта 2, 3 для подпункта 3
11: подпункт 1.1
12: подпункт 1.2
13: подпункт 1.3
2: пункт 2, нажмите 1 для подпункта 2.1
21: подпункт 2.1
3: sms:79999999999,Sender,текст
3: end
4: sms:$phone,Sender,Ваш номер: $phone
4: end
5: url
5: call:79999999999,79999999998 wait=10 ok:end err:6
6: call:79999999997 wait=60 ok:end err:callerr record
7: Сейчас начнется запись до 10 секунд
7: record: 10
7: Конец записи
err: неверный номер, нажмите 0 для повтора
callerr: Извините, не удалось дозвониться до оператора, выберите другой пункт или повторите попытку позже}

Всего вам доброго!'
;

echo
file_get_contents($url.urlencode($msg));
?>