millvi VOD API

Download OpenAPI specification:

カスタマーサクセス部: support@millvi.jp URL: https://millvi-cs.com/support/

millvi VOD API は millvi VOD プラットフォームを外部アプリケーションから利用できるプログラミングインターフェースです。コンテンツや変換レシピといった、動画配信に必要なリソースを簡単に扱うことができ、迅速に高品質な動画配信を行うことが出来ます。

ご利用方法について

millvi API は、CRM API と VOD API に分かれており、それぞれ担う機能が異なります。CRM API では、契約情報や利用量に関わる部分を提供しており、当APIではコンテンツ管理に関わる部分の機能のみを提供しております。

コンテンツ管理を実行するためには、配信者の認証情報(Bearer Token)が必要となります。詳しくは下記の認証情報を参照ください。

API利用における注意事項

  • 短時間でのループ処理で負荷をかけるようなタスクはご遠慮ください。弊社側で高負荷の検知があった場合、利用方法についてご相談させていただく場合があります。
  • 本APIドキュメントに記載されている仕様以外の設定では正しく動作しないことがあります。

共通仕様

異常系

API がエラーになった場合、以下のようにエラーコードとエラーメッセージが返ってきます。
詳細についてはエラーコードをご参照ください。

{
  "errorCode": "MVOD_CMN_0005",
  "reason": "必須パラメーターが存在しません。[param_name]"
}

認証情報について

リクエストヘッダー情報に、トークンをご利用ください。 当APIでは、Bearer Token (OAuth2.0) を採用しています。
CRM API 側で、配信者用のトークンを取得していただき、そのトークンをこちらのAPIでご利用ください。

※配信者用トークンの取得方法はこちら

リクエストヘッダー情報に、トークンをご利用ください。

curl -H GET "https://${end_point}/vod/end_point" \
-H "Authorization: Bearer {access_token}"

token

Security Scheme Type: HTTP
HTTP Authorization Scheme: bearer

コンテンツ

コンテンツ管理で利用するAPIについて記述します。

コンテンツ一覧取得

コンテンツ一覧を取得します。

Authorizations:
token
query Parameters
content_id
string or null

コンテンツのIDで取得対象を絞り込むときに指定します。

title
string or null

コンテンツのタイトルで取得対象を絞り込むときに指定します。

description
string or null

コンテンツの説明文で取得対象を絞り込むときに指定します。

tags
string or null

コンテンツのタグで取得対象を絞り込むときに指定します。タグはカンマ区切りで複数指定できます。

status
string or null

コンテンツの変換ステータス(FAILED_TO_UPLOAD,NOT_READY_TO_CONVERT,READY_TO_CONVERT,WAIT_TO_CONVERT,CONVERTING,CONVERT_COMPLETED,CONVERT_ERROR,LIVE_ARCHIVING,ARCHIVE_FAILED)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないステータスを指定した場合無視されます。

public_setting_types
string or null

コンテンツが含む公開タイプ(public, private, period)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しない公開タイプを指定した場合無視されます。

media_types
string or null

コンテンツのメディアタイプ(video, audio, pdf, folder)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
nullを指定することで、メディアタイプ未指定のコンテンツを絞り込めます。
上記に合致しないメディアタイプを指定した場合無視されます。

parent_content_id
string or null non-empty

親フォルダのコンテンツIDで取得対象を絞り込むときに指定します。
rootを指定することで、フォルダに属さないコンテンツを取得できます。
指定しない場合は全てのコンテンツが取得されます。

thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

sort_by
string
Default: "created_at"
Enum: "duration" "public_setting.start" "updated_at" "created_at" "score" "title" "storage_amount"

並び替えに使用するフィールド。
同じ値の場合はcreated_atの昇順で並べられます。

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

page_size
integer [ 1 .. 200 ]
Default: 20

1ページあたりのコンテンツ数

page
integer [ 1 .. 100000000 ]
Default: 1

ページ番号

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects

統計

page
integer or null

ページ番号

Array of objects or null

親フォルダ情報

Request samples

curl -v -X GET 'https://${end_point}/contents?content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&title=タイトル&description=説明文&tags=タグ1,タグ2&status=FAILED_TO_UPLOAD,NOT_READY_TO_CONVERT,READY_TO_CONVERT,WAIT_TO_CONVERT,CONVERTING,CONVERT_COMPLETED,CONVERT_ERROR,LIVE_ARCHIVING,ARCHIVE_FAILED&public_setting_types=public,private,period&media_types=video,pdf&parent_content_id=4ba28124-c54f-83d8-9ffb-5324bddbafc9&thumbnail_url_expires_in_days=1000&sort_by=created_at&order=desc&page_size=200&page=1'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ],
  • "page": 1,
  • "parent_folders": [
    ]
}

コンテンツメタ情報登録

コンテンツメタ情報を登録します。

Authorizations:
token
Request Body schema: application/json
title
required
string [ 1 .. 1024 ] characters

タイトル

description
string <= 8192 characters
Default: ""

説明文

tag
Array of strings or null

タグ。1文字以上256文字以内で設定してください。

recipe_id
string or null

レシピIDを指定してください。(指定されない場合はデフォルトのレシピが入ります)

object

公開設定

is_password_required
boolean
Default: false

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

object or null

アップロード情報

generates_thumbnails
boolean or null

trueの場合、upload_infoにて指定した動画の0、20、40、60、80%の地点でサムネイルが生成されます。

parent_content_id
string or null non-empty

コンテンツを格納したい親フォルダのコンテンツIDを指定します。未指定もしくはnullを指定した場合は作成したコンテンツはルート直下に格納されます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

status
required
string
Enum: "FAILED_TO_UPLOAD" "NOT_READY_TO_CONVERT" "READY_TO_CONVERT" "WAIT_TO_CONVERT" "CONVERTING" "CONVERT_COMPLETED" "CONVERT_ERROR" "LIVE_ARCHIVING" "ARCHIVE_FAILED"

** 変換ステータス **
- FAILED_TO_UPLOAD
- アップロードに失敗しています。
- NOT_READY_TO_CONVERT
- コンテンツを変換するための情報が不足しています。
- WAIT_TO_CONVERT
- 変換待機中の状態です。
- CONVERTING
- 変換中です。
- CONVERT_COMPLETED
- 変換完了です。
- CONVERT_ERROR
- 変換中にエラーが起こりました。

created_at
required
string

コンテンツ登録日

updated_at
required
string

コンテンツ更新日

description
string or null

説明文

origin_file_name
string or null

元ファイル名

origin_file_size
integer or null

アップロードしたファイルのサイズ(byte)

object or null

公開設定

media_type
string or null
Enum: "pdf" "video" "live" "audio" "folder"

メディアタイプ

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

conversion_rate
integer or null

変換進捗率

parent_content_id
string or null

親フォルダのコンテンツID

storage_amount
integer or null

ストレージ使用量(byte)

recipe_id
string or null

レシピID

duration
number or null

動画の長さ(秒)

Array of objects or null

字幕情報

object or null

チャプター情報

object or null

動画の幅と高さ

object or null

PDF情報

Request samples

Content type
application/json
{
  • "title": "タイトル",
  • "description": "説明",
  • "tag": [
    ],
  • "recipe_id": "1",
  • "public_setting": {
    },
  • "is_password_required": false,
  • "password": "password",
  • "upload_info": {
    },
  • "generates_thumbnails": true,
  • "parent_content_id": null
}

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "title": "タイトル",
  • "status": "CONVERT_COMPLETED",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "description": "説明",
  • "origin_file_name": "origin_file.mp4",
  • "origin_file_size": 1024,
  • "public_setting": {
    },
  • "media_type": "video",
  • "tag": [
    ],
  • "is_password_required": false,
  • "conversion_rate": 100,
  • "parent_content_id": "4ba28124-c54f-83d8-9abb-5324bddbafc9",
  • "storage_amount": 1024,
  • "recipe_id": "1",
  • "duration": 10,
  • "subtitles": [
    ],
  • "chapter": {
    },
  • "origin_file_dimension": {
    },
  • "pdf_info": {
    }
}

コンテンツ一覧CSV生成

コンテンツ一覧CSVファイルの作成をリクエストします。
当APIはResponses記載のエラーの他、コンテンツ一覧取得APIのエラーを返します。

Authorizations:
token
query Parameters
content_id
string or null

コンテンツのIDで取得対象を絞り込むときに指定します。

title
string or null

コンテンツのタイトルで取得対象を絞り込むときに指定します。

description
string or null

コンテンツの説明文で取得対象を絞り込むときに指定します。

tags
string or null

コンテンツのタグで取得対象を絞り込むときに指定します。タグはカンマ区切りで複数指定できます。

status
string or null

コンテンツの変換ステータス(FAILED_TO_UPLOAD,NOT_READY_TO_CONVERT,READY_TO_CONVERT,WAIT_TO_CONVERT,CONVERTING,CONVERT_COMPLETED,CONVERT_ERROR,LIVE_ARCHIVING,ARCHIVE_FAILED)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないステータスを指定した場合無視されます。

public_setting_types
string or null

コンテンツが含む公開タイプ(public, private, period)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しない公開タイプを指定した場合無視されます。

media_types
string or null

コンテンツのメディアタイプ(video, audio, pdf, folder)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
nullを指定することで、メディアタイプ未指定のコンテンツを絞り込めます。
上記に合致しないメディアタイプを指定した場合無視されます。

parent_content_id
string or null non-empty

親フォルダのコンテンツIDで取得対象を絞り込むときに指定します。
rootを指定することで、フォルダに属さないコンテンツを取得できます。
指定しない場合は全てのコンテンツが取得されます。

thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

sort_by
string
Default: "created_at"
Enum: "duration" "public_setting.start" "updated_at" "created_at" "score" "title" "storage_amount"

並び替えに使用するフィールド。
同じ値の場合はcreated_atの昇順で並べられます。

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
job_id
required
string

ジョブID

api_path
required
string

CSV生成するAPIのパス

params
required
string

CSV生成するAPIのパラメータをJSON形式に変換した文字列

status
required
string
Enum: "generating" "generated" "failed" "expired"

ジョブのステータス

created_at
required
string

ジョブの作成日時

updated_at
required
string

ジョブの更新日時

Request samples

curl -v -X GET 'https://${end_point}/contents/csv?content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&title=タイトル&description=説明文&tags=タグ1,タグ2&status=FAILED_TO_UPLOAD,NOT_READY_TO_CONVERT,READY_TO_CONVERT,WAIT_TO_CONVERT,CONVERTING,CONVERT_COMPLETED,CONVERT_ERROR,LIVE_ARCHIVING,ARCHIVE_FAILED&public_setting_types=public,private,period&media_types=video,pdf&parent_content_id=4ba28124-c54f-83d8-9ffb-5324bddbafc9&thumbnail_url_expires_in_days=1000&sort_by=created_at&order=desc'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "job_id": "12ab34cd-56ef-78gh-90ij-12kl34mn56op",
  • "api_path": "/vod/contents/statistics",
  • "params": "{\"from\": \"2024-06-01\", \"to\": \"2024-06-30\"}",
  • "status": "generating",
  • "created_at": "2024-06-01 00:00:00.000000+09:00",
  • "updated_at": "2024-06-01 00:00:00.000000+09:00"
}

コンテンツ詳細情報取得

コンテンツ詳細情報を取得します。

コンテンツが存在しない場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

query Parameters
thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

status
required
string
Enum: "FAILED_TO_UPLOAD" "NOT_READY_TO_CONVERT" "READY_TO_CONVERT" "WAIT_TO_CONVERT" "CONVERTING" "CONVERT_COMPLETED" "CONVERT_ERROR" "LIVE_ARCHIVING" "ARCHIVE_FAILED"

** 変換ステータス **
- FAILED_TO_UPLOAD
- アップロードに失敗しています。
- NOT_READY_TO_CONVERT
- コンテンツを変換するための情報が不足しています。
- WAIT_TO_CONVERT
- 変換待機中の状態です。
- CONVERTING
- 変換中です。
- CONVERT_COMPLETED
- 変換完了です。
- CONVERT_ERROR
- 変換中にエラーが起こりました。

created_at
required
string

コンテンツ登録日

updated_at
required
string

コンテンツ更新日

description
string or null

説明文

origin_file_name
string or null

元ファイル名

origin_file_size
integer or null

アップロードしたファイルのサイズ(byte)

object or null

公開設定

media_type
string or null
Enum: "pdf" "video" "live" "audio" "folder"

メディアタイプ

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

conversion_rate
integer or null

変換進捗率

parent_content_id
string or null

親フォルダのコンテンツID

storage_amount
integer or null

ストレージ使用量(byte)

recipe_id
string or null

レシピID

duration
number or null

動画の長さ(秒)

Array of objects or null

字幕情報

object or null

チャプター情報

object or null

動画の幅と高さ

object or null

PDF情報。PDFファイルのイメージURLを返します。

Array of objects or null

サムネイル情報。サムネイルurlのリストを返します。

Array of objects

親フォルダ情報

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}?thumbnail_url_expires_in_days=1000'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "title": "タイトル",
  • "status": "CONVERT_COMPLETED",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "description": "説明",
  • "origin_file_name": "origin_file.mp4",
  • "origin_file_size": 1024,
  • "public_setting": {
    },
  • "media_type": "video",
  • "tag": [
    ],
  • "is_password_required": false,
  • "conversion_rate": 100,
  • "parent_content_id": "4ba28124-c54f-83d8-9abb-5324bddbafc9",
  • "storage_amount": 1024,
  • "recipe_id": "1",
  • "duration": 10,
  • "subtitles": [
    ],
  • "chapter": {
    },
  • "origin_file_dimension": {
    },
  • "pdf_info": {},
  • "parent_folders": [
    ]
}

コンテンツ情報更新

コンテンツ情報を更新します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
title
string or null [ 1 .. 1024 ] characters

タイトル

description
string or null <= 8192 characters

説明文

tag
Array of strings or null

タグ。1文字以上256文字以内で設定してください。

