Page tree

Versions Compared

Key

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

...

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Получение информации о структуре внешней нумерации ЛК МТТ Бизнес

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

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

https://openapi.mtt.ru

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

Параметр

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

total

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

numbersList

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

numbersList / number

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

numbersList / type

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


Wiki Markup
\\
*Пример ответа*
\{
 "result": \{
  "total": 1,
  "numbersList": \[\{
   "number": "78005560251",
   "type": null
  \}\]
 \}
\}


...

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

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

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

https://openapi.mtt.ru

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

Параметр

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

Total

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

workplacesList

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

workplacesList/ name

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

workplacesList/ workplace

SIP ID РМ ВАТС


Wiki Markup
\\
*Пример ответа*
\{
 "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 РМ


Wiki Markup
\\
\{
 "result": \{
  "total": 1,
  "terminals_list": \[\{
   "terminal": "883140777380595",
   "workplace": "883140777380595"
  \}\]
 \}
\}


...

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

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

Параметр

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

Event

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

eventType

numbersChanged


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

...

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

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

Параметр

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

Event

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

eventType

workplacesChanged


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

...

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

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

Пример запроса
{
"params": {
"calleeId": "89219462761",
"callerId": "883140582526566"
}
}
Пример ответа
{
"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

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


Пример запроса
{
"params": {
"call": {
"id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o",
"tag": "133609"
},
"transportId": "10.133.51.137:5070"
}
}
Пример ответа
{
"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

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


Пример запроса
{
"params": {
"call": {
"id": "b9111e52e5d011e9aec7ac162d8cda20_00015D95DB072BFC_7022A1~2o",
"tag": "133609"
},
" calleeId ": "883140582526566",
"transportId": "10.133.51.137:5070"
}
}
Пример ответа
{
"result": {
"success": 1
}
}

...

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

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

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

https://openapi.mtt.ru

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

Параметр

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

numbers

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

isParking

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


Wiki Markup
*Пример запроса*
\{
 "params": \{
  "numbers": \["880023213", "880034344"\],
  "isParking": true
 \}
\}
*Пример ответа*
\\
\{ "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 сек для принятия решения о его последующем перераспределении. При «парковке» создается отдельное «плечо» вызова, которое передается в сообщении.
Сообщение предназначено для:

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

  • Wiki Markup
    выдачи команды на прекращение «парковки» и отправки вызова по маршруту, который настроен в логике распределения вызовов ВАТС МТТ Бизнес.
    *Пример* *нотификации*
    \{
     "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"
      \}
     \}
    \}


...