Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleПредупреждение

При использовании мобильной версии могут быть недоступны некоторые элементы управления страницей. Вы можете переключиться на версию для компьютера или скачать приложение Confluence, чтобы получить доступ ко всем элементам управления страницей.

Аутентификация OAuth 2.0

Expand
titleНастройка

Для аутентификации запросов используется протокол OAuth 2.0.
OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Порядок настройки и использования протокола следующий:

  1. Необходимо открыть страницу услуги Открытое API в ЛК МТТБ;
  2. Подключить услугу «Открытое API». При этом осуществляется проверка достаточности необходимых денежных средств, выполняются прочие юридические и административные процедуры, формируются документы для подписания.;
  3. Нажать на кнопку Создать в разделе Мои интеграции. Необходимо указать наименование интеграции (цифра 1 на рисунке) и ссылку, на которой будет производиться обработка нотификации по протоколу https (Redirect URI, цифра 2 на рисунке.). Сервер должен иметь соответствующий доверенный сертификат.;
  4. Нажать на кнопку Сгенерировать. Произойдёт генерация Секретного ключа и Уникального идентификатора (Id клиента, цифра 3 и 4 на рисунке), а также осуществится проверка доступности данного сервера со стороны решения. Сгенерированные данные, а так же адрес сервиса аутентификации решения (цифра 5 на рисунке) можно удобно скопировать в буфер обмена.;
  5. Дальнейшие настройки необходимо провести на стороне стороннего приложения. Ввести в системе Уникальный идентификатор и Секретный ключ из предыдущего шага. Приложение должно произвести первичную авторизацию и отобразить окно ввода учётных данных от ЛК МТТ Бизнес. Если все данные введены верно, решение выдаст приложению два токена: токен доступа (access_token) и токен обновления (refresh_token).;
  6. Срок годности токена доступа (access_token) – 2 часа, токена обновления (refresh_token) - 3 календарных дня. При истечении срока годности токена доступа (access_token) он должен быть обновлен с использованием токена обновления (refresh_token) и уникального идентификатора интеграции (Id клиента). В случае истечения срока действия токена доступа (access_token) решение будет отвечать кодом ответа HTTP 401 (Unauthorized).

Необходимо отметить, что для каждой новой интеграции будут сгенерированы свои уникальные ключи. Даже в рамках одного личного кабинета, каждая интеграция - уникальна.

...

Запрос
Expand
titleПервичная регистрация
title

Описание:
Производит Первичная регистрация производит запрос аккредитационных данных с проверкой регистрации в ЛК МТТ Бизнес.
Параметры:
GET/ https://\{{hostoauth}}oauth.mtt.ru/oauth/authorize

Параметр

Описание/значение

client_id

Значение получается из ЛК МТТ Бизнес

redirect_uri

