メインコンテンツまでスキップ

Play Callback

お知らせ

このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。

Kollus VOD は、コンテンツセキュリティおよびアクセス管理のために、プレイヤー再生開始時点でお客様のサーバーの承認を受ける Play Callback 機能をサポートしています。 ユーザーが再生ボタンをクリックした際にリアルタイムで呼び出され、お客様のサーバーから有効な承認レスポンスを受信した場合のみコンテンツの再生が有効化されます。


注意事項

  • チャンネルごとの制御ポリシー: Callback URL が設定されているチャンネルは、すべての再生リクエストに対してサーバーの承認が必須です。(未設定の場合、承認なしで即時再生)
  • 識別子の必須包含: 再生用 JWT の生成時にclient_user_idパラメータを必ず含めてください。
  • オフライン再生の制限: デバイスに保存されたコンテンツの再生制御は DRM Download Callback で処理します。

Callback 設定方法

Callback URL は Kollus VOD コンソールで設定できます。


Callback フロー

注意
  • レスポンス仕様: Callback サーバーのレスポンスデータは必ず**JWT(JSON Web Token)**形式で返される必要があります。
  • ヘッダー認証: HTTP レスポンスヘッダーにX-KOLLUS-USERKEY: {CUSTOM_KEY}を必ず含める必要があります。
  • データタイプ: JSON 内のすべての整数型フィールド(expiration_dateresultcontent_expiredなど)はinteger型で渡す必要があります。("1"のように string 型で送信した場合、処理に失敗します)

Callback タイプ

Play Callback は、呼び出しタイミングと目的に応じて 2 種類に分類されます。

  • kind1(再生有効期限設定):再生開始前に、ユーザーの再生可能期限を動的に割り当てます。
  • kind3(最終再生承認):プレイヤーの準備完了直後に、現時点の再生権限を最終確認します。

リクエスト仕様

配信方式

  • Method: POST
  • Content-Type: application/x-www-form-urlencoded
  • Data Format: FormData

リクエストパラメータ

パラメータタイプ必須説明
kindintegerPlay Callback タイプ
  • 1: 再生有効期限設定
  • 3: 最終再生承認
client_user_idstringユーザー ID(JWT 生成時に入力したclient_user_id
player_idstringKollus Player 固有 ID
hardware_idstring-ハードウェア ID(Windows 環境など識別可能な値が存在する場合に提供)
device_namestring-デバイスモデル名
media_content_keystringメディアコンテンツキー
localtimeinteger-リクエスト時点のデバイス時刻(Unix timestamp)
uservaluesJSON string-カスタム変数(uservalue0uservalue99

uservalues の例

{
"uservalue0": "class_code_01",
"uservalue1": "product_code_02",
"uservalue99": "custom_code_03"
}

レスポンス仕様

kind1 レスポンスフィールド

kind1レスポンスは、ユーザーの権限を定義し、セキュリティオプション(キャプチャー遮断、仮想マシン環境の検出など)を動的に制御するために使用されます。

data フィールド

注意

有効期限日時(expiration_date)は Kollus システムに記録された後、修正または取り消しが不可能です。必ず正確な Unix timestamp 値を割り当ててください。

フィールドタイプ必須説明
expiration_dateinteger再生有効期限日時(Unix timestamp)
  • 最大値: 2145916799(2037-12-31 23:59:59)
resultinteger承認結果
  • 0: 異常(再生遮断)
  • 1: 正常(再生許可)
messagestring-再生遮断(result: 0)時にプレイヤー画面に表示する案内メッセージ
  • PC は再生 URL にloadcheck=0パラメータを含める必要があります。
    • 例: https://v.jp.kollus.com/{MEDIA_CONTENT_KEY}?loadcheck=0
vmcheckinteger-(HTML5 Player for PC 専用) 仮想マシン(VM)環境での再生許可
  • 0: 許可
  • 1(デフォルト): 仮想マシン環境の検出および遮断
disable_tvoutinteger-外部ディスプレイ出力の許可(チャンネルのデフォルトポリシーより優先適用)
  • 0: 許可(App Player for iOS 使用時にキャプチャー遮断機能が無効化される場合があります)
  • 1: 遮断
expiration_playtimeinteger-再生制限時間(sec)
  • 0またはnull: 制限なし
cpcheckinteger-キャプチャープログラム検出機能の有効化(PC)
  • 0: 無効
  • 1(デフォルト): 有効

exp フィールド

フィールドタイプ必須説明
expinteger-JWT 有効期限日時(Unix timestamp)

kind1 レスポンス例

{
"data" : {
"expiration_date": 1402444800,
"vmcheck": 1,
"disable_tvout": 1,
"expiration_playtime": 1800,
"result": 1
},
"exp" : 1477558242
}

kind3 レスポンスフィールド

kind3レスポンスは、再生直前にユーザーの現在の権限状態を最終確認する目的で使用されます。

data フィールド

フィールドタイプ必須説明
content_expiredinteger-再生有効期限の状態
  • 0: 再生可能
  • 1: 再生遮断(期限切れ)
resultinteger承認結果(resultの値がcontent_expiredの設定より優先適用されます。)
  • 0: 異常(再生遮断)
  • 1: 正常(再生許可)
messagestring-再生遮断(result: 0またはcontent_expired: 1)時にプレイヤーに表示する案内メッセージ
  • PC は再生 URL にloadcheck=0パラメータを含める必要があります。
    • 例: https://v.jp.kollus.com/{MEDIA_CONTENT_KEY}?loadcheck=0

exp フィールド

フィールドタイプ必須説明
expinteger-JWT 有効期限日時(Unix timestamp)

kind3 レスポンス例

{
"data" : {
"content_expired": 1,
"result": 1
},
"exp" : 1477558242
}