recipe_id
string or null

レシピID

object or null

公開設定

thumbnail_active_id
string or null

利用するサムネイルID

is_password_required
boolean or null

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

object or null

アップロード情報

generates_thumbnails
boolean or null

trueの場合、変換対象の動画の0、20、40、60、80%の地点でサムネイルが生成されます。
指定しない場合はサムネイルを生成します。
このパラメーターは動画変換が実行される場合(upload_infoを指定した場合、もしくは既に動画がアップロードされた状態でrecipe_idを指定した場合)にのみ有効です。

parent_content_id
string or null non-empty

コンテンツを格納したい親フォルダのコンテンツIDを指定します。rootを指定した場合は作成したコンテンツはルート直下に格納されます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

status
required
string
Enum: "FAILED_TO_UPLOAD" "NOT_READY_TO_CONVERT" "READY_TO_CONVERT" "WAIT_TO_CONVERT" "CONVERTING" "CONVERT_COMPLETED" "CONVERT_ERROR" "LIVE_ARCHIVING" "ARCHIVE_FAILED"

** 変換ステータス **
- FAILED_TO_UPLOAD
- アップロードに失敗しています。
- NOT_READY_TO_CONVERT
- コンテンツを変換するための情報が不足しています。
- WAIT_TO_CONVERT
- 変換待機中の状態です。
- CONVERTING
- 変換中です。
- CONVERT_COMPLETED
- 変換完了です。
- CONVERT_ERROR
- 変換中にエラーが起こりました。

created_at
required
string

コンテンツ登録日

updated_at
required
string

コンテンツ更新日

description
string or null

説明文

origin_file_name
string or null

元ファイル名

origin_file_size
integer or null

アップロードしたファイルのサイズ(byte)

object or null

公開設定

media_type
string or null
Enum: "pdf" "video" "live" "audio" "folder"

メディアタイプ

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

conversion_rate
integer or null

変換進捗率

parent_content_id
string or null

親フォルダのコンテンツID

storage_amount
integer or null

ストレージ使用量(byte)

recipe_id
string or null

レシピID

duration
number or null

動画の長さ(秒)

Array of objects or null

字幕情報

object or null

チャプター情報

object or null

動画の幅と高さ

object or null

PDF情報。PDFファイルのイメージURLを返します。

Array of objects or null

サムネイル情報。サムネイルurlのリストを返します。

Array of objects

親フォルダ情報

Request samples

Content type
application/json
{
  • "title": "タイトル",
  • "description": "説明",
  • "tag": [
    ],
  • "recipe_id": "1",
  • "public_setting": {
    },
  • "thumbnail_active_id": "1",
  • "is_password_required": false,
  • "password": "password",
  • "upload_info": {
    },
  • "generates_thumbnails": true,
  • "parent_content_id": null
}

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "title": "タイトル",
  • "status": "CONVERT_COMPLETED",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "description": "説明",
  • "origin_file_name": "origin_file.mp4",
  • "origin_file_size": 1024,
  • "public_setting": {
    },
  • "media_type": "video",
  • "tag": [
    ],
  • "is_password_required": false,
  • "conversion_rate": 100,
  • "parent_content_id": "4ba28124-c54f-83d8-9abb-5324bddbafc9",
  • "storage_amount": 1024,
  • "recipe_id": "1",
  • "duration": 10,
  • "subtitles": [
    ],
  • "chapter": {
    },
  • "origin_file_dimension": {
    },
  • "pdf_info": {},
  • "parent_folders": [
    ]
}

コンテンツ情報削除

コンテンツ情報を削除します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

Request samples

curl -v -X DELETE 'https://${end_point}/contents/{content_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9"
}

サムネイル画像登録

サムネイル画像を新規登録する。登録したサムネイルはidが最大のものである。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
required
object

アップロード情報

activates
boolean
Default: true

登録したサムネイルをactiveにするかどうか指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

required
Array of objects

サムネイル情報

Request samples

Content type
application/json
{
  • "upload_info": {
    },
  • "activates": true
}

Response samples

Content type
application/json

サムネイル画像削除

サムネイル画像を削除する。(複数指定可能)
ただし、使用しているサムネイルは削除できません。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
thumbnail_ids
required
Array of strings

削除対象サムネイルID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

thumbnail_ids
required
Array of strings

削除されたサムネイルID一覧

Request samples

Content type
application/json
{
  • "thumbnail_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "thumbnail_ids": [
    ]
}

指定時間のサムネイル生成

指定時間のサムネイルを生成します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
offset_seconds
required
number >= 0

サムネイル生成時間(秒)

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

required
Array of objects

サムネイル情報

offset_seconds
required
number

サムネイル生成時間(秒)

Request samples

Content type
application/json
{
  • "offset_seconds": 30.5
}

Response samples

Content type
application/json

ダウンロードURL取得

コンテンツをダウンロードするためのURLを取得します。

ダウンロードURLには期限があり、期限が切れた場合は、再取得してください。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

expires_at
required
string

有効期限。形式は以下の通りです。
yyyy-mm-ddThh:mm:ss.ffffff+09:00

download_url
required
string
Deprecated

期限付きのダウンロードURL

url
required
string

期限付きのダウンロードURL

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}/download_url'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json

フォルダ

VODコンテンツ用のフォルダ管理で利用するAPIについて記述します。

フォルダ作成

フォルダを作成します。

Authorizations:
token
Request Body schema: application/json
title
required
string [ 1 .. 1024 ] characters

フォルダ名

parent_content_id
string or null non-empty

親フォルダID
指定しない場合はルートに作られます

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

status
required
string
Enum: "FAILED_TO_UPLOAD" "NOT_READY_TO_CONVERT" "READY_TO_CONVERT" "WAIT_TO_CONVERT" "CONVERTING" "CONVERT_COMPLETED" "CONVERT_ERROR" "LIVE_ARCHIVING" "ARCHIVE_FAILED"

** 変換ステータス **
- FAILED_TO_UPLOAD
- アップロードに失敗しています。
- NOT_READY_TO_CONVERT
- コンテンツを変換するための情報が不足しています。
- WAIT_TO_CONVERT
- 変換待機中の状態です。
- CONVERTING
- 変換中です。
- CONVERT_COMPLETED
- 変換完了です。
- CONVERT_ERROR
- 変換中にエラーが起こりました。

created_at
required
string

コンテンツ登録日

updated_at
required
string

コンテンツ更新日

description
string or null

説明文

origin_file_name
string or null

元ファイル名

origin_file_size
integer or null

アップロードしたファイルのサイズ(byte)

object or null

公開設定

media_type
string or null
Enum: "pdf" "video" "live" "audio" "folder"

メディアタイプ

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

conversion_rate
integer or null

変換進捗率

parent_content_id
string or null

親フォルダのコンテンツID

storage_amount
integer or null

ストレージ使用量(byte)

recipe_id
string or null

レシピID

duration
number or null

動画の長さ(秒)

Array of objects or null

字幕情報

object or null

チャプター情報

object or null

動画の幅と高さ

object or null

PDF情報

Request samples

Content type
application/json
{
  • "title": "フォルダその1",
  • "parent_content_id": "5adf1443-5205-4ee8-bea7-5c34630583de"
}

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "title": "タイトル",
  • "status": "CONVERT_COMPLETED",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "description": "説明",
  • "origin_file_name": "origin_file.mp4",
  • "origin_file_size": 1024,
  • "public_setting": {
    },
  • "media_type": "video",
  • "tag": [
    ],
  • "is_password_required": false,
  • "conversion_rate": 100,
  • "parent_content_id": "4ba28124-c54f-83d8-9abb-5324bddbafc9",
  • "storage_amount": 1024,
  • "recipe_id": "1",
  • "duration": 10,
  • "subtitles": [
    ],
  • "chapter": {
    },
  • "origin_file_dimension": {
    },
  • "pdf_info": {
    }
}

フォルダ階層取得

フォルダ階層情報を取得します。

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

created_at
required
string

フォルダ作成日時

updated_at
required
string

フォルダ更新日時

folders
Array of same_as_parent

子フォルダの一覧

Request samples

curl -v -X GET 'https://${end_point}/contents/folder'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "content_id": "5adf1443-5205-4ee8-bea7-5c34630583de",
  • "title": "フォルダその1",
  • "created_at": "2024-06-01 00:00:00.000000+09:00",
  • "updated_at": "2024-06-02 00:00:00.000000+09:00",
  • "folders": [ ]
}

字幕

字幕管理で利用するAPIについて記述します。
字幕は動画コンテンツにのみ利用可能です。

注意事項

設定可能な字幕開始・終了時刻の最大値は、それぞれ99時間59分59秒998と99時間59分59秒999になります。
字幕データの追加・編集・削除操作の途中でエラーが発生した場合は、成功した範囲の操作はロールバックされずに反映されます。

字幕登録

字幕を新規作成します。

Authorizations:
token
path Parameters
content_id
required
string non-empty

コンテンツID

Request Body schema: application/json
label
required
string <= 64 characters

字幕ラベル

srclang
required
string [ 1 .. 128 ] characters

言語コード

is_default
boolean
Default: false

デフォルト字幕設定 trueのときデフォルトの字幕となります

is_enabled
boolean
Default: false

字幕公開設定 trueのとき視聴者へ公開されます

Array of objects

字幕データリスト

order
integer or null

字幕一覧での表示順

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
subtitle_id
required
string

字幕ID

label
required
string

字幕ラベル

srclang
required
string

言語コード

is_default
required
boolean

デフォルト字幕設定

is_enabled
required
boolean

字幕の公開非公開設定

order
required
integer

表示順

status
required
string
Enum: "UNPROCESSED" "PROCESSING" "PROCESSED" "FAILURE"

ステータス

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "items": [
    ],
  • "order": 0
}

Response samples

Content type
application/json
{
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "order": 0,
  • "status": "PROCESSED",
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

字幕ファイル登録

字幕ファイルを登録します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
key
required
string non-empty

アップロードデータの保存先情報

label
required
string [ 1 .. 64 ] characters

字幕ラベル

srclang
required
string [ 1 .. 128 ] characters

言語コード

is_default
boolean or null

デフォルト字幕設定

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
subtitle_id
required
string

字幕ID

label
required
string

字幕ラベル

srclang
required
string

言語コード

is_default
required
boolean

デフォルト字幕設定

is_enabled
required
boolean

字幕の公開非公開設定

order
required
integer

表示順

status
required
string
Enum: "UNPROCESSED" "PROCESSING" "PROCESSED" "FAILURE"

ステータス

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "key": "tmp:xxxxxxxxx",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false
}

Response samples

Content type
application/json
{
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "order": 0,
  • "status": "PROCESSED",
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

字幕取得

指定した秒数の範囲の字幕を取得します。

指定した字幕が存在しない場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

subtitle_id
required
string

字幕ID

query Parameters
start
required
number [ 0 .. 359999.999 ]

開始秒数

end
required
number [ 0 .. 359999.999 ]

終了秒数

export_draft
boolean
Default: false

trueのとき下書きを含んで出力します

as_text
boolean
Default: false

trueのときテキスト(vtt_text)を返します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

subtitle_id
required
string

字幕ID 無指定のとき新規作成

label
required
string

字幕ラベル

srclang
required
string

言語コード

is_default
required
boolean

デフォルト字幕設定

is_enabled
required
boolean

字幕の公開非公開設定

order
required
integer

表示順

status
required
string
Enum: "UNPROCESSED" "PROCESSING" "PROCESSED" "FAILURE"

ステータス

created_at
required
string

作成日時

updated_at
required
string

更新日時

Array of objects or null

字幕データ

vtt_text
string or null

VTTテキストデータ

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}/subtitle/{subtitle_id}?start=0.0&end=7200.0&export_draft=False&as_text=False'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "content_id": "f5c14cc9-4808-4c86-b2fd-de63ae72a6a0",
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "order": 0,
  • "status": "PROCESSED",
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900",
  • "cues": {
    },
  • "vtt_text": "VTT\n\n 00:00:00.000 --> 23:59:59.999\n字幕テキスト"
}

字幕編集

字幕を編集します。

Authorizations:
token
path Parameters
content_id
required
string non-empty

コンテンツID

subtitle_id
required
string non-empty

字幕ID

Request Body schema: application/json
label
string or null <= 64 characters

字幕ラベル

srclang
string or null [ 1 .. 128 ] characters

言語コード

is_default
boolean or null

デフォルト字幕設定 trueのときデフォルトの字幕となります

is_enabled
boolean or null

字幕公開設定 trueのとき視聴者へ公開されます

Array of objects

字幕データリスト

apply
boolean or null

字幕公開設定
trueのとき下書き状態の字幕データの下書きを解除して編集後の内容を視聴者に公開します。
is_enablefalseの場合は編集後の内容は公開できる状態ですが、is_enabletrueに更新されるまで視聴者への公開が停止されている状態となります。

order
integer or null

字幕一覧での表示順

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
subtitle_id
required
string

字幕ID

label
required
string

字幕ラベル

srclang
required
string

言語コード

is_default
required
boolean

デフォルト字幕設定

is_enabled
required
boolean

字幕の公開非公開設定

order
required
integer

表示順

status
required
string
Enum: "UNPROCESSED" "PROCESSING" "PROCESSED" "FAILURE"

ステータス

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "items": [
    ],
  • "apply": false,
  • "order": 0
}

Response samples

Content type
application/json
{
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "order": 0,
  • "status": "PROCESSED",
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

字幕削除

字幕を削除します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

subtitle_id
required
string

字幕ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

subtitle_id
required
string

字幕ID

Request samples

curl -v -X DELETE 'https://${end_point}/contents/{content_id}/subtitle/{subtitle_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "content_id": "f5c14cc9-4808-4c86-b2fd-de63ae72a6a0",
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250"
}

字幕一括編集

字幕を一括編集します。

Authorizations:
token
Request Body schema: application/json
Array of objects

字幕データリスト

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

字幕データ数

required
Array of objects

字幕データ

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

字幕ダウンロードURLを取得