URL переадресации кода (например, {+}http://localhost:9090+Image Removed/callback)для переадресации указанный на этапе настройки, например: https://oauth.myanycrm.ru

scope

Обязательно должен быть установлено значение https://mtt.ru/auth.tokens.readwriteImage Removed

response_type

Обязательно должен быть установлено значение ": code"

state

не обязательный параметр, но служит для защиты от CSRF, а также позволяет хранить состояние в процессе авторизации.

После выполнения запроса, будет выполнен редирект на страницу ввода логина и пароля в ЛК МТТ Бизнес. После успешного подтверждения логина и пароля, будет выполнен редирект на указанный redirect_uri с передачей кода (например: http://localhost:9090/callback?code=Yzk5ZDczMzRlNDEwY&state=xyz).
Используя полученный код авторизации, приложение далее сможет выполнить генерацию access_token и refresh_token.

Expand

Пример запроса:

Code Block
themeMidnight
curl --location --request GET 'https://oauth.mtt.ru/oauth/authorize?response_type=code&client_id=23c9ddf7-caec-8caa-88e6-b8f758ce0186&redirect_uri=https://oauth.myanycrm.ru&scope=https://mtt.ru/auth.tokens.readwrite'

После выполнения запроса, будет выполнен редирект на страницу ввода логина и пароля в ЛК МТТ Бизнес. После успешного подтверждения логина и пароля, будет выполнен редирект на указанный redirect_uri с передачей кода (например: http://localhost:9090/oauth2?code=Yzk5ZDczMzRlNDEwY&state=xyz).
Используя полученный код авторизации, приложение далее сможет выполнить генерацию access_token и refresh_token.


Разрешения для токена (

Expand
titleЗапрос токена доступа (access_token)

Описание:
Производит генерации Запрос производит генерацию токена доступа (access_token) и токена обновления (refresh_token).
Токен доступа (access_token) – токен, с которым клиентское приложение осуществляет запросы к разрешенным Открытому API, выдается на 2 часа.
Токен обновления (refresh_token) - используется для получения нового токена доступа без повторного ввода пароля. Выдается на 3 дня.
Параметры:
POST / https://\{{hostoauth}}oauth.mtt.ru/oauth/token

Параметр

Описание/значение

client_id

Значение генерируется и задается из ЛК МТТ Бизнес

client_secret

Значение генерируется и задается из ЛК МТТ Бизнес

code

Значение, которое было передано на redirect_uri при первичной регистрации

redirect_uri

URL переадресации кода (например, {+}http://localhost:9090+Image Removed/callback)для переадресации, указанный на этапе настройки, например: https://oauth.myanycrm.ru

scope

Обязательно должен должно быть установлено значение: https://mtt.ru/auth.tokens.readwrite

Image Removed

grant_type

Обязательно должен быть установлено значение ": authorization_code"

Параметры ответаПример запроса:

Параметр
Code Block

Описание/значение

access_token

Токен доступа

expires_in

Длительность действия в секундах

refresh_token

Токен обновления

scope

themeMidnight
curl --location --request POST 'https://oauth.mtt.ru
/auth.tokens.readwriteImage Removed

)

token_type

Bearer

Пример ответа:
{
"access_token": "MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX",
"expires_in": 7200,
"refresh_token": "YWFHNGFHYMQTMTUYMI01ZTM0LTKZM2QTYZU2YZIWNJQ0MJE0",
"scope": "
/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=23c9ddf7-caec-8caa-88e6-b8f758ce0186' \
--data-urlencode 'client_secret=LMZkfataV6EZFergkB36im' \
--data-urlencode 'code=NMI1NGVIMDCTNTHKOS0ZYTMYLWFKODMTZMRHMGE5YWU0MDBL' \
--data-urlencode 'redirect_uri=https://oauth.myanycrm.ru' \
--data-urlencode 'scope=https://mtt.ru/auth
/openapi.readwrite",
"token_type": "Bearer"
} Expand
titleОбновление токена доступа (access_token)

Обменивает вышедший из употребления токен доступа (access_token) на новый путём использования токена обновления (refresh_token).
Параметры
POST / https://\{{hostoauth}}/oauth/token

Параметр

Описание/значение

client_id

Значение генерируется и задается из ЛК МТТ Бизнес

client_secret

Значение генерируется и задается из ЛК МТТ Бизнес

grant_type

Обязательно должно быть установлено значение "refresh_token"

Параметры ответа

Параметр

Описание/значение

access_token

Токен доступа

expires_in

Длительность действия в секундах

refresh_token

Токен обновления

scope

Разрешения для токена (

https://mtt.ru/auth.tokens.readwriteImage Removed

)

token_type

Bearer

Пример ответа
{
"access_token": "MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX",
"expires_in": 7200,
"refresh_token": "YWFHNGFHYMQTMTUYMI01ZTM0LTKZM2QTYZU2YZIWNJQ0MJE0",
"scope":
.tokens.readwrite' \
--data-urlencode 'grant_type=authorization_code'


Параметры ответа:

Параметр

Описание/значение

access_token

Токен доступа

expires_in

Длительность действия в секундах

refresh_token

Токен обновления

scope

Разрешения для токена: https://mtt.ru/auth.tokens.readwrite

token_type

Bearer

Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "access_token": "MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX",
    "expires_in": 7200,
    "refresh_token": "YWFHNGFHYMQTMTUYMI01ZTM0LTKZM2QTYZU2YZIWNJQ0MJE0",
    "scope": "https://mtt.ru/auth/openapi.
tokens.
readwrite
Image Removed
",


    "token_type": "Bearer"
}
}

Методы для работы с настройками ВАТС МТТ Бизнес

Группа методов запросов и нотификации предназначены для получения информации о настройке ВАТС в ЛК: внешней нумерации и составе РМ пользователей МТТ Бизнес.
При изменении настроек пользователем в ЛК МТТ Бизнес отрабатывают соответствующие методы нотификации, которые возвращают новую, обновленную информацию.

Для всех методов используется единый адрес для отправки запросов: https://openapi.mtt.ru

Для получения нотификаций необходимо настроить сервер по адресу Redirect URI указанному при подключении интеграции в ЛК МТТ Бизнес и по пути /events нужно настроить слушателя событий (обработчик POST запросов). Дополнительно специально подписываться нигде не нужно, вы будете получать все события на свой сервер redirect_uri/events.



Описание
Получает информацию о внешней нумерации пользователя МТТ Бизнес. Для работы используется auth_token в соответствии с протоколом OAuth 2.0.

Адрес для отправки запроса

https://openapi.mtt.ru

Параметры
GET / externalNumbersInfo
Параметры ответа

Expand
titleПолучение информации о структуре внешней нумерации ЛК МТТ Бизнес

Параметр

Описание/значение

total

Общее количество номеров в ответе

numbersList

Массив РМ с их описанием

numbersList / number

Внешний номер

numbersList / type

Тип номера В ВАТС

Wiki Markup
\\
*Пример ответа*
\{
 "result": \{
  "total": 1,
  "numbersList": \[\{
   "number": "78005560251",
   "type": null
  \}\]
 \}
\}
Expand
titleПолучение списка рабочих мест в ЛК МТТ Бизнес

Описание
Получает список РМ ЛС МТТ Бизнес. Для работы используется auth_token в соответствии с протоколом OAuth 2.0.

Адрес для отправки запроса

Expand
titleОбновление токена доступа (access_token)

Описание:

Обменивает вышедший из употребления токен доступа (access_token) на новый путём использования токена обновления (refresh_token).
Параметры:
POST / https://oauth.mtt.ru/oauth/token

Параметр

Описание/значение

client_id

Значение генерируется и задается из ЛК МТТ Бизнес

client_secret

Значение генерируется и задается из ЛК МТТ Бизнес

refresh_tokenТокен обновления

grant_type

Обязательно должно быть установлено значение: refresh_token

Параметры ответа:

Параметр

Описание/значение

access_token

Токен доступа

expires_in

Длительность действия в секундах

refresh_token

Токен обновления

scope

Разрешения для токена: https://mtt.ru/auth.tokens.readwrite

token_type

Bearer

Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "access_token": "MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX",
    "expires_in": 7200,
    "refresh_token": "YWFHNGFHYMQTMTUYMI01ZTM0LTKZM2QTYZU2YZIWNJQ0MJE0",
    "scope": "https://mtt.ru/auth.tokens.readwrite",
    "token_type": "Bearer"
}


Методы для работы с настройками ВАТС МТТ Бизнес

Группа методов запросов и нотификации предназначены для получения информации о настройке ВАТС в ЛК: внешней нумерации и составе РМ пользователей МТТ Бизнес.
При изменении настроек пользователем в ЛК МТТ Бизнес отрабатывают соответствующие методы нотификации, которые возвращают новую, обновленную информацию.

Для всех методов используется единый адрес для отправки запросов: https://openapi.mtt.ru

Параметры
GET / workPlacesInfo
Параметры ответа

...

Параметр

...

Описание/значение

...

Total

...

Общее количество РМ в ответе

...

workplacesList

...

Массив РМ с их описанием

...

workplacesList/ name

...

Наименование РМ

...

workplacesList/ workplace

...

SIP ID РМ ВАТС

...

Для получения нотификаций необходимо настроить сервер по адресу Redirect URI указанному при подключении интеграции в ЛК МТТ Бизнес и по пути /events нужно настроить слушателя событий (обработчик POST запросов). Дополнительно специально подписываться нигде не нужно, вы будете получать все события на свой сервер redirect_uri/events.

Expand
titleПолучение информации о структуре внешней нумерации ЛК МТТ Бизнес

Описание:
Получает информацию о внешней нумерации пользователя МТТ Бизнес. Для работы используется auth_token в соответствии с протоколом OAuth 2.0.

Адрес для отправки запроса:

https://openapi.mtt.ru

Параметры:
GET / externalNumbersInfo
Параметры ответа:

Параметр

Описание/значение

total

Общее количество номеров в ответе

numbersList

Массив РМ с их описанием

numbersList / number

Внешний номер

numbersList / type

Тип номера В ВАТС

Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "result": {
        "total": 1,
        "numbersList": [
            {
                "number": "78005560251",
                "type": null
            }
        ]
    }
}



terminalsList

workPlacesInfo

Пример запроса:

Expand
titleПолучение списка терминалов рабочих мест в ЛК МТТ Бизнес

Описание:
Получает список терминалов (локаций) РМ ЛС МТТ Бизнес с привязкой к РМ. Для работы используется auth_token в соответствии с протоколом OAuth 2.0.

Адрес для отправки запроса:

https://openapi.mtt.ru

Параметры:
GET / terminalsInfo
Параметры ответа

Параметр

Описание/значение

Total

Общее количество РМ в ответе

Code Block
themeMidnight
curl --location --request GET 'https://openapi.mtt.ru/workplacesInfo' \
--header 'Authorization: Bearer MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX'

Параметры ответа:

\\ \{ "

Параметр

Описание/значение

Total

Общее количество РМ в ответе

workplacesList

Массив РМ с их описанием

terminalsList

workplacesList/

terminale

SIP ID терминала

terminalsList

name

Наименование РМ

workplacesList/ workplace

SIP ID РМ

Wiki Markup

ВАТС

Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "result": \{
        "total": 1,
    "terminals_list    "workplacesList": \[\{
[
            {
                "terminalworkplace": "883140777380595883140777716581",
                "workplacename": "883140777380595Администратор"
  \}\]
 \}
\          }
        ]
    }
}



