ULIZA VMS (Cloud) API 仕様書 (v1.18.1)

本書は ULIZA VMS (Cloud) が提供する API 仕様について記述しています。ULIZA VMS (Cloud) の機能や管理画面の操作方法については ULIZA VMS (Cloud) ユーザーガイド を参照してください。

なお、本書に掲載しているコードサンプル(Request samples)は、具体的な実装例を示すことで開発者を支援することを目的としていますが、掲載しているコードがすべての環境において正常に動作することを保証するものではありません。また、コードサンプル内で使用している関数やライブラリの安全性に関して、弊社は何ら責任を負うものではありません。

注意

本書に記述している API を利用するには、対応するオプション(「ULIZA FLEX II - マルチ WebAPI オプション」など)のご契約が必要となります。詳細については お問い合わせ ください。

CHANGELOG

バージョン 改版日 改版内容
v1.0.0 2019/09/24 初版
v1.1.0 2020/01/23
  1. プレイリストアイテム取得 API を追加
  2. コンテンツ URL 発行 API のレスポンスに description (コンテンツの説明)および tags (タグ情報)を追加
  3. ストリーム取得系 API字幕取得系 API および ポスター画像取得系 API のレスポンスに created_at (登録日時)および updated_at (最終更新日時)を追加
  4. コンテンツ検索 API のクエリパラメータに status (公開状態)、 type (コンテンツ種別)および filters (詳細検索条件)を追加
  5. コンテンツ種別に DVR (DVR コンテンツ)を追加
  6. コンテンツの属性に playlist_item_overrides (プレイリストアイテム設定)を追加
  7. ストリームの属性に encluster_task_id (ULIZA En-Cluster タスク ID)を追加
v1.2.0 2020/06/15
  1. コンテンツフォワードポリシー取得系 API および ストリーミングポリシー取得系 API を追加
  2. 視聴ページ管理系 API および 配信サイト取得系 API を追加
v1.3.0 2020/06/24
  1. 視聴ページの属性に max_simultaneous_viewers (同時視聴可能デバイス数)および access_denial_timeout (再視聴待機時間)を追加
v1.5.0 2020/09/15
  1. 視聴ページの属性に whitelist_referers (アクセス許可参照元ドメイン)および custom_error_responses (カスタムエラーページ設定)を追加
v1.6.0 2020/11/02
  1. コンテンツの属性に chapters (チャプター情報)を追加
  2. コンテンツ URL 発行 API のレスポンスに chapters (チャプター情報)を追加
v1.7.0 2021/01/25
  1. コンテンツの属性に documents (関連資料情報)および presentation_document_id (プレゼンテーション連携資料 ID)を追加
  2. ストリームの属性に audio_track_type (音声タイプ)、 audio_language (音声言語)および audio_label (音声ラベル)を追加
  3. コンテンツ URL 発行 API のレスポンスに documents (関連資料情報)および presentation (プレゼンテーション連携情報)を追加
  4. 視聴ページの属性に revoked_audiences (アクセス拒否ユーザー識別子)および subheader (表示用タイトル)を追加
  5. 視聴ページ全取得 API のクエリパラメータに query (検索キーワード)を追加
v1.7.1 2021/03/02
  1. 視聴ページ URL 無効化 API を追加
v1.8.0 2021/04/30
  1. 配信サイトの属性に max_simultaneous_viewers (同時視聴可能デバイス数)および access_denial_timeout (再視聴待機時間)を追加
v1.9.0 2021/06/22
  1. 視聴ページの属性に sidetalk_room_id (ULIZA Sidetalk ルーム ID)および sidetalk_tag_template (ULIZA Sidetalk 埋め込みタグテンプレート文字列)を追加
v1.10.0 2021/09/07
  1. 配信サイトの属性に authentication.hide_update_password (「パスワードの変更」リンクを隠す)を追加
v1.12.0 2022/03/22
  1. コンテンツあたりの字幕登録可能数を 10 に変更
  2. 配信サイトの属性に user_content_scopes (会員レベルの配信コンテンツ範囲設定)を追加
v1.13.0 2022/05/10
  1. コンテンツ URL 発行 API のレスポンスに streams (ストリーム情報)を追加
v1.14.0 2022/12/01
  1. ストリームの属性に status (状態)を追加
v1.15.0 2023/01/24
  1. 視聴ページおよび配信サイトの属性に status (公開状態)を追加
  2. 視聴ページの属性 template (テンプレート名)に値を追加
v1.15.1 2023/02/20
  1. ストリームの属性 path (動画ファイルパス)の最大文字数を 400 に変更
  2. 配信サイトおよび視聴ページの属性 whitelist_cidrs (アクセス許可 IP アドレス範囲)の最大件数を 1,000 に変更
  3. 配信サイトおよび視聴ページの属性 whitelist_referers (アクセス許可参照元ドメイン)の最大件数を 1,000 に変更
v1.16.0 2023/03/29
  1. コンテンツの属性に playback_count (再生開始数)を追加
v1.17.0 2023/06/06
  1. コンテンツ配信流量取得 API を追加
v1.18.0 2023/07/04
  1. コンテンツの属性 status (公開設定)に LIMITED (期間限定)を追加
  2. コンテンツの属性に publish_start (公開開始日時)および publish_end (公開終了日時)を追加
v1.18.1 2023/08/16
  1. 視聴ページの属性 configurations (視聴ページ設定)に exposed_metadata (コンテンツメタデータ公開設定)を追加
  2. 配信サイトの属性に exposed_metadata.related_contents (関連動画の表示設定)を追加

Authentication

特に断りのない限り、本書に記載されている全ての API に対するリクエストの Authorization ヘッダに下記の形式で有効な API 認証キーを含める必要があります。API 認証キーの取得方法については ULIZA プロダクトアカウントユーザーガイド を参照してください。リクエストに有効な API 認証キーが含まれていない場合は、401 Unauthorized が返却されます。

Authorization: Bearer <api-credential>

Contents

コンテンツ管理系 API について以下に記述します。

コンテンツ検索 API

すべてのコンテンツを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

query Parameters
page
integer >= 1
Default: 1

取得するページ番号

per_page
integer <= 100
Default: 25

1 ページあたりの取得件数

sort
string
Default: "created_at|desc"

ソートする列名および方向(昇順 asc または降順 desc)を | で連結した文字列。使用可能な列名は以下の通りです。

  • name : コンテンツ名
  • created_at : コンテンツ登録日時
type
string

以下のいずれかのコンテンツ種別(コンマ区切りで複数指定可能)。省略した場合はすべて取得します。

  • VOD : VOD コンテンツ
  • LIVE : ライブコンテンツ
  • DVR : DVR コンテンツ
status
string

以下のいずれかの公開設定(コンマ区切りで複数指定可能)。省略した場合はすべて取得します。

  • PUBLIC : 常に公開中
  • PRIVATE : 常に非公開
  • LIMITED : 期間限定
  • PROCESSING : ULIZA En-Cluster により処理中
  • ERROR : ULIZA En-Cluster による処理に失敗
category
string <UUID>

カテゴリ ID(指定した場合はその ID に対応するカテゴリが付与されているコンテンツの一覧を取得します)

label
string <UUID>

ラベル ID(指定した場合はその ID に対応するラベルが付与されているコンテンツの一覧を取得します)