字幕をダウンロードURLを取得する

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

subtitle_id
required
string

字幕ID

query Parameters
export_draft
boolean
Default: false

trueのとき下書きを含んで出力します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

ダウンロードURL

expires_at
required
string

ダウンロードURLの有効期限

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}/subtitle/{subtitle_id}/download?export_draft=False'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{}

自動字幕生成開始

自動字幕生成を開始します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
label
required
string [ 1 .. 64 ] characters

字幕ラベル

srclang
required
string
Enum: "af" "ar-AE" "ar-SA" "da" "de-DE" "de-CH" "en-AU" "en-GB" "en-IN" "en-IE" "en-NZ" "en-AB" "en-ZA" "en-US" "en-WL" "es-ES" "es-US" "fa" "fr-FR" "fr-CA" "he" "hi" "id" "it" "ja" "ko" "ms" "nl" "pt-PT" "pt-BR" "ru" "sv" "ta" "te" "th" "tr" "vi" "zh-CN" "zh-TW"

言語コード

speakers_count
integer or null [ 1 .. 10 ]

話している人数

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
subtitle_id
required
string

字幕ID

label
required
string

字幕ラベル

srclang
required
string

言語コード

is_default
required
boolean

デフォルト字幕設定

is_enabled
required
boolean

字幕の公開非公開設定

order
required
integer

表示順

status
required
string
Enum: "UNPROCESSED" "PROCESSING" "PROCESSED" "FAILURE"

ステータス

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "label": "日本語",
  • "srclang": "ja",
  • "speakers_count": 1
}

Response samples

Content type
application/json
{
  • "subtitle_id": "1fb76906-9f13-49fe-a13f-46714d81c250",
  • "label": "日本語",
  • "srclang": "ja",
  • "is_default": false,
  • "is_enabled": false,
  • "order": 0,
  • "status": "PROCESSED",
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

自動字幕生成利用時間取得

自動字幕生成の利用可能時間と実際の利用時間を取得します。

パラメーターのyearmonthを指定した場合は、その年月の情報を、
指定しない場合は当月の情報をそれぞれ取得できます。

Authorizations:
token
query Parameters
year
integer or null [ 1000 .. 9999 ]

対象年

month
integer or null [ 1 .. 12 ]

対象月

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_usage_second
required
number

対象年月の実際の利用時間(秒)

quota_second
required
integer

対象年月の利用可能時間(秒)

Request samples

curl -v -X GET 'https://${end_point}/usages/subtitle/transcription?year=2022&month=5'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_usage_second": 500.1,
  • "quota_second": 500
}

チャプター

チャプター管理で利用するAPIについて記述します。
チャプターは動画コンテンツにのみ利用可能です。

注意事項

設定可能なチャプター開始・終了時刻の最大値は、それぞれ99時間59分59秒998と99時間59分59秒999になります。

チャプター取得

チャプターを取得します。

指定したコンテンツにチャプターが存在しない場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

query Parameters
export_draft
boolean
Default: false

trueのとき下書きを含んで出力します

as_text
boolean
Default: false

trueのときテキスト(vtt_text)を返します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

label
required
string

チャプターラベル

is_enabled
required
boolean

チャプターの公開非公開設定

created_at
required
string

作成日時

updated_at
required
string

更新日時

Array of objects or null

チャプターデータ

vtt_text
string or null

VTTテキストデータ

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}/chapter?export_draft=False&as_text=False'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "content_id": "f5c14cc9-4808-4c86-b2fd-de63ae72a6a0",
  • "label": "第1章",
  • "is_enabled": false,
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900",
  • "cues": {
    },
  • "vtt_text": "VTT\n\n 00:00:00.000 --> 00:00:10.000\n第1章"
}

チャプターファイル登録

チャプターファイルを登録します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
key
required
string non-empty

アップロードデータの保存先情報

label
required
string [ 1 .. 1024 ] characters

チャプターラベル

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
label
required
string

チャプターラベル

is_enabled
required
boolean

チャプターの公開非公開設定

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "key": "tmp:xxxxxxxxx",
  • "label": "日本語"
}

Response samples

Content type
application/json
{
  • "label": "第1章",
  • "is_enabled": false,
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

チャプター登録

チャプターを新規作成します。チャプターが既に存在する場合は上書きされます。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
label
required
string [ 1 .. 1024 ] characters

チャプターラベル

is_enabled
required
boolean

チャプター表示設定 trueのとき公開されます

Array of objects

チャプターデータリスト

apply
boolean or null

公開設定 trueのとき編集後の内容を一般に公開します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
label
required
string

チャプターラベル

is_enabled
required
boolean

チャプターの公開非公開設定

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "label": "第1章",
  • "is_enabled": false,
  • "items": [
    ],
  • "apply": false
}

Response samples

Content type
application/json
{
  • "label": "第1章",
  • "is_enabled": false,
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

チャプター削除

チャプターを削除します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

Request samples

curl -v -X DELETE 'https://${end_point}/contents/{content_id}/chapter'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "content_id": "f5c14cc9-4808-4c86-b2fd-de63ae72a6a0"
}

チャプター編集

チャプターを編集します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
label
string or null [ 1 .. 1024 ] characters

チャプターラベル

is_enabled
boolean or null

チャプター表示設定 trueのとき公開されます

Array of objects

チャプターデータリスト

apply
boolean or null

公開設定 trueのとき編集後の内容を一般に公開します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
label
required
string

チャプターラベル

is_enabled
required
boolean

チャプターの公開非公開設定

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "label": "第1章",
  • "is_enabled": false,
  • "items": [
    ],
  • "apply": false
}

Response samples

Content type
application/json
{
  • "label": "第1章",
  • "is_enabled": false,
  • "created_at": "2022-01-01T00:00:00.000000+0900",
  • "updated_at": "2022-01-01T00:00:00.000000+0900"
}

チャプターダウンロードURLを取得

チャプターをダウンロードURLを取得する

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

query Parameters
export_draft
boolean
Default: false

trueのとき下書きを含んで出力します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

ダウンロードURL

expires_at
required
string

ダウンロードURLの有効期限

Request samples

curl -v -X GET 'https://${end_point}/contents/{content_id}/chapter/download?export_draft=False'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{}

アップロード

ファイルのアップロードで利用するAPIについて記述します。

注意事項

一時アップロード先に保存したデータは、アップロード完了から2日間使用できます。2日経過すればアップロードしたファイルは削除されますので、アップロードURL取得APIのレスポンスに含まれるkeyを利用して、各種管理系APIで適切に処理を実施して下さい。

一時アップロードURL取得

一時アップロードURLを取得する

Authorizations:
token
query Parameters
url_expires_in_seconds
integer [ 1 .. 10800 ]
Default: 300

URLの有効期限を秒単位で指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

アップロードURL

key
required
string

アップロードデータの保存先情報

expires_at
required
string

有効期限

Request samples

curl -v -X GET 'https://${end_point}/file/upload/tmp?url_expires_in_seconds=300'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{}

一時マルチパートアップロードURL取得

一時マルチパートアップロードURLを取得する

Authorizations:
token
query Parameters
chunk_file_count
required
integer [ 1 .. 500 ]

チャンク数。何個に分割してアップロードするかを指定します。上限は500です。

url_expires_in_seconds
integer [ 1 .. 10800 ]
Default: 3600

URLの有効期限を秒単位で指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
urls
required
Array of strings

アップロードURL

key
required
string

アップロードデータの保存先情報

expires_at
required
string

有効期限

upload_id
required
string

アップロードID

Request samples

curl -v -X GET 'https://${end_point}/file/upload/tmp/multipart?chunk_file_count=10&url_expires_in_seconds=3600'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "urls": [],
  • "key": "tmp:xxxxxxxxx",
  • "expires_at": "2020-01-01T00:00:00.000000+0900",
  • "upload_id": "nl5vrMWgBDUFOa9P"
}

レシピ

レシピ管理で利用するAPIについて記述します。
レシピとはコンテンツ変換時のエンコード設定を指します。
標準で以下のレシピが準備されています。標準で準備されているレシピは編集/削除ができません。

recipe_id category name audio_bit_rate video_bit_rate width x height frame_rate
1 video 高画質 128000
128000
128000
8000000
4500000
2000000
2560x1440
1920x1080
1280x720
30
30
30
2 video 標準 128000
128000
2000000
1000000
1280x720
854x480
30
30
3 video 低画質 128000
96000
1000000
500000
854x480
640x360
30
30
4 audio 音声標準 96000 - - -

レシピ一覧取得

レシピ一覧を取得します。

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects

Request samples

curl -v -X GET 'https://${end_point}/recipes'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

レシピ情報登録

レシピ情報を登録します。

Authorizations:
token
Request Body schema: application/json
name
required
string [ 1 .. 1024 ] characters

レシピ名

required
Array of objects [ 1 .. 10 ] items

出力設定

category
string
Default: "video"
Enum: "video" "audio"

レシピ種別

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
recipe_id
required
string

レシピID

name
required
string

レシピ名

editable
required
boolean

変更可能フラグ

category
required
string
Enum: "video" "audio"

レシピ種別

required
Array of objects

出力設定

is_millvi_managed
required
boolean

millvi管理レシピフラグ

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "name": "標準",
  • "output_setting": [
    ],
  • "category": "video"
}

Response samples

Content type
application/json
{
  • "recipe_id": "1",
  • "name": "標準",
  • "editable": false,
  • "category": "video",
  • "output_setting": [
    ],
  • "is_millvi_managed": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900"
}

レシピ詳細情報取得

レシピ詳細情報を取得します。

レシピが存在しない場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
recipe_id
required
string

レシピID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
recipe_id
required
string

レシピID

name
required
string

レシピ名

editable
required
boolean

変更可能フラグ

category
required
string
Enum: "video" "audio"

レシピ種別

required
Array of objects

出力設定

is_millvi_managed
required
boolean

millvi管理レシピフラグ

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

curl -v -X GET 'https://${end_point}/recipes/{recipe_id}'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "recipe_id": "1",
  • "name": "標準",
  • "editable": false,
  • "category": "video",
  • "output_setting": [
    ],
  • "is_millvi_managed": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900"
}

レシピ情報更新

レシピ情報を更新します。

Authorizations:
token
path Parameters
recipe_id
required
string

レシピID

Request Body schema: application/json
name
string or null [ 1 .. 1024 ] characters

レシピ名

Array of objects or null [ 1 .. 10 ] items

出力設定

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
recipe_id
required
string

レシピID

name
required
string

レシピ名

editable
required
boolean

変更可能フラグ

category
required
string
Enum: "video" "audio"

レシピ種別

required
Array of objects

出力設定

is_millvi_managed
required
boolean

millvi管理レシピフラグ

created_at
required
string

作成日時

updated_at
required
string

更新日時

Request samples

Content type
application/json
{
  • "name": "標準",
  • "output_setting": [
    ]
}

Response samples

Content type
application/json
{
  • "recipe_id": "1",
  • "name": "標準",
  • "editable": false,
  • "category": "video",
  • "output_setting": [
    ],
  • "is_millvi_managed": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900"
}

レシピ削除

レシピを削除します。

Authorizations:
token
path Parameters
recipe_id
required
string

レシピID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
recipe_id
required
string

レシピID

Request samples

curl -v -X DELETE 'https://${end_point}/recipes/{recipe_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "recipe_id": "1"
}

プレイヤーカスタマイズ

プレイヤーのカスタマイズに利用するAPIについて記述します。
標準で以下のプレイヤーが準備されています。標準で準備されているプレイヤーは編集/削除ができません。

player_id player_type player_name
1 video デフォルトVIDEOプレイヤー
2 pdf デフォルトPDFプレイヤー
3 audio デフォルト音声プレイヤー

プレイヤーリスト取得

プレイヤーリストを取得します

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

プレイヤー設定の数

required
Array of objects

プレイヤー設定一覧

Request samples

curl -v -X GET 'https://${end_point}/player'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

プレイヤー削除

指定されたIDのプレイヤーを削除します

Authorizations:
token
Request Body schema: application/json
player_id
required
integer

プレイヤーID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
player_id
required
integer

プレイヤーID

Request samples

Content type
application/json
{
  • "player_id": 4
}

Response samples

Content type
application/json
{
  • "player_id": 4
}

プレイヤー新規作成

指定された名前およびタイプのプレイヤーを追加します

Authorizations:
token
Request Body schema: application/json
player_name
required
string [ 1 .. 1024 ] characters

プレイヤー名

player_type
required
string
Enum: "video" "pdf" "audio"

プレイヤータイプ

fullscreen
boolean or null
Default: true

全画面表示
VideoとPDFプレイヤーで有効になります。

aspect_ratio
string or null
Default: "16:9"
Enum: "16:9" "4:3" "9:16" "3:4" "FIXED_SIZE" "RESPONSIVE"

アスペクト比
RESPONSIVEはAudioプレイヤーのみ有効です。
AudioプレイヤーにはRESPONSIVEFIXED_SIZEのみ設定できます。

height
integer or null

高さ
バータイプの音声プレイヤーは48px固定となります。
サークルタイプの音声プレイヤーはwidthと同じ値に設定されます。

width
integer or null

chromeless
boolean or null
Default: true

クロムレス
Videoプレイヤーのみ有効になります。

autoplay
boolean or null
Default: false

自動再生
Videoプレイヤーのみ有効になります。
Audioプレイヤーでは常に無効になります。

big_play_button
boolean or null
Default: true

再生アイコン
Videoプレイヤーのみ有効になります。

controls
boolean or null
Default: true

コントロールパネル
Videoプレイヤーのみ有効になります。

show_title
boolean or null
Default: false

タイトル表示
Videoプレイヤーのみ有効になります。

default_volume
number or null [ 0 .. 1 ]
Default: 0.7

ボリューム
VideoとAudioプレイヤーで有効になります。

loop
boolean or null
Default: false

リピート
VideoとAudioプレイヤーで有効になります。

muted
boolean or null
Default: false

ミュート
VideoとAudioプレイヤーで有効になります。

