入門
EPG APIは、クラウドプレイアウトチャネルのXML電子番組ガイドを返します。これは、Webページまたはアプリにプログラム情報を表示するのに役立ちます。このトピックでは、APIがどのように機能するかについて説明し、APIを最も効果的に使用するための推奨事項を示します。
チャネル状態
アクティブな状態
下書き
(チャンネルの将来の開始予定時刻/停止時刻の場合)再スケジュール
スケジュール
起動
- START_ERROR
作成
- CREATE_ERROR
ランニング
非アクティブ状態
下書き
(停止したチャネルは再びドラフト状態になります)アイドル
停止
- STOP_ERROR
- START_ERROR
削除
(EPGレコードはありません-これにより、EPG APIが500応答コードを返す可能性があります)DELETE_ERROR
(EPGレコードはありません-これにより、EPG APIが500応答コードを返す可能性があります)
EPGクエリの推奨事項
- デフォルトのEPGクエリ(のクエリパラメータなし)
start
、stop
、または制限提供)は、100個のEPGレコード(または100未満の場合はすべてのレコード)を返します。返される数は、に設定することで変更できます。
制限
パラメータ。 - 最大14日間のレコードは、明示的な開始時刻と終了時刻、およびEPGクエリの上限値を指定することで引き続き提供されます。
- 処理時間は処理するレコードの数に応じて指数関数的に増加するため、EPGレコードをクエリするページ付けされた方法を使用することをお勧めします(を参照)。ページ付け以下)バルクデータをフェッチするため。
ページネーション
最高のパフォーマンスを得るには、多数のレコードのクエリをページネーションすることをお勧めします。
-
クエリパラメータを使用せずにリクエストを開始します。
https://sm.cloudplayout.brightcove.com/accounts/{account_id}/channels/{channel_id}/epg
- チャネルが実行されていない場合、チャネルの開始時刻または現在の時刻のいずれか遅い方から100レコードが返されます。
- チャネルが実行されている場合、100レコードは、過去のプログラムと将来のプログラムの50/50の組み合わせになります
- データの追加ページについては、
始める
に等しいパラメータセットストップ
の属性値プログラム
前の応答で返された最後のレコードのタグ- プラス1秒。
例
最初のクエリが次のような応答を返したとしましょう。
<tv> ... <programme channel = "channel_id" start = "20210228000457" stop = " 20210228001457 "> <title>ライブ</ title> <desc>ライブ</ desc> <length units =" seconds "> 600.0 </ length> <icon src =" https://img.brightcove.com/cloudplayout/live- icon.jpg "width =" "height =" "/> <category> live </ category> <keyword> eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjMsInRhZ3MiOiJyb21hbmNlIiwiY3VzdG9
ハイライトされたストップ
最後のレコードの値は、次の形式のタイムスタンプです。 YYYYMMDDhhmmss
、ISO 8601形式の場合:2021-02-28 00:14:57
。
この値に1秒を追加すると、次のようになります。2021-02-28 00:14:58
。
次のリクエストのクエリパラメータは次のようになります。 start = 2021-02-28%2000%3A14%3A57-開始(および
終わり
)パラメータはURIエンコードする必要があります。
すべてのレコードを取得するには、リクエストを増やしながら送信を続けます始める
「要求された時間ウィンドウでチャネルは実行状態になりません」というメッセージを含むHTTP422応答を取得するまでの値。
EPG応答動作に関する追加の注意事項
EPG APIの動作に関する以下の注意事項は、目的の応答を取得するリクエストの作成を支援することを目的としています。
- EPGは、チャネルの現在の状態に基づいて動的に構築されるため、チャネルがアクティブな状態にある場合は、
RUNNING
、その後、EPGはスケジュールされたチャネル開始時間から将来のデータを生成します。 - チャネルが存在する場合
RUNNING
状態では、クエリパラメータなしで呼び出されたEPGは、過去と将来のスケジュールデータの混合(50%分割-100の制限で、これは最大50の過去のレコードと50の将来のレコードを生成します)を提供します。 - チャンネルを停止または削除すると、
INACTIVE
州;チャネルが実行を終了したため、将来のEPGレコードは使用できなくなります。- このような場合、EPGは空のデータセットまたは422エラーコードのいずれかを返します。
- 非アクティブ状態のいずれかに履歴データが必要な場合、EPGリクエストのクエリパラメータには過去の開始/終了時刻が含まれている必要があります。
- EPGリクエストに両方がある場合
end
時間とlimit
、limit
が優先され、多くのレコードが生成されます。この場合、指定された終了時刻より遅れてレコードを受け取る可能性があります。 - NS
start
/end
ウィンドウは14日を超えることはできません。start
履歴EPGを取得するには、現在の日時より14日早くすることができます。現在の日時から最大14日間、将来のEPGデータを照会することもできます。 - 提供された終了時刻と開始時刻の差が14日を超える場合、APIは、リクエストの時刻からスケジュールされたチャネル停止時刻までの14日間、または14日間のいずれか早い方のスケジュールデータを生成します。
- どちらも
start
そしてend
タイムゾーンオフセットの有無にかかわらず日時値を受け入れることができます-タイムゾーンオフセットが含まれていない場合、UTCが想定されます - どちらも
start
そしてend
値はURIエンコードする必要があります。
EPG APIが422エラーコードを返す理由
- EPG開始時間は、チャネル開始時間または現在の時間のいずれか大きい方から14日を超えることはできません。
- EPG開始時刻は、現在時刻の14日より前にすることはできません。
- EPG間隔は14日以下である必要があります(開始時間と終了時間は14日以内である必要があります)
- チャネルは、要求された時間ウィンドウで実行状態になります(EPGは、スケジュールされたチャネル停止時間を超える開始時間で要求されます)開始時間を指定するか、終了時間より短くする必要があります(開始時間<終了時間)