query
string <= 200 characters

検索キーワード(指定した場合はその文字列をコンテンツ名、タイトル、または説明のいずれかに含むコンテンツの一覧を取得します。大文字/小文字は区別されません)

filters
string <JSON>

コンテンツの詳細検索条件を JSON 形式の文字列で指定します(値は URL エンコードする必要があります)。query を指定した場合は無視されます。使用可能なキーは以下の通りで、複数のキーを指定した場合の各条件は AND で結合されます。各キーが指定した値に完全一致するコンテンツのみが返却されます。

  • name : コンテンツ名
  • title : タイトル
  • description : 説明

また、各キーの末尾に以下のいずれかの修飾子を付与することで、完全一致以外の検索条件を使用することができます。ただし、修飾子のみが異なる複数のキーを同時に指定することはできません。

  • :contains : 部分一致
  • :starts_with : 前方一致
  • :ends_with : 後方一致

例えば、コンテンツ名が「news_」から始まり、タイトルに「2019」を含むコンテンツの一覧を取得するには、以下の JSON 形式の文字列を URL エンコードした値を指定します。

{
  "name:starts_with": "news_",
  "title:contains": "2019"
}

Responses

Response Schema: application/json
Array of objects

コンテンツ情報

truncated
boolean

全件を表示していない(次のページが存在)

current_page
integer >= 1

現在のページ番号

per_page
integer <= 100

1 ページあたりの取得件数

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents?page=1&per_page=25&sort=created_at|desc'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "truncated": false,
  • "current_page": 1,
  • "per_page": 25
}

コンテンツ登録 API

コンテンツを登録します。リクエスト送信者が コンテンツの登録 権限を持っていない場合は、403 Forbidden が返却されます。

実際に配信を行うためには、トランスコード済み配信用ファイルを事前に ULIZA Video Storage に配備しておく必要があります。素材ファイルのトランスコードと ULIZA Video Storage への配備を行うためには ULIZA En-Cluster (Cloud) が提供する タスク登録 API を使用します。なお、タスク登録 API は ULIZA VMS (Cloud) に対するコンテンツ登録を同時に行うため、タスク登録後に別途 ULIZA VMS (Cloud) の コンテンツ登録 API を呼び出す必要はありません。

Request Body schema: application/json
name
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名(アカウント内で一意である必要があります。省略した場合はシステムにより自動発番されます)

title
required
string <= 200 characters

タイトル

description
string <= 5000 characters

コンテンツの説明

type
string
Default: "VOD"

以下のいずれかのコンテンツ種別

  • VOD : VOD コンテンツ
  • LIVE : ライブコンテンツ
  • DVR : DVR コンテンツ
status
string
Default: "PUBLIC"

以下のいずれかの公開設定

  • PUBLIC : 常に公開
  • PRIVATE : 常に非公開
  • LIMITED : 期間限定
  • PROCESSING : ULIZA En-Cluster により処理中
  • ERROR : ULIZA En-Cluster による処理に失敗
publish_start
string <YYYY-MM-DD HH:MM:SS> Nullable

公開開始日時(statusLIMITED の場合のみ有効です)

publish_end
string <YYYY-MM-DD HH:MM:SS> Nullable

公開終了日時(statusLIMITED の場合のみ有効です)

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_urlseek_preview_content の両方を指定した場合は seek_preview_content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります)

seek_preview_content
string <byte> <= 10485760 characters

Base64 形式でエンコードされたシークプレビュー画像データ(seek_preview_urlseek_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 を繰り返し実行します)

Responses

Response Schema: application/json
name
string <= 200 characters ^[0-9a-zA-Z-_]+$

登録されたコンテンツ名

Array of objects

登録されたストリームセット

Array of objects

登録されたストリーム

Array of objects

登録された字幕

Array of objects

登録されたポスター画像

Array of objects

登録された関連資料

Request samples

Content type
application/json
{
  • "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": [
    ],
  • "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": {
    },
  • "tags": [
    ],
  • "chapters": [
    ],
  • "stream_sets": [
    ],
  • "streams": [
    ],
  • "subtitles": [
    ],
  • "posters": [
    ],
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "sample_content_190304",
  • "stream_sets": [
    ],
  • "streams": [
    ],
  • "subtitles": [
    ],
  • "posters": [
    ],
  • "documents": [
    ]
}

コンテンツ情報取得 API

指定したコンテンツの情報を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
name
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

title
string <= 200 characters

タイトル

description
string <= 5000 characters Nullable

コンテンツの説明

type
string

以下のいずれかのコンテンツ種別

  • VOD : VOD コンテンツ
  • LIVE : ライブコンテンツ
  • DVR : DVR コンテンツ
status
string

以下のいずれかの公開設定

  • PUBLIC : 常に公開
  • PRIVATE : 常に非公開
  • LIMITED : 期間限定
  • PROCESSING : ULIZA En-Cluster により処理中
  • ERROR : ULIZA En-Cluster による処理に失敗
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

関連資料情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304'

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "tags": [
    ],
  • "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",
  • "primary_poster_url": "https://www.example.com/poster.png",
  • "poster_slideshow_interval": 1000,
  • "presentation_document_id": "8bc2d326-07fb-4a99-b758-40a167e7b596",
  • "playlist_item_overrides": {
    },
  • "created_at": "2019-03-04 11:42:10",
  • "updated_at": "2019-03-04 11:42:10",
  • "chapters": [
    ],
  • "stream_sets": [
    ],
  • "streams": [
    ],
  • "subtitles": [
    ],
  • "posters": [
    ],
  • "documents": [
    ]
}

コンテンツ更新 API

指定したコンテンツを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
title
string <= 200 characters

タイトル

description
string <= 5000 characters

コンテンツの説明

type
string
Default: "VOD"

以下のいずれかのコンテンツ種別

  • VOD : VOD コンテンツ
  • LIVE : ライブコンテンツ
  • DVR : DVR コンテンツ
status
string
Default: "PUBLIC"

以下のいずれかの公開設定

  • PUBLIC : 常に公開
  • PRIVATE : 常に非公開
  • LIMITED : 期間限定
  • PROCESSING : ULIZA En-Cluster により処理中
  • ERROR : ULIZA En-Cluster による処理に失敗
publish_start
string <YYYY-MM-DD HH:MM:SS> Nullable

公開開始日時(statusLIMITED の場合のみ有効です)

publish_end
string <YYYY-MM-DD HH:MM:SS> Nullable

公開終了日時(statusLIMITED の場合のみ有効です)

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_urlseek_preview_content の両方を指定した場合は seek_preview_content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります)

seek_preview_content
string <byte> <= 10485760 characters

Base64 形式でエンコードされたシークプレビュー画像データ(seek_preview_urlseek_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 をもつ複数のチャプターを含めることはできません)

Responses

Request samples