playback_rates
Array of numbers or null

速度設定
VideoとAudioプレイヤーで有効になります。

preload
string or null
Default: "auto"
Enum: "auto" "metadata" "none"

プリロード
VideoとAudioプレイヤーで有効になります。

seekable
boolean or null
Default: true

シーク可能設定
VideoとAudioプレイヤーで有効になります。

skip_enabled
boolean or null
Default: true

スキップボタン表示設定
VideoとAudioプレイヤーで有効になります。

resume
boolean or null
Default: false

レジューム再生機能
VideoとAudioプレイヤーで有効になります。
レジュームがONの場合、プリロードをOFFに設定してもプリロードが実行されます。

style
string or null
Enum: "bar" "circle"

プレイヤースタイル
Audioプレイヤーのみ有効になります。

continuous
boolean or null
Default: false

連続再生
プレイリストを再生するときに有効になります。
VideoとAudioプレイヤーで有効になります。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
player_id
required
integer

プレイヤーID

player_name
required
string

プレイヤー名

player_type
required
string
Enum: "video" "pdf" "audio"

プレイヤータイプ

aspect_ratio
required
string
Enum: "16:9" "4:3" "9:16" "3:4" "FIXED_SIZE" "RESPONSIVE"

アスペクト比

created_at
required
string

作成日時

updated_at
required
string

更新日時

height
integer or null

高さ
バータイプの音声プレイヤーは48px固定となります。
サークルタイプの音声プレイヤーはwidthと同じ値に設定されます。

width
integer or null

chromeless
boolean or null

クロムレス
Videoプレイヤーのみ有効になります。

autoplay
boolean or null

自動再生
Videoプレイヤーのみ有効になります。
Audioプレイヤーでは常に無効になります。この設定が有効の場合はmutedはtrueに設定されます。

big_play_button
boolean or null

再生アイコン
Videoプレイヤーのみ有効になります。

controls
boolean or null

コントロールパネル
Videoプレイヤーのみ有効になります。

show_title
boolean or null

タイトル表示
Videoプレイヤーのみ有効になります。

default_volume
number or null [ 0 .. 1 ]

ボリューム
VideoとAudioプレイヤーで有効になります。

fullscreen
boolean or null

全画面表示
VideoとPDFプレイヤーで有効になります。

loop
boolean or null

リピート
VideoとAudioプレイヤーで有効になります。

muted
boolean or null

ミュート
VideoとAudioプレイヤーで有効になります。

playback_rates
Array of numbers or null

速度設定
VideoとAudioプレイヤーで有効になります。

preload
string or null
Enum: "auto" "metadata" "none"

プリロード
VideoとAudioプレイヤーで有効になります。

seekable
boolean or null

シーク可能設定
VideoとAudioプレイヤーで有効になります。

skip_enabled
boolean or null

スキップボタン表示設定
VideoとAudioプレイヤーで有効になります。

resume
boolean or null

レジューム再生機能
VideoとAudioプレイヤーで有効になります。
レジュームがONの場合、プリロードをOFFに設定してもプリロードが実行されます。

is_default
boolean or null

デフォルトプレイヤーフラグ

style
string or null
Enum: "bar" "circle"

プレイヤースタイル
Audioプレイヤーのみ有効になります。

continuous
boolean or null
Default: false

連続再生
プレイリストを再生するときに有効になります。
VideoとAudioプレイヤーで有効になります。

Request samples

Content type
application/json
{
  • "player_name": "my_player_01",
  • "player_type": "video",
  • "fullscreen": true,
  • "aspect_ratio": "16:9",
  • "height": 720,
  • "width": 1240,
  • "chromeless": true,
  • "autoplay": true,
  • "big_play_button": true,
  • "controls": true,
  • "show_title": false,
  • "default_volume": 0.7,
  • "loop": false,
  • "muted": false,
  • "playback_rates": [
    ],
  • "preload": "auto",
  • "seekable": true,
  • "skip_enabled": true,
  • "resume": false,
  • "style": "bar",
  • "continuous": false
}

Response samples

Content type
application/json
{
  • "player_id": 3,
  • "player_name": "my_player_01",
  • "player_type": "video",
  • "aspect_ratio": "16:9",
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900",
  • "height": 720,
  • "width": 1240,
  • "chromeless": true,
  • "autoplay": true,
  • "big_play_button": true,
  • "controls": true,
  • "show_title": false,
  • "default_volume": 0.7,
  • "fullscreen": true,
  • "loop": false,
  • "muted": true,
  • "playback_rates": [
    ],
  • "preload": "auto",
  • "seekable": true,
  • "skip_enabled": true,
  • "resume": false,
  • "is_default": false,
  • "style": "bar",
  • "continuous": false
}

プレイヤー更新

指定したプレイヤーIDの設定を更新します

Authorizations:
token
Request Body schema: application/json
player_id
required
integer

プレイヤーID

player_name
string or null [ 1 .. 1024 ] characters

プレイヤー名

fullscreen
boolean or null

全画面表示
VideoとPDFプレイヤーでのみ有効になります。

aspect_ratio
string or null
Enum: "16:9" "4:3" "9:16" "3:4" "FIXED_SIZE" "RESPONSIVE"

アスペクト比
RESPONSIVEはAudioプレイヤーのみ有効です。
AudioプレイヤーにはRESPONSIVEFIXED_SIZEのみ設定できます。

height
integer or null

高さ
バータイプの音声プレイヤーは48px固定となります。
サークルタイプの音声プレイヤーはwidthと同じ値に設定されます。

width
integer or null

chromeless
boolean or null

クロムレス
Videoプレイヤーのみ有効になります。

autoplay
boolean or null

自動再生
Videoプレイヤーのみ有効になります。
Audioプレイヤーでは常に無効になります。

big_play_button
boolean or null

再生アイコン
Videoプレイヤーのみ有効になります。

controls
boolean or null

コントロールパネル
Videoプレイヤーのみ有効になります。

show_title
boolean or null

タイトル表示
Videoプレイヤーのみ有効になります。

default_volume
number or null [ 0 .. 1 ]

ボリューム
VideoとAudioプレイヤーで有効になります。

loop
boolean or null

リピート
VideoとAudioプレイヤーで有効になります。

muted
boolean or null

ミュート
VideoとAudioプレイヤーで有効になります。

playback_rates
Array of numbers or null

速度設定
VideoとAudioプレイヤーで有効になります。

preload
string or null
Enum: "auto" "metadata" "none"

プリロード
VideoとAudioプレイヤーで有効になります。

seekable
boolean or null

シーク可能設定
VideoとAudioプレイヤーで有効になります。

skip_enabled
boolean or null

スキップボタン表示設定
VideoとAudioプレイヤーで有効になります。

resume
boolean or null

レジューム再生機能
VideoとAudioプレイヤーで有効になります。
レジュームがONの場合、プリロードをOFFに設定してもプリロードが実行されます。

style
string or null
Enum: "bar" "circle"

プレイヤースタイル
Audioプレイヤーのみ有効になります。

continuous
boolean or null

連続再生
プレイリストを再生するときに有効になります。
VideoとAudioプレイヤーで有効になります。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
player_id
required
integer

プレイヤーID

player_name
required
string

プレイヤー名

player_type
required
string
Enum: "video" "pdf" "audio"

プレイヤータイプ

aspect_ratio
required
string
Enum: "16:9" "4:3" "9:16" "3:4" "FIXED_SIZE" "RESPONSIVE"

アスペクト比

created_at
required
string

作成日時

updated_at
required
string

更新日時

height
integer or null

高さ
バータイプの音声プレイヤーは48px固定となります。
サークルタイプの音声プレイヤーはwidthと同じ値に設定されます。

width
integer or null

chromeless
boolean or null

クロムレス
Videoプレイヤーのみ有効になります。

autoplay
boolean or null

自動再生
Videoプレイヤーのみ有効になります。
Audioプレイヤーでは常に無効になります。この設定が有効の場合はmutedはtrueに設定されます。

big_play_button
boolean or null

再生アイコン
Videoプレイヤーのみ有効になります。

controls
boolean or null

コントロールパネル
Videoプレイヤーのみ有効になります。

show_title
boolean or null

タイトル表示
Videoプレイヤーのみ有効になります。

default_volume
number or null [ 0 .. 1 ]

ボリューム
VideoとAudioプレイヤーで有効になります。

fullscreen
boolean or null

全画面表示
VideoとPDFプレイヤーで有効になります。

loop
boolean or null

リピート
VideoとAudioプレイヤーで有効になります。

muted
boolean or null

ミュート
VideoとAudioプレイヤーで有効になります。

playback_rates
Array of numbers or null

速度設定
VideoとAudioプレイヤーで有効になります。

preload
string or null
Enum: "auto" "metadata" "none"

プリロード
VideoとAudioプレイヤーで有効になります。

seekable
boolean or null

シーク可能設定
VideoとAudioプレイヤーで有効になります。

skip_enabled
boolean or null

スキップボタン表示設定
VideoとAudioプレイヤーで有効になります。

resume
boolean or null

レジューム再生機能
VideoとAudioプレイヤーで有効になります。
レジュームがONの場合、プリロードをOFFに設定してもプリロードが実行されます。

is_default
boolean or null

デフォルトプレイヤーフラグ

style
string or null
Enum: "bar" "circle"

プレイヤースタイル
Audioプレイヤーのみ有効になります。

continuous
boolean or null
Default: false

連続再生
プレイリストを再生するときに有効になります。
VideoとAudioプレイヤーで有効になります。

Request samples

Content type
application/json
{
  • "player_id": 4,
  • "player_name": "my_player_01",
  • "fullscreen": true,
  • "aspect_ratio": "16:9",
  • "height": 720,
  • "width": 1240,
  • "chromeless": true,
  • "autoplay": true,
  • "big_play_button": true,
  • "controls": true,
  • "show_title": false,
  • "default_volume": 0.7,
  • "loop": false,
  • "muted": true,
  • "playback_rates": [
    ],
  • "preload": "auto",
  • "seekable": true,
  • "skip_enabled": true,
  • "resume": false,
  • "style": "bar",
  • "continuous": false
}

Response samples

Content type
application/json
{
  • "player_id": 3,
  • "player_name": "my_player_01",
  • "player_type": "video",
  • "aspect_ratio": "16:9",
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900",
  • "height": 720,
  • "width": 1240,
  • "chromeless": true,
  • "autoplay": true,
  • "big_play_button": true,
  • "controls": true,
  • "show_title": false,
  • "default_volume": 0.7,
  • "fullscreen": true,
  • "loop": false,
  • "muted": true,
  • "playback_rates": [
    ],
  • "preload": "auto",
  • "seekable": true,
  • "skip_enabled": true,
  • "resume": false,
  • "is_default": false,
  • "style": "bar",
  • "continuous": false
}

コンテンツセキュリティ設定

コンテンツセキュリティ設定を管理するAPIについて記述します。
標準で以下のセキュリティ設定が準備されています。標準で準備されているセキュリティ設定は削除ができません。(編集は可能)

security_config_name security_config_id allowed_ip_address allowed_domain
デフォルト null null null

コンテンツセキュリティ設定一覧を取得

コンテンツセキュリティ設定一覧を取得します

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

コンテンツセキュリティ設定の数

required
Array of objects

コンテンツセキュリティ設定一覧

Request samples

curl -v -X GET 'https://${end_point}/security/contents'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

コンテンツセキュリティ設定を作成

コンテンツセキュリティ設定を作成します

Authorizations:
token
Request Body schema: application/json
security_config_name
required
string [ 1 .. 1024 ] characters

セキュリティ設定名

allowed_ip_address
Array of strings or null

IPホワイトリスト

allowed_domain
Array of strings or null

ドメインホワイトリスト。
ドメインの先頭にワイルドカード(*)を指定可能で、IPアドレスでの指定も可能です。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
security_config_name
required
string

セキュリティ設定名

created_at
required
string

作成日時

updated_at
required
string

更新日時

allowed_ip_address
Array of strings

IPホワイトリスト

allowed_domain
Array of strings

ドメインホワイトリスト

security_config_id
string or null

セキュリティ設定ID デフォルトセキュリティ設定の場合にnullになります

Request samples

Content type
application/json
{
  • "security_config_name": "セキュリティ設定_1",
  • "allowed_ip_address": [
    ],
  • "allowed_domain": [
    ]
}

Response samples

Content type
application/json
{
  • "security_config_name": "セキュリティ設定_1",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "allowed_ip_address": [
    ],
  • "allowed_domain": [
    ],
  • "security_config_id": "b2a87e37-1ec5-431f-9d59-2717f7363ee4"
}

コンテンツセキュリティ設定を更新

コンテンツセキュリティ設定を更新します

Authorizations:
token
Request Body schema: application/json
security_config_name
string or null [ 1 .. 1024 ] characters

セキュリティ設定名

allowed_ip_address
Array of strings or null

IPホワイトリスト

allowed_domain
Array of strings or null

ドメインホワイトリスト。
ドメインの先頭にワイルドカード(*)を指定可能で、IPアドレスでの指定も可能です。

security_config_id
string or null

セキュリティ設定ID 無指定の場合、デフォルト設定を更新します

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
security_config_name
required
string

セキュリティ設定名

created_at
required
string

作成日時

updated_at
required
string

更新日時

allowed_ip_address
Array of strings

IPホワイトリスト

allowed_domain
Array of strings

ドメインホワイトリスト

security_config_id
string or null

セキュリティ設定ID デフォルトセキュリティ設定の場合にnullになります

Request samples

Content type
application/json
{
  • "security_config_name": "セキュリティ設定_1",
  • "allowed_ip_address": [
    ],
  • "allowed_domain": [
    ],
  • "security_config_id": "b2a87e37-1ec5-431f-9d59-2717f7363ee4"
}

Response samples

Content type
application/json
{
  • "security_config_name": "セキュリティ設定_1",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "allowed_ip_address": [
    ],
  • "allowed_domain": [
    ],
  • "security_config_id": "b2a87e37-1ec5-431f-9d59-2717f7363ee4"
}

