Alexa.VideoRecorderインターフェース
Alexa.VideoRecorderインターフェースは、指定したビデオアイテムの検索と録画予約、録画予約のキャンセル、DVRの残り録画容量の照会に使用するメッセージを提供します。現在再生中のコンテンツを録画する場合は、代わりにAlexa.RecordControllerインターフェースを実装してください。
VideoRecorderインターフェースでサポートされているロケールについては、Alexaインターフェースとサポートしている言語の一覧を参照してください。
Alexa.VideoRecorderインターフェースは、クラウド側の統合でのみ使用できます。ディレクティブ
このインターフェースのディレクティブには、検索および録画するコンテンツを指定するエンティティオブジェクトがそれぞれ含まれています。詳細については、ビデオコンテンツのエンティティタイプを参照してください。
SearchAndRecord
検索条件のセットを渡して、指定したビデオアイテムを検索および録画するようリクエストします。SearchAndRecordディレクティブが正常に処理された場合は、SearchAndRecord.Responseイベントで応答します。
ユーザー: アレクサ、来週の「グランド・ツアー」の新しいエピソードを録画して
例: 来週の「グランド・ツアー」の新しいエピソードを録画する
{
    "directive": {
        "endpoint": {
              "scope": {
                "type": "BearerToken",
                "token": "some-access-token"
              },
              "endpointId": "endpoint-001",
              "cookie": {}
            },
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
            "messageId": "708758c5-d1ca-4022-85ba-517f64b07a6c",
            "name": "SearchAndRecord",
            "namespace": "Alexa.VideoRecorder",
            "payloadVersion": "3"
        },
        "payload": {
            "entities": [
                {
                    "externalIds": {
                        "imdb": "tt5712554"
                    },
                    "type": "Video",
                    "value": "グランド・ツアー"
                }
            ],
            "quantifier": {
                "name": "NEW"
            },
            "timeWindow": {
                "end": "2017-09-07T23:59:00.00Z",
                "start": "2017-09-01T00:00:00.00Z"
            }
        }
    }
}
ペイロードの詳細
| フィールド | 説明 | 型 | 必須 | 
|---|---|---|---|
| entities | このリクエストに関連付けられたエンティティオブジェクトの配列です。 | エンティティオブジェクトの配列 | ○ | 
| quantifier | 録画のタイプを表す修飾子です。指定したタイトルの新規コンテンツを録画するか、次回またはすべてのコンテンツを録画するかを指定します。 | オブジェクト | × | 
| quantifier.name | ユーザーが指定した修飾子です。有効な値は、 ALL、NEW、NEXTです。 | 文字列(修飾子名の値を参照) | × | 
| timeWindow | このリクエストに関連付けられた時間を表すタイムウィンドウオブジェクトです。 | オブジェクト | × | 
| timeWindow.start | タイムウィンドウの開始時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
| timeWindow.end | タイムウィンドウの終了時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
その他の例: 午後5時にPBSを録画する
{
    "directive": {
        "endpoint": {
              "scope": {
                "type": "BearerToken",
                "token": "some-access-token"
              },
              "endpointId": "endpoint-001",
              "cookie": {}
            },
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
            "messageId": "1b391648-5346-4bf5-9444-6f14e749b4e3",
            "name": "SearchAndRecord",
            "namespace": "Alexa.VideoRecorder",
            "payloadVersion": "3"
        },
        "payload": {
            "entities": [
                {
                    "entityMetadata": {
                        "channelCallSign": "KBTC",
                        "channelNumber": 123
                    },
                    "externalIds": {
                        "imdb": "tt4574334"
                    },
                    "type": "Channel",
                    "value": "PBS"
                }
            ],
            "timeWindow": {
                "start": "2016-09-01T00:17:00.00Z"
            }
        }
    }
}
CancelRecording
指定したタイトルの録画予約をキャンセルするようリクエストします。このリクエストによって、指定された録画、またはリクエストされたエンティティに最も一致するタイトルの録画がキャンセルされます。
ユーザー: アレクサ、<タイトル>の録画を停止して
ユーザー: アレクサ、「グランド・ツアー」の来週のエピソードの録画をキャンセルして
例: 「グランド・ツアー」の来週のエピソードの録画をキャンセルする
{
    "directive": {
        "endpoint": {
              "scope": {
                "type": "BearerToken",
                "token": "some-access-token"
              },
              "endpointId": "endpoint-001",
              "cookie": {}
            },
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
            "messageId": "d4a5a7a6-a45a-4e3f-b55a-f583c822384b",
            "name": "CancelRecording",
            "namespace": "Alexa.VideoRecorder",
            "payloadVersion": "3"
        },
        "payload": {
            "entities": [
                {
                    "externalIds": {
                        "imdb": "tt5712554"
                    },
                    "name": "The Grand Tour",
                    "type": "Video"
                }
            ],
            "timeWindow": {
                "end": "2017-09-07T23:59:00+00:00",
                "start": "2017-09-01T00:00:00+00:00"
            }
        }
    }
}
ペイロードの詳細
| フィールド | 説明 | 型 | 必須 | 
|---|---|---|---|
| entities | このリクエストに関連付けられたエンティティオブジェクトの配列です。 | エンティティオブジェクトの配列 | ○ | 
| quantifier | キャンセルリクエストの修飾子です。次の録画予約、またはすべての録画予約のいずれかです。 | オブジェクト | × | 
| quantifier.name | ユーザーが指定した修飾子名です(「次の録画予約」など)。 | 文字列(修飾子名の値を参照) | × | 
| timeWindow | このリクエストに関連付けられた時間を表すタイムウィンドウオブジェクトです。 | オブジェクト | × | 
| timeWindow.start | タイムウィンドウの開始時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
| timeWindow.end | タイムウィンドウの終了時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
DeleteRecording
録画済みアイテムを削除するようリクエストします。このリクエストによって、指定されたタイトル、またはリクエストされたエンティティに最も一致するタイトルの録画が削除されます。
ユーザー: アレクサ、「グランド・ツアー」の録画を削除して
例: 「グランドツアー」の録画を削除する
{
    "directive": {
        "endpoint": {
              "scope": {
                "type": "BearerToken",
                "token": "some-access-token"
              },
              "endpointId": "endpoint-001",
              "cookie": {}
            },
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
            "messageId": "97b8ce2a-87f6-4c89-9b28-00d716e337ff",
            "name": "DeleteRecording",
            "namespace": "Alexa.VideoRecorder",
            "payloadVersion": "3"
        },
        "payload": {
            "entities": [
                {
                    "externalIds": {
                        "imdb": "tt4574334"
                    },
                    "name": "The Grand Tour",
                    "type": "TV_Show"
                }
            ],
            "quantifier": {
                "name": "ALL"
            },
            "timeWindow": {
                "end": "2016-09-07T23:59:00.00Z",
                "start": "2016-09-01T00:00:00.00Z"
            }
        }
    }
}
ペイロードの詳細
| フィールド | 説明 | 型 | 必須 | 
|---|---|---|---|
| entities | このリクエストに関連付けられたエンティティオブジェクトの配列です。 | エンティティオブジェクトの配列 | ○ | 
| quantifier | 削除リクエストの修飾子です。指定されたタイトルのすべての録画、または視聴済みの録画のみのいずれかを指定します。 | オブジェクト | × | 
| quantifier.name | ユーザーが指定した修飾子名です。 | 文字列の列挙値(修飾子名の値を参照) | × | 
| timeWindow | このリクエストに関連付けられた時間を表すタイムウィンドウオブジェクトです。 | オブジェクト | × | 
| timeWindow.start | タイムウィンドウの開始時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
| timeWindow.end | タイムウィンドウの終了時刻です。 | ISO 8601形式(YYYY-MM-DDThh:mm:ssZ)のRFC 3339プロファイルを使用する文字列 | × | 
修飾子名の値
以下の表は、有効な修飾子名の値を示しています。
| 値 | 説明 | 
|---|---|
| ALL | 指定されたエンティティに一致するすべてのコンテンツです。 | 
| NEXT | 指定されたエンティティに一致するコンテンツのうち、指定時刻に最も近い時刻に放送されるもの、または指定時刻以降の最も近い時刻に放送されるものです。 | 
| NEW | 指定されたエンティティに一致するコンテンツのうち、初めて放送されるものです。 | 
| WATCHED | エンティティに一致するすべての視聴済みコンテンツです。 | 
プロパティとイベント
レポート可能なプロパティ
| プロパティ名 | 型 | 説明 | 
|---|---|---|
| isExtendedRecordingGUIShown | ブール型 | ユーザーに表示されるGUIのタイプを示します。拡張録画GUIが表示される場合は true、拡張録画GUIが表示されない場合はfalseです。 | 
| storageLevel | 整数 | 録画用デバイスの使用済みストレージ容量をパーセンテージで表します。 | 
SearchAndRecord.Response
録画のリクエストが正常に処理された場合は、SearchAndRecord.Responseイベントで応答する必要があります。メッセージのペイロードで録画ステータスを指定し、メッセージのコンテキストでisExtendedRecordingGUIShownプロパティとstorageLevelプロパティの値を指定します。
SearchAndRecord.Responseの例
{
    "context": {
        "properties": [
            {
                "name": "isExtendedRecordingGUIShown",
                "namespace": "Alexa.VideoRecorder",
                "timeOfSample": "2017-05-06T16:20:50.52Z",
                "uncertaintyInMilliseconds": 0,
                "value": false
            },
            {
                "name": "storageLevel",
                "namespace": "Alexa.VideoRecorder",
                "timeOfSample": "2017-05-06T16:20:50.52Z",
                "uncertaintyInMilliseconds": 0,
                "value": 75
            }
        ]
    },
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LdjCc8ptlAKulUj90jSqg==",
            "messageId": "aa6fd930-ce42-498d-a225-3fb94df83853",
            "name": "Alexa.SearchAndRecordResponse",
            "namespace": "Alexa.VideoRecorder",
            "payloadVersion": "3"
        },
        "payload": {
            "recordingStatus": "SCHEDULED"
        }
    }
}
| フィールド | 説明 | 型 | 必須 | 
|---|---|---|---|
| recordingStatus | 録画ステータスを示す文字列の列挙値です。 | 文字列( SCHEDULED、STARTEDのいずれか) | ○ | 
ErrorResponse
何らかの理由でユーザーのリクエストを完了できない場合は、エラーレスポンスを返す必要があります。詳細については、エラー処理を参照してください。