Пример нотификации
{
"event": "vpbxNotifications",
"result": {
"eventType": "numbersChanged"
}
}

Описание
Нотификация об изменении структуры РМ в ЛК МТТ Бизнес. Возникает при изменении настроек в ЛК МТТ Бизнес.
Параметры нотификации

Пример нотификации
{
"event": "vpbxNotifications",
"result": {
" eventType ": "workplacesChanged"
}
}
Expand
titleНотификация об изменении структуры РМ Получение списка терминалов в ЛК МТТ Бизнес

Описание
Нотификация об изменении структуры РМ в ЛК МТТ Бизнес.
Параметры нотификации

Параметр

Описание/значение

Event

Тип нотификации. vpbxNotifications – нотификация об изменении в структуре ВАТС

eventType

numbersChanged

Expand
titleНотификация об изменении настроек в ЛК МТТ Бизнес

Параметр

Описание/значение

Event

Тип нотификации. vpbxNotifications – нотификация об изменении в структуре ВАТС

eventType

workplacesChanged

Методы для работы с вызовами

Группа методов для работы с вызовами позволяет получать информацию о вызовах и их состояниях, осуществлять управление вызовами, настраивать режим «парковки» для внешних номеров.

Для всех методов используется единый адрес для отправки запросов: https://openapi.mtt.ru

Для получения нотификаций необходимо настроить сервер по адресу Redirect URI указанному при подключении интеграции в ЛК МТТ Бизнес и по пути /events нужно настроить слушателя событий (обработчик POST запросов). Дополнительно специально подписываться нигде не нужно, вы будете получать все события на свой сервер redirect_uri/events.

Описание
Производит инициализацию вызова с использованием пользовательского РМ или терминала и вызов указанного в запросе номера. Алгоритм работы ВАТС:

  1. ВАТС инициирует вызов на рабочее место Оператора (параметр callerId).
  2. Дожидается принятия вызова оператором ("поднятия трубки"). Если Оператор не отвечает в течении одной минуты, то дальнейшая работа метода прерывается.
  3. После успешного ответа Оператора, ВАТС инициирует второй исходящий вызов на номер абонента (параметр calleeId) и производит объединение вызовов. 

Необходимо учесть последовательность: второе плечо (вызов на calleeId) осуществляется только после ответа «первого плеча» (SIP ID РМ callerId).

Параметр callerId обычно "подтягивается" из CRM системы по данным текущего рабочего места Оператора настроенного в CRM системе.

Адрес для отправки запроса

https://openapi.mtt.ru

Параметры
POST/ makeCall

Пример запроса
{
"params": {
"calleeId": "89219462761",
"callerId": "883140582526566"
}
}
Пример ответа
{
"result": {
"call": {
"id": "7NKe6!8fa1FMSlc6ypZdb1GSV6ZN@10.133.51.137"
},
"success": 1
},
}

Описание
Завершает плечо вызова, что позволяет продолжить обработку по стандартному маршруту, который настроен в ЛК ВАТС МТТ Бизнес. Данной командой можно прекратить «парковку» вызова, так как в момент парковки создаётся дополнительное плечо.

