開発者コンソール

Alexa.VideoRecorderインターフェース

Alexa.VideoRecorderインターフェース

Alexa.VideoRecorderインターフェースは、指定したビデオアイテムの検索と録画予約、録画予約のキャンセル、DVRの残り録画容量の照会に使用するメッセージを提供します。現在再生中のコンテンツを録画する場合は、代わりにAlexa.RecordControllerインターフェースを実装してください。

VideoRecorderインターフェースでサポートされているロケールについては、Alexaインターフェースとサポートしている言語の一覧を参照してください。

ディレクティブ

このインターフェースのディレクティブには、検索および録画するコンテンツを指定するエンティティオブジェクトがそれぞれ含まれています。詳細については、ビデオコンテンツのエンティティタイプを参照してください。

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 ユーザーが指定した修飾子です。有効な値は、ALLNEWNEXTです。 文字列(修飾子名の値を参照) ×
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

何らかの理由でユーザーのリクエストを完了できない場合は、エラーレスポンスを返す必要があります。詳細については、エラー処理を参照してください。