Page tree

Versions Compared

Key

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

...

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

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

Параметр

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

client_id

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

redirect_uri

URL для переадресации указанный на этапе настройки, например: https://oauth.myanycrm.ru

scope

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

response_type

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

state

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

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

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://oauth.mtt.ru/oauth/token

Параметр

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

client_id

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

client_secret

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

code

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

redirect_uri

URL для переадресации, указанный на этапе настройки, например: https://oauth.myanycrm.ru

scope

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

grant_type

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

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

Code Block
themeMidnight
curl --location --request POST 'https://oauth.mtt.ru/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.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.readwrite",
    "token_type": "Bearer"
}


...

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"
}


...

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
            }
        ]
    }
}


...

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

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

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

https://openapi.mtt.ru

Параметры:
GET / workPlacesInfo

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

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

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

Параметр

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

Total

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

workplacesList

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

workplacesList/ name

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

workplacesList/ workplace

SIP ID РМ ВАТС

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

Code Block
languagejava
themeMidnight
titleJSON
linenumberstrue
{
    "result": {
        "total": 1,
        "workplacesList": [
            {
                "workplace": "883140777716581",
                "name": "Администратор"
            }
        ]
    }
}


...

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

Описание:
Получение списка терминалов (локаций) ЛС МТТ Бизнес с привязкой к РМ. Для работы используется 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Инициализация (оригинация) входящего вызова

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

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

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

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

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

https://openapi.mtt.ru

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

Параметр

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

callerId

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

calleeId

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

Примечание: для получения списка РМ необходимо воспользоваться запросом GET /workPlacesInfo.

Пример запроса:
{
"params": {
"calleeId": "89219462761",
"callerId": "883140582526566"
}
}

Code Block
themeMidnight
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
    }
}


...

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

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

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

https://openapi.mtt.ru

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

Параметр

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

Call

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

call/id

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

call/tag

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

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Общие параметры нотификации


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

Эвенты отправляются на стандартный порт: 443/TCP


Параметр

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

Event

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

callInfo

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

callInfo/call

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

callInfo/call/id

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

callInfo/call/tag

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

callInfo/callee

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

callInfo/caller

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

callInfo/startTime

Время операцииначала звонка (необходимо брать из нотификации trying)

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

Длительность вызова при завершении (в секундах, необходимо брать из нотификации finished)

сallInfo/ reason

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

сallInfo/ reasonCode

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

сallInfo/urlRecord

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


...