Адрес для отправки запроса

https://openapi.mtt.ru

Параметры
POST/ terminateCall

Пример запроса
{
"params": {
"call": {
"id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o",
"tag": "133609"
},
"transportId": "10.133.51.137:5070"
}
}
Пример ответа
{
"result": {
"success": 1
}
}
Expand
titleИнициализация (оригинация) входящего вызова)

Параметр

Описание/значение

callerId

SIP ID РМ (не терминала, только РМ) с которого осуществляется вызов. На этот SIP ID будет создано первое плечо. Как только пользователь ответит на вызов, то будет создаваться второе плечо в сторону вызываемого номера.

calleeId

Вызываемый номер (Абонент Б)

Expand
titleКоманда завершения плеча вызова

Параметр

Описание/значение

Call

Идентификатор вызова

call/id

Call-ID - Идентификатор плеча вызова

call/tag

Tag вызова. Дополнительный идентификатор вызова

transportId

Внутренний идентификатор транспорта из нотификации

Expand
titleКоманда перевода вызова

Описание
Выполняет перевод (трансфер) вызова на указанный номер (SIP ID). Данный метод используется для управления вызовами и осуществления альтернативного распределения вызовов, взамен настроенного в ЛК МТТ Бизнес. Возможно два варианта использования:

  • перевод уже отвеченного вызова во время разговора. Пока не ответит номера Абонента Б, в линии будет играть мелодия ожидания.
  • перевод ещё не отвеченного вызова. Вызывающий абонент при этом слышит обычные гудки (КПВ). При реализации кейса "маршрутизация на персонального менеджера", сначала необходимо получить нотификацию с информацией о вызове и затем выполнить данный метод для его перевода на необходимое рабочее место. 

Адрес для отправки запроса:
Получение списка терминалов (локаций) ЛС МТТ Бизнес с привязкой к РМ. Для работы используется auth_token в соответствии с протоколом OAuth 2.0.

Адрес для отправки запроса:

https://openapi.mtt.ru

Параметры:
GET / terminalsInfo
Параметры ответа:

Параметр

Описание/значение

Total

Общее количество РМ в ответе

terminalsList

Массив РМ с их описанием

terminalsList / terminale

SIP ID терминала

terminalsList / workplace

SIP ID РМ

Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "result": {
        "total": 1,
        "terminals_list": [
            {
                "terminal": "883140777380595",
                "workplace": "883140777380595"
            }
        ]
    }
}



Expand
titleНотификация об изменении структуры РМ в ЛК МТТ Бизнес

Описание:
Нотификация об изменении структуры РМ в ЛК МТТ Бизнес.
Параметры нотификации:

Параметр

Описание/значение

Event

Тип нотификации. vpbxNotifications – нотификация об изменении в структуре ВАТС

eventType

numbersChanged

Пример нотификации:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "event": "vpbxNotifications",
    "result": {
        "eventType": "numbersChanged"
    }
}



Expand
titleНотификация об изменении настроек в ЛК МТТ Бизнес

Описание:
Нотификация об изменении структуры РМ в ЛК МТТ Бизнес. Возникает при изменении настроек в ЛК МТТ Бизнес.
Параметры нотификации:

Параметр

Описание/значение

Event

Тип нотификации. vpbxNotifications – нотификация об изменении в структуре ВАТС

eventType

workplacesChanged


Пример нотификации:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "event": "vpbxNotifications",
    "result": {
        " eventType ": "workplacesChanged"
    }
}


Методы для работы с вызовами

Группа методов для работы с вызовами позволяет получать информацию о вызовах и их состояниях, осуществлять управление вызовами, настраивать режим «парковки» для внешних номеров.

Для всех методов используется единый адрес для отправки запросов: https://openapi.mtt.ru

Для получения нотификаций необходимо настроить сервер по адресу Redirect URI указанному при подключении интеграции в ЛК МТТ Бизнес и по пути /events нужно настроить слушателя событий (обработчик POST запросов). Дополнительно специально подписываться нигде не нужно, вы будете получать все события на свой сервер redirect_uri/events.

Пример запроса
Expand
titleИнициализация (оригинация) входящего вызова

Описание:
Производит инициализацию вызова с использованием пользовательского РМ или терминала и вызов указанного в запросе номера. Алгоритм работы ВАТС:

  1. ВАТС инициирует вызов на рабочее место Оператора (параметр callerId).
  2. Дожидается принятия вызова оператором ("поднятия трубки"). Если Оператор не отвечает в течении одной минуты, то дальнейшая работа метода прерывается.
  3. После успешного ответа Оператора, ВАТС инициирует второй исходящий вызов на номер абонента (параметр calleeId) и производит объединение вызовов. 

Необходимо учесть последовательность: второе плечо (вызов на calleeId) осуществляется только после ответа «первого плеча» (SIP ID РМ callerId).

Параметр callerId обычно "подтягивается" из CRM системы по данным текущего рабочего места Оператора настроенного в CRM системе.

Адрес для отправки запроса:

https://openapi.mtt.ru

Параметры:
POST/ transferCallmakeCall

Параметр

Описание/значение

call

Идентификатор вызова

call/id

Call-ID - Идентификатор плеча вызова

call/tag

Tag вызова. Дополнительный идентификатор вызова

calleeId

Номер (SPI ID) Абонента Б 

transportId

Внутренний идентификатор транспорта из нотификации

callerId

SIP ID РМ (не терминала, только РМ) с которого осуществляется вызов. На этот SIP ID будет создано первое плечо. Как только пользователь ответит на вызов, то будет создаваться второе плечо в сторону вызываемого номера.

calleeId

Вызываемый номер (Абонент Б)

Пример запроса:
{
"params": {
"callcalleeId": {
"id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o"89219462761",
"tagcallerId": "133609883140582526566"
},
" calleeId ": "883140582526566",
"transportId": "10.133.51.137:5070"
}}

