Голосовая почта

Обзор

Управляет голосовыми сообщениями, размещенными в ящике номера конкретной учетной записи SIP, прикрепленной к авторизованному пользователю.

Ящик голосовой почты имеет тот же номер, что и учетная запись, которой он принадлежит.
Доступ к нему осуществляется компонентом IVR-сценария "Голосовая почта".
Для того, чтобы оставить сообщение голосовой почты, используется код абонентской функции 'voicemail_send', при вызове номера которого необходимо номер дополнять номером ящика.
Как альтернатива, может быть создан сценарий IVR с паузой в 10-20 секунд перед снятием трубки, размещающий голосовую почту (самостоятельно или путем перевода на номер абонентской функции с расширением), и назначен в качестве параллельного номера.

Голосовая почта обслуживается микросервисом vmail.

Управление голосовой почтой (прослушивание, удаление) возможно также с помощью сценариев IVR и кода абонентской функции 'voicemail'.
При прослушивании сообщений с помощью телефона через код абонентской функции, происходит автоматическое изменение состояния сообщения из новых ("new") в прослушанные ("listened").

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

Коллекция по полному пути доступна пользователям для подписки на изменения через websocket subscr, а также на операции CRUD через websocket rest.
Подписка работает через коллекцию архива голосовых сообщений.

Запросы

HTTP verb Endpoint Описание

GET

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages

Получение списка сообщений голосовой почты

CLEAR

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages

Очистка ящика с голосовыми сообщениями

GET

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages/<Id>

Получение метаданных голосового сообщения

PATCH

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages/<Id>

Перемещение голосового сообщения в прослушанные

DELETE

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages/<Id>

Удаление голосового сообщения

GET

/rest/v1/user/sip/accounts/<AccountID>/voicemail_messages/<Id>/recording

Получение файла записи голосового сообщения

Для всех запросов:
Тип домена: рабочий

Получение списка сообщений голосовой почты

Возвращает список всех голосовоых сообщений из ящика учетной записи SIP, указанной с помощью идентификатора и прикрепленной к авторизованному пользователю.

В списке присутствуют как новые непрослушанные ранее сообщения, так и прослушанные.

Запрос

Пример запроса
GET /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "id": "20221011-110213255-13",
    "dt": "2022-10-11T13:54:36.307Z",
    "from_number": "891234567890",
    "status": "listened"
  },
  {
    "id": "20221011-135436307-13",
    "dt": "2022-10-11T13:54:36.307Z",
    "from_number": "13",
    "status": "new"
  }
]

Очистка ящика с голосовыми сообщениями

Удаляет все голосовые сообщения: и прослушанные, и непрослушанные.
Из ящика учетной записи SIP, указанной с помощью идентификатора и прикрепленной к авторизованному пользователю.

Запрос

Пример запроса
CLEAR /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Получение метаданных голосового сообщения

Запрос

Пример запроса
GET /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages/20221011-135436307-13 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "20221011-135436307-13",
  "dt": "2022-10-11T13:54:36.307Z",
  "from_number": "13",
  "status": "new"
}

Перемещение голосового сообщения в прослушанные

Изменяет статус существующего голосового сообщения, перемещая его в прослушанные.
Если это единственное непрослушанное сообщение, то на телефонном аппарате с активированной функцией MWI погаснет индикатор.

Запрос

Пример запроса
PATCH /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages/20221011-135436307-13 HTTP/1.1
Content-Type: application/json

{
  "status": "listened"
}

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "20221011-135436307-13",
  "dt": "2022-10-11T13:54:36.307Z",
  "from_number": "13",
  "status": "listened"
}

Удаление голосового сообщения

Удаляет указанное голосовое сообщение.
Если это единственное непрослушанное сообщение, то на телефонном аппарате с активированной функцией MWI погаснет индикатор.

Запрос

Пример запроса
DELETE /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages/20221011-135436307-13 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Получение файла записи голосового сообщения

Запрос

Пример запроса
GET /rest/v1/user/sip/accounts/c7e163c6-8b5e-cb6e-7bf4-441a912ff0b9/voicemail_messages/20221011-135436307-13/recording HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: media/x-wav

BINARY BODY OF RECORING