Content type
application/json
{
  • "title": "サンプルコンテンツ",
  • "description": "これは説明です",
  • "type": "VOD",
  • "status": "PUBLIC",
  • "publish_start": null,
  • "publish_end": null,
  • "duration": 723,
  • "category_id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
  • "labels": [
    ],
  • "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": {
    },
  • "tags": [
    ],
  • "chapters": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

コンテンツ削除 API

指定したコンテンツを削除します。リクエスト送信者が コンテンツの削除 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のコンテンツフォワードポリシーの転送先に指定されているコンテンツを削除することはできません。コンテンツを削除すると対応する物理ファイルも削除されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Request samples

curl \
  -X DELETE \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

コンテンツ配信流量取得 API

指定したコンテンツの配信流量を取得します。1回のリクエストで取得できるデータの取得期間は最大で13か月までです。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

query Parameters
start
string <YYYY-MM-DD>

データを取得する期間の開始日を指定します。-DD (日の指定)を省略した場合は指定した月の初日が指定されます。値を指定しなかった場合は終了日から30日前の日(粒度が日毎の場合)、または終了日から前月の初日(粒度が月毎の場合)が指定されます。

end
string <YYYY-MM-DD>

データを取得する期間の終了日を指定します。-DD (日の指定)を省略した場合は指定した月の末日が指定されます。値を指定しなかった場合は本日が指定されます。

granularity
string
Default: "daily"

結果を集計する粒度を指定します。使用可能な粒度名は以下の通りです。

  • daily:日毎の粒度で集計した結果を返却します
  • monthly:月毎の粒度で集計した結果を返却します

Responses

Response Schema: application/json
Array of objects Nullable

統計情報

Request samples

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'

Response samples

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

Stream Sets

ストリームセット管理系 API について以下に記述します。

ストリームセット全取得 API

指定したコンテンツのすべてのストリームセットを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
Array of objects

ストリームセット情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/stream-sets'

Response samples

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

ストリームセット登録 API

指定したコンテンツにストリームセットを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
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

Responses

Response Schema: application/json
name
string <= 200 characters

登録されたストリームセット名

Request samples

Content type
application/json
{
  • "name": "sample_stream_set_01",
  • "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
  • "streams": [
    ],
  • "subtitles": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "sample_stream_set_01"
}

ストリームセット取得 API

コンテンツの指定したストリームセットを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

set-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

ストリームセット名

Responses

Response Schema: application/json
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>

ストリームセット最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/stream-sets/sample_stream_set_01'

Response samples

Content type
application/json
{
  • "name": "sample_stream_set_01",
  • "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
  • "streams": [
    ],
  • "subtitles": [
    ],
  • "created_at": "2019-03-04 11:42:10",
  • "updated_at": "2019-03-04 11:42:10"
}

ストリームセット更新 API

コンテンツの指定したストリームセットを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

set-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

ストリームセット名

Request Body schema: application/json
distribution_id
string <UUID>

配信ネットワーク ID(省略した場合はシステムにより自動的に決定されます)

streams
Array of strings <UUID> unique

ストリーム ID(フォーマットの異なるストリームを複数指定することはできません。フォーマットが MP4 または UNKNOWN であるストリームを複数指定することはできません)

subtitles
Array of strings <UUID> unique

字幕 ID

Responses

Request samples

Content type
application/json
{
  • "distribution_id": "6bf1aa39-79d4-4982-94e8-65b2de4b91e2",
  • "streams": [
    ],
  • "subtitles": [
    ]
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

ストリームセット削除 API

コンテンツから指定したストリームセットを削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。コンテンツからすべてのストリームセットを削除することはできません。ストリームセットを削除しても、含まれるストリームは削除されません。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

set-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

ストリームセット名

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Streams

ストリーム管理系 API について以下に記述します。

ストリーム全取得 API

指定したコンテンツのすべてのストリームを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
Array of objects

ストリーム情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/streams'

Response samples

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

ストリーム登録 API

指定したコンテンツにストリームを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
path
required
string <= 400 characters

動画ファイルパス(先頭に / を含める必要はありません)

origin_domain_name
string <= 100 characters

オリジンドメイン名(ULIZA Video Storage をオリジンとしない場合のみ。通常は指定する必要はありません)

format
required
string

以下のいずれかのフォーマット

  • MP4 : MP4 (MPEG-4 Part 14)
  • HLS : HLS (HTTP Live Streaming)
  • DASH : MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
  • UNKNOWN : その他のフォーマット
video_codec
string

以下のいずれかの映像コーデック

  • H.264 : H.264
  • H.265 : H.265
  • UNKNOWN : その他の映像コーデック
video_bitrate
integer <= 100000000

映像ビットレート(bps)

framerate
number <float> <= 300

フレームレート

width
integer <= 8192

映像幅(px)

height
integer <= 8192

映像高さ(px)

audio_codec
string

以下のいずれかの音声コーデック

  • AAC : AAC (Advanced Audio Coding)
  • MP3 : MP3 (MPEG-1 Audio Layer-3)
  • UNKNOWN : その他の音声コーデック
audio_bitrate
integer <= 100000000

音声ビットレート(bps)

sample_rate
integer <= 10000000

サンプリング周波数(Hz)

channels
integer <= 100

チャンネル数

audio_track_type
string

以下のいずれかの音声タイプ(映像を含まない場合のみ)

  • ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT
  • ALTERNATE_AUDIO_AUTO_SELECT
  • ALTERNATE_AUDIO_NOT_AUTO_SELECT
  • AUDIO_ONLY_VARIANT_STREAM
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"

以下のいずれかの状態

  • COMPLETED : 処理済み
  • PROCESSING : 処理中
  • ERROR : 処理に失敗

Responses

Response Schema: application/json
id
string <UUID>

登録されたストリーム ID

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "id": "84db42b9-03f2-49bc-90f3-1e6556297a69"
}

ストリーム一括登録 API

指定したコンテンツに複数のストリームを登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
required
Array of objects <= 10 items

ストリーム情報

Responses

Response Schema: application/json
Array of objects

登録されたストリーム(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します)

Request samples

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

Response samples

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

ストリーム取得 API

コンテンツの指定したストリームを取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

stream-id
required
string <UUID>

ストリーム ID

Responses

Response Schema: application/json
id
string <UUID>

ストリーム ID

path
string <= 400 characters

動画ファイルパス

format
string

以下のいずれかのフォーマット

  • MP4 : MP4 (MPEG-4 Part 14)
  • HLS : HLS (HTTP Live Streaming)
  • DASH : MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
  • UNKNOWN : その他のフォーマット
video_codec
string Nullable

以下のいずれかの映像コーデック

  • H.264 : H.264
  • H.265 : H.265
  • UNKNOWN : その他の映像コーデック
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

以下のいずれかの音声コーデック

  • AAC : AAC (Advanced Audio Coding)
  • MP3 : MP3 (MPEG-1 Audio Layer-3)
  • UNKNOWN : その他の音声コーデック
audio_bitrate
integer <= 100000000 Nullable

音声ビットレート(bps)

sample_rate
integer <= 10000000 Nullable

サンプリング周波数(Hz)

channels
integer <= 100 Nullable

チャンネル数

audio_track_type
string Nullable

以下のいずれかの音声タイプ(映像を含まない場合のみ)

  • ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT
  • ALTERNATE_AUDIO_AUTO_SELECT
  • ALTERNATE_AUDIO_NOT_AUTO_SELECT
  • AUDIO_ONLY_VARIANT_STREAM
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

以下のいずれかの状態

  • COMPLETED : 処理済み
  • PROCESSING : 処理中
  • EXPIRED : 公開終了済み
  • ERROR : 処理に失敗
created_at
string <YYYY-MM-DD HH:MM:SS>

ストリーム登録日時

updated_at
string <YYYY-MM-DD HH:MM:SS>

ストリーム最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/streams/84db42b9-03f2-49bc-90f3-1e6556297a69'

Response samples

Content type
application/json
{
  • "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"
}

ストリーム更新 API

コンテンツの指定したストリームを更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

stream-id
required
string <UUID>

ストリーム ID

Request Body schema: application/json
path
string <= 400 characters

動画ファイルパス(先頭に / を含める必要はありません)

origin_domain_name
string <= 100 characters

オリジンドメイン名(ULIZA Video Storage をオリジンとしない場合のみ。通常は指定する必要はありません)

format
string

以下のいずれかのフォーマット

  • MP4 : MP4 (MPEG-4 Part 14)
  • HLS : HLS (HTTP Live Streaming)
  • DASH : MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
  • UNKNOWN : その他のフォーマット
video_codec
string

以下のいずれかの映像コーデック

  • H.264 : H.264
  • H.265 : H.265
  • UNKNOWN : その他の映像コーデック
video_bitrate
integer <= 100000000

映像ビットレート(bps)

framerate
number <float> <= 300

フレームレート

width
integer <= 8192

映像幅(px)

height
integer <= 8192

映像高さ(px)

audio_codec
string

以下のいずれかの音声コーデック

  • AAC : AAC (Advanced Audio Coding)
  • MP3 : MP3 (MPEG-1 Audio Layer-3)
  • UNKNOWN : その他の音声コーデック
audio_bitrate
integer <= 100000000

音声ビットレート(bps)

sample_rate
integer <= 10000000

サンプリング周波数(Hz)

channels
integer <= 100

チャンネル数

audio_track_type
string

以下のいずれかの音声タイプ(映像を含まない場合のみ)

  • ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT
  • ALTERNATE_AUDIO_AUTO_SELECT
  • ALTERNATE_AUDIO_NOT_AUTO_SELECT
  • AUDIO_ONLY_VARIANT_STREAM
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"

以下のいずれかの状態

  • COMPLETED : 処理済み
  • PROCESSING : 処理中
  • ERROR : 処理に失敗

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

ストリーム削除 API

コンテンツから指定したストリームを削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のストリームセットに含まれているストリームを削除することはできません。ストリームを削除すると対応する物理ファイルも削除されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

stream-id
required
string <UUID>

ストリーム ID

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Subtitles

字幕管理系 API について以下に記述します。

字幕全取得 API

指定したコンテンツのすべての字幕を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
Array of objects

字幕情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/subtitles'

Response samples

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

字幕登録 API

指定したコンテンツに字幕を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
format
string
Default: "UNKNOWN"

以下のいずれかの字幕ファイルフォーマット(content を指定した場合は字幕データから自動的に取得されるため format に指定した値は無視されます)

  • WEBVTT : WebVTT (Web Video Text Tracks)
  • UNKNOWN : その他のフォーマット
language
string 2 characters
Default: "ja"

字幕言語(ISO 639 言語コード)

label
required
string <= 15 characters

字幕ラベル

url
string <URL> <= 200 characters

字幕ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から字幕ファイルをダウンロードしません。また、字幕ファイルの実在性に関する検証も行いません。指定された URL に字幕ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた字幕データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

Responses

Response Schema: application/json
id
string <UUID>

登録された字幕 ID

Request samples

Content type
application/json
{
  • "format": "WEBVTT",
  • "language": "ja",
  • "label": "日本語",
  • "url": null,
  • "content": "V0VCVlRUCgowMDow ..."
}

Response samples

Content type
application/json
{
  • "id": "08b0b19c-17ed-4614-9270-6ea25aa9a4d9"
}

字幕一括登録 API

指定したコンテンツに複数の字幕を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
required
Array of objects <= 10 items

字幕情報(複数の字幕を requests に含める場合は、すべての字幕について content を指定することはできません。content を指定して複数の字幕を登録するには、字幕登録 API を繰り返し実行します)

Responses

Response Schema: application/json
Array of objects

登録された字幕(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します)

Request samples

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

Response samples

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

字幕取得 API

コンテンツの指定した字幕を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

subtitle-id
required
string <UUID>

字幕 ID

Responses

Response Schema: application/json
id
string <UUID>

字幕 ID

format
string

以下のいずれかの字幕ファイルフォーマット

  • WEBVTT : WebVTT (Web Video Text Tracks)
  • UNKNOWN : その他のフォーマット
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>

字幕最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/subtitles/08b0b19c-17ed-4614-9270-6ea25aa9a4d9'

Response samples

Content type
application/json
{
  • "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"
}

字幕更新 API

コンテンツの指定した字幕を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

subtitle-id
required
string <UUID>

字幕 ID

Request Body schema: application/json
format
string
Default: "UNKNOWN"

以下のいずれかの字幕ファイルフォーマット(content を指定した場合は字幕データから自動的に取得されるため format に指定した値は無視されます)

  • WEBVTT : WebVTT (Web Video Text Tracks)
  • UNKNOWN : その他のフォーマット
language
string 2 characters
Default: "ja"

字幕言語(ISO 639 言語コード)

label
string <= 15 characters

字幕ラベル

url
string <URL> <= 200 characters

字幕ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から字幕ファイルをダウンロードしません。また、字幕ファイルの実在性に関する検証も行いません。指定された URL に字幕ファイルが実在しない場合、プレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた字幕データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

Responses

Request samples

Content type
application/json
{
  • "format": "WEBVTT",
  • "language": "ja",
  • "label": "日本語",
  • "url": null,
  • "content": "V0VCVlRUCgowMDow ..."
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

字幕削除 API

コンテンツから指定した字幕を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のストリームセットに含まれている字幕を削除することはできません。字幕を削除すると対応する物理ファイルも削除されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

subtitle-id
required
string <UUID>

字幕 ID

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Posters

ポスター画像管理系 API について以下に記述します。

ポスター画像全取得 API

指定したコンテンツのすべてのポスター画像を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
Array of objects

ポスター画像情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/posters'

Response samples

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

ポスター画像登録 API

指定したコンテンツにポスター画像を登録します。このポスター画像は指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)の末尾に追加されます。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
format
string
Default: "UNKNOWN"

以下のいずれかの画像ファイルフォーマット(content を指定した場合は画像データから自動的に取得されるため format に指定した値は無視されます)

  • JPEG : JPEG (Joint Photographic Experts Group)
  • PNG : PNG (Portable Network Graphics)
  • BMP : Microsoft Windows Bitmap Image
  • GIF : GIF (Graphics Interchange Format)
  • UNKNOWN : その他のフォーマット
width
integer <= 8192

画像幅(px; content を指定した場合は画像データから自動的に取得されるため width に指定した値は無視されます)

height
integer <= 8192

画像高さ(px; content を指定した場合は画像データから自動的に取得されるため height に指定した値は無視されます)

url
string <URL> <= 200 characters

画像ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた画像データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

timestamp
integer >= 0

動画内再生位置(秒)

used_in_slideshow
boolean
Default: false

再生前スライドショーで使用(コンテンツあたり最大 20 個のポスター画像を選択可能)

Responses

Response Schema: application/json
id
string <UUID>

登録されたポスター画像 ID

Request samples

Content type
application/json
{
  • "format": "PNG",
  • "width": 1280,
  • "height": 720,
  • "url": null,
  • "content": "iVBORw0KGgoAAAAN ...",
  • "timestamp": 123,
  • "used_in_slideshow": false
}

Response samples

Content type
application/json
{
  • "id": "94f34104-9af9-4360-a8b1-cf00ff66087a"
}

ポスター画像一括登録 API

指定したコンテンツに複数のポスター画像を登録します。これらのポスター画像は指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)の末尾に追加されます。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
required
Array of objects <= 200 items