Code Block
Пример ответа

Описание
Устанавливает или снимает внешний номер(а) с парковки. Если у внешнего номера активирована «парковка», то при поступлении входящего вызова он не распределяется по логике ВАТС МТТ Бизнес, а на 5 секунд устанавливается на «парковку». Нотификация об этом передаётся по API во внешнее приложение. В течении этих 5 секунд по API ожидается команда перераспределения входящего вызова. Если в течении 5 секунд команды на перенаправление вызова не последовало, то задействуется ранее настроенная для номера логика распределения вызов в ВАТС МТТ Бизнес. При помощи данного метода реализуется кейс «маршрутизация на персонального менеджера».

Адрес для отправки запроса

https://openapi.mtt.ru

Параметры
POST / setParkingNumbers
Параметры нотификации

Параметр

Описание/значение

numbers

Массив номеров из внешней нумерации клиента

isParking

True, если устанавливается

*Пример запроса* \{ "params": \{ "numbers": \["880023213", "880034344"\], "isParking": true \} \} *Пример ответа* \\ \{
Wiki Markup
theme
{
"result": {
"success": 1
}
} Expand
titleУстановка/снятие парковки вызова для внешней нумерации
Midnight
curl --location --request POST 'https://openapi.mtt.ru/makeCall' \
--header 'Authorization: Bearer MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX' \
--header 'Content-Type: application/json' \
--data-raw '{
"params":
{ "callerId":"883140777777777", "calleeId": "89999999999" }
}'


Пример ответа:

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "result": {
        "call": {
            "id": "7NKe6!8fa1FMSlc6ypZdb1GSV6ZN@10.133.51.137"
        },
        "success": 1
   \}
\\

Нотификация о вызовах

...

 }
}