コンテンツセキュリティ設定を削除

コンテンツセキュリティ設定を削除します

Authorizations:
token
Request Body schema: application/json
security_config_id
required
string non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
security_config_id
required
string

セキュリティ設定ID

Request samples

Content type
application/json
{
  • "security_config_id": "b2a87e37-1ec5-431f-9d59-2717f7363ee4"
}

Response samples

Content type
application/json
{
  • "security_config_id": "b2a87e37-1ec5-431f-9d59-2717f7363ee4"
}

Embedキー

Embedキーを取得するAPIについて記述します。
Embedキーはコンテンツ視聴のために必要な情報をハッシュ化した値となります。Embedキーを適切な形式でプレイヤーに渡すことで、コンテンツを視聴することができます。

動画再生用のEmbedキーを発行

プレイヤーの埋め込みコードに必要なembedkeyを発行します。

Authorizations:
token
Request Body schema: application/json
content_id
string or null non-empty

コンテンツID
content_idとplaylist_idのいずれかは必須です。

playlist_id
string or null non-empty

プレイリストID
content_idとplaylist_idのいずれかは必須です。

player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

is_live
boolean
Default: false

ライブコンテンツフラグ
ライブコンテンツの埋め込みコードを生成するときtrue

object or null

プレビュートークンの生成オプション

未指定の場合はプレビュートークンは生成されません

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
embed_key
required
string

Embedキー

object or null

プレビュートークン情報

Request samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "playlist_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "player_id": 3,
  • "security_config_id": "4a5801b1-f76e-44a5-8f1a-2d50f6a47c4c",
  • "is_live": false,
  • "preview_token_option": {
    }
}

Response samples

Content type
application/json
{
  • "embed_key": "AQICAHgkhJIMl9",
  • "preview_token_info": {
    }
}

セキュリティ管理

セキュリティ管理に利用するAPIについて記述します。

シークレットキー一覧取得

登録されているシークレットキーの一覧取得

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

Array of objects or null

シークレットキーリスト

Request samples

curl -v -X GET 'https://${end_point}/security/key'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": {
    }
}

シークレットキー発行

access_keyの署名で使用するシークレットキーの発行

Authorizations:
token
Request Body schema: application/json
key_name
required
string non-empty

シークレットキー名

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/x-pem-file
string <binary>

Request samples

Content type
application/json
{
  • "key_name": "key_name"
}

Response samples

Content type
application/json
Example
{
  • "errorCode": "MVOD_CMN_0005",
  • "reason": "必須パラメーターが存在しません。[param_names]"
}

シークレットキー削除

access_keyの署名で使用するシークレットキーの削除

Authorizations:
token
path Parameters
key_name
required
string non-empty

シークレットキー名

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
key_name
required
string

シークレットキー名

Request samples

curl -v -X DELETE 'https://${end_point}/security/key/{key_name}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "key_name": "key_name"
}

簡易視聴ページ

簡易視聴ページに利用するAPIについて記述します。

VOD簡易視聴ページURL発行

VODコンテンツ簡易視聴ページのURLを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

簡易視聴URL

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "4a5801b1-f76e-44a5-8f1a-2d50f6a47c4c"
}

Response samples

ライブ簡易視聴ページURL発行

ライブコンテンツ簡易視聴ページのURLを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

簡易視聴URL

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "4a5801b1-f76e-44a5-8f1a-2d50f6a47c4c"
}

Response samples

プレイリスト簡易視聴ページURL発行

プレイリストコンテンツ簡易視聴ページのURLを返します。

Authorizations:
token
path Parameters
playlist_id
required
string

プレイリストID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
url
required
string

簡易視聴URL

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "466ed4ac-91b7-40b6-aaea-a742d959dc04"
}

Response samples

iframe

視聴用のiframeで利用するAPIについて記述します。

VOD視聴用iframe発行

VODコンテンツ視聴用のiframeを発行します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
iframe_tag
required
string

iframeタグ

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "4a5801b1-f76e-44a5-8f1a-2d50f6a47c4c"
}

Response samples

Content type
application/json
{
  • "iframe_tag": "<iframe name=\"7ZaOhA0Q0tMTqHC\" src=\"https://iframe.millvi.com/7ZaOhA0Q0tMTqHC8ExpOLDEdetCb3zKzQYFHIh9RpuI=\" frameborder=\"0\" width=\"100%\" allowfullscreen></iframe>"
}

LIVE視聴用iframe発行

LIVEコンテンツ視聴用のiframeを発行します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
iframe_tag
required
string

iframeタグ

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "4a5801b1-f76e-44a5-8f1a-2d50f6a47c4c"
}

Response samples

Content type
application/json
{
  • "iframe_tag": "<iframe name=\"7ZaOhA0Q0tMTqHC\" src=\"https://iframe.millvi.com/7ZaOhA0Q0tMTqHC8ExpOLDEdetCb3zKzQYFHIh9RpuI=\" frameborder=\"0\" width=\"100%\" allowfullscreen></iframe>"
}

プレイリスト視聴用iframe発行

プレイリストコンテンツ視聴用のiframeを発行します。

Authorizations:
token
path Parameters
playlist_id
required
string

プレイリストID

Request Body schema: application/json
player_id
integer or null

プレイヤーID

security_config_id
string or null non-empty

セキュリティ設定ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
iframe_tag
required
string

iframeタグ

Request samples

Content type
application/json
{
  • "player_id": 3,
  • "security_config_id": "466ed4ac-91b7-40b6-aaea-a742d959dc04"
}

Response samples

Content type
application/json
{
  • "iframe_tag": "<iframe name=\"7ZaOhA0Q0tMTqHC\" src=\"https://iframe.millvi.com/7ZaOhA0Q0tMTqHC8ExpOLDEdetCb3zKzQYFHIh9RpuI=\" frameborder=\"0\" width=\"100%\" allowfullscreen></iframe>"
}

ライブコンテンツ

ライブコンテンツ管理で利用するAPIについて記述します。

ライブコンテンツ一覧取得

ライブコンテンツ一覧を取得します。

Authorizations:
token
query Parameters
content_id
string or null

コンテンツのIDで取得対象を絞り込むときに指定します。

title
string or null

コンテンツのタイトルで取得対象を絞り込むときに指定します。

description
string or null

コンテンツの説明文で取得対象を絞り込むときに指定します。

tags
string or null

コンテンツのタグで取得対象を絞り込むときに指定します。タグはカンマ区切りで複数指定できます。

live_status
string or null

ライブメッセージステータス(UNDECIDED,BEFORE,STREAMING,SUSPENDED,FINISHED)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないメッセージステータスを指定した場合無視されます。

public_setting_types
string or null

コンテンツが含む公開タイプ(public, private, period)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しない公開タイプを指定した場合無視されます。

thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

sort_by
string
Default: "created_at"
Enum: "public_setting.start" "updated_at" "created_at" "score" "title"

並び替えに使用するフィールド。
同じ値の場合はcreated_atの昇順で並べられます。

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

page_size
integer [ 1 .. 200 ]
Default: 20

1ページあたりのコンテンツ数

page
integer [ 1 .. 100000000 ]
Default: 1

ページ番号

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects
page
required
integer

ページ番号

Request samples

curl -v -X GET 'https://${end_point}/live/contents?content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&title=タイトル&description=説明文&tags=タグ1,タグ2&live_status=UNDECIDED,BEFORE,STREAMING,SUSPENDED,FINISHED&public_setting_types=public,private,period&thumbnail_url_expires_in_days=1000&sort_by=created_at&order=desc&page_size=200&page=1'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ],
  • "page": 1
}

ライブコンテンツ作成

ライブコンテンツを作成します。

Authorizations:
token
Request Body schema: application/json
title
required
string [ 1 .. 1024 ] characters

タイトル

description
string <= 8192 characters
Default: ""

説明文

tag
Array of strings or null

タグ。1文字以上256文字以内で設定してください。

recipe_id
string
Default: "2"

レシピIDを指定してください。(指定されない場合はデフォルトのレシピが入ります)

object or null

公開設定(ライブコンテンツ作成時に公開設定を指定しない場合は「公開タイプ:公開」となります。)

is_password_required
boolean
Default: false

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

archive
boolean
Default: false

アーカイブ

dvr
boolean
Default: false

DVR

object or null

ライブ配信メッセージ

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

live_status
required
string
Enum: "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

ライブメッセージステータス

ステータス状態
UNDECIDED配信未定
BEFORE配信前
STREAMING配信中
SUSPENDED配信中断
FINISHED配信終了

rtmp_urls
Array of strings or null

RTMPサーバーのエンドポイント

stream_key
string or null

ストリームキー

created_at
string or null

登録日

updated_at
string or null

更新日

description
string or null

説明文

object or null

公開設定

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

archive
boolean or null
Default: false

アーカイブ

dvr
boolean or null
Default: false

DVR

Array of objects or null

ライブイベント履歴

live_channel_status
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

ライブチャンネルステータス

object or null

ライブ配信時に表示するメッセージ

object or null

ライブ配信時に表示するメッセージの種別。
MESSAGEの時はlive_messageのメッセージを表示します。
IMAGEの時はlive_message_imageの画像を表示します。

recipe_id
string or null

レシピID

Array of objects or null

サムネイル情報。サムネイルurlのリストを返します。

object or null

ライブ配信時に表示するサムネイル情報。サムネイルurlのリストを返します。

Request samples

Content type
application/json
{
  • "title": "タイトル",
  • "description": "説明",
  • "tag": [
    ],
  • "recipe_id": "1",
  • "public_setting": {
    },
  • "is_password_required": false,
  • "password": "password",
  • "archive": true,
  • "dvr": true,
  • "live_message": {
    }
}

Response samples

Content type
application/json
{}

ライブコンテンツ一覧CSV生成

ライブコンテンツ一覧CSVファイルの作成をリクエストします。
当APIはResponses記載のエラーの他、ライブコンテンツ一覧取得APIのエラーを返します。

Authorizations:
token
query Parameters
content_id
string or null

コンテンツのIDで取得対象を絞り込むときに指定します。

title
string or null

コンテンツのタイトルで取得対象を絞り込むときに指定します。

description
string or null

コンテンツの説明文で取得対象を絞り込むときに指定します。

tags
string or null

コンテンツのタグで取得対象を絞り込むときに指定します。タグはカンマ区切りで複数指定できます。

live_status
string or null

ライブメッセージステータス(UNDECIDED,BEFORE,STREAMING,SUSPENDED,FINISHED)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないメッセージステータスを指定した場合無視されます。

public_setting_types
string or null

コンテンツが含む公開タイプ(public, private, period)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しない公開タイプを指定した場合無視されます。

thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

sort_by
string
Default: "created_at"
Enum: "public_setting.start" "updated_at" "created_at" "score" "title"

並び替えに使用するフィールド

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
job_id
required
string

ジョブID

api_path
required
string

CSV生成するAPIのパス

params
required
string

CSV生成するAPIのパラメータをJSON形式に変換した文字列

status
required
string
Enum: "generating" "generated" "failed" "expired"

ジョブのステータス

created_at
required
string

ジョブの作成日時

updated_at
required
string

ジョブの更新日時

Request samples

curl -v -X GET 'https://${end_point}/live/contents/csv?content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&title=タイトル&description=説明文&tags=タグ1,タグ2&live_status=UNDECIDED,BEFORE,STREAMING,SUSPENDED,FINISHED&public_setting_types=public,private,period&thumbnail_url_expires_in_days=1000&sort_by=created_at&order=desc'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "job_id": "12ab34cd-56ef-78gh-90ij-12kl34mn56op",
  • "api_path": "/vod/contents/statistics",
  • "params": "{\"from\": \"2024-06-01\", \"to\": \"2024-06-30\"}",
  • "status": "generating",
  • "created_at": "2024-06-01 00:00:00.000000+09:00",
  • "updated_at": "2024-06-01 00:00:00.000000+09:00"
}

ライブコンテンツ情報更新

ライブコンテンツ情報を更新します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
title
string or null [ 1 .. 1024 ] characters

タイトル

description
string or null <= 8192 characters

説明文

tag
Array of strings or null

タグ。1文字以上256文字以内で設定してください。

recipe_id
string or null

レシピIDを指定してください。

object or null

公開設定

thumbnail_active_id
string or null

利用するサムネイルID

is_password_required
boolean or null

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

live_status
string or null
Enum: "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

ライブステータス

archive
boolean or null

アーカイブ

dvr
boolean or null

DVR

object or null

ライブ配信メッセージ

object or null

ステータスごとのメッセージタイプ

object or null

ステータスごとのアクティブな画像ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

live_status
required
string
Enum: "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

ライブメッセージステータス

ステータス状態
UNDECIDED配信未定
BEFORE配信前
STREAMING配信中
SUSPENDED配信中断
FINISHED配信終了

rtmp_urls
Array of strings or null

RTMPサーバーのエンドポイント

stream_key
string or null

ストリームキー

created_at
string or null

登録日

updated_at
string or null

更新日

description
string or null

説明文

object or null

公開設定

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

archive
boolean or null
Default: false

アーカイブ

dvr
boolean or null
Default: false

DVR

Array of objects or null

ライブイベント履歴

live_channel_status
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

ライブチャンネルステータス

object or null

ライブ配信時に表示するメッセージ

object or null

ライブ配信時に表示するメッセージの種別。
MESSAGEの時はlive_messageのメッセージを表示します。
IMAGEの時はlive_message_imageの画像を表示します。

recipe_id
string or null

レシピID

Array of objects or null

サムネイル情報。サムネイルurlのリストを返します。

object or null

ライブ配信時に表示するサムネイル情報。サムネイルurlのリストを返します。

Request samples

Content type
application/json
{
  • "title": "タイトル",
  • "description": "説明",
  • "tag": [
    ],
  • "recipe_id": "1",
  • "public_setting": {
    },
  • "thumbnail_active_id": "1",
  • "is_password_required": false,
  • "password": "password",
  • "live_status": "BEFORE",
  • "archive": true,
  • "dvr": true,
  • "live_message": {
    },
  • "live_message_type": {
    },
  • "live_message_image_active_id": {
    }
}

