call: recordResponse

Пространство имен: microsoft.graph

Запись короткого голосового ответа звонящего. Бот может использовать его для записи голосового ответа от вызывающего абонента после того, как ей будет предложено ответ.

Дополнительные сведения об обработке операций см. в статье commsOperation.

Заметка: Это поддерживается только для вызовов , инициированных с помощью serviceHostedMediaConfig.

Это действие не предназначено для записи всего вызова. Максимальная продолжительность записи составляет 2 минуты. Запись не сохраняется на постоянной основе платформой Cloud Communications Platform и удаляется вскоре после завершения вызова. Бот должен быстро скачать запись после завершения операции записи, используя значение recordingLocation, указанное в уведомлении о завершении.

Заметка: Любой собранный носитель не может сохраняться. Убедитесь, что вы соответствуете законам и нормативным актам вашего района, когда дело доходит до записи звонков. Для получения дополнительной информации обратитесь к адвокату.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet
✅ ✅ ✅ ❌

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Не поддерживается. Не поддерживается.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение Calls.AccessMedia.All Недоступно.

HTTP-запрос

POST /communications/calls/{id}/recordResponse

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.

Параметр Тип Описание
Запросы Коллекция mediaPrompt Подсказки для воспроизведения. Максимальный поддерживаемый размер коллекции mediaPrompt — 1.
bargeInAllowed Логический Если задано значение true, запрос recordResponse будет перемещен в другие существующие запросы в очереди или обработки записей и воспроизведения. По умолчанию = false.
initialSilenceTimeoutInSeconds Int32 Максимальное начальное молчание (молчание пользователя), разрешенное с момента запуска операции ответа записи до истечения времени ожидания и сбоя операции. Если мы воспроизводим запрос, этот таймер запускается после завершения запроса. По умолчанию — 5 секунд, мин — 1 секунда, максимум — 120 секунд.
maxSilenceTimeoutInSeconds Int32 Максимальное время молчания (паузы), разрешенное после того, как пользователь начал говорить. По умолчанию — 5 секунд, мин — 1 секунда, максимум — 120 секунд.
maxRecordDurationInSeconds Int32 Максимальная длительность операции recordResponse до остановки записи. По умолчанию — 5 секунд, мин — 1 секунда, максимум — 120 секунд.
playBeep Логический Если значение равно true, воспроизводит звуковой сигнал, указывающий пользователю, что он может начать запись сообщения. По умолчанию = true.
stopTones Коллекция строк Стоп-тона, указанные для завершения записи.
clientContext String Строка уникального контекста клиента. Максимальное ограничение — 256 символов.

Отклик

Этот метод возвращает 200 OK код ответа и заголовок Location с универсальным кодом ресурса (URI) для объекта recordOperation, созданного для этого запроса.

Пример

В приведенном ниже примере показано, как вызывать этот API.

Пример 1. Запись короткого звукового ответа от вызывающего объекта

Запрос

Ниже показан пример запроса.

POST https://graph.microsoft.com/v1.0/communications/calls/{id}/recordResponse
Content-Type: application/json
Content-Length: 394

{
  "bargeInAllowed": true,
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
  "prompts": [
    {
      "@odata.type": "#microsoft.graph.mediaPrompt",
      "mediaInfo": {
        "uri": "https://cdn.contoso.com/beep.wav",
        "resourceId": "1D6DE2D4-CD51-4309-8DAA-70768651088E"
      }
    }
  ],
  "maxRecordDurationInSeconds": 10,
  "initialSilenceTimeoutInSeconds": 5,
  "maxSilenceTimeoutInSeconds": 2,
  "playBeep": true,
  "stopTones": [ "#", "1", "*" ]
}
Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-Type: application/json
Location: https://graph.microsoft.com/v1.0/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5

{
  "@odata.type": "#microsoft.graph.recordOperation",
  "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
  "status": "running",
  "resultInfo": null,
  "recordingLocation": null,
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c"
}
Уведомление — операция завершена
POST https://bot.contoso.com/api/calls
Content-Type: application/json
{
  "@odata.type": "#microsoft.graph.commsNotifications",
  "value": [
    {
      "@odata.type": "#microsoft.graph.commsNotification",
      "changeType": "deleted",
      "resourceUrl": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
      "resourceData": {
        "@odata.type": "#microsoft.graph.recordOperation",
        "@odata.id": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
        "@odata.etag": "W/\"54451\"",
        "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
        "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
        "status": "completed",
        "resultInfo": {
          "@odata.type": "#microsoft.graph.resultInfo",
          "code": 200,
          "subcode": 8515,
          "message": "Action completed, max record duration reached."
        },
        "recordingLocation": "https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad",
        "recordingAccessToken": "<access-token>"
      }
    }
  ]
}

Пример 2. Получение файла записи

Заметка: Вы не можете записывать или иным образом сохранять содержимое мультимедиа из звонков или собраний, к которым обращается ваше приложение, или данные, полученные из этого содержимого мультимедиа. Убедитесь, что вы соответствуете законам и нормативным актам вашей области в отношении защиты данных и конфиденциальности сообщений. Дополнительные сведения можно узнать из условий использования и обратившись за юридической помощью.

Запрос
GET https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad
Authorization: Bearer <recordingAccessToken>
Отклик
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Thu, 17 Jan 2019 01:46:37 GMT
Content-Type: application/octet-stream

(application/octet-stream of size 160696 bytes)