本書は ULIZA VMS (Cloud) が提供する API 仕様について記述しています。ULIZA VMS (Cloud) の機能や管理画面の操作方法については ULIZA VMS (Cloud) ユーザーガイド を参照してください。
なお、本書に掲載しているコードサンプル(Request samples)は、具体的な実装例を示すことで開発者を支援することを目的としていますが、掲載しているコードがすべての環境において正常に動作することを保証するものではありません。また、コードサンプル内で使用している関数やライブラリの安全性に関して、弊社は何ら責任を負うものではありません。
注意
本書に記述している API を利用するには、対応するオプション(「ULIZA FLEX II - マルチ WebAPI オプション」など)のご契約が必要となります。詳細については お問い合わせ ください。
バージョン | 改版日 | 改版内容 |
---|---|---|
v1.0.0 | 2019/09/24 | 初版 |
v1.1.0 | 2020/01/23 |
|
v1.2.0 | 2020/06/15 |
|
v1.3.0 | 2020/06/24 |
|
v1.5.0 | 2020/09/15 |
|
v1.6.0 | 2020/11/02 |
|
v1.7.0 | 2021/01/25 |
|
v1.7.1 | 2021/03/02 | |
v1.8.0 | 2021/04/30 |
|
v1.9.0 | 2021/06/22 |
|
v1.10.0 | 2021/09/07 |
|
v1.12.0 | 2022/03/22 |
|
v1.13.0 | 2022/05/10 |
|
v1.14.0 | 2022/12/01 |
|
v1.15.0 | 2023/01/24 |
|
v1.15.1 | 2023/02/20 |
|
v1.16.0 | 2023/03/29 |
|
v1.17.0 | 2023/06/06 |
|
v1.18.0 | 2023/07/04 |
|
v1.18.1 | 2023/08/16 |
|
特に断りのない限り、本書に記載されている全ての API に対するリクエストの Authorization ヘッダに下記の形式で有効な API 認証キーを含める必要があります。API 認証キーの取得方法については ULIZA プロダクトアカウントユーザーガイド を参照してください。リクエストに有効な API 認証キーが含まれていない場合は、401 Unauthorized が返却されます。
Authorization: Bearer <api-credential>
すべてのコンテンツを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
page | integer >= 1 Default: 1 取得するページ番号 |
per_page | integer <= 100 Default: 25 1 ページあたりの取得件数 |
sort | string Default: "created_at|desc" ソートする列名および方向(昇順
|
type | string 以下のいずれかのコンテンツ種別(コンマ区切りで複数指定可能)。省略した場合はすべて取得します。
|
status | string 以下のいずれかの公開設定(コンマ区切りで複数指定可能)。省略した場合はすべて取得します。
|
category | string <UUID> カテゴリ ID(指定した場合はその ID に対応するカテゴリが付与されているコンテンツの一覧を取得します) |
label | string <UUID> ラベル ID(指定した場合はその ID に対応するラベルが付与されているコンテンツの一覧を取得します) |
query | string <= 200 characters 検索キーワード(指定した場合はその文字列をコンテンツ名、タイトル、または説明のいずれかに含むコンテンツの一覧を取得します。大文字/小文字は区別されません) |
filters | string <JSON> コンテンツの詳細検索条件を JSON 形式の文字列で指定します(値は URL エンコードする必要があります)。query を指定した場合は無視されます。使用可能なキーは以下の通りで、複数のキーを指定した場合の各条件は AND で結合されます。各キーが指定した値に完全一致するコンテンツのみが返却されます。
また、各キーの末尾に以下のいずれかの修飾子を付与することで、完全一致以外の検索条件を使用することができます。ただし、修飾子のみが異なる複数のキーを同時に指定することはできません。
例えば、コンテンツ名が「news_」から始まり、タイトルに「2019」を含むコンテンツの一覧を取得するには、以下の JSON 形式の文字列を URL エンコードした値を指定します。
|
Array of objects コンテンツ情報 | |
truncated | boolean 全件を表示していない(次のページが存在) |
current_page | integer >= 1 現在のページ番号 |
per_page | integer <= 100 1 ページあたりの取得件数 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents?page=1&per_page=25&sort=created_at|desc'
{- "data": [
- {
- "name": "sample_content_190304",
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "type": "VOD",
- "status": "PUBLIC",
- "publish_start": null,
- "publish_end": null,
- "duration": 723,
- "category_id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "labels": [
- "b91e4a3d-a230-4039-8119-924d4df0e922"
], - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
], - "forward_policy_id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "streaming_policy_id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "encluster_transaction_id": 223471,
- "playback_count": 527,
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "poster_slideshow_interval": 1000,
- "presentation_document_id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "playlist_item_overrides": {
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
}, - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "truncated": false,
- "current_page": 1,
- "per_page": 25
}
コンテンツを登録します。リクエスト送信者が コンテンツの登録 権限を持っていない場合は、403 Forbidden が返却されます。
実際に配信を行うためには、トランスコード済み配信用ファイルを事前に ULIZA Video Storage に配備しておく必要があります。素材ファイルのトランスコードと ULIZA Video Storage への配備を行うためには ULIZA En-Cluster (Cloud) が提供する タスク登録 API を使用します。なお、タスク登録 API は ULIZA VMS (Cloud) に対するコンテンツ登録を同時に行うため、タスク登録後に別途 ULIZA VMS (Cloud) の コンテンツ登録 API を呼び出す必要はありません。
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名(アカウント内で一意である必要があります。省略した場合はシステムにより自動発番されます) |
title required | string <= 200 characters タイトル |
description | string <= 5000 characters コンテンツの説明 |
type | string Default: "VOD" 以下のいずれかのコンテンツ種別
|
status | string Default: "PUBLIC" 以下のいずれかの公開設定
|
publish_start | string <YYYY-MM-DD HH:MM:SS> Nullable 公開開始日時(status が LIMITED の場合のみ有効です) |
publish_end | string <YYYY-MM-DD HH:MM:SS> Nullable 公開終了日時(status が LIMITED の場合のみ有効です) |
duration | integer >= 0 再生時間(秒) |
category_id required | string <UUID> カテゴリ ID |
labels | Array of strings <UUID> <= 50 items unique ラベル |
forward_policy_id | string <UUID> コンテンツフォワードポリシー ID(省略した場合はアカウントのデフォルトポリシーが適用されます) |
streaming_policy_id | string <UUID> ストリーミングポリシー ID(省略した場合はアカウントのデフォルトポリシーが適用されます) |
seek_preview_url | string <URL> <= 200 characters シークプレビュー画像 URL(seek_preview_url と seek_preview_content の両方を指定した場合は seek_preview_content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります) |
seek_preview_content | string <byte> <= 10485760 characters Base64 形式でエンコードされたシークプレビュー画像データ(seek_preview_url と seek_preview_content の両方を指定した場合は seek_preview_content が優先されます) |
encluster_transaction_id | integer >= 1 ULIZA En-Cluster トランザクション ID |
poster_slideshow_interval | integer >= 1 Default: 1000 再生前スライドショー画像切替間隔(ミリ秒) |
primary_poster_name | string <= 50 characters ^[0-9a-zA-Z-_]+$ 再生前画像名(posters プロパティで各ポスター画像に付与した name のいずれかを指定します) |
presentation_document_name | string <= 50 characters ^[0-9a-zA-Z-_]+$ プレゼンテーション連携資料名(documents プロパティで各関連資料に付与した name のいずれかを指定します) |
object プレイリストアイテム設定 | |
Array of objects <= 50 items タグ情報 | |
Array of objects <= 100 items チャプター情報(同じ start_time をもつ複数のチャプターを含めることはできません) | |
required | Array of objects <= 5 items ストリームセット情報 |
required | Array of objects <= 10 items ストリーム情報 |
Array of objects <= 10 items 字幕情報(複数の字幕をリクエストに含める場合は、すべての字幕について content を指定することはできません。content を指定して複数の字幕を登録するには、字幕登録 API を繰り返し実行します) | |
Array of objects <= 200 items ポスター画像情報(複数のポスター画像をリクエストに含める場合は、すべてのポスター画像について content を指定することはできません。content を指定して複数のポスター画像を登録するには、ポスター画像登録 API を繰り返し実行します) | |
Array of objects <= 5 items 関連資料情報(複数の関連資料をリクエストに含める場合は、すべての関連資料について content を指定することはできません。content を指定して複数の関連資料を登録するには、関連資料登録 API を繰り返し実行します) |
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ 登録されたコンテンツ名 |
Array of objects 登録されたストリームセット | |
Array of objects 登録されたストリーム | |
Array of objects 登録された字幕 | |
Array of objects 登録されたポスター画像 | |
Array of objects 登録された関連資料 |
{- "name": "sample_content_190304",
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "type": "VOD",
- "status": "PUBLIC",
- "publish_start": null,
- "publish_end": null,
- "duration": 723,
- "category_id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "labels": [
- "b91e4a3d-a230-4039-8119-924d4df0e922"
], - "forward_policy_id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "streaming_policy_id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "seek_preview_url": null,
- "seek_preview_content": "iVBORw0KGgoAAAAN ...",
- "encluster_transaction_id": 223471,
- "poster_slideshow_interval": 1000,
- "primary_poster_name": "poster01",
- "presentation_document_name": "document01",
- "playlist_item_overrides": {
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "primary_poster_name": "poster01"
}, - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
], - "chapters": [
- {
- "start_time": 0,
- "title": "chapter01",
- "poster_name": "poster01",
- "data": {
- "page": 1
}
}
], - "stream_sets": [
- {
- "name": "sample_stream_set_01",
- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "stream_names": [
- "stream01"
], - "subtitle_names": [
- "subtitle01"
]
}
], - "streams": [
- {
- "name": "stream01",
- "path": "VOD/hls/9999/prog-index.m3u8",
- "origin_domain_name": null,
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED"
}
], - "subtitles": [
- {
- "name": "subtitle01",
- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "url": null,
- "content": "V0VCVlRUCgowMDow ..."
}
], - "posters": [
- {
- "name": "poster01",
- "format": "PNG",
- "width": 1280,
- "height": 720,
- "url": null,
- "content": "iVBORw0KGgoAAAAN ...",
- "timestamp": 123,
- "used_in_slideshow": false
}
], - "documents": [
- {
- "name": "document01",
- "title": "添付資料",
- "type": "application/pdf",
- "url": null,
- "content": "JVBERi0xLjMKJcTl ...",
- "filename": "document.pdf"
}
]
}
{- "name": "sample_content_190304",
- "stream_sets": [
- {
- "name": "sample_stream_set_01"
}
], - "streams": [
- {
- "name": "stream01",
- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69"
}
], - "subtitles": [
- {
- "name": "subtitle01",
- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
}
], - "posters": [
- {
- "name": "poster01",
- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a"
}
], - "documents": [
- {
- "name": "document01",
- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596"
}
]
}
指定したコンテンツの情報を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
title | string <= 200 characters タイトル |
description | string <= 5000 characters Nullable コンテンツの説明 |
type | string 以下のいずれかのコンテンツ種別
|
status | string 以下のいずれかの公開設定
|
publish_start | string <YYYY-MM-DD HH:MM:SS> Nullable 公開開始日時 |
publish_end | string <YYYY-MM-DD HH:MM:SS> Nullable 公開終了日時 |
duration | integer >= 0 再生時間(秒) |
category_id | string <UUID> カテゴリ ID |
labels | Array of strings <UUID> ラベル |
Array of objects タグ情報 | |
forward_policy_id | string <UUID> コンテンツフォワードポリシー ID |
streaming_policy_id | string <UUID> ストリーミングポリシー ID |
seek_preview_url | string <URL> <= 200 characters Nullable シークプレビュー画像 URL |
encluster_transaction_id | integer >= 1 Nullable ULIZA En-Cluster トランザクション ID |
playback_count | integer >= 0 ULIZA Video Analytics で集計された再生開始数 |
primary_poster_id | string <UUID> Nullable ポスター画像(再生前画像)ID |
primary_poster_url | string <URL> <= 200 characters Nullable ポスター画像(再生前画像)URL |
poster_slideshow_interval | integer >= 1 再生前スライドショー画像切替間隔(ミリ秒) |
presentation_document_id | string <UUID> Nullable プレゼンテーション連携資料 ID |
object プレイリストアイテム設定 | |
created_at | string <YYYY-MM-DD HH:MM:SS> コンテンツ登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> コンテンツ最終更新日時 |
Array of objects チャプター情報 | |
Array of objects ストリームセット情報 | |
Array of objects ストリーム情報 | |
Array of objects 字幕情報 | |
Array of objects ポスター画像情報 | |
Array of objects 関連資料情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304'
{- "name": "sample_content_190304",
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "type": "VOD",
- "status": "PUBLIC",
- "publish_start": null,
- "publish_end": null,
- "duration": 723,
- "category_id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "labels": [
- "b91e4a3d-a230-4039-8119-924d4df0e922"
], - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
], - "forward_policy_id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "streaming_policy_id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "encluster_transaction_id": 223471,
- "playback_count": 527,
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "poster_slideshow_interval": 1000,
- "presentation_document_id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "playlist_item_overrides": {
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
}, - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10",
- "chapters": [
- {
- "start_time": 0,
- "title": "chapter01",
- "poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "data": {
- "page": 1
}
}
], - "stream_sets": [
- {
- "name": "sample_stream_set_01",
- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "streams": [
- "84db42b9-03f2-49bc-90f3-1e6556297a69"
], - "subtitles": [
- "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
], - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "streams": [
- {
- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69",
- "path": "VOD/hls/9999/prog-index.m3u8",
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "subtitles": [
- {
- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9",
- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "posters": [
- {
- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "format": "PNG",
- "width": 1280,
- "height": 720,
- "timestamp": 123,
- "used_in_slideshow": false,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "documents": [
- {
- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "title": "添付資料",
- "type": "application/pdf",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
title | string <= 200 characters タイトル |
description | string <= 5000 characters コンテンツの説明 |
type | string Default: "VOD" 以下のいずれかのコンテンツ種別
|
status | string Default: "PUBLIC" 以下のいずれかの公開設定
|
publish_start | string <YYYY-MM-DD HH:MM:SS> Nullable 公開開始日時(status が LIMITED の場合のみ有効です) |
publish_end | string <YYYY-MM-DD HH:MM:SS> Nullable 公開終了日時(status が LIMITED の場合のみ有効です) |
duration | integer >= 0 再生時間(秒) |
category_id | string <UUID> カテゴリ ID |
labels | Array of strings <UUID> <= 50 items unique ラベル |
forward_policy_id | string <UUID> コンテンツフォワードポリシー ID(省略した場合はアカウントのデフォルトポリシーが適用されます) |
streaming_policy_id | string <UUID> ストリーミングポリシー ID(省略した場合はアカウントのデフォルトポリシーが適用されます) |
seek_preview_url | string <URL> <= 200 characters シークプレビュー画像 URL(seek_preview_url と seek_preview_content の両方を指定した場合は seek_preview_content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります) |
seek_preview_content | string <byte> <= 10485760 characters Base64 形式でエンコードされたシークプレビュー画像データ(seek_preview_url と seek_preview_content の両方を指定した場合は seek_preview_content が優先されます) |
encluster_transaction_id | integer >= 1 ULIZA En-Cluster トランザクション ID |
poster_slideshow_interval | integer >= 1 Default: 1000 再生前スライドショー画像切替間隔(ミリ秒) |
primary_poster_id | string <UUID> ポスター画像(再生前画像)ID |
presentation_document_id | string <UUID> プレゼンテーション連携資料 ID |
object プレイリストアイテム設定 | |
Array of objects <= 50 items タグ情報 | |
Array of objects <= 100 items チャプター情報(同じ start_time をもつ複数のチャプターを含めることはできません) |
{- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "type": "VOD",
- "status": "PUBLIC",
- "publish_start": null,
- "publish_end": null,
- "duration": 723,
- "category_id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "labels": [
- "b91e4a3d-a230-4039-8119-924d4df0e922"
], - "forward_policy_id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "streaming_policy_id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "seek_preview_url": null,
- "seek_preview_content": "iVBORw0KGgoAAAAN ...",
- "encluster_transaction_id": 223471,
- "poster_slideshow_interval": 1000,
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "presentation_document_id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "playlist_item_overrides": {
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "primary_poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a"
}, - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
], - "chapters": [
- {
- "start_time": 0,
- "title": "chapter01",
- "poster_id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "data": {
- "page": 1
}
}
]
}
{- "code": "INVALID_REQUEST",
- "message": null
}
指定したコンテンツを削除します。リクエスト送信者が コンテンツの削除 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のコンテンツフォワードポリシーの転送先に指定されているコンテンツを削除することはできません。コンテンツを削除すると対応する物理ファイルも削除されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したコンテンツの配信流量を取得します。1回のリクエストで取得できるデータの取得期間は最大で13か月までです。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
start | string <YYYY-MM-DD> データを取得する期間の開始日を指定します。 |
end | string <YYYY-MM-DD> データを取得する期間の終了日を指定します。 |
granularity | string Default: "daily" 結果を集計する粒度を指定します。使用可能な粒度名は以下の通りです。
|
Array of objects Nullable 統計情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/statistics?start=2019-03-18&end=2019-03-18&granularity=daily'
{- "statistics": [
- {
- "date": "2019-03-18",
- "bytes_downloaded": 3184573429
}
]
}
指定したコンテンツのすべてのストリームセットを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
Array of objects ストリームセット情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/stream-sets'
{- "data": [
- {
- "name": "sample_stream_set_01",
- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "streams": [
- "84db42b9-03f2-49bc-90f3-1e6556297a69"
], - "subtitles": [
- "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
], - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツにストリームセットを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名(コンテンツ内で一意である必要があります。省略した場合はシステムにより自動発番されます) |
distribution_id | string <UUID> 配信ネットワーク ID(省略した場合はシステムにより自動的に決定されます) |
streams required | Array of strings <UUID> unique ストリーム ID(フォーマットの異なるストリームを複数指定することはできません。フォーマットが MP4 または UNKNOWN であるストリームを複数指定することはできません) |
subtitles | Array of strings <UUID> unique 字幕 ID |
name | string <= 200 characters 登録されたストリームセット名 |
{- "name": "sample_stream_set_01",
- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "streams": [
- "84db42b9-03f2-49bc-90f3-1e6556297a69"
], - "subtitles": [
- "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
]
}
{- "name": "sample_stream_set_01"
}
コンテンツの指定したストリームセットを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
set-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名 |
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名 |
distribution_id | string <UUID> 配信ネットワーク ID |
streams | Array of strings <UUID> ストリーム ID |
subtitles | Array of strings <UUID> 字幕 ID |
created_at | string <YYYY-MM-DD HH:MM:SS> ストリームセット登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ストリームセット最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/stream-sets/sample_stream_set_01'
{- "name": "sample_stream_set_01",
- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "streams": [
- "84db42b9-03f2-49bc-90f3-1e6556297a69"
], - "subtitles": [
- "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
], - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
コンテンツの指定したストリームセットを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
set-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名 |
distribution_id | string <UUID> 配信ネットワーク ID(省略した場合はシステムにより自動的に決定されます) |
streams | Array of strings <UUID> unique ストリーム ID(フォーマットの異なるストリームを複数指定することはできません。フォーマットが MP4 または UNKNOWN であるストリームを複数指定することはできません) |
subtitles | Array of strings <UUID> unique 字幕 ID |
{- "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
- "streams": [
- "84db42b9-03f2-49bc-90f3-1e6556297a69"
], - "subtitles": [
- "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
]
}
{- "code": "INVALID_REQUEST",
- "message": null
}
コンテンツから指定したストリームセットを削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。コンテンツからすべてのストリームセットを削除することはできません。ストリームセットを削除しても、含まれるストリームは削除されません。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
set-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名 |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/stream-sets/sample_stream_set_01'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したコンテンツのすべてのストリームを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
Array of objects ストリーム情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/streams'
{- "data": [
- {
- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69",
- "path": "VOD/hls/9999/prog-index.m3u8",
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツにストリームを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
path required | string <= 400 characters 動画ファイルパス(先頭に |
origin_domain_name | string <= 100 characters オリジンドメイン名(ULIZA Video Storage をオリジンとしない場合のみ。通常は指定する必要はありません) |
format required | string 以下のいずれかのフォーマット
|
video_codec | string 以下のいずれかの映像コーデック
|
video_bitrate | integer <= 100000000 映像ビットレート(bps) |
framerate | number <float> <= 300 フレームレート |
width | integer <= 8192 映像幅(px) |
height | integer <= 8192 映像高さ(px) |
audio_codec | string 以下のいずれかの音声コーデック
|
audio_bitrate | integer <= 100000000 音声ビットレート(bps) |
sample_rate | integer <= 10000000 サンプリング周波数(Hz) |
channels | integer <= 100 チャンネル数 |
audio_track_type | string 以下のいずれかの音声タイプ(映像を含まない場合のみ)
|
audio_language | string 2 characters 音声言語(ISO 639 言語コード) |
audio_label | string <= 15 characters 音声ラベル |
playback_rate | number <float> <= 100 Default: 1 再生速度 |
filesize | integer >= 0 ファイルサイズ(bytes) |
encluster_task_id | integer >= 1 ULIZA En-Cluster タスク ID |
is_original | boolean Default: false 素材ファイルであるか |
status | string Default: "COMPLETED" 以下のいずれかの状態
|
id | string <UUID> 登録されたストリーム ID |
{- "path": "VOD/hls/9999/prog-index.m3u8",
- "origin_domain_name": null,
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED"
}
{- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69"
}
指定したコンテンツに複数のストリームを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
required | Array of objects <= 10 items ストリーム情報 |
Array of objects 登録されたストリーム(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します) |
{- "requests": [
- {
- "path": "VOD/hls/9999/prog-index.m3u8",
- "origin_domain_name": null,
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED"
}
]
}
{- "responses": [
- {
- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69"
}
]
}
コンテンツの指定したストリームを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
stream-id required | string <UUID> ストリーム ID |
id | string <UUID> ストリーム ID |
path | string <= 400 characters 動画ファイルパス |
format | string 以下のいずれかのフォーマット
|
video_codec | string Nullable 以下のいずれかの映像コーデック
|
video_bitrate | integer <= 100000000 Nullable 映像ビットレート(bps) |
framerate | number <float> <= 300 Nullable フレームレート |
width | integer <= 8192 Nullable 映像幅(px) |
height | integer <= 8192 Nullable 映像高さ(px) |
audio_codec | string Nullable 以下のいずれかの音声コーデック
|
audio_bitrate | integer <= 100000000 Nullable 音声ビットレート(bps) |
sample_rate | integer <= 10000000 Nullable サンプリング周波数(Hz) |
channels | integer <= 100 Nullable チャンネル数 |
audio_track_type | string Nullable 以下のいずれかの音声タイプ(映像を含まない場合のみ)
|
audio_language | string 2 characters Nullable 音声言語(ISO 639 言語コード) |
audio_label | string <= 15 characters Nullable 音声ラベル |
playback_rate | number <float> <= 100 再生速度 |
filesize | integer >= 0 Nullable ファイルサイズ(bytes) |
encluster_task_id | integer >= 1 Nullable ULIZA En-Cluster タスク ID |
is_original | boolean 素材ファイルであるか |
status | string 以下のいずれかの状態
|
created_at | string <YYYY-MM-DD HH:MM:SS> ストリーム登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ストリーム最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/streams/84db42b9-03f2-49bc-90f3-1e6556297a69'
{- "id": "84db42b9-03f2-49bc-90f3-1e6556297a69",
- "path": "VOD/hls/9999/prog-index.m3u8",
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
コンテンツの指定したストリームを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
stream-id required | string <UUID> ストリーム ID |
path | string <= 400 characters 動画ファイルパス(先頭に |
origin_domain_name | string <= 100 characters オリジンドメイン名(ULIZA Video Storage をオリジンとしない場合のみ。通常は指定する必要はありません) |
format | string 以下のいずれかのフォーマット
|
video_codec | string 以下のいずれかの映像コーデック
|
video_bitrate | integer <= 100000000 映像ビットレート(bps) |
framerate | number <float> <= 300 フレームレート |
width | integer <= 8192 映像幅(px) |
height | integer <= 8192 映像高さ(px) |
audio_codec | string 以下のいずれかの音声コーデック
|
audio_bitrate | integer <= 100000000 音声ビットレート(bps) |
sample_rate | integer <= 10000000 サンプリング周波数(Hz) |
channels | integer <= 100 チャンネル数 |
audio_track_type | string 以下のいずれかの音声タイプ(映像を含まない場合のみ)
|
audio_language | string 2 characters 音声言語(ISO 639 言語コード) |
audio_label | string <= 15 characters 音声ラベル |
playback_rate | number <float> <= 100 Default: 1 再生速度 |
filesize | integer >= 0 ファイルサイズ(bytes) |
encluster_task_id | integer >= 1 ULIZA En-Cluster タスク ID |
is_original | boolean Default: false 素材ファイルであるか |
status | string Default: "COMPLETED" 以下のいずれかの状態
|
{- "path": "VOD/hls/9999/prog-index.m3u8",
- "origin_domain_name": null,
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1,
- "filesize": 18244942,
- "encluster_task_id": 429520,
- "is_original": false,
- "status": "COMPLETED"
}
{- "code": "INVALID_REQUEST",
- "message": null
}
コンテンツから指定したストリームを削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のストリームセットに含まれているストリームを削除することはできません。ストリームを削除すると対応する物理ファイルも削除されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
stream-id required | string <UUID> ストリーム ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/streams/84db42b9-03f2-49bc-90f3-1e6556297a69'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したコンテンツのすべての字幕を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
Array of objects 字幕情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/subtitles'
{- "data": [
- {
- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9",
- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツに字幕を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
format | string Default: "UNKNOWN" 以下のいずれかの字幕ファイルフォーマット(content を指定した場合は字幕データから自動的に取得されるため format に指定した値は無視されます)
|
language | string 2 characters Default: "ja" 字幕言語(ISO 639 言語コード) |
label required | string <= 15 characters 字幕ラベル |
url | string <URL> <= 200 characters 字幕ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から字幕ファイルをダウンロードしません。また、字幕ファイルの実在性に関する検証も行いません。指定された URL に字幕ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた字幕データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
id | string <UUID> 登録された字幕 ID |
{- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "url": null,
- "content": "V0VCVlRUCgowMDow ..."
}
{- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
}
指定したコンテンツに複数の字幕を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
required | Array of objects <= 10 items 字幕情報(複数の字幕を requests に含める場合は、すべての字幕について content を指定することはできません。content を指定して複数の字幕を登録するには、字幕登録 API を繰り返し実行します) |
Array of objects 登録された字幕(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します) |
{- "requests": [
- {
- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "url": null,
- "content": "V0VCVlRUCgowMDow ..."
}
]
}
{- "responses": [
- {
- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
}
]
}
コンテンツの指定した字幕を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
subtitle-id required | string <UUID> 字幕 ID |
id | string <UUID> 字幕 ID |
format | string 以下のいずれかの字幕ファイルフォーマット
|
language | string 2 characters Nullable 字幕言語(ISO 639 言語コード) |
label | string <= 15 characters 字幕ラベル |
url | string <URL> <= 200 characters 字幕ファイル URL |
created_at | string <YYYY-MM-DD HH:MM:SS> 字幕登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> 字幕最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/subtitles/08b0b19c-17ed-4614-9270-6ea25aa9a4d9'
{- "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9",
- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
コンテンツの指定した字幕を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
subtitle-id required | string <UUID> 字幕 ID |
format | string Default: "UNKNOWN" 以下のいずれかの字幕ファイルフォーマット(content を指定した場合は字幕データから自動的に取得されるため format に指定した値は無視されます)
|
language | string 2 characters Default: "ja" 字幕言語(ISO 639 言語コード) |
label | string <= 15 characters 字幕ラベル |
url | string <URL> <= 200 characters 字幕ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から字幕ファイルをダウンロードしません。また、字幕ファイルの実在性に関する検証も行いません。指定された URL に字幕ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた字幕データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
{- "format": "WEBVTT",
- "language": "ja",
- "label": "日本語",
- "url": null,
- "content": "V0VCVlRUCgowMDow ..."
}
{- "code": "INVALID_REQUEST",
- "message": null
}
コンテンツから指定した字幕を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のストリームセットに含まれている字幕を削除することはできません。字幕を削除すると対応する物理ファイルも削除されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
subtitle-id required | string <UUID> 字幕 ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/subtitles/08b0b19c-17ed-4614-9270-6ea25aa9a4d9'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したコンテンツのすべてのポスター画像を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
Array of objects ポスター画像情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/posters'
{- "data": [
- {
- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "format": "PNG",
- "width": 1280,
- "height": 720,
- "timestamp": 123,
- "used_in_slideshow": false,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツにポスター画像を登録します。このポスター画像は指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)の末尾に追加されます。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
format | string Default: "UNKNOWN" 以下のいずれかの画像ファイルフォーマット(content を指定した場合は画像データから自動的に取得されるため format に指定した値は無視されます)
|
width | integer <= 8192 画像幅(px; content を指定した場合は画像データから自動的に取得されるため width に指定した値は無視されます) |
height | integer <= 8192 画像高さ(px; content を指定した場合は画像データから自動的に取得されるため height に指定した値は無視されます) |
url | string <URL> <= 200 characters 画像ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた画像データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
timestamp | integer >= 0 動画内再生位置(秒) |
used_in_slideshow | boolean Default: false 再生前スライドショーで使用(コンテンツあたり最大 20 個のポスター画像を選択可能) |
id | string <UUID> 登録されたポスター画像 ID |
{- "format": "PNG",
- "width": 1280,
- "height": 720,
- "url": null,
- "content": "iVBORw0KGgoAAAAN ...",
- "timestamp": 123,
- "used_in_slideshow": false
}
{- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a"
}
指定したコンテンツに複数のポスター画像を登録します。これらのポスター画像は指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)の末尾に追加されます。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
required | Array of objects <= 200 items ポスター画像情報(複数のポスター画像を requests に含める場合は、すべてのポスター画像について content を指定することはできません。content を指定して複数のポスター画像を登録するには、ポスター画像登録 API を繰り返し実行します) |
Array of objects 登録されたポスター画像(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します) |
{- "requests": [
- {
- "format": "PNG",
- "width": 1280,
- "height": 720,
- "url": null,
- "content": "iVBORw0KGgoAAAAN ...",
- "timestamp": 123,
- "used_in_slideshow": false
}
]
}
{- "responses": [
- {
- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a"
}
]
}
コンテンツの指定したポスター画像を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
poster-id required | string <UUID> ポスター画像 ID |
id | string <UUID> ポスター画像 ID |
format | string 以下のいずれかの画像ファイルフォーマット
|
width | integer <= 8192 画像幅(px) |
height | integer <= 8192 画像高さ(px) |
url | string <URL> <= 200 characters 画像ファイル URL |
timestamp | integer >= 0 Nullable 動画内再生位置(秒) |
used_in_slideshow | boolean 再生前スライドショーで使用 |
created_at | string <YYYY-MM-DD HH:MM:SS> ポスター画像登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ポスター画像最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/posters/94f34104-9af9-4360-a8b1-cf00ff66087a'
{- "id": "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "format": "PNG",
- "width": 1280,
- "height": 720,
- "timestamp": 123,
- "used_in_slideshow": false,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
コンテンツの指定したポスター画像を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
poster-id required | string <UUID> ポスター画像 ID |
format | string Default: "UNKNOWN" 以下のいずれかの画像ファイルフォーマット(content を指定した場合は画像データから自動的に取得されるため format に指定した値は無視されます)
|
width | integer <= 8192 画像幅(px; content を指定した場合は画像データから自動的に取得されるため width に指定した値は無視されます) |
height | integer <= 8192 画像高さ(px; content を指定した場合は画像データから自動的に取得されるため height に指定した値は無視されます) |
url | string <URL> <= 200 characters 画像ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた画像データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
timestamp | integer >= 0 動画内再生位置(秒) |
used_in_slideshow | boolean Default: false 再生前スライドショーで使用(コンテンツあたり最大 20 個のポスター画像を選択可能) |
{- "format": "PNG",
- "width": 1280,
- "height": 720,
- "url": null,
- "content": "iVBORw0KGgoAAAAN ...",
- "timestamp": 123,
- "used_in_slideshow": false
}
{- "code": "INVALID_REQUEST",
- "message": null
}
コンテンツから指定したポスター画像を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。コンテンツの再生前画像に指定されているポスター画像や、プレイリスト表示用ポスター画像、再生前スライドショーで使用されているポスター画像を削除することはできません。ポスター画像を削除すると対応する物理ファイルも削除されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
poster-id required | string <UUID> ポスター画像 ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/posters/94f34104-9af9-4360-a8b1-cf00ff66087a'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
order required | Array of strings <UUID> <= 200 items ポスター画像 ID(配列内の要素の順序に従いポスター画像の順序が更新されます。指定したコンテンツのすべてのポスター画像の ID を含める必要があります) |
{- "order": [
- "94f34104-9af9-4360-a8b1-cf00ff66087a",
- "2cbb3da1-32e0-4e96-9582-54bc7fed9c23",
- "83ecd614-11e1-4a37-90d4-f021acde6f3d"
]
}
{- "code": "INVALID_REQUEST",
- "message": null
}
指定したコンテンツのすべての関連資料を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
Array of objects 関連資料情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/documents'
{- "data": [
- {
- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "title": "添付資料",
- "type": "application/pdf",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツに関連資料を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
title required | string <= 200 characters 関連資料タイトル |
type | |
url | string <URL> <= 200 characters 関連資料ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から関連資料ファイルをダウンロードしません。また、関連資料ファイルの実在性に関する検証も行いません。指定された URL に関連資料ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた関連資料データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
filename | string <= 255 characters content を指定して登録された関連資料のファイル名 |
id | string <UUID> 登録された関連資料 ID |
{- "title": "添付資料",
- "type": "application/pdf",
- "url": null,
- "content": "JVBERi0xLjMKJcTl ...",
- "filename": "document.pdf"
}
{- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596"
}
指定したコンテンツに複数の関連資料を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
required | Array of objects <= 5 items 関連資料情報(複数の関連資料を requests に含める場合は、すべての関連資料について content を指定することはできません。content を指定して複数の関連資料を登録するには、関連資料登録 API を繰り返し実行します) |
Array of objects 登録された関連資料(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します) |
{- "requests": [
- {
- "title": "添付資料",
- "type": "application/pdf",
- "url": null,
- "content": "JVBERi0xLjMKJcTl ...",
- "filename": "document.pdf"
}
]
}
{- "responses": [
- {
- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596"
}
]
}
コンテンツの指定した関連資料を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
document-id required | string <UUID> 関連資料 ID |
id | string <UUID> 関連資料 ID |
title | string <= 200 characters 関連資料タイトル |
type | string <= 255 characters MIME タイプ(IANA Media Types を参照) |
url | string <URL> <= 200 characters 関連資料ファイル URL |
created_at | string <YYYY-MM-DD HH:MM:SS> 関連資料登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> 関連資料最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/documents/8bc2d326-07fb-4a99-b758-40a167e7b596'
{- "id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
- "title": "添付資料",
- "type": "application/pdf",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
コンテンツの指定した関連資料を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
document-id required | string <UUID> 関連資料 ID |
title | string <= 200 characters 関連資料タイトル |
type | |
url | string <URL> <= 200 characters 関連資料ファイル URL(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から関連資料ファイルをダウンロードしません。また、関連資料ファイルの実在性に関する検証も行いません。指定された URL に関連資料ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります) |
content | string <byte> <= 10485760 characters Base64 形式でエンコードされた関連資料データ(url と content のいずれかを指定する必要があります。両方を指定した場合は content が優先されます) |
filename | string <= 255 characters content を指定して登録された関連資料のファイル名 |
{- "title": "添付資料",
- "type": "application/pdf",
- "url": null,
- "content": "JVBERi0xLjMKJcTl ...",
- "filename": "document.pdf"
}
{- "code": "INVALID_REQUEST",
- "message": null
}
コンテンツから指定した関連資料を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。プレゼンテーション連携が設定されている関連資料を削除することはできません。関連資料を削除すると対応する物理ファイルも削除されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
document-id required | string <UUID> 関連資料 ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/documents/8bc2d326-07fb-4a99-b758-40a167e7b596'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
すべてのカテゴリを取得します。リクエスト送信者が カテゴリの取得 権限を持っていない場合は、403 Forbidden が返却されます。
statistics | string^(daily|monthly):\d+$ 統計情報の粒度(日次 |
Array of objects カテゴリ情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/categories?statistics=daily:1'
{- "data": [
- {
- "id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "name": "ニュース/スポーツ/野球",
- "statistics": [
- {
- "date": "2019-03-18",
- "content_count": 143,
- "total_duration": 34925,
- "total_filesize": 24958344023
}
], - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
カテゴリを登録します。リクエスト送信者が カテゴリの登録 権限を持っていない場合は、403 Forbidden が返却されます。
create_parents | boolean Default: false 上位カテゴリを自動的に作成する(カテゴリ名に階層区切り文字 |
name required | string <= 302 characters カテゴリ名(以下の条件をすべて満たす必要があります)
|
id | string <UUID> 登録されたカテゴリ ID |
Array of objects Nullable 登録された上位カテゴリ(create_parents オプションに |
{- "name": "ニュース/スポーツ/野球"
}
{- "id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "parents": [
- {
- "id": "ce0ebdcb-c07e-4ec1-abd1-deb8fba3ce53",
- "name": "ニュース/スポーツ"
}
]
}
指定したカテゴリの情報を取得します。リクエスト送信者が カテゴリの取得 権限を持っていない場合は、403 Forbidden が返却されます。
category-id required | string <UUID> カテゴリ ID |
statistics | string^(daily|monthly):\d+$ 統計情報の粒度(日次 |
id | string <UUID> カテゴリ ID |
name | string <= 302 characters カテゴリ名(ULIZA VMS (Cloud) 管理画面では |
Array of objects Nullable 統計情報 | |
created_at | string <YYYY-MM-DD HH:MM:SS> カテゴリ登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> カテゴリ最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/categories/0669af11-cd8c-4ca9-9128-aa2597002c4b?statistics=daily:1'
{- "id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
- "name": "ニュース/スポーツ/野球",
- "statistics": [
- {
- "date": "2019-03-18",
- "content_count": 143,
- "total_duration": 34925,
- "total_filesize": 24958344023
}
], - "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
指定したカテゴリを更新します。リクエスト送信者が カテゴリの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上の下位カテゴリが存在するカテゴリの名前を変更することはできません。ただし、rename_children オプションに true
を指定した場合は、これらの下位カテゴリの名前は自動的に更新されます。
category-id required | string <UUID> カテゴリ ID |
rename_children | boolean Default: false 下位カテゴリを自動的に更新する(更新前のカテゴリ名の末尾に階層区切り文字 |
name | string <= 302 characters カテゴリ名(以下の条件をすべて満たす必要があります)
|
{- "name": "ニュース/スポーツ/野球"
}
{- "code": "INVALID_REQUEST",
- "message": null
}
指定したカテゴリを削除します。リクエスト送信者が カテゴリの削除 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のコンテンツに関連付けられているカテゴリや、1 つ以上の下位カテゴリが存在するカテゴリを削除することはできません。
category-id required | string <UUID> カテゴリ ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/categories/0669af11-cd8c-4ca9-9128-aa2597002c4b'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
すべてのラベルを取得します。リクエスト送信者が ラベルの取得 権限を持っていない場合は、403 Forbidden が返却されます。
Array of objects ラベル情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/labels'
{- "data": [
- {
- "id": "b91e4a3d-a230-4039-8119-924d4df0e922",
- "name": "スポーツ",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
ラベルを登録します。リクエスト送信者が ラベルの登録 権限を持っていない場合は、403 Forbidden が返却されます。
name required | string <= 100 characters ラベル名(アカウント内で一意である必要があります) |
id | string <UUID> 登録されたラベル ID |
{- "name": "スポーツ"
}
{- "id": "b91e4a3d-a230-4039-8119-924d4df0e922"
}
指定したラベルの情報を取得します。リクエスト送信者が ラベルの取得 権限を持っていない場合は、403 Forbidden が返却されます。
label-id required | string <UUID> ラベル ID |
id | string <UUID> ラベル ID |
name | string <= 100 characters ラベル名 |
created_at | string <YYYY-MM-DD HH:MM:SS> ラベル登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ラベル最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/labels/b91e4a3d-a230-4039-8119-924d4df0e922'
{- "id": "b91e4a3d-a230-4039-8119-924d4df0e922",
- "name": "スポーツ",
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
指定したラベルを更新します。リクエスト送信者が ラベルの更新 権限を持っていない場合は、403 Forbidden が返却されます。
label-id required | string <UUID> ラベル ID |
name | string <= 100 characters ラベル名(アカウント内で一意である必要があります) |
{- "name": "スポーツ"
}
{- "code": "INVALID_REQUEST",
- "message": null
}
指定したラベルを削除します。リクエスト送信者が ラベルの削除 権限を持っていない場合は、403 Forbidden が返却されます。ラベルを削除しても、そのラベルが付与されていたコンテンツは削除されません。
label-id required | string <UUID> ラベル ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/labels/b91e4a3d-a230-4039-8119-924d4df0e922'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定したプレイリストの表示に必要な情報を取得します。リクエスト送信者が コンテンツの視聴 権限を持っていない場合は、403 Forbidden が返却されます。
playlist-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ プレイリスト名 |
include_private | boolean Default: false 非公開コンテンツを含める |
playlist_name | string <= 200 characters ^[0-9a-zA-Z-_]+$ プレイリスト名 |
playlist_title | string <= 200 characters プレイリストタイトル |
playlist_description | string <= 5000 characters Nullable プレイリストの説明 |
Array of objects プレイリストアイテム詳細 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/playlists/sample_playlist_190304/items'
{- "playlist_name": "sample_playlist_190304",
- "playlist_title": "サンプルプレイリスト",
- "playlist_description": "これは説明です",
- "playlist_items": [
- {
- "name": "sample_content_190304",
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "content_type": "VOD",
- "status": "PUBLIC",
- "duration": 723,
- "category": "ニュース/スポーツ/野球",
- "labels": [
- "スポーツ"
], - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
],
}
]
}
指定したコンテンツの視聴に必要な情報を取得します。コンテンツフォワードポリシーおよびストリーミングポリシーが評価され、最大 1 組のストリームセットの情報が返却されます。返却される動画ファイルの URL には、ストリーミングポリシーに従い有効期限が設定されます。リクエスト送信者が コンテンツの視聴 権限を持っていない場合や、指定したコンテンツが公開されていない場合は、403 Forbidden が返却されます。
content-name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
ss | string <= 200 characters ^[0-9a-zA-Z-_]+$ ストリームセット名(指定した場合はストリーミングポリシーは評価されません) |
disable_cfp | boolean Default: false コンテンツフォワードポリシーを評価しない |
x-vms-client-ip | string <IPv4> クライアント IP アドレス(x-vms-client-country を指定した場合は無視されます) |
x-vms-client-country | string 2 characters クライアント ISO 3166-1 国名コード(省略した場合は x-vms-client-ip を使用して国名が判定されます。どちらも省略した場合は日本国内からの視聴と判定されます) |
x-vms-user-agent | string <= 1000 characters クライアント User-Agent(省略した場合は PC からの視聴と判定されます) |
x-vms-client-referer | string <= 200 characters クライアント Referer |
x-vms-date | string <YYYY-MM-DD HH:MM:SS> リクエスト日時(任意の日時におけるレスポンスを確認する目的に使用します) |
name | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名(コンテンツフォワードポリシーの設定によりリクエストとは異なるコンテンツ名が返却される場合があります) |
type | string 以下のいずれかのレスポンスタイプ
|
video_url | string <URL> <= 2000 characters Nullable 動画ファイル URL(type が |
image_url | string <URL> <= 200 characters Nullable 画像ファイル URL(type が |
title | string <= 200 characters Nullable タイトル |
description | string <= 5000 characters Nullable コンテンツの説明 |
content_type | string Nullable 以下のいずれかのコンテンツ種別
|
stream_set_name | string <= 200 characters Nullable ^[0-9a-zA-Z-_]+$ ストリームセット名 |
format | string Nullable 以下のいずれかのフォーマット
|
duration | integer >= 0 Nullable 再生時間(秒) |
category | string <= 200 characters Nullable カテゴリ |
labels | Array of strings Nullable ラベル |
Array of objects Nullable タグ情報 | |
Array of objects Nullable チャプター情報 | |
poster_url | string <URL> <= 200 characters Nullable ポスター画像 URL |
object Nullable 再生前スライドショー情報 | |
seek_preview_url | string <URL> <= 200 characters Nullable シークプレビュー画像 URL |
Array of objects Nullable ストリーム情報 | |
Array of objects Nullable 字幕情報 | |
default_subtitle_index | integer >= 0 Nullable デフォルト字幕インデックス |
Array of objects Nullable 関連資料情報 | |
object Nullable プレゼンテーション連携情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/play'
{- "name": "sample_content_190304",
- "type": "VIDEO",
- "image_url": null,
- "title": "サンプルコンテンツ",
- "description": "これは説明です",
- "content_type": "VOD",
- "stream_set_name": "sample_stream_set_01",
- "format": "HLS",
- "duration": 723,
- "category": "ニュース/スポーツ/野球",
- "labels": [
- "スポーツ"
], - "tags": [
- {
- "key": "制作者",
- "value": "株式会社 ULIZA"
}
], - "chapters": [
- {
- "start_time": 0,
- "title": "chapter01",
- "data": {
- "page": 1
}
}
], - "poster_slideshow": {
- "interval": 1000
}, - "streams": [
- {
- "format": "HLS",
- "video_codec": "H.264",
- "video_bitrate": 1500000,
- "framerate": 30,
- "width": 1920,
- "height": 1080,
- "audio_codec": "AAC",
- "audio_bitrate": 192000,
- "sample_rate": 44100,
- "channels": 2,
- "audio_track_type": null,
- "audio_language": "ja",
- "audio_label": "日本語",
- "playback_rate": 1
}
], - "subtitles": [
], - "default_subtitle_index": 0,
- "documents": [
],
}
視聴ページの URL は以下の形式となります。
# 共有ドメイン(視聴ページ登録時に配信サイト ID を指定しなかった場合)
https://ulizaportal.jp/pages/{page-id}
# 専用ドメイン(視聴ページ登録時に配信サイト ID を指定した場合)
https://{指定した配信サイトの完全修飾ドメイン名}/pages/{page-id}
視聴ページ登録時に signature_required(署名付き URL によるアクセスのみ許可)を指定した場合は、以下の形式となります。ただし、{有効期限}
は視聴ページの有効期限を表す UNIX 時刻、{署名文字列}
は後述する方法により求まる署名文字列をそれぞれ表します。有効期限とユーザー識別子の指定は任意です。
# 共有ドメイン(視聴ページ登録時に配信サイト ID を指定しなかった場合; クエリ文字列に有効期限を指定)
https://ulizaportal.jp/pages/{page-id}?expires={有効期限}&signature={署名文字列}&version=1
# 共有ドメイン(視聴ページ登録時に配信サイト ID を指定しなかった場合; クエリ文字列にユーザー識別子を指定)
https://ulizaportal.jp/pages/{page-id}?aud={ユーザー識別子}&signature={署名文字列}&version=1
# 専用ドメイン(視聴ページ登録時に配信サイト ID を指定した場合; クエリ文字列に有効期限とユーザー識別子を指定)
https://{指定した配信サイトの完全修飾ドメイン名}/pages/{page-id}?expires={有効期限}&aud={ユーザー識別子}&signature={署名文字列}&version=1
注意: クエリ文字列にユーザー識別子
aud
を指定しない場合は、同時視聴可能デバイス数の指定に関わらず同時視聴数制限は無効となります。
署名文字列は以下のメッセージ(視聴ページの URL から署名文字列と署名バージョンを取り除いた部分)に対して HMAC-SHA-256 アルゴリズムを使用して求まる文字列です。計算に必要な共通鍵には、視聴ページ取得 API または 視聴ページ登録 API のレスポンスに含まれる signing_key(URL 発行用署名鍵)を使用します。
# ハッシュ化するメッセージ(共有ドメインの場合; クエリ文字列に有効期限を指定)
https://ulizaportal.jp/pages/{page-id}?expires={有効期限}
# ハッシュ化するメッセージ(共有ドメインの場合; クエリ文字列にユーザー識別子を指定)
https://ulizaportal.jp/pages/{page-id}?aud={ユーザー識別子}
# ハッシュ化するメッセージ(専用ドメインの場合; クエリ文字列に有効期限とユーザー識別子を指定)
https://{指定した配信サイトの完全修飾ドメイン名}/pages/{page-id}?expires={有効期限}&aud={ユーザー識別子}
注意: ハッシュ化するメッセージに有効期限とユーザー識別子の両方を含める場合は、必ず有効期限
expires
を先に記述します。
以下に具体的な計算方法の例を示します。
UNIX シェル の場合
echo -n 'https://ulizaportal.jp/pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c?expires=1593529200' | openssl dgst -sha256 -hmac 'YourSigningKey'
# expected output: f64dd1839b4459cfe82bc7725abd8787f22d3c4718d154906eb8d787160e0ae7
PHP の場合
$signature = hash_hmac('sha256', 'https://ulizaportal.jp/pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c?expires=1593529200', 'YourSigningKey');
echo $signature; # expected output: f64dd1839b4459cfe82bc7725abd8787f22d3c4718d154906eb8d787160e0ae7
Ruby の場合
require 'openssl'
signature = OpenSSL::HMAC.hexdigest('sha256', 'YourSigningKey', 'https://ulizaportal.jp/pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c?expires=1593529200')
puts signature # expected output: f64dd1839b4459cfe82bc7725abd8787f22d3c4718d154906eb8d787160e0ae7
Node.js の場合
const crypto = require('crypto');
const signature = crypto.createHmac('sha256', 'YourSigningKey').update('https://ulizaportal.jp/pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c?expires=1593529200').digest('hex');
console.log(signature); // expected output: f64dd1839b4459cfe82bc7725abd8787f22d3c4718d154906eb8d787160e0ae7
すべての視聴ページを取得します。リクエスト送信者が 視聴ページの取得 権限を持っていない場合は、403 Forbidden が返却されます。
page | integer >= 1 Default: 1 取得するページ番号 |
per_page | integer <= 100 Default: 25 1 ページあたりの取得件数 |
sort | string Default: "created_at|desc" ソートする列名および方向(昇順
|
content | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名(指定した場合はそのコンテンツに対して発行された視聴ページの一覧を取得します) |
query | string <= 200 characters 検索キーワード(指定した場合はその文字列をタイトル、または説明のいずれかに含む視聴ページの一覧を取得します。大文字/小文字は区別されません) |
Array of objects 視聴ページ情報 | |
truncated | boolean 全件を表示していない(次のページが存在) |
current_page | integer >= 1 現在のページ番号 |
per_page | integer <= 100 1 ページあたりの取得件数 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/instant-pages?page=1&per_page=25&sort=created_at|desc'
{- "data": [
- {
- "id": "254a443f-97eb-4fc3-a7b9-c48ad5376b5c",
- "content_name": "sample_content_190304",
- "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "signing_key": "rX2Gm8GP32Vqoojd1vyCkUNG4oYUrobn",
- "revoked_audiences": [
- "00000001"
], - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
], - "truncated": false,
- "current_page": 1,
- "per_page": 25
}
視聴ページを登録します。リクエスト送信者が 視聴ページの登録 権限を持っていない場合は、403 Forbidden が返却されます。
content_name required | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
site_id | string <UUID> 配信サイト ID(configurations を省略した場合は必須) |
object 視聴ページ設定(site_id を省略した場合は必須; site_id を指定した場合は配信サイト設定がこの項目により上書きされます) | |
revoked_audiences | Array of strings <= 1000 items アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値) |
status | string Default: "PUBLIC" 以下のいずれかの公開状態
|
max_simultaneous_viewers | integer <= 5 同時視聴可能デバイス数(省略した場合は無制限) |
access_denial_timeout | integer <= 7200 再視聴待機時間(秒) |
signature_required | boolean Default: false 署名付き URL によるアクセスのみ許可 |
id | string <UUID> 登録された視聴ページ ID |
signing_key | string 32 characters Nullable URL 発行用署名鍵(署名付き URL によるアクセスが必要な場合のみ) |
{- "content_name": "sample_content_190304",
- "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "exposed_metadata": {
- "category": true,
- "labels": true,
- "documents": true,
- "playback_count": true,
- "created_at": true,
- "tag_keys": [
- "制作者"
]
}, - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "revoked_audiences": [
- "00000001"
], - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300,
- "signature_required": true
}
{- "id": "254a443f-97eb-4fc3-a7b9-c48ad5376b5c",
- "signing_key": "rX2Gm8GP32Vqoojd1vyCkUNG4oYUrobn"
}
指定した視聴ページの情報を取得します。リクエスト送信者が 視聴ページの取得 権限を持っていない場合は、403 Forbidden が返却されます。
page-id required | string <UUID> 視聴ページ ID |
id | string <UUID> 視聴ページ ID |
content_name | string <= 200 characters ^[0-9a-zA-Z-_]+$ コンテンツ名 |
site_id | string <UUID> Nullable 配信サイト ID |
object 視聴ページ設定 | |
signing_key | string 32 characters Nullable URL 発行用署名鍵(署名付き URL によるアクセスが必要な場合のみ) |
revoked_audiences | Array of strings <= 1000 items アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値) |
status | string 以下のいずれかの公開状態
|
max_simultaneous_viewers | integer <= 5 Nullable 同時視聴可能デバイス数(省略した場合は無制限) |
access_denial_timeout | integer <= 7200 Nullable 再視聴待機時間(秒) |
created_at | string <YYYY-MM-DD HH:MM:SS> 視聴ページ登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> 視聴ページ最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/instant-pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c'
{- "id": "254a443f-97eb-4fc3-a7b9-c48ad5376b5c",
- "content_name": "sample_content_190304",
- "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "signing_key": "rX2Gm8GP32Vqoojd1vyCkUNG4oYUrobn",
- "revoked_audiences": [
- "00000001"
], - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
指定した視聴ページを更新します。リクエスト送信者が 視聴ページの更新 権限を持っていない場合は、403 Forbidden が返却されます。
page-id required | string <UUID> 視聴ページ ID |
site_id | string <UUID> 配信サイト ID(configurations を省略した場合は必須) |
object 視聴ページ設定(site_id を省略した場合は必須; site_id を指定した場合は配信サイト設定がこの項目により上書きされます) | |
revoked_audiences | Array of strings <= 1000 items アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値) |
status | string Default: "PUBLIC" 以下のいずれかの公開状態
|
max_simultaneous_viewers | integer <= 5 同時視聴可能デバイス数(省略した場合は無制限) |
access_denial_timeout | integer <= 7200 再視聴待機時間(秒) |
{- "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "exposed_metadata": {
- "category": true,
- "labels": true,
- "documents": true,
- "playback_count": true,
- "created_at": true,
- "tag_keys": [
- "制作者"
]
}, - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "revoked_audiences": [
- "00000001"
], - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300
}
{- "code": "INVALID_REQUEST",
- "message": null
}
指定した視聴ページを削除します。リクエスト送信者が 視聴ページの削除 権限を持っていない場合は、403 Forbidden が返却されます。
page-id required | string <UUID> 視聴ページ ID |
curl \ -X DELETE \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/instant-pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c'
{- "code": "REQUEST_UNAUTHORIZED",
- "message": "Invalid credentials."
}
指定した視聴ページにアクセス拒否ユーザー識別子を登録します。既に登録されているユーザー識別子の場合は何も変更されませんが、リクエストは成功します。リクエスト送信者が 視聴ページの更新 権限を持っていない場合は、403 Forbidden が返却されます。
page-id required | string <UUID> 視聴ページ ID |
revoked_audience required | string <= 50 characters ^[0-9a-zA-Z-_.]+$ アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値) |
{- "revoked_audience": "00000001"
}
{- "code": "INVALID_REQUEST",
- "message": null
}
すべての配信サイトを取得します。リクエスト送信者が 配信サイトの取得 権限を持っていない場合は、403 Forbidden が返却されます。
Array of objects 配信サイト情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/sites'
{- "data": [
- {
- "id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "domain_names": [
- "www.example.com"
], - "propagation_status": "INSYNC",
- "ssl_certificate": {
- "common_name": "www.example.com",
- "fingerprint_sha1": "89:fe:df:3f:4e:17:7d:98:8d:0e:25:47:e8:c0:de:80:71:77:c2:01",
- "fingerprint_sha256": "d2:45:ea:df:2b:c3:e1:3f:4e:80:cb:f4:f3:92:30:cb:b5:d6:54:0e:99:e4:7f:e7:c3:01:b6:a0:61:bb:30:5f",
- "serial_number": "1f:c9:b0:a2:44:f4:05:81:62:d9:81:71:06:1d:76:db:b5:e4:e9:7e",
- "not_before": "2019-02-19 10:08:23",
- "not_after": "2020-02-19 10:08:23",
- "imported_at": "2019-03-04 11:42:10"
}, - "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "authentication": {
- "type": "SINGLE_USER",
- "username": "guest",
- "password": "passw0rd",
- "pool_id": null,
- "issuer": null,
- "client_id": null,
- "client_secret": null,
- "scope": null,
- "logout_endpoint": null,
- "masthead": null,
- "hide_update_password": false
}, - "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "content_scope": {
- "type": "CATEGORY",
- "categories": [
- "0669af11-cd8c-4ca9-9128-aa2597002c4b"
], - "labels": null
}, - "user_content_scopes": [
- {
- "conditions": [
- {
- "path": "$.locale",
- "operand": "!=",
- "value": "ja"
}
], - "type": "CATEGORY",
- "categories": [
- "0669af11-cd8c-4ca9-9128-aa2597002c4b"
], - "labels": null
}
], - "default_contents_per_page": 24,
- "default_contents_sort": "created_at|desc",
- "exposed_metadata": {
- "category": true,
- "description": true,
- "labels": true,
- "documents": true,
- "related_contents": true,
- "playback_count": true,
- "created_at": true,
- "tag_keys": [
- "制作者"
]
}, - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定した配信サイトの情報を取得します。リクエスト送信者が 配信サイトの取得 権限を持っていない場合は、403 Forbidden が返却されます。
site-id required | string <UUID> 配信サイト ID |
id | string <UUID> 配信サイト ID |
domain_names | Array of strings <= 5 items 完全修飾ドメイン名 |
propagation_status | string 以下のいずれかの DNS 設定反映状況
|
object Nullable SSL 証明書情報(domain_names が *.ulizaportal.jp 以外のドメインである場合のみ) | |
object 配信サイト設定 | |
status | string 以下のいずれかの公開状態
|
max_simultaneous_viewers | integer <= 5 Nullable 同時視聴可能デバイス数(省略した場合は無制限) |
access_denial_timeout | integer <= 7200 Nullable 再視聴待機時間(秒) |
created_at | string <YYYY-MM-DD HH:MM:SS> 配信サイト登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> 配信サイト最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/sites/795e83df-8e79-4f8b-843a-c743c66bd026'
{- "id": "795e83df-8e79-4f8b-843a-c743c66bd026",
- "domain_names": [
- "www.example.com"
], - "propagation_status": "INSYNC",
- "ssl_certificate": {
- "common_name": "www.example.com",
- "fingerprint_sha1": "89:fe:df:3f:4e:17:7d:98:8d:0e:25:47:e8:c0:de:80:71:77:c2:01",
- "fingerprint_sha256": "d2:45:ea:df:2b:c3:e1:3f:4e:80:cb:f4:f3:92:30:cb:b5:d6:54:0e:99:e4:7f:e7:c3:01:b6:a0:61:bb:30:5f",
- "serial_number": "1f:c9:b0:a2:44:f4:05:81:62:d9:81:71:06:1d:76:db:b5:e4:e9:7e",
- "not_before": "2019-02-19 10:08:23",
- "not_after": "2020-02-19 10:08:23",
- "imported_at": "2019-03-04 11:42:10"
}, - "configurations": {
- "title": "ULIZA FLEX II",
- "description": "Video Tech for Premium Content Holders",
- "template": "default-grid_lm-bp",
- "authentication": {
- "type": "SINGLE_USER",
- "username": "guest",
- "password": "passw0rd",
- "pool_id": null,
- "issuer": null,
- "client_id": null,
- "client_secret": null,
- "scope": null,
- "logout_endpoint": null,
- "masthead": null,
- "hide_update_password": false
}, - "whitelist_cidrs": [
- "0.0.0.0/0"
], - "whitelist_referers": [
- "www.example.com"
], - "content_scope": {
- "type": "CATEGORY",
- "categories": [
- "0669af11-cd8c-4ca9-9128-aa2597002c4b"
], - "labels": null
}, - "user_content_scopes": [
- {
- "conditions": [
- {
- "path": "$.locale",
- "operand": "!=",
- "value": "ja"
}
], - "type": "CATEGORY",
- "categories": [
- "0669af11-cd8c-4ca9-9128-aa2597002c4b"
], - "labels": null
}
], - "default_contents_per_page": 24,
- "default_contents_sort": "created_at|desc",
- "exposed_metadata": {
- "category": true,
- "description": true,
- "labels": true,
- "documents": true,
- "related_contents": true,
- "playback_count": true,
- "created_at": true,
- "tag_keys": [
- "制作者"
]
}, - "player_id": "sample_player",
- "player_tag_template": "<script type=\"text/javascript\" charset=\"utf-8\" defer src=\"https://player-api.p.uliza.jp/v1/players/${playerId}/example/admin?type=normal&name=${contentName}\"></script>",
- "sidetalk_room_id": null,
- "sidetalk_tag_template": null,
- "footer": {
- "text": "© Copyright PLAY, inc. All Rights Reserved."
}, - "subheader": "ULIZA FLEX II",
- "masthead": "Welcome to our website!",
- "noindex": false,
- "custom_styles": ".card-text { color: red; font-size: large; }",
- "custom_head_elements": "<meta name=\"google\" content=\"notranslate\">",
- "custom_body_elements_top": null,
- "custom_body_elements_bottom": null,
- "custom_error_responses": [
], - "social_buttons": [
- "facebook",
- "twitter"
]
}, - "status": "PUBLIC",
- "max_simultaneous_viewers": 1,
- "access_denial_timeout": 300,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
すべてのコンテンツフォワードポリシーを取得します。リクエスト送信者が コンテンツフォワードポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。
Array of objects コンテンツフォワードポリシー情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/content-forward-policies'
{- "data": [
- {
- "id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "name": "content_forward_policy_01",
- "description": "サンプルポリシー",
- "rules": [
- {
- "conditions": [
- {
- "parameter": "COUNTRY",
- "operand": "!=",
- "value": "JP"
}
], - "forward_type": "VIDEO",
- "target_content_name": "sample_content_190304",
- "target_image_url": null
}
], - "is_default": true,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したコンテンツフォワードポリシーを取得します。リクエスト送信者が コンテンツフォワードポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。
policy-id required | string <UUID> ポリシー ID |
id | string <UUID> ポリシー ID |
name | string <= 50 characters ポリシー名 |
description | string <= 200 characters Nullable ポリシーの説明 |
Array of objects <= 50 items ルール(各ルールの 視聴条件 を順番に評価していき、最初に条件に合致したルールの コンテンツ転送方式 が適用されます。どのルールの視聴条件にも合致しなかった場合は、リクエストは別のコンテンツに転送されずに処理されます) | |
is_default | boolean デフォルトポリシーに設定 |
created_at | string <YYYY-MM-DD HH:MM:SS> ポリシー登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ポリシー最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/content-forward-policies/5a6d9452-b880-46cc-9268-bbae1a3df651'
{- "id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
- "name": "content_forward_policy_01",
- "description": "サンプルポリシー",
- "rules": [
- {
- "conditions": [
- {
- "parameter": "COUNTRY",
- "operand": "!=",
- "value": "JP"
}
], - "forward_type": "VIDEO",
- "target_content_name": "sample_content_190304",
- "target_image_url": null
}
], - "is_default": true,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
すべてのストリーミングポリシーを取得します。リクエスト送信者が ストリーミングポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。
Array of objects ストリーミングポリシー情報 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/streaming-policies'
{- "data": [
- {
- "id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "name": "streaming_policy_01",
- "description": "サンプルポリシー",
- "rules": [
- {
- "conditions": [
- {
- "parameter": "COUNTRY",
- "operand": "!=",
- "value": "JP"
}
], - "then": [
- {
- "key": "FORMAT",
- "value": "HLS"
}
]
}
], - "preferred_language": "ja",
- "url_lifetime": 7200,
- "is_default": true,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
]
}
指定したストリーミングポリシーを取得します。リクエスト送信者が ストリーミングポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。
policy-id required | string <UUID> ポリシー ID |
id | string <UUID> ポリシー ID |
name | string <= 50 characters ポリシー名 |
description | string <= 200 characters Nullable ポリシーの説明 |
Array of objects <= 50 items ルール(各ルールの 視聴条件 を順番に評価していき、最初に条件に合致したルールの ストリーム選択条件 が適用されます。どのルールの視聴条件にも合致しなかった場合は、暗黙のルール により返却すべきストリームセットが定まります) | |
preferred_language | string 2 characters Nullable デフォルト表示字幕言語(ISO 639 言語コード) |
url_lifetime | integer >= 300 配信用 URL 有効期間(秒) |
is_default | boolean デフォルトポリシーに設定 |
created_at | string <YYYY-MM-DD HH:MM:SS> ポリシー登録日時 |
updated_at | string <YYYY-MM-DD HH:MM:SS> ポリシー最終更新日時 |
curl \ -H 'Authorization: Bearer <your-token>' \ 'https://vms-api.p.uliza.jp/v1/streaming-policies/8f2dd422-a4c8-4e83-b55b-9cb02bdfc495'
{- "id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
- "name": "streaming_policy_01",
- "description": "サンプルポリシー",
- "rules": [
- {
- "conditions": [
- {
- "parameter": "COUNTRY",
- "operand": "!=",
- "value": "JP"
}
], - "then": [
- {
- "key": "FORMAT",
- "value": "HLS"
}
]
}
], - "preferred_language": "ja",
- "url_lifetime": 7200,
- "is_default": true,
- "created_at": "2019-03-04 11:42:10",
- "updated_at": "2019-03-04 11:42:10"
}
すべてのエラーレスポンスにはエラーの種類を示すエラーコードが与えられます。返却されうるエラーコードの一覧とそれぞれの意味は下表の通りです。
エラーコード | 原因となる操作 | 意味 |
---|---|---|
CATEGORY_ASSOCIATED |
カテゴリの削除 | 指定したカテゴリに紐づくコンテンツが存在するため削除できない |
CATEGORY_WITH_CHILDREN |
カテゴリの更新/削除 | 指定したカテゴリの下位カテゴリが存在するため更新/削除できない |
CONTENT_FORWARD_TARGET |
コンテンツの削除 | コンテンツフォワードポリシーの転送先に指定されているため削除できない |
CONTENT_INVALID_STATUS |
コンテンツの更新 | コンテンツの公開状態の不正な更新(PUBLIC から PROCESSING への更新など) |
CONTENT_INVALID_STATUS |
コンテンツ URL の発行 | 指定したコンテンツが公開可能な状態でない |
CONTENT_NOT_FOUND |
コンテンツ URL の発行 | 指定したコンテンツが見つからない |
DELETING_FINAL_STREAM_SET |
ストリームセットの削除 | 最後のストリームセットのため削除できない |
DELETING_PLAYLIST_ITEM_POSTER |
ポスター画像の削除 | プレイリスト表示用ポスター画像に指定されているため削除できない |
DELETING_PRIMARY_POSTER |
ポスター画像の削除 | コンテンツの再生前画像に指定されているため削除できない |
FULL_POSTER_SLIDESHOW |
ポスター画像の登録/更新 | これ以上再生前スライドショーで使用するポスター画像を選択できない |
FULL_POSTERS |
ポスター画像の登録 | これ以上コンテンツにポスター画像を追加できない |
FULL_STREAM_SETS |
ストリームセットの登録 | これ以上コンテンツにストリームセットを追加できない |
FULL_STREAMS |
ストリームの登録 | これ以上コンテンツにストリームを追加できない |
FULL_SUBTITLES |
字幕の登録 | これ以上コンテンツに字幕を追加できない |
INVALID_REQUEST |
すべての操作 | 不正なリクエスト形式 |
METHOD_NOT_ALLOWED |
すべての操作 | 指定されたリクエストメソッドが存在しないか許可されていない |
MODEL_ALREADY_EXISTS |
すべての操作 | 指定したリソースが既に存在している |
MODEL_NOT_FOUND |
すべての操作 | 指定したリソースが見つからない |
OVER_SERVICE_LIMIT |
すべての操作 | サービス利用制限を超過している |
PARENT_CATEGORY_NOT_FOUND |
カテゴリの登録/更新 | 指定したカテゴリの上位カテゴリが存在しないため登録/更新できない |
POSTER_IN_SLIDESHOW |
ポスター画像の削除 | 再生前スライドショーで使用されているため削除できない |
REQUEST_UNAUTHORIZED |
すべての操作 | 認証エラーまたは認可されていないリクエスト |
STREAM_IN_STREAM_SETS |
ストリームの削除 | 指定したストリームを含むストリームセットが存在するため削除できない |
STREAM_SET_MIXED_FORMATS |
ストリームセットの登録/更新 | ストリームセットに複数のフォーマットのストリームが混在している |
STREAM_SET_NOT_FOUND |
コンテンツ URL の発行 | 指定したストリームセットが見つからない |
SUBTITLE_IN_STREAM_SETS |
字幕の削除 | 指定した字幕を含むストリームセットが存在するため削除できない |
SUITABLE_DISTRIBUTION_NOT_FOUND |
ストリームセットの登録 | 適切な配信ネットワークが見つからない |
UNDER_MAINTENANCE |
すべての操作 | システムメンテナンス実施中 |
UNKNOWN_ERROR |
すべての操作 | サーバ内部エラー |