Callback概要

1. 概要

Kollusサービスの利用中、進行状況はCMSを通じて直接確認することができます。しかし、便利さのために、各進行状況ごとに事前に設定された顧客のWeb URLに進行状況を送信しています。

これをKollus Callbackサービスと呼びます。また、顧客のWeb URLへのCallback送信が失敗した場合には再試行します。

各再試行ごとに内部的にログを記録し、すべての再試行が失敗した場合には、問題のあったCallback送信の原因を特定し、正常にCallbackを送信できるようにします。

このドキュメントは、Callback送信および再試行に関するKollus Callback送信サーバーの処理過程について説明します。

2. Callback 設定

Callbackの設定は、チャンネルに関連する部分の設定については、管理者権限を持つユーザーがそのチャンネルの運営ポリシー設定画面で指定することができます。

その他のCallbackについては、Kollusサービス担当者に設定を依頼する必要があります。

チャンネル Callback 設定 (チャンネルにコンテンツ登録、削除結果の転送)

  • 配信チャンネルに移動します。

  • チャンネル編集ページに移動します。

  • 運用ポリシーに移動します。

  • Call-back使用を「利用する」にします。

  • 必要なChannel Callbackを登録します。

その他Callbackの設定は (Upload callback, Transcoding Callback, Contents update callback, Drop-off callback) Kollus サービス担当にお問い合わせください。

3. Callback 転送処理

転送方法

  1. 全てのCallbackはお客様が設定したWeb URLの80番ポートにPOST方式を利用して転送します。

  2. 全てのCallbackは転送時点になると、即時転送することを原則とします。(Callbackを処理するサーバーの負荷状況により遅延される可能性があります。)

  3. 顧客側のWebサーバーがCallbackを受け取った場合、200 HTTP Status Codeでレスポンスしなければなりません。レスポンス内容のHTTP body部分は確認しません。(200以外のコードでレスポンスした場合には転送失敗と見なし、指定時間後に転送をリトライします。)

注意事項

顧客側のサーバーはKollusのCallback転送リクエストに対して2秒以内にアクセスし、接続から3秒以内にレスポンスを返さなければなりません。 時間内にアクセスがないまたは応答がなかった場合にはKollus Callback転送サーバーは転送失敗と見なして指定された時間後にリトライします。(Connect Time-out 2秒, Response Time-out 3秒)

Callback転送プロセス

4. Callback 転送リトライ処理

転送方法

  1. 基本的な内容は「Callback転送処理」項目と同一です。

  2. リトライは5分間隔で最大3回まで行われます。

注意事項

顧客のサーバーがKollusのCallbackを正常に処理したと見なして200 HTTPステータスコードで応答した場合でも、接続/応答タイムアウトを超えてKollus Callback送信サーバーがリクエストを失敗として処理した場合、Callbackリクエストが再試行されることがあります。つまり、タイムアウトによる同じCallbackがリクエストされる可能性があるため、Callback URLを開発する際にはその点に注意する必要があります。

Callback転送 リトライプロセス

5. Callback 転送パラメータ

アップロード完了 Callback

POST
Data type
備考

content_provider_key

string

顧客のサービスアカウントキー

full_filename

string

アップロードされたファイル名(フォルダ含む)

filename

string

アップロードされたファイル名

upload_file_key

string

アップロードファイルキー

トランスコーディング完了 Callback

POST
Data type
備考

content_provider_key

string

顧客のサービスアカウントキー

filename

string

アップロードされたファイル名(フォルダ含む)

upload_file_key

string

アップロードファイルキー

transcoding_result

string

トランスコーディング結果 (success, fail)

チャンネルにコンテンツ登録完了 Callback

POST
Data type
備考

content_provider_key

string

顧客のサービスアカウントキー

full_filename

string

アップロードされたファイル名(フォルダ含む)

filename

string

アップロードされたファイル名

upload_file_key

string

アップロードファイルキー

media_content_key

string

メディアコンテンツキー (配信チャンネルに登録されたコンテンツを識別するためのユニークキー)

channel_key

string

チャンネルキー(コンテンツが登録されたチャンネルを識別するキー)

channel_name

string

コンテンツが登録されたチャンネル名

profile_key

string

コンテンツがトランスコーディングされたプロファイル名(複数の場合 ‘|’で区分)

update_type

string

更新種類: channel_join (チャンネルにコンテンツ登録)

チャンネルのコンテンツ削除完了 Callback

POST
Data type
備考

content_provider_key

string

顧客のサービスアカウントキー

full_filename

string

アップロードされたファイル名(フォルダ含む)

filename

string

アップロードされたファイル名

upload_file_key

string

アップロードファイルキー

media_content_key

string

メディアコンテンツキー (配信チャンネルに登録されたコンテンツを識別するためのユニークキー)

channel_key

string

チャンネルキー(コンテンツが登録されたチャンネルを識別するキー)

channel_name

string

コンテンツが登録されたチャンネル名

update_type

string

更新種類: channel_leave (チャンネルからコンテンツ削除)

コンテンツ更新 Callback

POST
Data type
備考

content_provider_key

string

顧客のサービスアカウントキー

full_filename

string

アップロードされたファイル名(フォルダ含む)

filename

string

アップロードされたファイル名

upload_file_key

string

アップロードファイルキー

update_type

string

更新種類: 変更された結果が必要な場合にはAPIを呼び出して該当コンテンツの情報を確認してください。 API: /media/library/media_content/{upload_file_key}

content_title: タイトル変更 content_tag: タグ変更 content_category: カテゴリ変更 content_enable: コンテンツを有効化 content_disable: コンテンツを無効化 profile_add: エンコーディングプロファイルを追加 profile_delete: エンコーディングプロファイルを削除 origin_delete: 原本ファイルを削除 content_subtitle: 字幕をアップロード content_poster: ポスターをアップロード content_detail: コンテンツ詳細情報URLを変更 content_delete: コンテンツを削除

Last updated