callInfo/выдачи команды на прекращение «парковки» и отправки вызова по маршруту, который настроен в логике распределения вызовов ВАТС МТТ Бизнес. *Пример* *нотификации* \{ "event": "callNotifications", "result": \{ "callInfo": \{ "call": \{ "id": "c166e238a4c211ea9d373863bb43daf8_00015ED635780FC7~1o", "tag": "hswdfry52vmykfla____.o" \}, "callee": \{ "accountId": "74996497803", "centrexId": "67821426",
Expand
titleОбщие параметры нотификации

Параметр

Описание/значение

Event

Тип нотификации. callNotifications для нотификации о вызовах

callInfo

Информация по вызову

callInfo/call

Идентификатор вызова

Команда завершения плеча вызова

Описание:
Завершает плечо вызова, что позволяет продолжить обработку по стандартному маршруту, который настроен в ЛК ВАТС МТТ Бизнес. Данной командой можно прекратить «парковку» вызова, так как в момент парковки создаётся дополнительное плечо.

Адрес для отправки запроса:

https://openapi.mtt.ru

Параметры:
POST/ terminateCall

Описание
Сообщение о начале входящего вызова.
При поступлении входящего вызова на внешнюю нумерацию пользователя, вызов «паркуется» на 5 сек для принятия решения о его последующем перераспределении. При «парковке» создается отдельное «плечо» вызова, которое передается в сообщении.
Сообщение предназначено для:

  • выполнения необходимых проверок, анализа параметров и создания сущностей.
  • перенаправления вызова на РМ пользователя ВАТС.
  • Wiki Markup

    Параметр

    Описание/значение

    Call

    Идентификатор вызова

    call/id

    Call-ID - Идентификатор плеча вызова

    callInfo/

    call/tag

    Tag вызова. Дополнительный идентификатор вызова

    callInfo/callee

    Описание Абонента Б

    callInfo/caller

    Описание Абонента А

    callInfo/startTime

    Время операции

    callInfo/state

    trying – пытаемся дозвониться,
    connected – соединен,
    finished - закончен,
    recorded - записан,
    showing - показывается,
    hiding - скрывается

    callInfo/transportId

    Внутренний идентификатор транспорта

    callInfo/type

    Incoming – входящий,
    Outgoing - исходящий

    callInfo/duration

    Длительность вызова

    callInfo/{callee,caller}/accountId

    Идентификатор аккаунта терминала

    callInfo/{callee,caller}/centrexId

    Идентификатор пользователя в МТТ Бизнес. Одинаковый для всех запросов в рамках одного пользователя.

    callInfo/{callee,caller}/displayId

    Отображаемый идентификатор

    callInfo/{callee,caller}/dispayName

    Отображаемое имя

    callInfo/{callee,caller}/forwarderList

    Список идентификаторов, через которые прошел вызов до получения сообщения

    callInfo/{callee,caller}/id

    SIP ID ВАТС (если есть)

    callInfo/duration

    Длительность вызова при завершении

    сallInfo/ reason

    Текст причины окончания вызова

    сallInfo/ reasonCode

    Код причины окончания вызова

    сallInfo/urlRecord

    Ссылка на запись разговора

    Expand
    titleНотификация о поступлении входящего вызова

    transportId

    Внутренний идентификатор транспорта из нотификации


    Пример запроса:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "params": {
            "call": {
                "id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o",
                "tag": "133609"
            },
            "transportId": "10.133.51.137:5070"
        }
    }


    Пример ответа:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "result": {
            "success": 1
        }
    }



    Expand
    titleКоманда перевода вызова

    Описание:
    Выполняет перевод (трансфер) вызова на указанный номер (SIP ID). Данный метод используется для управления вызовами и осуществления альтернативного распределения вызовов, взамен настроенного в ЛК МТТ Бизнес. Возможно два варианта использования:

    • перевод уже отвеченного вызова во время разговора. Пока не ответит номера Абонента Б, в линии будет играть мелодия ожидания.
    • перевод ещё не отвеченного вызова. Вызывающий абонент при этом слышит обычные гудки (КПВ). При реализации кейса "маршрутизация на персонального менеджера", сначала необходимо получить нотификацию с информацией о вызове и затем выполнить данный метод для его перевода на необходимое рабочее место. 

    Адрес для отправки запроса:

    https://openapi.mtt.ru

    Параметры:
    POST/transferCall

    Параметр

    Описание/значение

    call

    Идентификатор вызова

    call/id

    Call-ID - Идентификатор плеча вызова

    call/tag

    Tag вызова. Дополнительный идентификатор вызова

    calleeId

    Номер (SPI ID) Абонента Б 

    transportId

    Внутренний идентификатор транспорта из нотификации

    Пример запроса:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "params": {
            "call": {
                "id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o",
                "tag": "133609"
            },
            " calleeId ": "883140582526566",
            "transportId": "10.133.51.137:5070"
        }
    }


    Пример ответа:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "result": {
            "success": 1
        }
    }



    Expand
    titleУстановка/снятие парковки вызова для внешней нумерации

    Описание:
    Устанавливает или снимает внешний номер(а) с парковки. Если у внешнего номера активирована «парковка», то при поступлении входящего вызова он не распределяется по логике ВАТС МТТ Бизнес, а на 5 секунд устанавливается на «парковку». Нотификация об этом передаётся по API во внешнее приложение. В течении этих 5 секунд по API ожидается команда перераспределения входящего вызова. Если в течении 5 секунд команды на перенаправление вызова не последовало, то задействуется ранее настроенная для номера логика распределения вызов в ВАТС МТТ Бизнес. При помощи данного метода реализуется кейс «маршрутизация на персонального менеджера».

    Адрес для отправки запроса:

    https://openapi.mtt.ru

    Параметры:
    POST / setParkingNumbers
    Параметры нотификации

    Параметр

    Описание/значение

    numbers

    Массив номеров из внешней нумерации клиента

    isParking

    True, если устанавливается

    Пример запроса:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "params": {
            "numbers": [
                "880023213",
                "880034344"
            ],
            "isParking": true
        }
    }

    Пример ответа:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "success": 1
    }


    Нотификация о вызовах

    Методы нотификации о вызовах предназначены для получения информации о начале и окончании вызова, прохождении вызова по РМ пользователей МТТ Бизнес и прикрепления записи разговора.

    Expand
    titleОбщие параметры нотификации


    Параметр

    Описание/значение

    Event

    Тип нотификации. callNotifications для нотификации о вызовах

    callInfo

    Информация по вызову

    callInfo/call

    Идентификатор вызова

    callInfo/call/id

    Call-ID - Идентификатор плеча вызова

    callInfo/call/tag

    Tag вызова. Дополнительный идентификатор вызова

    callInfo/callee

    Описание Абонента Б

    callInfo/caller

    Описание Абонента А

    callInfo/startTime

    Время операции

    callInfo/state

    trying – пытаемся дозвониться,
    connected – соединен,
    finished - закончен,
    recorded - записан,
    showing - показывается,
    hiding - скрывается

    callInfo/transportId

    Внутренний идентификатор транспорта

    callInfo/type

    Incoming – входящий,
    Outgoing - исходящий

    callInfo/duration

    Длительность вызова

    callInfo/{callee,caller}/accountId

    Идентификатор аккаунта терминала

    callInfo/{callee,caller}/centrexId

    Идентификатор пользователя в МТТ Бизнес. Одинаковый для всех запросов в рамках одного пользователя.

    callInfo/{callee,caller}/displayId

    Отображаемый идентификатор

    callInfo/{callee,caller}/dispayName

    Отображаемое имя

    callInfo/{callee,caller}/forwarderList

    Список идентификаторов, через которые прошел вызов до получения сообщения

    callInfo/{callee,caller}/id

    SIP ID ВАТС (если есть)

    callInfo/duration

    Длительность вызова при завершении

    сallInfo/ reason

    Текст причины окончания вызова

    сallInfo/ reasonCode

    Код причины окончания вызова

    сallInfo/urlRecord

    Ссылка на запись разговора



    Expand
    titleНотификация о поступлении входящего вызова

    Описание:
    Сообщение о начале входящего вызова.
    При поступлении входящего вызова на внешнюю нумерацию пользователя, вызов «паркуется» на 5 сек для принятия решения о его последующем перераспределении. При «парковке» создается отдельное «плечо» вызова, которое передается в сообщении.
    Сообщение предназначено для:

    • выполнения необходимых проверок, анализа параметров и создания сущностей.
    • перенаправления вызова на РМ пользователя ВАТС.
      выдачи команды на прекращение «парковки» и отправки вызова по маршруту, который настроен в логике распределения вызовов ВАТС МТТ Бизнес.


      Пример нотификации:

      Code Block
      languagejava
      themeMidnight
      titleJSON
      linenumberstrue
      {
          "event": "callNotifications",
          "result": {
              "callInfo": {
                  "call": {
                      "id": "c166e238a4c211ea9d373863bb43daf8_00015ED635780FC7~1o",
                      "tag": "hswdfry52vmykfla____.o"
                  },
                  "callee": {
                      "accountId": "74996497803",
                      "centrexId": "67821426",
                      "displayId": "74996497803",
                      "displayName": "",
                      "forwarderList": [],
                      "id": "74996497803"
                  },
                  "caller": {
                      "accountId": "78124241500@pstn",
                      "displayId": "78124241500",
                      "forwarderList": [],
                      "id": "78124241500"
                  },
                  "startTime": "2020-06-02 11:18:16",
                  "state": "trying",
                  "transportId": "10.133.33.136:5073",
                  "type": "incoming"
              }
          }
      }



    Expand
    titleНотификация о начале исходящего вызова

    Описание: Сообщение о начале исходящего вызова.

    Пример нотификации:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": {
            "callInfo": {
                "call": {
                    "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
                    "tag": "sdfe2n901-281028329"
                },
                "callee": {
                    "displayId": "+79219462761",
                    "forwarderList": [],
                    "id": "+79219462761"
                },
                "caller": {
                    "accountId": "883140582526566",
                    "centrexId": "48212857",
                    "displayId": "78005560251",
                    "forwarderList": [],
                    "id": "78005560251"
                },
                "startTime": "2020-06-24 15:01:45",
                "state": "trying",
                "transportId": "10.133.51.137:5070",
                "type": "outgoing"
            }
        }
    }



    Expand
    titleНотификация о готовности записи разговора

    Описание:
    Сообщение о готовности записи разговора. Запись разговора формируется в виде файла в формате *.mp3, который может быть скачан по указанной в нотификации ссылке. Файл имеет срок хранения, по умолчанию равный 90 дням.
    Пример нотификации:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": {
            "callInfo": {
                "accountId": "883140777446532",
                "call": {
                    "id": "SDvapac01-3bd7d743109f2668f16de50c9ab53559100@127.0.0.1"
                },
                "state": "recorded",
                "urlRecord": "https://<serverhost>/<path>/<filename>.mp3"
            }
        }
    }



    Expand
    titleНотификация о поступлении вызова на РМ оператора

    Описание: Сообщение о перенаправлении вызова на РМ пользователя МТТ Бизнес.
    Пример нотификации:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": {
            "callInfo": {
                "call": {
                    "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
                    "tag": "sdfe2n901-281028329"
                },
                "callee": {
                    "displayId": "+79219462761",
                    "forwarderList": [],
                    "id": "+79219462761"
                },
                "caller": {
                    "accountId": "883140582526566",
                    "centrexId": "48212857",
                    "displayId": "78005560251",
                    "forwarderList": [],
                    "id": "78005560251"
                },
                "startTime": "2020-06-24 15:01:45",
                "state": "showing",
                "transportId": "10.133.51.137:5070",
                "type": "outgoing"
            }
        }
    }



    Expand
    titleНотификация о соединении вызова с РМ оператора

    Описание: Сообщение о соединении вызова с РМ пользователя МТТ Бизнес.

    Пример нотификации:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": {
            "callInfo": {
                "call": {
                    "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
                    "tag": "sdfe2n901-281028329"
                },
                "callee": {
                    "displayId": "79219462761",
                    "forwarderList": [],
                    "id": "79219462761"
                },
                "caller": {
                    "accountId": "883140582526566",
                    "centrexId": "48212857",
                    "displayId": "
    74996497803
    78005560251",
              
    "displayName": "",
          "forwarderList": 
    \
    [
    \
    ],
        
    "id":
     
    "74996497803"
       
    \},
       
    "caller":
     
    \{
        "
    accountId
    id": "
    78124241500@pstn
    78005560251"
    ,
    
        
    "displayId": "78124241500",
           
    "forwarderList": \[\]
     },
         
    "id":
     
    "78124241500"
       
    \},
       "startTime": "2020-06-
    02
    24 
    11
    15:
    18
    01:
    16
    55",
                "state": "
    trying",
    connected",
                "transportId": "10.133.
    33
    51.
    136
    137:
    5073
    5070",
                "type": "
    incoming
    outgoing"
      
    \
          }
     
    \
       }
    
    \
    }



    *Описание* Сообщение о начале исходящего вызова. *Пример* *нотификации* \{
    Expand
    titleНотификация о начале исходящего вызова
    Wiki Markup
    об окончании вызова на РМ оператора

    Описание: Сообщение об окончании вызова на РМ пользователя МТТ Бизнес, например, в случае его перевода на другое РМ.

    Пример нотификации:

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": \{
            "callInfo": \{
                "call": \{
                    "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
                    "tag": "sdfe2n901-281028329"
                \},
    
                "callee": \{
                    "displayId": "+79219462761",
                    "forwarderList": \[\],
                    "id": "+79219462761"
       \         },
                "caller": \{
                    "accountId": "883140582526566",
     "883140582526566",
                    "centrexId": "48212857",
                    "displayId": "78005560251",
                    "forwarderList": \[\],
                    "id": "78005560251"
       \},
       "startTime": "2020-06-24 15:01:45",
       "state": "trying" },
       "transportId": "10.133.51.137:5070",
             "typestartTime": "outgoing"2020-06-24 15:01:45",
      \}
     \}
    \}
    \\
    Expand
    titleНотификация о готовности записи разговора
    Описание
    Сообщение о готовности записи разговора. Запись разговора формируется в виде файла в формате *.mp3, который может быть скачан по указанной в нотификации ссылке. Файл имеет срок хранения, по умолчанию равный 90 дням.
    Пример нотификации
    {
    "event": "callNotifications",
    "result": {
    "callInfo": {
    "accountId": "883140777446532",
    "call": {
    "id": "SDvapac01-3bd7d743109f2668f16de50c9ab53559100@127.0.0.1"
    },
    "state": "recorded",
    "urlRecord": "https://openapi-stage.mtt.ru/records/34380859/2020/12/18/9B58D12A_EC9D5E37_56485D37_0EE913E5.mp3"
    }
    }
    }
    Expand
    titleНотификация о поступлении вызова на РМ оператора
    Wiki Markup
    *Описание*
    Сообщение о перенаправлении вызова на РМ пользователя МТТ Бизнес.
    *Пример* *нотификации*
    \{
               "state": "hiding",
                "transportId": "10.133.51.137:5070",
                "type": "outgoing"
            }
        }
    }



    Expand
    titleНотификация об окончании вызова

    Описание: Вызов завершён в рамках ВАТС МТТ Бизнес.

    Примеры нотификации:

    Успешный входящий вызов завершён на стороне пользователя МТТ Бизнес.

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "event": "callNotifications",
        "result": \{
            "callInfo": \{
                "call": \{
    {
                    "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1c166e238a4c211ea9d373863bb43daf8_00015ED635780FC7~2o",
                    "tag": "sdfe2n901-281028329hswddry52ykfcb2a____.o"
       \},
       "callee": \{
        "displayId": "+79219462761" },
          "forwarderList": \[\],
          "idcallee": "+79219462761"
    {
           \},
       "caller": \{
          "accountId": "883140582526566883140777828305",
                    "centrexId": "4821285767821426",
                    "displayId": "78005560251883140777828305",
        "forwarderList": \[\],
        "id": "78005560251"
       \},
       "startTimedisplay_name": "2020-06-24 15:01:4574996497803",
       "state": "showing",
       "transportId": "10.133.51.137:5070",
             "typeextensionId": "outgoing",
      \}
     \}
    \}
    Expand
    titleНотификация о соединении вызова с РМ оператора
    Wiki Markup
    *Описание*
    Сообщение о соединении вызова с РМ пользователя МТТ Бизнес.
    *Пример* *нотификации*
    \{
     "event": "callNotifications",
     "result": \{
      "callInfo": \{
       "call": \              "forwarderList": [
                        {
        "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
            "tag": "sdfe2n901-281028329"
       \},
       "callee": \{
        "displayIdid": "79219462761an_prd100275045-3881851",
          "forwarderList": \[\],
          "id": "79219462761"
       \},
       "caller": \{ },
        "accountId": "883140582526566",
        "centrexId": "48212857",
        "displayId": "78005560251",
        "forwarderList": \[\], {
        "id": "78005560251"
       \},
       "startTime": "2020-06-24 15:01:55",
       "state": "connected",
       "transportId": "10.133.51.137:5070",
       "typeid": "outgoingscheme_prd100275045-3885981"
      \}
     \}
    \}
    \\
    Expand
    titleНотификация об окончании вызова на РМ оператора
    Wiki Markup
    *Описание*
    Сообщение об окончании вызова на РМ пользователя МТТ Бизнес, например, в случае его перевода на другое РМ.
    *Пример* *нотификации*
    \{
     "event": "callNotifications",
     "result": \{
      "callInfo": \{
       "call": \{
       }
                   "id": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1" ],
        "tag": "sdfe2n901-281028329"
       \},
       "callee": \{
        "displayIdid": "+79219462761883140777828305",
        "forwarderList": \[\],
          "id": "+79219462761"
       \},
       "caller": \{
             "accountIdcaller": "883140582526566",{
        "centrexId": "48212857",
           "displayId": "78005560251",
        "forwarderListaccountId": \[\]"78124241500@pstn",
        "id": "78005560251"
       \},
       "startTime": "2020-06-24 15:01:45",
       "statedisplayId": "hiding78124241500",
             "transportId       "forwarderList": "10.133.51.137:5070",
       "type[],
                    "id": "outgoing78124241500"
                \}
     \}
    \}
    \\
    Expand
    titleНотификация об окончании вызова
    Wiki Markup
    *Описание*
    Вызов завершён в рамках ВАТС МТТ Бизнес.
    *Пример нотификации*
    Успешный входящий вызов завершён на стороне пользователя МТТ Бизнес.
    \{
     "event": "callNotifications",
     "result": \{
      "callInfo": \{
       "call": \{
        "id": "c166e238a4c211ea9d373863bb43daf8_00015ED635780FC7~2o,
                "duration": 4,
                "reason": "Answer leg disconnected",
                "reasonCode": null,
                "state": "finished",
                "transportId": "10.133.33.136:5073",
        "tag        "type": "hswddry52ykfcb2a____.oincoming"
       \},
        "callee": \{ }
        "accountId": "883140777828305",}
    }

    Успешный исходящий вызов завершён на стороне вызываемого абонента.

    Code Block
    languagejava
    themeMidnight
    titleJSON
    linenumberstrue
    {
        "centrexIdevent": "67821426callNotifications",
        "displayIdresult": "883140777828305",
    {
            "display_namecallInfo": "74996497803",{
        "extensionId": "",
            "forwarderListcall": \[\{
                    "id": "an_prd100275045-3881851"SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.1",
         \},
         \{
          "idtag": "scheme_prd100275045sdfe2n901-3885981"
    281028329"
                \},
            \],
        "idcallee": "883140777828305"{
       \},
       "caller": \{
        "accountId": "78124241500@pstn",
        "displayId": "7812424150079219462761",
                    "forwarderList": \[\],
                    "id": "7812424150079219462761"
       \},
       "duration": 4,
       "reason": "Answer leg disconnected"},
        "reasonCode": null,
       "state": "finished",
       "transportIdcaller": "10.133.33.136:5073",{
       "type": "incoming"
        \}
     \}
    \}
    \\
    Успешный исходящий вызов завершён на стороне вызываемого абонента.
    \{
     "eventaccountId": "callNotifications883140582526566",
      "result": \{
        "callInfo": \{
       "call": \{
          "idcentrexId": "SDfe2n901-b510751695c9e53584301f0c0e8d98c9200@127.0.0.148212857",
        "tag": "sdfe2n901-281028329"
       \},
       "callee": \{
        "displayId": "7921946276178005560251",
        "forwarderList": \[\],
        "id": "79219462761"
       \},
       "callerforwarderList": \{
    [],
          "accountId": "883140582526566",
        "centrexId": "48212857",
        "displayIdid": "78005560251",
               "forwarderList": \[\] },
        "id": "78005560251"
         \},
       "duration": 3,
                "reason": "Originate leg disconnected",
                "reasonCode": null,
                "state": "finished",
                "transportId": "10.133.51.137:5070",
                "type": "outgoing"
           \ }
     \   }
    \}