call: recordResponse

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

発信者からの短い音声応答を録音します。

ボットはこれを使用して、応答を求めるメッセージが表示された後、発信者からの音声応答をキャプチャできます。

操作を処理する方法の詳細については、「 commsOperation」を参照してください。

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

このアクションは、通話全体を記録することを意図した操作ではありません。 記録の最大長は 2 分です。 記録はクラウド コミュニケーション プラットフォームによって永続的に保存されるのではなく、通話が終了した直後に破棄されます。 ボットは、完了した通知で指定された recordingLocation 値を使用して、記録操作が完了した後、すぐに記録をダウンロードする必要があります。

注: アプリケーションがアクセスする呼び出しや会議、またはそのメディア コンテンツから派生したデータからメディア コンテンツを記録したり、保持したりしてみることができます。 データ保護と通信の機密性に関して、お客様が地域の法令に準拠している必要があります。 詳細については、利用規約 を確認して、法律顧問にご相談ください。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) サポート対象外
委任 (個人用 Microsoft アカウント) サポート対象外
アプリケーション Calls.AccessMedia.All

HTTP 要求

POST /app/calls/{id}/recordResponse
POST /communications/calls/{id}/recordResponse

注: /app パスは廃止されます。 今後は、/communications パスを使用してください。

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-type application/json. Required.

要求本文

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

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

注: 最大記録時間が 5 分から 2 分に短縮されました。

応答

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

次の例は、この API を呼び出す方法を示しています。

例 1: 発信者からの短い音声応答を記録する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/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
Location: https://graph.microsoft.com/beta/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",
  "completionReason": null,
  "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",
        "recordingLocation": "https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad",
        "recordingAccessToken": "<access-token>",
        "completionReason": "stopToneDetected"
      }
    }
  ]
}

例 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)

注: アプリケーションがアクセスする呼び出しや会議、またはそのメディア コンテンツから派生したデータからメディア コンテンツを記録したり、保持したりしない場合があります。 データ保護と通信の機密性に関して、お客様が地域の法令に準拠している必要があります。 詳細については、利用規約 を確認して、法律顧問にご相談ください。