Response samples

Content type
application/json
{}

ライブコンテンツ情報削除

ライブコンテンツ情報を削除します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

Request samples

curl -v -X DELETE 'https://${end_point}/live/contents/{content_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9"
}

ライブコンテンツ詳細情報取得

ライブコンテンツ詳細情報を取得します。

コンテンツが存在しない場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

query Parameters
thumbnail_url_expires_in_days
integer <= 36500
Default: 7

サムネイルの期限付きURLの失効までの日数

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

title
required
string

タイトル

live_status
required
string
Enum: "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

ライブメッセージステータス

ステータス状態
UNDECIDED配信未定
BEFORE配信前
STREAMING配信中
SUSPENDED配信中断
FINISHED配信終了

rtmp_urls
Array of strings or null

RTMPサーバーのエンドポイント

stream_key
string or null

ストリームキー

created_at
string or null

登録日

updated_at
string or null

更新日

description
string or null

説明文

object or null

公開設定

tag
Array of strings or null

タグ

is_password_required
boolean or null

パスワード設定情報

archive
boolean or null
Default: false

アーカイブ

dvr
boolean or null
Default: false

DVR

Array of objects or null

ライブイベント履歴

live_channel_status
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

ライブチャンネルステータス

object or null

ライブ配信時に表示するメッセージ

object or null

ライブ配信時に表示するメッセージの種別。
MESSAGEの時はlive_messageのメッセージを表示します。
IMAGEの時はlive_message_imageの画像を表示します。

recipe_id
string or null

レシピID

Array of objects or null

サムネイル情報。サムネイルurlのリストを返します。

object or null

ライブ配信時に表示するサムネイル情報。サムネイルurlのリストを返します。

Request samples

curl -v -X GET 'https://${end_point}/live/contents/{content_id}?thumbnail_url_expires_in_days=1000'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{}

ライブコンテンツサムネイル登録

ライブコンテンツサムネイルを登録します。登録したサムネイルはidが最大のものです。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
required
object

アップロード情報

activates
boolean
Default: true

登録したサムネイルをactiveにするかどうか指定します。

thumbnail_type
string
Default: "LIVE_CONTENT"
Enum: "LIVE_CONTENT" "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

サムネイルのタイプ

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

required
Array of objects

サムネイル情報

Request samples

Content type
application/json
{
  • "upload_info": {
    },
  • "activates": true,
  • "thumbnail_type": "LIVE_CONTENT"
}

Response samples

Content type
application/json
{}

ライブ用サムネイル画像削除

ライブ用サムネイル画像を削除する。(複数指定可能)
ただし、使用しているサムネイルは削除できません。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Request Body schema: application/json
thumbnail_ids
required
Array of strings

削除対象サムネイルID

thumbnail_type
string
Default: "LIVE_CONTENT"
Enum: "LIVE_CONTENT" "UNDECIDED" "BEFORE" "STREAMING" "SUSPENDED" "FINISHED"

サムネイルのタイプ

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

thumbnail_ids
required
Array of strings

削除されたサムネイルID一覧

Request samples

Content type
application/json
{
  • "thumbnail_ids": [
    ],
  • "thumbnail_type": "LIVE_CONTENT"
}

Response samples

Content type
application/json
{
  • "content_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9",
  • "thumbnail_ids": [
    ]
}

ライブアーカイブ処理

指定したイベントIDのアーカイブ処理を行います。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

event_id
required
string

イベントID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

channel_state
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

チャンネルステータス

Request samples

curl -v -X POST 'https://${end_point}/live/contents/{content_id}/{event_id}/archive'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "content_id": "contentid",
  • "channel_state": "IDLE"
}

ライブチャンネル

ライブチャンネルで利用するAPIについて記述します。
ライブコンテンツを作成した後に、ライブ配信の開始/停止/情報取得する用途で利用します。

ライブチャンネル詳細リスト取得

ライブチャンネル詳細リスト取得を取得します。

Authorizations:
token
query Parameters
content_id
string or null

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects

ライブチャンネル情報リスト

Request samples

curl -v -X GET 'https://${end_point}/live/channels?content_id=contentid'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

ライブチャンネル開始受付

ライブチャンネルの開始処理を受付けます。

Authorizations:
token
Request Body schema: application/json
content_id
required
string non-empty

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

channel_state
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

チャンネルステータス

Request samples

Content type
application/json
{
  • "content_id": "contentid"
}

Response samples

Content type
application/json
{
  • "content_id": "contentid",
  • "channel_state": "IDLE"
}

ライブチャンネル停止受付

ライブチャンネルの停止処理を受付ます。"

Authorizations:
token
Request Body schema: application/json
content_id
required
string non-empty

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

channel_state
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

チャンネルステータス

Request samples

Content type
application/json
{
  • "content_id": "contentid"
}

Response samples

Content type
application/json
{
  • "content_id": "contentid",
  • "channel_state": "IDLE"
}

ライブチャンネル詳細取得

ライブチャンネル詳細取得を取得します。

コンテンツが存在しない場合、もしくはチャンネルが未開始の場合はステータスコード200でnullを返します。

Authorizations:
token
path Parameters
content_id
required
string

コンテンツID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
content_id
required
string

コンテンツID

channel_state
string or null
Enum: "CREATING" "CREATE_FAILED" "IDLE" "STARTING" "RUNNING" "RECOVERING" "STOPPING" "DELETING" "DELETED" "UPDATING" "UPDATE_FAILED" "DETACHED" "ATTACHED"

チャンネルステータス

Request samples

curl -v -X GET 'https://${end_point}/live/channels/{content_id}'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "content_id": "contentid",
  • "channel_state": "IDLE"
}

分析

分析で利用するAPIについて記述します。

新規/リピート統計

新規/リピート統計を返します。

Authorizations:
token
query Parameters
from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

timeframe
string
Default: "day"
Enum: "day" "month" "year"

集計期間

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
object

期間内全体統計

required
Array of objects

時系列統計

total_count
required
integer

時系列統計データレコード件数

Request samples

curl -v -X GET 'https://${end_point}/analytics/visits?from=2023-01-01&to=2023-01-02&timeframe=day'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total": {
    },
  • "items": [
    ],
  • "total_count": 1
}

コンテンツ統計情報取得

コンテンツ統計情報を返します。
削除済みコンテンツ、再生実績の無いコンテンツの結果も取得します。

Authorizations:
token
query Parameters
from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

group_by
string
Default: "content_id"
Enum: "content_id" "country" "region" "referrer" "device" "os" "os_version" "browser" "browser_version"

統計値を集約するディメンションfilter_bycontent_id以外のディメンションを指定する場合、group_byにはcontent_id以外を指定できません。

content_id
string or null non-empty

コンテンツID
集計対象のコンテンツを1つに限定します。
group_nameフィールドにコンテンツIDを指定した場合に、このフィールドで別のコンテンツIDを指定すると異なるコンテンツIDで2回フィルターされることになり、空の結果となります。

group_name
string or null non-empty

ディメンションの集約グループ名
content_idで集約してコンテンツIDをグループ名に指定すると、1つのコンテンツだけで集計されます。
countryで集約して国名をグループ名に指定すると、その国名のコンテンツだけで集計されます。
regionで集約して国名をグループ名に指定すると、その国内での地域で集計されます。
referrerで集約して参照元ドメインをグループ名に指定すると、その参照元ドメインのコンテンツだけで集計されます。
deviceで集約してデバイス種別をグループ名に指定すると、そのデバイス種別だけで集計されます。
osで集約してOSをグループ名に指定すると、そのOSだけで集計されます。
os_versionで集約してOSをグループ名に指定すると、そのOSのメジャーバージョンで集計されます。
browserで集約してブラウザ名をグループ名に指定すると、そのブラウザだけで集計されます。
browser_versionで集約してブラウザ名をグループ名に指定すると、そのブラウザのメジャーバージョンで集計されます。

filter_by
string or null non-empty
Enum: "content_id" "country" "referrer" "device" "os" "browser"

ディメンションを絞るグループ名

filter_value
string or null non-empty

filter_byで指定したディメンションを絞り込む値

sort_by
string
Default: "plays"
Enum: "plays" "impressions" "plays_from_impressions" "average_play_duration_seconds" "transfer"

並び替えに使用するフィールド

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

media_type
string
Default: "video"
Enum: "pdf" "video" "live" "audio"

コンテンツ種別

page_size
integer [ 1 .. 200 ]
Default: 20

1ページあたりのコンテンツ数

page
integer [ 1 .. 100000000 ]
Default: 1

ページ番号

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

対象のレコード件数

required
Array of objects

統計

page
integer >= 1
Default: 1

ページ番号

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/summary?from=2023-01-01&to=2023-01-02&group_by=content_id&content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&group_name=グループ名&filter_by=content_id&filter_value=content_id&sort_by=plays&order=desc&media_type=video&page_size=20&page=1'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ],
  • "page": 1
}

コンテンツ統計情報CSV生成

コンテンツ統計情報CSVファイルの作成をリクエストします。 当APIはResponses記載のエラーの他、コンテンツ統計情報取得APIのエラーを返します。

Authorizations:
token
query Parameters
from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

group_by
string
Default: "content_id"
Enum: "content_id" "country" "region" "referrer" "device" "os" "os_version" "browser" "browser_version"

統計値を集約するディメンションfilter_bycontent_id以外のディメンションを指定する場合、group_byにはcontent_id以外を指定できません。

content_id
string or null non-empty

コンテンツID
集計対象のコンテンツを1つに限定します。
group_nameフィールドにコンテンツIDを指定した場合に、このフィールドで別のコンテンツIDを指定すると異なるコンテンツIDで2回フィルターされることになり、空の結果となります。

group_name
string or null non-empty

ディメンションの集約グループ名
content_idで集約してコンテンツIDをグループ名に指定すると、1つのコンテンツだけで集計されます。
countryで集約して国名をグループ名に指定すると、その国名のコンテンツだけで集計されます。
regionで集約して国名をグループ名に指定すると、その国内での地域で集計されます。
referrerで集約して参照元ドメインをグループ名に指定すると、その参照元ドメインのコンテンツだけで集計されます。
deviceで集約してデバイス種別をグループ名に指定すると、そのデバイス種別だけで集計されます。
osで集約してOSをグループ名に指定すると、そのOSだけで集計されます。
os_versionで集約してOSをグループ名に指定すると、そのOSのメジャーバージョンで集計されます。
browserで集約してブラウザ名をグループ名に指定すると、そのブラウザだけで集計されます。
browser_versionで集約してブラウザ名をグループ名に指定すると、そのブラウザのメジャーバージョンで集計されます。

filter_by
string or null non-empty
Enum: "content_id" "country" "referrer" "device" "os" "browser"

ディメンションを絞るグループ名

filter_value
string or null non-empty

filter_byで指定したディメンションを絞り込む値

sort_by
string
Default: "plays"
Enum: "plays" "impressions" "plays_from_impressions" "average_play_duration_seconds" "transfer" "storage"

並び替えに使用するフィールド

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

media_type
string
Default: "video"
Enum: "pdf" "video" "live" "audio"

コンテンツ種別

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
job_id
required
string

ジョブID

api_path
required
string

CSV生成するAPIのパス

params
required
string

CSV生成するAPIのパラメータをJSON形式に変換した文字列

status
required
string
Enum: "generating" "generated" "failed" "expired"

ジョブのステータス

created_at
required
string

ジョブの作成日時

updated_at
required
string

ジョブの更新日時

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/summary/csv?from=2023-01-01&to=2023-01-02&group_by=content_id&content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&group_name=グループ名&filter_by=content_id&filter_value=content_id&sort_by=plays&order=desc&media_type=video'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "job_id": "12ab34cd-56ef-78gh-90ij-12kl34mn56op",
  • "api_path": "/vod/contents/statistics",
  • "params": "{\"from\": \"2024-06-01\", \"to\": \"2024-06-30\"}",
  • "status": "generating",
  • "created_at": "2024-06-01 00:00:00.000000+09:00",
  • "updated_at": "2024-06-01 00:00:00.000000+09:00"
}

コンテンツ時系列統計情報取得

コンテンツ時系列統計情報を返します。

Authorizations:
token
query Parameters
from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

timeframe
string
Default: "day"
Enum: "day" "month" "year"

集計期間

group_by
string
Default: "content_id"
Enum: "content_id" "country" "referrer" "device" "os" "browser"

統計値を集約するディメンション

group_name
string or null non-empty

ディメンションの集約グループ名
特定のグループ名で集約するときに指定します。
content_idで集約するときはコンテンツIDが指定できます。
countryで集約して国名をグループ名に指定すると、その国名のコンテンツだけで集計されます。
referrerで集約して参照元をグループ名に指定すると、その参照元のコンテンツだけで集計されます。
deviceで集約してデバイス種別をグループ名に指定すると、そのデバイス種別だけで集計されます。
osで集約してOSをグループ名に指定すると、そのOSだけで集計されます。
browserで集約してブラウザ名をグループ名に指定すると、そのブラウザだけで集計されます。

content_id
string or null non-empty

コンテンツID
集計対象のコンテンツを1つに限定します。
group_nameフィールドにコンテンツIDを指定した場合に、このフィールドで別のコンテンツIDを指定すると異なるコンテンツIDで2回フィルターされることになり、0で埋められた結果が返ります。

media_type
string
Default: "video"
Enum: "pdf" "video" "live" "audio"

コンテンツ種別

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
object

期間内全体統計

required
Array of objects

時系列統計

total_count
required
integer

時系列データレコード件数

group_name
string or null

ディメンションの集約グループ名

alternative_group_name
string or null

ディメンションの集約グループ別名
content_idで集約したときコンテンツのタイトルが設定されます。

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/timeseries?from=2023-01-01&to=2023-01-02&timeframe=day&group_by=content_id&group_name=グループ名&content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&media_type=video'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total": {
    },
  • "items": [
    ],
  • "total_count": 1,
  • "group_name": "グループ名",
  • "alternative_group_name": "タイトル"
}

