Поделиться через


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)