ポスター画像情報(複数のポスター画像を requests に含める場合は、すべてのポスター画像について content を指定することはできません。content を指定して複数のポスター画像を登録するには、ポスター画像登録 API を繰り返し実行します)

Responses

Response Schema: application/json
Array of objects

登録されたポスター画像(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します)

Request samples

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

Response samples

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

ポスター画像取得 API

コンテンツの指定したポスター画像を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

poster-id
required
string <UUID>

ポスター画像 ID

Responses

Response Schema: application/json
id
string <UUID>

ポスター画像 ID

format
string

以下のいずれかの画像ファイルフォーマット

  • JPEG : JPEG (Joint Photographic Experts Group)
  • PNG : PNG (Portable Network Graphics)
  • BMP : Microsoft Windows Bitmap Image
  • GIF : GIF (Graphics Interchange Format)
  • UNKNOWN : その他のフォーマット
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>

ポスター画像最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/posters/94f34104-9af9-4360-a8b1-cf00ff66087a'

Response samples

Content type
application/json
{
  • "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"
}

ポスター画像更新 API

コンテンツの指定したポスター画像を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

poster-id
required
string <UUID>

ポスター画像 ID

Request Body schema: application/json
format
string
Default: "UNKNOWN"

以下のいずれかの画像ファイルフォーマット(content を指定した場合は画像データから自動的に取得されるため format に指定した値は無視されます)

  • JPEG : JPEG (Joint Photographic Experts Group)
  • PNG : PNG (Portable Network Graphics)
  • BMP : Microsoft Windows Bitmap Image
  • GIF : GIF (Graphics Interchange Format)
  • UNKNOWN : その他のフォーマット