コンテンツ時系列統計情報CSV生成

コンテンツ時系列統計情報CSVファイルの作成をリクエストします。 当APIはResponses記載のエラーの他、コンテンツ時系列統計情報取得APIのエラーを返します。

Authorizations:
token
query Parameters
from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

timeframe
string
Default: "day"
Enum: "day" "month" "year"

集計期間

group_by
string
Default: "content_id"
Enum: "content_id" "country" "referrer" "device" "os" "browser"

統計値を集約するディメンション

group_name
string or null non-empty

ディメンションの集約グループ名
特定のグループ名で集約するときに指定します。
content_idで集約するときはコンテンツIDが指定できます。
countryで集約して国名をグループ名に指定すると、その国名のコンテンツだけで集計されます。
referrerで集約して参照元をグループ名に指定すると、その参照元のコンテンツだけで集計されます。
deviceで集約してデバイス種別をグループ名に指定すると、そのデバイス種別だけで集計されます。
osで集約してOSをグループ名に指定すると、そのOSだけで集計されます。
browserで集約してブラウザ名をグループ名に指定すると、そのブラウザだけで集計されます。

content_id
string or null non-empty

コンテンツID
集計対象のコンテンツを1つに限定します。
group_nameフィールドにコンテンツIDを指定した場合に、このフィールドで別のコンテンツIDを指定すると異なるコンテンツIDで2回フィルターされることになり、0で埋められた結果が返ります。

media_type
string
Default: "video"
Enum: "pdf" "video" "live" "audio"

コンテンツ種別

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
job_id
required
string

ジョブID

api_path
required
string

CSV生成するAPIのパス

params
required
string

CSV生成するAPIのパラメータをJSON形式に変換した文字列

status
required
string
Enum: "generating" "generated" "failed" "expired"

ジョブのステータス

created_at
required
string

ジョブの作成日時

updated_at
required
string

ジョブの更新日時

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/timeseries/csv?from=2023-01-01&to=2023-01-02&timeframe=day&group_by=content_id&group_name=グループ名&content_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9&media_type=video'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "job_id": "12ab34cd-56ef-78gh-90ij-12kl34mn56op",
  • "api_path": "/vod/contents/statistics",
  • "params": "{\"from\": \"2024-06-01\", \"to\": \"2024-06-30\"}",
  • "status": "generating",
  • "created_at": "2024-06-01 00:00:00.000000+09:00",
  • "updated_at": "2024-06-01 00:00:00.000000+09:00"
}

コンテンツ視聴維持率

コンテンツ視聴維持率情報を返します。

Authorizations:
token
path Parameters
content_id
required
string non-empty

コンテンツID

query Parameters
media_type
required
string
Enum: "pdf" "video" "live"

コンテンツ種別

from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
Array of objects

視聴維持率統計

total_count
required
integer

視聴維持率データレコード件数

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/{content_id}/audience_retention?media_type=video&from=2023-01-01&to=2023-01-02'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total_count": 1
}

コンテンツ再生達成率

コンテンツ視聴達成情報を返します。

Authorizations:
token
path Parameters
content_id
required
string non-empty

コンテンツID

query Parameters
media_type
required
string
Value: "video"

コンテンツ種別

from
required
string >= 2023-01-01

対象年月日(開始)

to
string

対象年月日(終了)
無指定のとき実行時前日の年月日(日本時間)が設定されます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
Array of objects

再生達成率統計

total_count
required
integer

再生達成率データレコード件数

Request samples

curl -v -X GET 'https://${end_point}/analytics/contents/{content_id}/completion?media_type=video&from=2023-01-01&to=2023-01-02'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total_count": 1
}

プレイリスト

プレイリスト管理で利用するAPIについて記述します。

プレイリスト作成

プレイリストを作成します。

Authorizations:
token
Request Body schema: application/json
title
required
string [ 1 .. 1024 ] characters

タイトル

playlist_type
required
string
Enum: "manual" "auto"

プレイリスト種別。2階層構成の親のプレイリスト作成時はmanualを固定で指定します。

media_type
required
string
Enum: "video" "audio" "pdf"

メディアタイプ

level_type
string
Default: "level1"
Enum: "level1" "level2"

プレイリストの階層種別を指定します。1階層構成のプレイリスト作成時はlevel1を指定し、2階層構成の親もしくは子プレイリスト作成時はlevel2を指定します。

description
string <= 8192 characters
Default: ""

説明文

object or null

公開設定を指定します。2階層構成の子作成時は指定不要で必ずNoneで保存されます。

object

プレイリストを自動で作成する際の設定です。playlist_typeにautoを指定した時だけ有効な設定です。

contents
Array of strings or null <= 100 items

プレイリストに紐づけるコンテンツIDを指定します。プレイリスト種別でmanualを指定した場合かつ、1階層構成もしくは2階層構成の子作成時のみ有効な設定です。

is_password_required
boolean
Default: false

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse
2階層構成の子作成時は指定不要で必ずNoneで保存されます。

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

parent_playlist_id
string non-empty
Default: "root"

2階層構成の子のプレイリスト作成時に親のプレイリストIDを指定します。2階層構成の親か1階層構成のプレイリスト作成時は指定不要です。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
playlist_id
required
string

プレイリストID

title
required
string

タイトル

playlist_type
required
string
Enum: "manual" "auto"

プレイリストへのコンテンツ追加方法

media_type
required
string
Enum: "video" "audio" "pdf"

メディアタイプ

level_type
required
string
Enum: "level1" "level2"

プレイリストの階層種別

required
object or null

公開設定。2階層構成の親のプレイリストの場合は必ずNoneを返します

description
required
string

説明文

is_password_required
required
boolean

パスワード設定情報

created_at
required
string

プレイリスト登録日

updated_at
required
string

プレイリスト更新日

parent_playlist_id
string or null

2階層の子のプレイリスト指定時は親のプレイリストIDを返します。2階層の親のプレイリスト指定時はNoneを返します。

object or null

プレイリストを自動で作成する際の設定

thumbnail_url
string or null

サムネイルURL

content_count
integer
Default: 0

プレイリスト内のコンテンツ数

Array of objects or objects or null

プレイリスト内のコンテンツの一覧情報

Array of objects or null

プレイリスト内のプレイリストの一覧情報

Request samples

Content type
application/json
{
  • "title": "タイトル",
  • "playlist_type": "manual",
  • "media_type": "video",
  • "level_type": "level1",
  • "description": "説明",
  • "public_setting": {
    },
  • "auto_playlist_config": {
    },
  • "contents": [
    ],
  • "is_password_required": false,
  • "password": "password",
  • "parent_playlist_id": "root"
}

Response samples

Content type
application/json
{
  • "playlist_id": "4ba28124-c54f-83d8-9aab-5324bddbafc9",
  • "title": "タイトル",
  • "playlist_type": "manual",
  • "media_type": "video",
  • "level_type": "level1",
  • "public_setting": {
    },
  • "description": "説明",
  • "is_password_required": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900",
  • "parent_playlist_id": null,
  • "auto_playlist_config": {
    },
  • "content_count": 0,
  • "contents": [
    ],
  • "playlists": [
    ]
}

プレイリスト一覧

プレイリスト一覧を取得します。

Authorizations:
token
query Parameters
playlist_id
string or null

プレイリストID

title
string or null

プレイリストのタイトルで取得対象を絞り込むときに指定します。

description
string or null

プレイリストの説明文で取得対象を絞り込むときに指定します。

media_type
string or null

プレイリストのメディアタイプ(video,audio,pdf)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないメディアタイプを指定した場合無視されます。

level_type
string or null

プレイリストの階層種別(level1,level2)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないプレイリストの階層種別を指定した場合無視されます。

playlist_type
string or null

プレイリスト種別(manual,auto,manual_auto)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しないプレイリスト種別を指定した場合無視されます。

public_setting_type
string or null

公開設定の種別(public,private,period)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでOR条件で絞り込まれます。
上記に合致しない公開設定の種別を指定した場合無視されます。

sort_by
string
Default: "created_at"
Enum: "updated_at" "created_at" "score" "title"

並び替えに使用するフィールド。
同じ値の場合はcreated_atの昇順で並べられます。

order
string
Default: "desc"
Enum: "asc" "desc"

昇順(asc) / 降順(desc)

page_size
integer or null [ 1 .. 200 ]

1ページあたりのプレイリスト数

page
integer or null >= 1

ページ番号

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects

Request samples

curl -v -X GET 'https://${end_point}/playlists?playlist_id=None&title=None&description=None&media_type=video,audio,pdf&level_type=level1,level2&playlist_type=manual,auto,manual_auto&public_setting_type=public,private,period&sort_by=created_at&order=desc&page_size=200&page=1'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

プレイリスト更新

プレイリストを更新します。

Authorizations:
token
path Parameters
playlist_id
required
string

プレイリストID

Request Body schema: application/json
is_force_delete
boolean or null
Default: false

誤削除防止フラグ。
2階層構成の親の配下の子のプレイリストを削除するときはtrueを指定します。

title
string or null [ 1 .. 1024 ] characters

タイトル

description
string or null <= 8192 characters

説明文

object or null

公開設定

object or null

プレイリストを自動で作成するときの設定です。

is_password_required
boolean or null

コンテンツへのパスワードの機能設定。
パスワード機能をONにする場合はtrue、OFFの場合はfalse

password
string or null

コンテンツへのパスワード。
"is_password_required": trueの場合、必須です。
半角英数字と以下の記号のみ8文字以上100文字以下で登録できます。

."#?!$%&()]@[,=~|`{}+*<>_/\;:^'-

"is_password_required": falseの場合、passwordは入力されても登録されません。

contents
Array of strings or null <= 100 items

1階層構成もしくは2階層構成の子のプレイリスを更新するときだけ更新可能です。
プレイリストとコンテンツの紐づけ情報の追加、削除、並び替えのみ行えます。

playlists
Array of strings or null <= 100 items

2階層構成の親のプレイリストを更新する際のみ更新可能です。
親プレイリスト配下の子プレイリストの削除、並び替えを行えます。
削除は物理削除になり、誤削除を防止するために"is_force_delete": trueの時だけ行えます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
playlist_id
required
string

プレイリストID

title
required
string

タイトル

playlist_type
required
string
Enum: "manual" "auto"

プレイリストへのコンテンツ追加方法

media_type
required
string
Enum: "video" "audio" "pdf"

メディアタイプ

level_type
required
string
Enum: "level1" "level2"

プレイリストの階層種別

required
object or null

公開設定。2階層構成の親のプレイリストの場合は必ずNoneを返します

description
required
string

説明文

is_password_required
required
boolean

パスワード設定情報

created_at
required
string

プレイリスト登録日

updated_at
required
string

プレイリスト更新日

parent_playlist_id
string or null

2階層の子のプレイリスト指定時は親のプレイリストIDを返します。2階層の親のプレイリスト指定時はNoneを返します。

object or null

プレイリストを自動で作成する際の設定

thumbnail_url
string or null

サムネイルURL

content_count
integer
Default: 0

プレイリスト内のコンテンツ数

Array of objects or objects or null

プレイリスト内のコンテンツの一覧情報

Array of objects or null

プレイリスト内のプレイリストの一覧情報

Request samples

Content type
application/json
{
  • "is_force_delete": false,
  • "title": "タイトル",
  • "description": "説明",
  • "public_setting": {
    },
  • "auto_playlist_config": {
    },
  • "is_password_required": false,
  • "password": "password",
  • "contents": [
    ],
  • "playlists": [
    ]
}

Response samples

Content type
application/json
{
  • "playlist_id": "4ba28124-c54f-83d8-9aab-5324bddbafc9",
  • "title": "タイトル",
  • "playlist_type": "manual",
  • "media_type": "video",
  • "level_type": "level1",
  • "public_setting": {
    },
  • "description": "説明",
  • "is_password_required": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900",
  • "parent_playlist_id": null,
  • "auto_playlist_config": {
    },
  • "content_count": 0,
  • "contents": [
    ],
  • "playlists": [
    ]
}

プレイリスト削除

プレイリストを削除します。

Authorizations:
token
path Parameters
playlist_id
required
string

プレイリストID
2階層構成の親のプレイリストを削除すると、配下の子のプレイリストと、プレイリストとコンテンツの紐づけ情報もまとめて削除されます。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
playlist_id
required
string

プレイリストID

Request samples

curl -v -X DELETE 'https://${end_point}/playlists/{playlist_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "playlist_id": "4ba28124-c54f-83d8-9aab-5324bddbafc9"
}

プレイリスト詳細情報取得

プレイリスト詳細情報を取得します。

Authorizations:
token
path Parameters
playlist_id
required
string

プレイリストID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
playlist_id
required
string

プレイリストID

title
required
string

タイトル

playlist_type
required
string
Enum: "manual" "auto"

プレイリストへのコンテンツ追加方法

media_type
required
string
Enum: "video" "audio" "pdf"

メディアタイプ

level_type
required
string
Enum: "level1" "level2"

プレイリストの階層種別

required
object or null

公開設定。2階層構成の親のプレイリストの場合は必ずNoneを返します

description
required
string

説明文

is_password_required
required
boolean

パスワード設定情報

created_at
required
string

プレイリスト登録日

updated_at
required
string

プレイリスト更新日

parent_playlist_id
string or null

2階層の子のプレイリスト指定時は親のプレイリストIDを返します。2階層の親のプレイリスト指定時はNoneを返します。

object or null

プレイリストを自動で作成する際の設定

thumbnail_url
string or null

サムネイルURL

content_count
integer
Default: 0

プレイリスト内のコンテンツ数

Array of objects or objects or null

プレイリスト内のコンテンツの一覧情報

Array of objects or null

プレイリスト内のプレイリストの一覧情報

Request samples

