call: recordResponse

名前空間: microsoft.graph

呼び出し元からの短い音声応答を録音します。 ボットはこれを利用して、応答を求められた後に発信者からの音声応答をキャプチャできます。

操作を処理する方法の詳細については、commsOperation を確認してください

メモ:これは、serviceHostedMediaConfig で開始される呼び出しでのみサポートされます。

このアクションは、呼び出し全体を記録するためのものではありません。 記録の最大長は 2 分です。 記録はクラウド通信プラットフォームによって永続的に保存されず、通話が終了した直後に破棄されます。 完了した通知で指定された recordingLocation 値を使用して、記録操作が完了した後、ボットは記録を迅速にダウンロードする必要があります。

メモ: 収集されたメディアは保持 されない 場合があります。 通話記録に関しては、お客様が地域の法令に準拠していることを確認してください。 詳細については、法律顧問にお問い合わせください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) サポートされていません。 サポートされていません。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション Calls.AccessMedia.All 注意事項なし。

HTTP 要求

POST /communications/calls/{id}/recordResponse

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。

要求本文

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 説明
プロンプト mediaPrompt コレクション 再生するプロンプト。 サポートされる mediaPrompt コレクションの最大サイズは 1 です。
bargeInAllowed ブール型 true の場合、recordResponse 要求は、他の既存のキューに登録されたレコード/現在処理されているレコード/playprompt 要求に割り込まれます。 既定値 = false。
initialSilenceTimeoutInSeconds Int32 タイムアウトして操作を失敗する前に、レコード応答操作を開始した時点から許可される最大初期無音 (ユーザーの無音)。 プロンプトを再生している場合、このタイマーはプロンプトの完了後に開始されます。 既定値 = 5 秒、最小 = 1 秒、最大 = 120 秒
maxSilenceTimeoutInSeconds Int32 ユーザーが話し始めた後に許可される最大無音 (一時停止) 時間。 既定値 = 5 秒、最小 = 1 秒、最大 = 120 秒。
maxRecordDurationInSeconds Int32 記録を停止する前の recordResponse 操作の最大期間。 既定値 = 5 秒、最小 = 1 秒、最大 = 120 秒。
playBeep ブール型 true の場合は、メッセージの記録を開始できることをユーザーに示すビープ音を再生します。 既定値 = true。
stopTones String collection 録音を終了するように指定されたトーンを停止します。
clientContext String 一意のクライアント コンテキスト文字列。 最大制限は 256 文字です。

応答

このメソッドは、この要求用に 200 OK 作成された recordOperation に URI を含む応答コードと Location ヘッダーを返します。

次の例は、この 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)