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

Upload API

お知らせ

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

お客様は Upload API を使用して、Web サイト内にコンテンツアップロード機能を直接実装できます。

お客様のサーバーは Upload API を通じて、使い捨てアップロード URL とアップロードファイルキーを発行し、アップロードページを構成します。運用担当者がブラウザでファイルを選択すると、そのファイルは Kollus アップロードサーバーへ転送されます。


注意事項

  • 使い捨てセッション: 発行されたアップロード URL とアップロードファイルキーは 1 回のみ使用可能です。
  • 失効ポリシー: 指定した有効期間が経過すると、そのセッションは即時無効化されます。
  • セキュリティ: API 呼び出し時に発行されるすべてのトークンおよびキー情報が外部に漏洩しないよう注意してください。

アップロードフロー

  1. アップロードページへのアクセス: 運用担当者が自社 Web サイトの VOD アップロードメニューにアクセスします。
  2. アップロード URL 生成: お客様のサーバーが Upload API を呼び出し、アップロード URL、アップロードファイルキー、失効日時の情報を取得します。
  3. アップロードページ構成: お客様のサーバーは受信した情報を活用して、ファイル選択および転送のための UI を構成します。
  4. ファイル転送: 運用担当者がファイルをアップロードすると、そのファイルは Kollus アップロードサーバーへ転送されます。(リアルタイムで進行状況の確認が可能)

アップロード URL 生成 API

アップロードページでのファイル転送時に使用する使い捨てアップロード URL を発行する API です。

リクエスト仕様

配信方式

区分詳細
MethodPOST
ProtocolHTTP(80), HTTPS(443)
Endpoint
  • 一般アップロード: https://c-api-kr.kollus.com/api/upload/create-url
  • パススルーアップロード: https://upload.kr.kollus.com/api/v1/create_url
Authクエリパラメーター kollus_api_access_token(認証トークン)の送信が必須
  • 確認方法: Kollus VOD コンソール > [サービスアカウント] > [API]

リクエストボディ

JSON 形式でボディを構成します。

パラメータータイプデフォルト値説明
expire_timeinteger600アップロード URL の有効期間
  • 最大値: 21600 (sec)
category_keystring-アップロードファイルが保存されるカテゴリキー(未指定時は'デフォルト'カテゴリに保存)
  • 確認方法: Kollus VOD コンソール > [ライブラリ] > 左側カテゴリリスト [もっと見る] > [カテゴリキーをコピー]
titlestring-コンテンツタイトル(未指定時はファイル名を使用)
パススルーアップロード時は原本ファイル名が強制適用されます。
is_encryption_uploadinteger0コンテンツの暗号化有無
  • 0: 一般アップロード
  • 1: 暗号化アップロード(セキュリティパック契約必須、HTML5 Player for All 非対応)
is_audio_uploadinteger0アップロードファイルの種類
  • 0: ビデオ
  • 1: オーディオ
is_passthroughinteger0アップロード方式
  • 0: 一般アップロード
  • 1: パススルーアップロード(原本ファイルをそのままサービス)
profile_keystring-(パススルーアップロード時は必須) エンコーディングプロファイルキー
  • 確認方法: Kollus VOD コンソール > [設定] > [エンコーディングプロファイル]

リクエスト例

{
"expire_time": 600,
"category_key": "abcd1234",
"title": "My Video",
"is_encryption_upload": 0,
"is_audio_upload": 0
}

レスポンス仕様

アップロード URL 生成 API のレスポンスはapplication/json; charset=UTF-8形式に準拠します。 アップロード方式(一般/パススルー)によってレスポンスオブジェクトの名称が異なるため、実装時にご注意ください。

一般アップロード レスポンスフィールド

フィールド説明
error処理結果(0: 正常)
messageエラーメッセージ(正常処理時は空文字列)
dataアップロードセッション情報を含むオブジェクト
data.upload_urlアップロードサーバー URL
data.progress_urlアップロード進行状況確認 URL
data.upload_file_keyアップロードファイルキー
data.expired_atアップロードファイルキーの失効日時(Unix タイムスタンプ)

一般アップロード レスポンス例