curl -v -X GET 'https://${end_point}/playlists/{playlist_id}'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "playlist_id": "4ba28124-c54f-83d8-9aab-5324bddbafc9",
  • "title": "タイトル",
  • "playlist_type": "manual",
  • "media_type": "video",
  • "level_type": "level1",
  • "public_setting": {
    },
  • "description": "説明",
  • "is_password_required": false,
  • "created_at": "2022-03-01T00:00:00.000000+0900",
  • "updated_at": "2022-04-01T00:00:00.000000+0900",
  • "parent_playlist_id": null,
  • "auto_playlist_config": {
    },
  • "content_count": 0,
  • "contents": [
    ],
  • "playlists": [
    ]
}

ジョブ

ジョブ管理で利用するAPIについて記述します。

CSV生成ジョブ詳細取得

CSV生成ジョブ詳細情報を取得します。

Authorizations:
token
path Parameters
job_id
required
string non-empty

ジョブID

query Parameters
encode
string
Default: "utf-8"
Enum: "utf-8" "shift-jis"

エンコード
CSVファイルの文字コードを指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
job_id
required
string

ジョブID

api_path
required
string

CSV生成するAPIのパス

api_request
required
string

CSV生成するAPIに渡すリクエストをJSON化した文字列

requested_at
required
string

ジョブ作成日時

status
required
string
Enum: "generating" "generated" "failed" "expired"

ジョブのステータス

download_url
string or null

CSVファイルダウンロード用のURL
status: generatedのときだけ設定されます。発行されたダウンロードURLは1時間で失効します。

error_code
string or null

ジョブの実行に失敗した際に際に送出されるエラーコード
status: failedの場合にのみ値が入ります。エラーの内容については、当該の生成APIの元のAPIのドキュメントを参照してください。

Request samples

curl -v -X GET 'https://${end_point}/jobs/csv/{job_id}?encode=utf-8'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "job_id": "job_id",
  • "api_path": "/vod/contents/statistics",
  • "api_request": "{\"from\": \"2024-06-01\", \"to\": \"2024-06-30\"}",
  • "requested_at": "2020-01-01T00:00:00.000000+0900",
  • "status": "generated",
  • "download_url": "https://example.com",
  • "error_code": "MVOD_CMN_0020"
}

CSV生成ジョブ一覧取得

CSV生成ジョブ一覧情報を取得します。

Authorizations:
token
query Parameters
statuses
string
Default: "generating,generated,failed"

ステータス
ジョブのステータス(generating,generated,failed,expired)で取得対象を絞り込むときに指定します。カンマ区切りで複数指定することでor条件で絞り込まれます。上記に合致しないステータスを指定した場合無視されます。

encode
string
Default: "utf-8"
Enum: "utf-8" "shift-jis"

エンコード
CSVファイルの文字コードを指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

itemsの総数

required
Array of objects

Request samples

curl -v -X GET 'https://${end_point}/jobs/csv?statuses=generating,generated,failed&encode=utf-8'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

通知先設定

通知先設定管理で利用するAPIについて記述します。

通知先設定作成

通知先設定を作成します。

Authorizations:
token
Request Body schema: application/json
name
required
string [ 1 .. 1024 ] characters

通知先名

email_address
string or null [ 1 .. 1024 ] characters

メールアドレス

webhook_url
string or null [ 1 .. 4096 ] characters

ウェブフック通知先URL

Array of objects

通知対象アクションの分類

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
notification_destination_id
required
string

通知先ID

name
required
string

通知先名

created_at
required
string

作成日時

updated_at
required
string

更新日時

email_address
string or null

メールアドレス

webhook_url
string or null

ウェブフック通知先URL

Array of objects

通知対象アクションの分類

email_verified
boolean or null
Default: false

メールアドレス確認済みフラグ

verification_code_enabled
boolean or null
Default: false

認証コード期限フラグ

webhook_token
string or null

Webhook認証トークン

Request samples

Content type
application/json
{
  • "name": "通知先1",
  • "email_address": "example@example.com",
  • "webhook_url": "https://example.com/webhook",
  • "action_categories": [
    ]
}

Response samples

Content type
application/json
{
  • "notification_destination_id": "sample_notification_destination_id",
  • "name": "通知先1",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "email_address": "example@example.com",
  • "webhook_url": "https://example.com/webhook",
  • "action_categories": [
    ],
  • "email_verified": "True",
  • "verification_code_enabled": "True",
  • "webhook_token": "550e8400-e29b-41d4-a716-446655440000"
}

通知宛先一覧取得

通知宛先一覧を取得します。

Authorizations:
token

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
total_count
required
integer

取得した通知先の数

required
Array of objects

通知宛先一覧

Request samples

curl -v -X GET 'https://${end_point}/notifications/destination'
-H 'Authorization: Bearer {access_token}'

Response samples

Content type
application/json
{
  • "total_count": 1,
  • "items": [
    ]
}

通知先設定削除

通知先設定を削除します。

Authorizations:
token
path Parameters
notification_destination_id
required
string

通知先ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
notification_destination_id
required
string

通知先ID

Request samples

curl -v -X DELETE 'https://${end_point}/notifications/destination/{notification_destination_id}'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "notification_destination_id": "f8412015-f18a-47f6-814b-4a36436f2c71"
}

通知先設定更新

通知先設定を更新します。

Authorizations:
token
path Parameters
destination_id
required
string

通知先ID

Request Body schema: application/json
name
string or null [ 1 .. 1024 ] characters

通知先名

Array of objects or null

通知対象アクションの分類

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
notification_destination_id
required
string

通知先ID

name
required
string

通知先名

created_at
required
string

作成日時

updated_at
required
string

更新日時

email_address
string or null

メールアドレス

webhook_url
string or null

ウェブフック通知先URL

Array of objects

通知対象アクションの分類

email_verified
boolean or null
Default: false

メールアドレス確認済みフラグ

verification_code_enabled
boolean or null
Default: false

認証コード期限フラグ

webhook_token
string or null

Webhook認証トークン

Request samples

Content type
application/json
{
  • "name": "通知先1",
  • "action_categories": [
    ]
}

Response samples

Content type
application/json
{
  • "notification_destination_id": "sample_notification_destination_id",
  • "name": "通知先1",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "email_address": "example@example.com",
  • "webhook_url": "https://example.com/webhook",
  • "action_categories": [
    ],
  • "email_verified": "True",
  • "verification_code_enabled": "True",
  • "webhook_token": "550e8400-e29b-41d4-a716-446655440000"
}

通知宛先確認メール送信

通知宛先のメールアドレスに確認メールを送信します。

Authorizations:
token
path Parameters
destination_id
required
string

通知先ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
expires_at
required
string

有効期限

Request samples

curl -v -X POST 'https://${end_point}/notifications/destination/{destination_id}/verify/send'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "expires_at": "2022-01-01T00:00:00+09:00"
}

通知宛先確認

通知宛先のメールアドレスを確認します。

Authorizations:
token
path Parameters
destination_id
required
string

通知先ID

Request Body schema: application/json
verification_code
required
string

認証コード

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
verified
required
boolean

確認済みフラグ

Request samples

Content type
application/json
{
  • "verification_code": "123456"
}

Response samples

Content type
application/json
{
  • "verified": true
}

Webhook認証トークン更新

Webhook通知先の認証トークンを更新します。

Authorizations:
token
path Parameters
notification_destination_id
required
string

通知先ID

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
notification_destination_id
required
string

通知先ID

name
required
string

通知先名

created_at
required
string

作成日時

updated_at
required
string

更新日時

email_address
string or null

メールアドレス

webhook_url
string or null

ウェブフック通知先URL

Array of objects

通知対象アクションの分類

email_verified
boolean or null
Default: false

メールアドレス確認済みフラグ

verification_code_enabled
boolean or null
Default: false

認証コード期限フラグ

webhook_token
string or null

Webhook認証トークン

Request samples

curl -v -X PATCH 'https://${end_point}/notifications/destination/{notification_destination_id}/webhook_token'
-H 'Authorization: Bearer {access_token}'
-H 'Content-Type: application/json'

Response samples

Content type
application/json
{
  • "notification_destination_id": "sample_notification_destination_id",
  • "name": "通知先1",
  • "created_at": "2022-03-01 00:00:00.000000+09:00",
  • "updated_at": "2022-04-01 00:00:00.000000+09:00",
  • "email_address": "example@example.com",
  • "webhook_url": "https://example.com/webhook",
  • "action_categories": [
    ],
  • "email_verified": "True",
  • "verification_code_enabled": "True",
  • "webhook_token": "550e8400-e29b-41d4-a716-446655440000"
}

プレイヤー

コンテンツの視聴に利用するAPIについて記述します。

注意事項

APIのドメインが管理用APIとは異なります。

コンテンツ閲覧情報を取得

視聴コンテンツを返します

Request Body schema: application/json
embed_key
required
string

Embedキー

access_key
string
Default: ""

公開期限情報を含む、アクセスキーを渡すことができます。

注意 : 機能設定のワンタイムオプションが有効化されている必要があります。

フォーマット

expire は有効期限のUNIXタイムスタンプ形式の値です。

<?php
 // 署名したいデータ($key_nameはmillviに登録したシークレットキーネーム)
"$expire = strval(time() + 1000);
$key_name = "test_key";
$data = "v3&${expire}&${key_name}";
// secretKey生成APIで発行された.pemファイル(ここではサンプルとして.pemファイルの中身を記述しています)
 $pem = "-----BEGIN PRIVATE KEY----- \nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgw3ZHC/3LB89AtmNw
 MtkqeS2oINe6Rgk8SJfLuLdP5LehRANCAAS7xFGH1d/3vKSmVUWpX5g/uj/4ImLv
 47f0g57Erhaq4Syg/MSZhQnjTt5A5bhubwYxBTynFPFapJx+xpqCzHKo\n-----END PRIVATE KEY-----";
// 署名を作成
$private_key = openssl_pkey_get_private($pem);
 openssl_sign($data, $signature, $private_key, OPENSSL_ALGO_SHA256);
 // 署名されたデータをbase64でencode
$sign = base64_encode($signature);
$access_key = "v3&${expire}&${key_name}&${sign}";
password
string or null

パスワード

playlist_id
string or null

embed_keyのプレイリストの子プレイリストを取得する場合にそのIDを指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
object

プレイヤー情報

required
object

コンテンツステータス

title
string or null

コンテンツのタイトル

object or null

コンテンツメタデータ

manifest_urls
Array of strings or null

ビデオソースURLリスト

duration
number or null

コンテンツの再生時間 (秒)

thumbnail_url
string or null

サムネイルURL

media_type
string or null
Enum: "pdf" "video" "live" "audio" "folder"

メディアタイプ

image_file_urls
Array of strings or null

PDF変換後イメージファイルのURLリスト

total_page_count
integer or null

PDFのページ数

Array of objects or null

トラック情報

object or null

ライブステータス

playlist_contents
Array of same_as_parent or null

プレイリストに紐づくコンテンツ情報

Array of objects or null

プレイリストに紐づくプレイリスト情報

Request samples

Content type
application/json
{
  • "embed_key": "AQICAHgkhJIMl9",
  • "access_key": "v3&${expire}&${key_name}&${sign}",
  • "password": "12345678",
  • "playlist_id": "4ba28124-c54g-83d8-9xxb-5324bddbafc9"
}

Response samples

Content type
application/json
{
  • "player_config": {
    },
  • "status": {
    },
  • "title": "title001",
  • "content_metadata": {
    },
  • "duration": 1.2,
  • "media_type": "video",
  • "total_page_count": 0,
  • "tracks": [
    ],
  • "live_status": {},
  • "playlist_contents": [ ],
  • "playlists": [ ]
}

プレイヤー用コンテンツ状態を取得

コンテンツが視聴可能かどうかのstatusを返します。
現在サポートとしている状態はstatus.onetime、status.public、status.ready及びlive_statusになります。 その他の状態はtrueで返ります。

query Parameters
embed_key
required
string

Embedキー

access_key
string
Default: ""

公開期限情報を含む、アクセスキーを渡すことができます。

注意 : 機能設定のワンタイムオプションが有効化されている必要があります。

フォーマット

expire は有効期限のUNIXタイムスタンプ形式の値です。

<?php
// 署名したいデータ($key_nameはmillviに登録したシークレットキーネーム)
"$expire = strval(time() + 1000);
$key_name = "test_key";
$data = "v3&${expire}&${key_name}";
// secretKey生成APIで発行された.pemファイル(ここではサンプルとして.pemファイルの中身を記述しています)
$pem = "-----BEGIN PRIVATE KEY----- \nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgw3ZHC/3LB89AtmNw
 MtkqeS2oINe6Rgk8SJfLuLdP5LehRANCAAS7xFGH1d/3vKSmVUWpX5g/uj/4ImLv
47f0g57Erhaq4Syg/MSZhQnjTt5A5bhubwYxBTynFPFapJx+xpqCzHKo\ n-----END PRIVATE KEY-----";
// 署名を作成
$private_key = openssl_pkey_get_private($pem);
 openssl_sign($data, $signature, $private_key, OPENSSL_ALGO_SHA256);
// 署名されたデータをbase64でencode
 $sign = base64_encode($signature);
$access_key = "v3&${expire}&${key_name}&${sign}";
playlist_id
string or null

embed_keyのプレイリストの子プレイリストを取得する場合にそのIDを指定します。

Responses

Response Headers
Access-Control-Allow-Origin
*
Response Schema: application/json
required
object

コンテンツステータス

object or null

ライブステータス

Array of objects or null

プレイリストに紐づく各コンテンツのステータス

Array of objects or null

プレイリストに紐づく各プレイリストのステータス

Request samples

curl -v -X GET 'https://${end_point}/content/status?embed_key=AQICAHgkhJIMl9&access_key=v3&${expire}&${key_name}&${sign}&playlist_id=4ba28124-c54g-83d8-9xxb-5324bddbafc9'

Response samples

Content type
application/json
{
  • "status": {
    },
  • "live_status": {},
  • "playlist_contents_status": [
    ],
  • "playlists_status": [
    ]
}