width
integer <= 8192

画像幅(px; content を指定した場合は画像データから自動的に取得されるため width に指定した値は無視されます)

height
integer <= 8192

画像高さ(px; content を指定した場合は画像データから自動的に取得されるため height に指定した値は無視されます)

url
string <URL> <= 200 characters

画像ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から画像ファイルをダウンロードしません。また、画像ファイルの実在性に関する検証も行いません。指定された URL に画像ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた画像データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

timestamp
integer >= 0

動画内再生位置(秒)

used_in_slideshow
boolean
Default: false

再生前スライドショーで使用(コンテンツあたり最大 20 個のポスター画像を選択可能)

Responses

Request samples

Content type
application/json
{
  • "format": "PNG",
  • "width": 1280,
  • "height": 720,
  • "url": null,
  • "content": "iVBORw0KGgoAAAAN ...",
  • "timestamp": 123,
  • "used_in_slideshow": false
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

ポスター画像削除 API

コンテンツから指定したポスター画像を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。コンテンツの再生前画像に指定されているポスター画像や、プレイリスト表示用ポスター画像、再生前スライドショーで使用されているポスター画像を削除することはできません。ポスター画像を削除すると対応する物理ファイルも削除されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

poster-id
required
string <UUID>

ポスター画像 ID

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

ポスター画像順序更新 API

指定したコンテンツのポスター画像の順序(再生前スライドショーの表示順序に影響します)を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
order
required
Array of strings <UUID> <= 200 items

ポスター画像 ID(配列内の要素の順序に従いポスター画像の順序が更新されます。指定したコンテンツのすべてのポスター画像の ID を含める必要があります)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

Documents

関連資料管理系 API について以下に記述します。

関連資料全取得 API

指定したコンテンツのすべての関連資料を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Responses

Response Schema: application/json
Array of objects

関連資料情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/documents'

Response samples

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

関連資料登録 API

指定したコンテンツに関連資料を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
title
required
string <= 200 characters

関連資料タイトル

type
string <= 255 characters
Default: "application/octet-stream"

MIME タイプ(IANA Media Types を参照)

url
string <URL> <= 200 characters

関連資料ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から関連資料ファイルをダウンロードしません。また、関連資料ファイルの実在性に関する検証も行いません。指定された URL に関連資料ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた関連資料データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

filename
string <= 255 characters

content を指定して登録された関連資料のファイル名

Responses

Response Schema: application/json
id
string <UUID>

登録された関連資料 ID

Request samples

Content type
application/json
{
  • "title": "添付資料",
  • "type": "application/pdf",
  • "url": null,
  • "content": "JVBERi0xLjMKJcTl ...",
  • "filename": "document.pdf"
}

Response samples

Content type
application/json
{
  • "id": "8bc2d326-07fb-4a99-b758-40a167e7b596"
}

関連資料一括登録 API

指定したコンテンツに複数の関連資料を登録します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

Request Body schema: application/json
required
Array of objects <= 5 items

関連資料情報(複数の関連資料を requests に含める場合は、すべての関連資料について content を指定することはできません。content を指定して複数の関連資料を登録するには、関連資料登録 API を繰り返し実行します)

Responses

Response Schema: application/json
Array of objects

登録された関連資料(配列内の N 番目の要素はそれぞれ requests 配列内の N 番目の要素に対応します)

Request samples

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

Response samples

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

関連資料取得 API

コンテンツの指定した関連資料を取得します。リクエスト送信者が コンテンツの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

document-id
required
string <UUID>

関連資料 ID

Responses

Response Schema: application/json
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>

関連資料最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_contents_190304/documents/8bc2d326-07fb-4a99-b758-40a167e7b596'

Response samples

Content type
application/json
{
  • "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"
}

関連資料更新 API

コンテンツの指定した関連資料を更新します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

document-id
required
string <UUID>

関連資料 ID

Request Body schema: application/json
title
string <= 200 characters

関連資料タイトル

type
string <= 255 characters
Default: "application/octet-stream"

MIME タイプ(IANA Media Types を参照)

url
string <URL> <= 200 characters

関連資料ファイル URL(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます。なお、ULIZA VMS (Cloud) は指定された URL から関連資料ファイルをダウンロードしません。また、関連資料ファイルの実在性に関する検証も行いません。指定された URL に関連資料ファイルが実在しない場合、ULIZA VMS (Cloud) 管理画面やプレイヤーが正しく表示されない場合があります)

content
string <byte> <= 10485760 characters

Base64 形式でエンコードされた関連資料データ(urlcontent のいずれかを指定する必要があります。両方を指定した場合は content が優先されます)

filename
string <= 255 characters

content を指定して登録された関連資料のファイル名

Responses

Request samples

Content type
application/json
{
  • "title": "添付資料",
  • "type": "application/pdf",
  • "url": null,
  • "content": "JVBERi0xLjMKJcTl ...",
  • "filename": "document.pdf"
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

関連資料削除 API

コンテンツから指定した関連資料を削除します。リクエスト送信者が コンテンツの更新 権限を持っていない場合は、403 Forbidden が返却されます。プレゼンテーション連携が設定されている関連資料を削除することはできません。関連資料を削除すると対応する物理ファイルも削除されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

document-id
required
string <UUID>

関連資料 ID

Responses

Request samples

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'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Categories

カテゴリ管理系 API について以下に記述します。

カテゴリ全取得 API

すべてのカテゴリを取得します。リクエスト送信者が カテゴリの取得 権限を持っていない場合は、403 Forbidden が返却されます。

query Parameters
statistics
string^(daily|monthly):\d+$

統計情報の粒度(日次 daily または月次 monthly)および昨日から起算した取得範囲(日数または月数の数値)を : で連結した文字列。省略した場合は統計情報 statistics は返却されません。日次統計において指定可能な日数は最大 120 日、月次統計において指定可能な月数は最大 24 ヵ月です。なお、月次統計においてはその月の最終日における統計値が返却されます。

Responses

Response Schema: application/json
Array of objects

カテゴリ情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/categories?statistics=daily:1'

Response samples

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

カテゴリ登録 API

カテゴリを登録します。リクエスト送信者が カテゴリの登録 権限を持っていない場合は、403 Forbidden が返却されます。

query Parameters
create_parents
boolean
Default: false

上位カテゴリを自動的に作成する(カテゴリ名に階層区切り文字 / が含まれ、かつそれぞれの階層区切り文字 / よりも手前の部分を名前にもつカテゴリが存在しない場合に、これらのカテゴリを自動的に作成します。例えば、カテゴリ「ニュース/スポーツ/野球」を登録する場合は、上位カテゴリである「ニュース」および「ニュース/スポーツ」が同時に登録されます)

Request Body schema: application/json
name
required
string <= 302 characters

カテゴリ名(以下の条件をすべて満たす必要があります)

  • アカウント内で一意である必要があります。
  • 名前に階層区切り文字 / を含める場合は、上位カテゴリが既に存在している必要があります。ただし、create_parents オプションに true を指定した場合は、これらの上位カテゴリは自動的に作成されます。
  • 先頭または末尾の階層区切り文字 / や 2 個以上の連続した階層区切り文字 / を名前に含めることはできません。
  • 3 個以上の階層区切り文字 / を名前に含めることはできません(カテゴリ階層は最大 3 階層まで)。
  • 各階層区切り文字 / 間に含まれる文字数は 100 文字以内である必要があります(階層区切り文字をエスケープするための \(バックスラッシュ)も文字数に含まれます)。
  • 階層区切り文字ではなく 通常の文字 として / を名前に使用する場合は、直前に \(バックスラッシュ)を配置しエスケープします。ただし、JSON 形式の文字列においてはバックスラッシュは追加のエスケープが必要であることに注意します(例: {"name": "2019\\/03\\/04"})。

Responses

Response Schema: application/json
id
string <UUID>

登録されたカテゴリ ID

Array of objects Nullable

登録された上位カテゴリ(create_parents オプションに true を指定した場合のみ、自動的に作成された上位カテゴリの情報が返却されます)

Request samples

Content type
application/json
{
  • "name": "ニュース/スポーツ/野球"
}

Response samples

Content type
application/json
{
  • "id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
  • "parents": [
    ]
}

カテゴリ取得 API

指定したカテゴリの情報を取得します。リクエスト送信者が カテゴリの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
category-id
required
string <UUID>

カテゴリ ID

query Parameters
statistics
string^(daily|monthly):\d+$

統計情報の粒度(日次 daily または月次 monthly)および昨日から起算した取得範囲(日数または月数の数値)を : で連結した文字列。省略した場合は統計情報 statistics は返却されません。日次統計において指定可能な日数は最大 120 日、月次統計において指定可能な月数は最大 24 ヵ月です。なお、月次統計においてはその月の最終日における統計値が返却されます。

Responses

Response Schema: application/json
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>

カテゴリ最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/categories/0669af11-cd8c-4ca9-9128-aa2597002c4b?statistics=daily:1'

Response samples

Content type
application/json
{
  • "id": "0669af11-cd8c-4ca9-9128-aa2597002c4b",
  • "name": "ニュース/スポーツ/野球",
  • "statistics": [
    ],
  • "created_at": "2019-03-04 11:42:10",
  • "updated_at": "2019-03-04 11:42:10"
}

カテゴリ更新 API

指定したカテゴリを更新します。リクエスト送信者が カテゴリの更新 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上の下位カテゴリが存在するカテゴリの名前を変更することはできません。ただし、rename_children オプションに true を指定した場合は、これらの下位カテゴリの名前は自動的に更新されます。

path Parameters
category-id
required
string <UUID>

カテゴリ ID

query Parameters
rename_children
boolean
Default: false

下位カテゴリを自動的に更新する(更新前のカテゴリ名の末尾に階層区切り文字 / を連結した文字列に前方一致する名前をもつ他のカテゴリが存在する場合に、これらのカテゴリの名前を自動的に更新します。例えば、あるカテゴリの名前を「ニュース/スポーツ」から「ニュース/SPORTS」に更新した場合は、下位カテゴリである「ニュース/スポーツ/野球」も同時に「ニュース/SPORTS/野球」に更新されます)

Request Body schema: application/json
name
string <= 302 characters

カテゴリ名(以下の条件をすべて満たす必要があります)

  • アカウント内で一意である必要があります。
  • 名前に階層区切り文字 / を含める場合は、上位カテゴリが既に存在している必要があります。ただし、create_parents オプションに true を指定した場合は、これらの上位カテゴリは自動的に作成されます。
  • 先頭または末尾の階層区切り文字 / や 2 個以上の連続した階層区切り文字 / を名前に含めることはできません。
  • 3 個以上の階層区切り文字 / を名前に含めることはできません(カテゴリ階層は最大 3 階層まで)。
  • 各階層区切り文字 / 間に含まれる文字数は 100 文字以内である必要があります(階層区切り文字をエスケープするための \(バックスラッシュ)も文字数に含まれます)。
  • 階層区切り文字ではなく 通常の文字 として / を名前に使用する場合は、直前に \(バックスラッシュ)を配置しエスケープします。ただし、JSON 形式の文字列においてはバックスラッシュは追加のエスケープが必要であることに注意します(例: {"name": "2019\\/03\\/04"})。

Responses

Request samples

Content type
application/json
{
  • "name": "ニュース/スポーツ/野球"
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

カテゴリ削除 API

指定したカテゴリを削除します。リクエスト送信者が カテゴリの削除 権限を持っていない場合は、403 Forbidden が返却されます。1 つ以上のコンテンツに関連付けられているカテゴリや、1 つ以上の下位カテゴリが存在するカテゴリを削除することはできません。

path Parameters
category-id
required
string <UUID>

カテゴリ ID

Responses

Request samples

curl \
  -X DELETE \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/categories/0669af11-cd8c-4ca9-9128-aa2597002c4b'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Labels

ラベル管理系 API について以下に記述します。

ラベル全取得 API

すべてのラベルを取得します。リクエスト送信者が ラベルの取得 権限を持っていない場合は、403 Forbidden が返却されます。

Responses

Response Schema: application/json
Array of objects

ラベル情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/labels'

Response samples

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

ラベル登録 API

ラベルを登録します。リクエスト送信者が ラベルの登録 権限を持っていない場合は、403 Forbidden が返却されます。

Request Body schema: application/json
name
required
string <= 100 characters

ラベル名(アカウント内で一意である必要があります)

Responses

Response Schema: application/json
id
string <UUID>

登録されたラベル ID

Request samples

Content type
application/json
{
  • "name": "スポーツ"
}

Response samples

Content type
application/json
{
  • "id": "b91e4a3d-a230-4039-8119-924d4df0e922"
}

ラベル取得 API

指定したラベルの情報を取得します。リクエスト送信者が ラベルの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
label-id
required
string <UUID>

ラベル ID

Responses

Response Schema: application/json
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>

ラベル最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/labels/b91e4a3d-a230-4039-8119-924d4df0e922'

Response samples

Content type
application/json
{
  • "id": "b91e4a3d-a230-4039-8119-924d4df0e922",
  • "name": "スポーツ",
  • "created_at": "2019-03-04 11:42:10",
  • "updated_at": "2019-03-04 11:42:10"
}

ラベル更新 API

指定したラベルを更新します。リクエスト送信者が ラベルの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
label-id
required
string <UUID>

ラベル ID

Request Body schema: application/json
name
string <= 100 characters

ラベル名(アカウント内で一意である必要があります)

Responses

Request samples

Content type
application/json
{
  • "name": "スポーツ"
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

ラベル削除 API

指定したラベルを削除します。リクエスト送信者が ラベルの削除 権限を持っていない場合は、403 Forbidden が返却されます。ラベルを削除しても、そのラベルが付与されていたコンテンツは削除されません。

path Parameters
label-id
required
string <UUID>

ラベル ID

Responses

Request samples

curl \
  -X DELETE \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/labels/b91e4a3d-a230-4039-8119-924d4df0e922'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

Content Playback

プレイリストアイテム取得 API

指定したプレイリストの表示に必要な情報を取得します。リクエスト送信者が コンテンツの視聴 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
playlist-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

プレイリスト名

query Parameters
include_private
boolean
Default: false

非公開コンテンツを含める

Responses

Response Schema: application/json
playlist_name
string <= 200 characters ^[0-9a-zA-Z-_]+$

プレイリスト名

playlist_title
string <= 200 characters

プレイリストタイトル

playlist_description
string <= 5000 characters Nullable

プレイリストの説明

Array of objects

プレイリストアイテム詳細

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/playlists/sample_playlist_190304/items'

Response samples

Content type
application/json
{
  • "playlist_name": "sample_playlist_190304",
  • "playlist_title": "サンプルプレイリスト",
  • "playlist_description": "これは説明です",
  • "playlist_items": [
    ]
}

コンテンツ URL 発行 API

指定したコンテンツの視聴に必要な情報を取得します。コンテンツフォワードポリシーおよびストリーミングポリシーが評価され、最大 1 組のストリームセットの情報が返却されます。返却される動画ファイルの URL には、ストリーミングポリシーに従い有効期限が設定されます。リクエスト送信者が コンテンツの視聴 権限を持っていない場合や、指定したコンテンツが公開されていない場合は、403 Forbidden が返却されます。

path Parameters
content-name
required
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名

query Parameters
ss
string <= 200 characters ^[0-9a-zA-Z-_]+$

ストリームセット名(指定した場合はストリーミングポリシーは評価されません)

disable_cfp
boolean
Default: false

コンテンツフォワードポリシーを評価しない

header Parameters
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>

リクエスト日時(任意の日時におけるレスポンスを確認する目的に使用します)

Responses

Response Schema: application/json
name
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名(コンテンツフォワードポリシーの設定によりリクエストとは異なるコンテンツ名が返却される場合があります)

type
string

以下のいずれかのレスポンスタイプ

  • VIDEO : 動画
  • IMAGE : 画像
video_url
string <URL> <= 2000 characters Nullable

動画ファイル URL(typeVIDEO の場合のみ)

image_url
string <URL> <= 200 characters Nullable

画像ファイル URL(typeIMAGE の場合のみ)

title
string <= 200 characters Nullable

タイトル

description
string <= 5000 characters Nullable

コンテンツの説明

content_type
string Nullable

以下のいずれかのコンテンツ種別

  • VOD : VOD コンテンツ
  • LIVE : ライブコンテンツ
  • DVR : DVR コンテンツ
stream_set_name
string <= 200 characters Nullable ^[0-9a-zA-Z-_]+$

ストリームセット名

format
string Nullable

以下のいずれかのフォーマット

  • MP4 : MP4 (MPEG-4 Part 14)
  • HLS : HLS (HTTP Live Streaming)
  • DASH : MPEG-DASH (Dynamic Adaptive Streaming over HTTP)
  • UNKNOWN : その他のフォーマット
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

プレゼンテーション連携情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/contents/sample_content_190304/play'

Response samples

Content type
application/json
{}

Instant Pages

視聴ページ管理系 API について以下に記述します。

視聴ページ URL 発行

視聴ページの 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

視聴ページ全取得 API

すべての視聴ページを取得します。リクエスト送信者が 視聴ページの取得 権限を持っていない場合は、403 Forbidden が返却されます。

query Parameters
page
integer >= 1
Default: 1

取得するページ番号

per_page
integer <= 100
Default: 25

1 ページあたりの取得件数

sort
string
Default: "created_at|desc"

ソートする列名および方向(昇順 asc または降順 desc)を | で連結した文字列。使用可能な列名は以下の通りです。

  • content_name : コンテンツ名
  • created_at : 視聴ページ登録日時
content
string <= 200 characters ^[0-9a-zA-Z-_]+$

コンテンツ名(指定した場合はそのコンテンツに対して発行された視聴ページの一覧を取得します)

query
string <= 200 characters

検索キーワード(指定した場合はその文字列をタイトル、または説明のいずれかに含む視聴ページの一覧を取得します。大文字/小文字は区別されません)

Responses

Response Schema: application/json
Array of objects

視聴ページ情報

truncated
boolean

全件を表示していない(次のページが存在)

current_page
integer >= 1

現在のページ番号

per_page
integer <= 100

1 ページあたりの取得件数

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/instant-pages?page=1&per_page=25&sort=created_at|desc'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "truncated": false,
  • "current_page": 1,
  • "per_page": 25
}

視聴ページ登録 API

視聴ページを登録します。リクエスト送信者が 視聴ページの登録 権限を持っていない場合は、403 Forbidden が返却されます。

Request Body schema: application/json
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"

以下のいずれかの公開状態

  • PUBLIC : 公開中
  • PRIVATE : 非公開
max_simultaneous_viewers
integer <= 5

同時視聴可能デバイス数(省略した場合は無制限)

access_denial_timeout
integer <= 7200

再視聴待機時間(秒)

signature_required
boolean
Default: false

署名付き URL によるアクセスのみ許可

Responses

Response Schema: application/json
id
string <UUID>

登録された視聴ページ ID

signing_key
string 32 characters Nullable

URL 発行用署名鍵(署名付き URL によるアクセスが必要な場合のみ)

Request samples

Content type
application/json
{
  • "content_name": "sample_content_190304",
  • "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
  • "configurations": {
    },
  • "revoked_audiences": [
    ],
  • "status": "PUBLIC",
  • "max_simultaneous_viewers": 1,
  • "access_denial_timeout": 300,
  • "signature_required": true
}

Response samples

Content type
application/json
{
  • "id": "254a443f-97eb-4fc3-a7b9-c48ad5376b5c",
  • "signing_key": "rX2Gm8GP32Vqoojd1vyCkUNG4oYUrobn"
}

視聴ページ取得 API

指定した視聴ページの情報を取得します。リクエスト送信者が 視聴ページの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
page-id
required
string <UUID>

視聴ページ ID

Responses

Response Schema: application/json
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

以下のいずれかの公開状態

  • PUBLIC : 公開中
  • PRIVATE : 非公開
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>

視聴ページ最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/instant-pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c'

Response samples

Content type
application/json
{
  • "id": "254a443f-97eb-4fc3-a7b9-c48ad5376b5c",
  • "content_name": "sample_content_190304",
  • "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
  • "configurations": {
    },
  • "signing_key": "rX2Gm8GP32Vqoojd1vyCkUNG4oYUrobn",
  • "revoked_audiences": [
    ],
  • "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"
}

視聴ページ更新 API

指定した視聴ページを更新します。リクエスト送信者が 視聴ページの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
page-id
required
string <UUID>

視聴ページ ID

Request Body schema: application/json
site_id
string <UUID>

配信サイト ID(configurations を省略した場合は必須)

object

視聴ページ設定(site_id を省略した場合は必須; site_id を指定した場合は配信サイト設定がこの項目により上書きされます)

revoked_audiences
Array of strings <= 1000 items

アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値)

status
string
Default: "PUBLIC"

以下のいずれかの公開状態

  • PUBLIC : 公開中
  • PRIVATE : 非公開
max_simultaneous_viewers
integer <= 5

同時視聴可能デバイス数(省略した場合は無制限)

access_denial_timeout
integer <= 7200

再視聴待機時間(秒)

Responses

Request samples

Content type
application/json
{
  • "site_id": "795e83df-8e79-4f8b-843a-c743c66bd026",
  • "configurations": {
    },
  • "revoked_audiences": [
    ],
  • "status": "PUBLIC",
  • "max_simultaneous_viewers": 1,
  • "access_denial_timeout": 300
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

視聴ページ削除 API

指定した視聴ページを削除します。リクエスト送信者が 視聴ページの削除 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
page-id
required
string <UUID>

視聴ページ ID

Responses

Request samples

curl \
  -X DELETE \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/instant-pages/254a443f-97eb-4fc3-a7b9-c48ad5376b5c'

Response samples

Content type
application/json
{
  • "code": "REQUEST_UNAUTHORIZED",
  • "message": "Invalid credentials."
}

視聴ページ URL 無効化 API

指定した視聴ページにアクセス拒否ユーザー識別子を登録します。既に登録されているユーザー識別子の場合は何も変更されませんが、リクエストは成功します。リクエスト送信者が 視聴ページの更新 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
page-id
required
string <UUID>

視聴ページ ID

Request Body schema: application/json
revoked_audience
required
string <= 50 characters ^[0-9a-zA-Z-_.]+$

アクセス拒否ユーザー識別子(視聴ページ URL に含まれる aud の値)

Responses

Request samples

Content type
application/json
{
  • "revoked_audience": "00000001"
}

Response samples

Content type
application/json
{
  • "code": "INVALID_REQUEST",
  • "message": null
}

Portal Sites

配信サイト管理系 API について以下に記述します。

配信サイト全取得 API

すべての配信サイトを取得します。リクエスト送信者が 配信サイトの取得 権限を持っていない場合は、403 Forbidden が返却されます。

Responses

Response Schema: application/json
Array of objects

配信サイト情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/sites'

Response samples

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

配信サイト取得 API

指定した配信サイトの情報を取得します。リクエスト送信者が 配信サイトの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
site-id
required
string <UUID>

配信サイト ID

Responses

Response Schema: application/json
id
string <UUID>

配信サイト ID

domain_names
Array of strings <= 5 items

完全修飾ドメイン名

propagation_status
string

以下のいずれかの DNS 設定反映状況

  • INSYNC : すべての権威 DNS サーバに設定が反映されている
  • PENDING : 一部の権威 DNS サーバに設定が反映されていない
object Nullable

SSL 証明書情報(domain_names が *.ulizaportal.jp 以外のドメインである場合のみ)

object

配信サイト設定

status
string

以下のいずれかの公開状態

  • PUBLIC : 公開中
  • PRIVATE : 非公開
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>

配信サイト最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/sites/795e83df-8e79-4f8b-843a-c743c66bd026'

Response samples

Content type
application/json
{
  • "id": "795e83df-8e79-4f8b-843a-c743c66bd026",
  • "domain_names": [
    ],
  • "propagation_status": "INSYNC",
  • "ssl_certificate": {
    },
  • "configurations": {
    },
  • "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"
}

Content Forward Policies

コンテンツフォワードポリシー管理系 API について以下に記述します。

コンテンツフォワードポリシー全取得 API

すべてのコンテンツフォワードポリシーを取得します。リクエスト送信者が コンテンツフォワードポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。

Responses

Response Schema: application/json
Array of objects

コンテンツフォワードポリシー情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/content-forward-policies'

Response samples

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

コンテンツフォワードポリシー取得 API

指定したコンテンツフォワードポリシーを取得します。リクエスト送信者が コンテンツフォワードポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
policy-id
required
string <UUID>

ポリシー ID

Responses

Response Schema: application/json
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>

ポリシー最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/content-forward-policies/5a6d9452-b880-46cc-9268-bbae1a3df651'

Response samples

Content type
application/json
{
  • "id": "5a6d9452-b880-46cc-9268-bbae1a3df651",
  • "name": "content_forward_policy_01",
  • "description": "サンプルポリシー",
  • "rules": [
    ],
  • "is_default": true,
  • "created_at": "2019-03-04 11:42:10",
  • "updated_at": "2019-03-04 11:42:10"
}

Streaming Policies

ストリーミングポリシー管理系 API について以下に記述します。

ストリーミングポリシー全取得 API

すべてのストリーミングポリシーを取得します。リクエスト送信者が ストリーミングポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。

Responses

Response Schema: application/json
Array of objects

ストリーミングポリシー情報

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/streaming-policies'

Response samples

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

ストリーミングポリシー取得 API

指定したストリーミングポリシーを取得します。リクエスト送信者が ストリーミングポリシーの取得 権限を持っていない場合は、403 Forbidden が返却されます。

path Parameters
policy-id
required
string <UUID>

ポリシー ID

Responses

Response Schema: application/json
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>

ポリシー最終更新日時

Request samples

curl \
  -H 'Authorization: Bearer <your-token>' \
  'https://vms-api.p.uliza.jp/v1/streaming-policies/8f2dd422-a4c8-4e83-b55b-9cb02bdfc495'

Response samples

Content type
application/json
{
  • "id": "8f2dd422-a4c8-4e83-b55b-9cb02bdfc495",
  • "name": "streaming_policy_01",
  • "description": "サンプルポリシー",
  • "rules": [
    ],
  • "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"
}

Error Codes

すべてのエラーレスポンスにはエラーの種類を示すエラーコードが与えられます。返却されうるエラーコードの一覧とそれぞれの意味は下表の通りです。

エラーコード 原因となる操作 意味
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 すべての操作 サーバ内部エラー