{
"error": 0,
"message": "",
"data": {
"upload_url": "https://upload.kr.kollus.com/api/v1/UploadMultiParts/KUS_S5yb4bgc5aGquWzhatk1cOAo9zTZnAv7/20151218-oyn7ytrh",
"progress_url": "https://upload.kr.kollus.com/api/v1/GetUploadingProgress/KUS_S5yb4bgc5aGquWzhatk1cOAo9zTZnAv7",
"upload_file_key": "20151218-oyn7ytrh",
"expired_at": 1413883670
}
}

パススルーアップロード レスポンスフィールド

フィールド説明
error処理結果(0: 正常)
messageエラーメッセージ(正常処理時は空文字列)
resultパススルーアップロードセッション情報を含むオブジェクト
result.upload_urlアップロードサーバー URL
result.progress_urlアップロード進行状況確認 URL
result.upload_file_keyアップロードファイルキー
result.will_be_expired_atアップロードファイルキーの失効日時(Unix タイムスタンプ)

パススルーアップロード レスポンス例

{
"error": 0,
"message": "",
"result": {
"upload_url": "https://upload.kr.kollus.com/api/v1/UploadMultiParts/KUS_BOHG2eTQhPSIaG2511G1jfkpWOYAOjDc/20151204-dh6o2goz",
"progress_url": "https://upload.kr.kollus.com/api/v1/GetUploadingProgress/KUS_BOHG2eTQhPSIaG2511G1jfkpWOYAOjDc",
"upload_file_key": "20141017-y4sae7td",
"will_be_expired_at": 1413883670
}
}

ファイルアップロード

発行されたupload_urlをエンドポイントとして指定し、HTML multipart/form-data形式を使用して実際のファイルを転送します。

実装ガイド
  • パラメーターキーの固定: ファイルinput要素のname属性は必ずupload-fileに設定してください。
  • 単一ファイル制約: 1 つのupload_urlでは 1 つのファイルのみ転送可能です。(重複転送時は失敗処理)
  • 成功判定基準: ファイル転送完了時点が URL の失効日時より前である必要があります。大容量ファイルのアップロード時はネットワーク環境を考慮してexpire_timeを十分に長く設定してください。

リクエスト仕様

リクエストボディ

パラメータータイプデフォルト値説明
return_urlstring-アップロード完了後にリダイレクトされる URL
結果値resultmessageがクエリ文字列として追加されます。
  • 例: https://foo.com/result.html?result=S&message=...
  • result
    • S: アップロード成功
    • F: アップロード失敗
  • message: 結果通知メッセージ
disable_alertinteger0アップロード完了時のブラウザ通知ダイアログ表示有無
  • 0: 表示
  • 1: 非表示
redirection_scopestringouterリダイレクト対象
  • outer: window.top.location(最上位ウィンドウ)
  • inner: window.location(現在のウィンドウ)
  • no: リダイレクトを実行しない
acceptstringtext/htmlレスポンスデータ形式
  • text/html: 上記オプションが反映された HTML ページを返す
  • application/json: オプションを無視して JSON データを返す

リクエスト例

<form action="https://upload.kr.kollus.com/20141017-y4sae7td" method="post" enctype="multipart/form-data">
<input type="hidden" name="redirection_scope" value="outer" />
<input type="hidden" name="return_url" value="https://www.foobar.com/upload_result.html" />
<input type="hidden" name="disable_alert" value="1" />

<input type="file" name="upload-file" />
<input type="submit" />
</form>

アップロード進行状況の確認

現在進行中のファイル転送状態をリアルタイムでモニタリングできます。アップロード URL 生成時のレスポンスで受け取ったprogress_urlを定期的に呼び出して情報を取得します。

レスポンス仕様

レスポンスフィールド

  • Content-Type : application/json; charset=UTF-8
フィールド説明
error処理結果(0: 正常)
message現在のセッションのステータスメッセージ
result進行状況データを含むオブジェクト
result.progress現在のアップロード進行状況(0〜100%)

レスポンス例

{
"error": 0,
"message": "OK",
"result": {
"progress": 5
}
}