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/oauth2)

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/oauth&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/oauth2)

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 'Authorization: Bearer MMRLZJU5NTETMTNHZI0ZNZIYLWJHOTGTNJY1M2ZMM2YZNMYX' \
--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/oauth2' \
--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

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

(
)

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Инициализация (оригинация) входящего вызова)

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

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


Параметр

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

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

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


...