Функционал позволяет в API запросе дополнительно указать структуру действий, наряду с текстом информирования для синтеза: перевод абонента на оператора, получения обратной связи на URL. Метод инициирует вызов на номер с заданными параметрами.
Клиент присылает API запрос на инициирование вызова, включающий текст для клиента и структуру DTMF параметров.
При выборе абонентом DTMF (в том числе вариант с проговариванием голосом: один, два...) с:
- type=transfer - идет перенаправление вызова (callback) на полученный номер, с передачей онлайн событий о ходе вызова.
- type=notify - идет нотификация/event на полученный URL (https). По факту осуществления нотификации абоненту проговаривается стандартный текст "Спасибо за Ваш выбор, до свидания!"
Точка подключения: https://sb-api.mtt.ru/v1/sb
Авторизация: Basic Auth
Метод: POST
Входные параметры
Name | Type | Description |
---|---|---|
method | string | method |
data | Набор данных инициировании вызова | |
dtmf | Набор данных по возможным dtmf и действиям |
data
Параметр | Описание | Значение по умолчанию |
---|---|---|
b_number* | Номер пользователя, на который инициируем вызов: Б-номер телефона, строго 11 цифр, E.164 | none |
sip_id* | Номер МТТ, учетная запись | none |
messId* | Идентификатор запроса со стороны клиента МТТ | none |
messText* | Текст для воспроизведения пользователю | none |
a_number* | Номер для отображения пользователю при входящем звонке: А-номер телефона, строго 11 цифр, E.164 | none |
langCode | Язык.
| ru |
voice_name | Голос синтезированной речи.
| erkanyavas |
emotion | Эмоциональная окраска голоса.
| neutral |
speed_speech | Скорость (темп) синтезированной речи.
| 1.0 |
dtmf
Параметр | Описание | Значение по умолчанию |
---|---|---|
dtmf_id* |
| none |
type* |
| none |
value* |
| none |
* - обязательные параметры
Выходные параметры
Параметр | Описание |
---|---|
id | Идентификатор запроса со стороны клиента МТТ = messId |
CallID | уникальный ID на стороне сервиса (МТТ) для идентификации вызова |
success | Флаг успешного - 1, неуспешного - 0 отработки запроса. |
error | Ошибка и её описание |
Пример
{ "method": "ivr-api", "data": { "messId": "12345678", "sip_id": "74996489150", "b_number": "79103880489", "messText": "Здравствуйте, ваш заказа исполнен и готов к выдаче, нажмите 1 если готовы к самовывозу, 2 нужна доставка, 3 если хотите соединится с оператором для уточнения информации по заказу" "lang_code": "ru-RU", "voice_name": "oksana", "emotion": "neutral", "speed_speech": 1, "dtmf": [{ "dtmf_id": "1", "type": "notify", "value": "https://domain.ru/mtt/event.php" }, { "dtmf_id": "2", "type": "notify", "value": "https://domain.ru/mtt/event.php" }, { "dtmf_id": "3", "type": "transfer", "value": "74997090111" } ] } }
Успешный ответ
{ "result": { "success": 1 }, "id": "1255490", "CallID": "00035c7d92bb0971" }
Не успешный ответ
//Невалиден формат b_number: { "result": { "success": 0, "error": "\"b_number\" should be in e164 format" }, "id": "1255490", "CallID": "00035c7d92260ed6" } //Невалиден формат a_number: { "result": { "success": 0, "error": "\"a_number\" should be in e164 format" }, "id": "1255490", "CallID": "00035c7d92260edc" } //Формат URL отличный от https: { "result": { "success": 0, "error": "\"notify\" value is not allowed" }, "id": "1255490", "CallID": "00215e8250bf2070" } //Неверно указан method { "message": "access forbidden" } //Неверно указан sip id { { "result": { "success": 0, "error": "Forbidden" }, "id": "1255490", "CallID": "00035c7d9226611f" } }
Event уведомления - онлайн события о ходе вызова
Уведомления отправляются POST запросом в формате JSON
Параметр | Описание |
---|---|
event=o | cобытие инициирования вызова на b_number |
event=h | событие разъединения/окончание вызова |
event=n | Нотификация по факту выбора type: notify |
duration | Длительность вызова |
date_time | дата и время события, формат 2019-03-29-11-37-13 |
cause* | причина разъединения |
CallID | уникальный ID на стороне сервиса (МТТ) для идентификации вызова |
redirect_number | Номер из параметра value при type:transfer |
b_number | См. описание соответствующего параметра метода инициирования вызова |