ドキュメント

キャンペーン CLI コマンド

ルールが成り立つ間、対象スクリーン全体を一つのプレイリストに切り替えるキャンペーンの作成、プレビュー、公開、昇格、一時停止、復元。

ここにあるコマンドはすべて CLI リファレンスの説明どおりに動作します。グローバルフラグ、JSON 出力、終了コード、リビジョン、再試行。

キャンペーン

キャンペーンは、ルールの条件を満たしている間、対象に含まれるすべてのスクリーンを1つのプレイリストに切り替え、条件を満たさなくなると元に戻します。1つのキャンペーンで、すべてのnorth店舗のランチメニューを再生でき、後からnorthタグを付けたスクリーンにも適用されます。ルールを1つも設定しない場合は、常に条件を満たします。

サーバーはスクリーンごとに、テイクオーバー、なければ条件を満たす最初のキャンペーン(--priorityは0から100、高い順、次に新しい順)、なければプレイリストスケジュール、なければ割り当てられたプレイリストを選択します。スタックとルールの詳細はスケジュールとテイクオーバーを参照してください。キャンペーンはデフォルトプレイリストを持つスクリーンに届きます(screen assign)。日付、曜日、時間は各スクリーン自身のタイムゾーンで読み取られる現地時刻で、screen set-timezoneで設定したオーバーライド、なければ Player が報告するゾーン、なければ UTC が使われます。スクリーンは約1分以内に切り替わり、Playerの更新は不要です。

一時停止中のキャンペーンは下書きで、campaign publishで公開するまでどのスクリーンにも表示されません。公開は、まずテスト用フォルダーや数台のテスト用スクリーンに限って行うこともでき、その後campaign promoteでオーディエンスを反映します。campaign previewは変更を行う前に表示し、campaign revisionsとcampaign restoreは以前のバージョンを保持して元に戻します。同じ下書き、プレビュー、履歴は、以下のスケジュールエントリにもあります。下書き、テストと昇格、履歴を参照してください。

キャンペーンコマンドはscreens機能を使用します。書き込みにはManageアクセスが必要です:Proposeセッションには403 insufficient_accessが返されます。組織のキャンペーンは、すべてのプロジェクトを合わせて最大100件(campaign_limit_reached、終了コード5)で、プレイリストは承認済みである必要があります(playlist_not_approved、終了コード5)。キャンペーンは Plus の機能です。この機能がない場合、campaign create、campaign resume、一時停止以外の campaign update には feature_not_in_plan(終了コード 8)が返されます。list、show、screens、explain、preview、pause、delete は引き続き使えるため、設定済みのキャンペーンは動き続けます。下書き(campaign create --paused)と campaign promote はスケジュールの変更管理に属し、Enterprise の機能として同じように応答します。料金にプランの一覧があります。書き込みのたびに、プロジェクトイベントにcampaign.created、campaign.updated、またはcampaign.deletedが追加され、キャンペーンによって切り替えられたスクリーンは、sourceをcampaign、キャンペーンIDをentry_idとしてscreen.playlist_switchedを記録します。ads campaignsは他のスクリーンの広告時間を購入するもので、別のリソースです。

スクリーンフォルダーに限定された呼び出し元が作成、変更、削除できるのは、オーディエンス全体がそのスコープ内にあるキャンペーンだけです。それ以外はoutside_screen_scope(終了コード3)となり、campaign listとcampaign showは、スコープ外に及ぶキャンペーンにeditable: falseを表示します。オーディエンスが保護されたフォルダー内のスクリーンに及ぶcampaign create、update、pause、resume、deleteの書き込みは、2人目の承認者が決定するprotected_changeレビューとともにpending_reviewを返します。書き込みを繰り返さず、reviews show IDで決定を確認し、承認者に理由を伝えるには--note TEXTを指定してください。確保済みキャンペーンを変更できるのは承認できる人だけで、エージェントはどのアクセスレベルでもreserved_item(終了コード3)で拒否されます。

campaign list#

スクリーンが読み取る順に、プロジェクトのキャンペーンを一覧表示します。

campaign list

パラメーターなし。

screenrig campaign list

data.itemsには最大100件のキャンペーンが含まれ、優先度の高い順、同じ優先度の中では新しい順に並びます。各キャンペーンにはcampaign showが返すフィールドが含まれ、カウント済みになるとreachも含まれます。一時停止中のキャンペーンは一覧に表示され、どこにも適用されません。reservedは確保済みキャンペーンを示し、editableはスクリーンフォルダーに限定された呼び出し元にのみ表示されます。falseは、そのキャンペーンがスコープ外のスクリーンに及ぶことを意味します。

campaign show#

1件のキャンペーンを読み込みます。

campaign show <id>
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
screenrig campaign show cmp_LUNCH

name、playlist_id、audience(正確なルール)、priority、paused、reserved(確保済みキャンペーンではtrue。変更できるのは承認できる人だけです)、設定されているfrom、until、windows、monthly、dates、except、data、interaction、covers、displays、start、およびrevision(以降の書き込みで--expect-revに使う値)を返します。editableはスクリーンフォルダーに限定された呼び出し元にのみ表示され、falseはそのキャンペーンがスコープ外のスクリーンに及び、その呼び出し元には読み取り専用であることを意味します。importは、スケジュールインポートが作成したキャンペーンに含まれます。reachはオーディエンスに一致するスクリーンの数を示します。publishedはキャンペーンが最後に公開されたとき(作成時、または新しいオーディエンス、プレイリスト、一時停止状態で更新したとき)の数、currentとatは最新の数、empty_groupsはどのスクリーンにも一致しないオーディエンスのtag:NAMEとfolder:IDのリーフです。数を変えるタグ、フォルダー、アーカイブ、削除は約15秒以内に再集計されます。campaign listにもreachが含まれ、reach_droppedとgroup_emptyの通知がこれを監視します。ads campaigns listのIDは、ここではnot_found(終了コード4)を返します。

campaign create#

対象のスクリーンを、常時、またはルールの条件を満たす間、プレイリストに切り替えます。

campaign create --name NAME --playlist-id ID (--tag TAG | --any-tag TAG | --screen-id ID | --folder ID | --all-screens | --audience RULE) [--from TIME] [--until TIME] [--window SPEC] [--monthly SPEC] [--date SPEC] [--except DATES] [--data KEY[:PATH[=VALUE]]] [--on-touch [IDLE_S]] [--displays N[,N]] [--start on-time|next-item] [--covers WHERE] [--priority N] [--paused] [--note TEXT]
パラメータータイプ必須デフォルトメモ
--name NAMEstringはいなし1~120文字の名前。
--playlist-id IDstringはいなしキャンペーンの条件を満たしている間に対象が表示するpl_プレイリスト。承認済みである必要があります。
--tag TAGstring対象オプション1つなしこのタグを持つスクリーン。繰り返すかカンマ区切りで指定すると、列挙したすべてのタグが必要です。
--any-tag TAGstring対象オプション1つなしこれらのタグのいずれか少なくとも1つを持つスクリーン。繰り返すか、カンマ区切りで指定します。
--screen-id IDstring対象オプション1つなしこれらのスクリーン。繰り返すか、カンマ区切りで指定します。
--folder IDstring対象オプション1つなしこの sfd_ スクリーンフォルダーと、その内側のすべてのフォルダーにあるスクリーン。フォルダーをタグと組み合わせるには --audience を使います。
--all-screensboolean対象オプション1つオフプロジェクト内のすべてのスクリーン。
--audience RULEstring対象オプション1つなしJSON形式のルール。ファイルから読み取るには@FILE、標準入力には-を使用します。
--from TIMEstringいいえ開始なし各スクリーンのタイムゾーンで、この市民時間に開始します。形式はYYYY-MM-DDTHH:MMで、オフセットは付けません。
--until TIMEstringいいえ終了なし各スクリーンのタイムゾーンで、この市民時間より前に終了します。形式は同じで、--fromより後の時刻です。
--window SPECstringいいえなしこの週次ウィンドウでのみ条件を満たします:DAYSまたはDAYS@HH:MM-HH:MM、例:mon-fri@09:00-17:00やsat,sun。最大16回まで繰り返せます。キャンペーンはそのいずれかで条件を満たします。
--monthly SPECstringいいえなしこの月次の発生にのみ条件を満たします:月の日(15またはday15。その日がない月は対象外)、または第n週の曜日(1st-mon、2nd-tue、3rd-wed、4th-thu、last-sun)。それぞれ任意で@HH:MM-HH:MMを付けられます。最大16回まで繰り返せます。
--date SPECstringいいえなしこの日にのみ条件を満たします:YYYY-MM-DDまたはYYYY-MM-DD@HH:MM-HH:MM。最大100回まで繰り返せます。
--except DATEstringいいえなしこれらの日付を除外します(YYYY-MM-DD、繰り返しまたはカンマ区切り、最大100件)。例外は、その日付に始まるすべての発生を取り除きます(日跨ぎの後半も含みます)。
--data KEY[:PATH[=VALUE]]stringいいえなしカードデータKEY(カードデータキーまたはカードID、もしくは{screen.weather})が存在する間だけ成立します。必要に応じて、RFC 6901ポインターPATHの位置にあるか、VALUEと等しい場合に限定できます。指定は1回だけです。
--on-touch [IDLE_S]integerいいえオフ誰かがタッチまたはクリックでスクリーンを操作している間にのみ条件を満たし、入力のないままIDLE_S秒(5~3600、デフォルト60)たつと外れます。
--displays N[,N]stringいいえすべての出力これらのビデオウォール出力(1~12、カンマ区切り)でのみ再生します。
--start WHENstringいいえnext-itemon-timeは境界の時刻に切り替わり、再生中のアイテムを中断します。next-itemはそれが終わるまで待ちます。
--covers WHEREstringいいえfullプレイリストを再生する場所:full(ページ全体)、main(ページそのもの)、またはheader、footer、side。後者はページの上に描かれるストリップで、その領域向けに作成したプレイリストが必要です(playlist create --format-region)。ストリップを参照してください。ストリップがオーディエンスのどのスクリーンにも配置されない場合は、playlist_format_mismatch(終了コード5)で拒否されます。
--priority Nintegerいいえ00から100。1つのスクリーンで2つのキャンペーンが条件を満たす場合は、数値が大きい方が優先されます。
--pausedbooleanいいえオフ一時停止にして作成します。campaign publishまたはcampaign resumeまでどのスクリーンにも表示されない下書きになります。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig campaign create --name "Lunch menu" --playlist-id pl_LUNCH --tag north --window mon-fri@11:00-14:00
screenrig campaign create --name "North Tower welcome" --playlist-id pl_WELCOME --folder sfd_01EXAMPLEFOLDER000000000
screenrig campaign create --name "Holiday hours" --playlist-id pl_HOLIDAY --tag Lobby --from 2026-12-20T00:00 --until 2027-01-02T00:00 --priority 10
screenrig campaign create --name "North cafes" --playlist-id pl_CAFE --audience '{"all":[{"tag":"North"},{"any":[{"tag":"Cafe"},{"tag":"Patio"}]}]}' --paused
screenrig campaign create --name "Brunch" --playlist-id pl_BRUNCH --tag Cafe --monthly 1st-sun@10:00-14:00 --except 2026-12-06
screenrig campaign create --name "Touch to browse" --playlist-id pl_MENU --screen-id scr_KIOSK --on-touch 90
screenrig campaign create --name "Holiday opening" --playlist-id pl_HOLIDAY --tag Lobby --date 2026-12-24@18:00-22:00 --start on-time
screenrig campaign create --name "Wall outputs 1 and 2" --playlist-id pl_WALL --screen-id scr_WALL --displays 1,2
screenrig campaign create --name "Room availability" --playlist-id pl_LIVE --folder sfd_01EXAMPLEFOLDER000000000 --data "crd_ROOM:/available=true"
screenrig campaign create --name "Fire exits" --playlist-id pl_EXITS --folder sfd_01EXAMPLEFOLDER000000000 --note "Fire safety"

タグは1~32文字の英数字です。DAYSはdaily、曜日(mon)、範囲(mon-fri。fri-monは週の終わりをまたぎます)、またはカンマ区切りのリスト(sat,sun)です。時刻を指定しないウィンドウは1日全体で、終了が開始以前の場合は日跨ぎとなり、開始日に属します。--audienceルールの各メンバーはall、any、tag、screen_id、folderのうちちょうど1つを持ち、グループのネストは最大3階層、対象のルールは最大500件で、{"all":[]}はすべてのスクリーンです。サーバーは無効なルールを拒否します。--fromと--untilの範囲外の--exceptの日付、その範囲外から始まる--date、例外日でもある--dateです(invalid_request、終了コード8)。

--data KEYは、カードデータKEYが存在する間だけ成立します。--data KEY:PATHは RFC 6901 ポインターPATHに値が存在する間、--data KEY:PATH=VALUEは値がVALUEと等しい間だけ成立します。この値には JSON スカラー(true、false、null、数値、または JSON の引用符付き文字列)か、rainのような引用符なしの文字列を指定できます。オブジェクトと配列は拒否されます。存在しない、または期限切れのデータは一致せず、存在するnullやfalseは「存在する」と数えます。KEY:=VALUEはドキュメント全体と比較します。KEY内のコロンは\:でエスケープし、JSON 文字列の引用符を保つには引数全体を引用符で囲みます:--data 'crd_ROOM:/status="true"'。キー{screen.weather}は各スクリーンの位置の天気を読み取ります(screen update ID --location LAT,LON):--data '{screen.weather}:/condition=rain'。

中断またはあいまいな作成後は24時間以内に同じコマンドを再実行してください。保存された冪等キーを再利用し、サーバーは別のキャンペーンを作成せず同じキャンペーンを返します。

campaign update#

キャンペーンを変更します。変更前と変更後の対象のスクリーンは、1分以内に再評価されます。

campaign update <id> [--name NAME] [--playlist-id ID] [audience option] [--from TIME | --clear-from] [--until TIME | --clear-until] [--window SPEC | --clear-windows] [--monthly SPEC | --clear-monthly] [--date SPEC | --clear-dates] [--except DATES | --clear-except] [--data KEY[:PATH[=VALUE]] | --clear-data] [--on-touch [IDLE_S] | --clear-on-touch] [--displays N[,N] | --clear-displays] [--start WHEN] [--covers WHERE] [--priority N] [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--name NAMEstringいいえ変更なしキャンペーンの名前を変更します。
--playlist-id IDstringいいえ変更なし代わりにこのプレイリストを表示します。承認済みである必要があります。
--tag, --any-tag, --screen-id, --folder, --all-screens, --audiencestringいいえ変更なし最大1つ。指定方法はcampaign createと同じです。対象全体を置き換えます。
--from TIME, --until TIMEstringいいえ変更なしcampaign createと同じ形式の市民時間。--fromは--untilより前でなければなりません。そうでない場合はinvalid_request(終了コード8)になります。
--clear-from, --clear-untilbooleanいいえオフ開始または終了を削除します。
--window SPECstringいいえ変更なしすべてのウィンドウをこれらに置き換えます。最大16回まで繰り返せます。
--clear-windowsbooleanいいえオフすべてのウィンドウを削除します。
--monthly SPEC, --date SPEC, --except DATEstringいいえ変更なしcampaign createと同じです。それぞれ、同じ種類のルールをすべて置き換えます。
--data KEY[:PATH[=VALUE]]stringいいえ変更なしcampaign createと同じです。カードデータの条件を置き換えます。
--on-touch [IDLE_S], --displays N[,N], --start WHENstringいいえ変更なしcampaign createと同じです。--on-touchは値を省略すると60秒です。
--clear-monthly, --clear-dates, --clear-except, --clear-data, --clear-on-touch, --clear-displaysbooleanいいえオフそれらを削除します。ルールを1つも持たないキャンペーンは、常に条件を満たします。
--covers WHEREstringいいえ変更なしfull、main、header、footer、または side(campaign create と同じ)。
--priority Nintegerいいえ変更なし0から100。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig campaign update cmp_LUNCH --playlist-id pl_LUNCH2 --expect-rev 2
screenrig campaign update cmp_LUNCH --tag Lobby --window sat,sun --priority 20
screenrig campaign update cmp_LUNCH --clear-until --clear-windows
screenrig campaign update cmp_BRUNCH --monthly 2nd-sun@10:00-14:00 --except 2026-12-13,2027-01-10
screenrig campaign update cmp_BROWSE --clear-on-touch --clear-displays
screenrig campaign update cmp_ROOMS --data crd_ROOM:/available=true
screenrig campaign update cmp_ROOMS --clear-data
screenrig campaign update cmp_LUNCH --playlist-id pl_LUNCH2 --note "Safety review done"

変更を少なくとも1つ指定してください。指定したフィールドのみが変更されます。新しい--playlist-idは作成と同様にチェックされます。中断またはあいまいなリクエストの後は、同じコマンドを再実行してください。保存された冪等キーを再利用し、サーバーは更新を再適用せず、すでに行われた更新を返します。

campaign pause#

キャンペーンを削除せずに、すべてのスクリーンで停止します。

campaign pause <id> [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig campaign pause cmp_LUNCH
screenrig campaign pause cmp_LUNCH --note "Holiday over"

キャンペーンを表示していたスクリーンは、1分以内にキャンペーンがない場合の表示に戻ります。campaign resumeで再開します。

campaign resume#

一時停止中のキャンペーンを再開します。

campaign resume <id> [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig campaign resume cmp_LUNCH
screenrig campaign resume cmp_LUNCH --note "Holiday again"

対象のスクリーンのうち、キャンペーンを適用できるすべてのスクリーンは、キャンペーンの条件を満たしている間、1分以内にそのプレイリストに切り替わります。

campaign delete#

キャンペーンを削除します。

campaign delete <id> [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig campaign delete cmp_LUNCH
screenrig campaign delete cmp_LUNCH --note "Replaced by the winter campaign"

キャンペーンは元に戻りません。キャンペーンを表示しているすべてのスクリーンは、1分以内にキャンペーンがない場合の表示に戻ります。プレイリスト、スクリーン、タグは残ります。campaign pauseはキャンペーンを停止し、そのまま残します。

campaign screens#

キャンペーンが届くスクリーンと、それぞれの状態を表示します。

campaign screens <id> [--limit N] [--cursor CURSOR]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--limit Nintegerいいえ100ページあたりのスクリーン数、1から500。
--cursor CURSORstringいいえ最初のページ前のページのdata.next_cursor
screenrig campaign screens cmp_LUNCH

data.countsは対象に含まれるすべてのライブスクリーンを網羅します:audience、続いて存在する状態ごとに1つのカウント。data.itemsはそれらのスクリーンをスクリーンIDの順に並べた1ページ分で、各スクリーンにキャンペーンのstatusが付きます。data.next_cursorは最後のページにはありません。独自のスタックを解決するPlayerのスクリーンでは、状態はそのスタックがキャンペーンを置く位置で決まります。ストリップまたはmainのキャンペーンはその領域で、--displaysのキャンペーンは指定したディスプレイで再生されます。

ステータス意味
playingスクリーンはキャンペーンのプレイリストを表示しています。
pending表示されるはずで、切り替えは1分以内に行われます。
waiting現在、--from、--until、ウィンドウ、月次ルール、日付の範囲外です。8日以内に開始する場合はnext_start。
ended--untilを過ぎています。
outranked条件は満たしていますが、スクリーンのテイクオーバー(reason takeover)または別のキャンペーン(reason campaign、by付き)が優先されます。
conditional時刻の条件を満たし、誰かがスクリーンを操作している間(reason interaction)、またはデータ条件を満たす間(reason data)に再生されます。入力とカードデータを見られるのはPlayerだけです。
pausedキャンペーンは一時停止中です。
blockedここでは表示できません。reasonはno_default_playlist(screen assign)、playlist_unavailable(プレイリストが存在しない、未承認、またはスクリーンに適合しない)、region_not_laid_out(スクリーンのどのディスプレイにも配置されない。ストリップがどのディスプレイにも収まらないか、--displaysがどのディスプレイも指定しておらず、キャンペーンはそのスタックから外れる)、またはstack_only(スクリーンのPlayerが独自のスタックを解決しない。領域、ディスプレイ指定、--on-touch、データ条件を扱えるのは独自のスタックを解決するPlayerだけ)です。

campaign explain#

各キャンペーンが1つのスクリーンで再生される理由、または再生されない理由を、現在または選んだ時刻について表示します。

campaign explain <screen-id> [--at TIME] [--to TIME]
パラメータータイプ必須デフォルトメモ
<screen-id>stringはいなしscr_スクリーンID
--at TIMEstringいいえ今現在の代わりにこの時刻について説明します。タイムゾーン付きの時刻(2026-12-24T10:00:00-08:00)、またはスクリーン自身の時計の時刻(2026-12-24T18:00)を指定できます。夏時間でスキップまたは繰り返される時計の時刻は拒否されます。
--to TIMEstringいいえなし--at(デフォルトは現在)からこの時刻までのプレイリストの切り替えも一覧表示します。形式は同じです。どこまで先でも制限はなく、1回の応答には最大500区間が含まれ、変更のない8日間ごとに1区間と数えます。
screenrig campaign explain scr_LOBBY
screenrig campaign explain scr_LOBBY --at 2026-12-24T18:00 --to 2026-12-26T00:00

data.itemsはプロジェクトのすべてのキャンペーンを、スクリーンが読み取る順に一覧表示し、それぞれにcampaign screensの状態またはnot_in_audienceが付きます。blockedの行には修正方法が示されます。data.effective_playlistはスクリーンが現在再生しているプレイリストです(id、source(takeover、campaign、schedule、default、folderのいずれか)、およびentry_id(キャンペーン、スケジュールエントリ、またはフォルダーのID))。スクリーンにプレイリストが表示されていない場合はnullです。何も変更しません。

--atを付けると、data.atにその時刻の答えが入ります。instant、timezone(スクリーンの有効タイムゾーン)、local(スクリーンの時計上の時刻)、effective_playlist(そのuntilが次の変更時刻)、そしてテイクオーバー、すべてのキャンペーン、すべてのスケジュールエントリについてのverdictsの行が、スクリーンが読み取る順に並びます。

判定は、won(表示されるプレイリスト)、outranked(有効だが、byが優先された相手を示す)、not_started(開始前)、ended(終了後)、outside_hours(期間内だがウィンドウ、月次ルール、日付の外、または例外日。next_startは8日以内に再び有効になる時刻を示す)、conditional(時刻の条件を満たし、誰かがスクリーンを操作している間に再生される場合はreason interaction、データ条件を満たす間に再生される場合はreason data)、off(適用されず、reasonが理由を示す:paused、not_in_audience、no_default_playlist、playlist_unavailable、region_not_laid_out、stack_only)のいずれかです。独自のスタックを解決するPlayerのスクリーンでは、判定はそのスタックに基づきます。ストリップまたはmainのレベルはその領域で優先されるか優先を奪われ、ディスプレイ指定は指定したディスプレイで判定されます。effective_playlistとタイムラインはディスプレイ1のページのままで、data.at.not_judgedにはplayer_stackが含まれます。

--toを付けるとdata.at.timelineが加わり、プレイリストが変わらない区間が分かります。timeline_truncatedは--toの前で打ち切られた応答を示します。その場合は--atを最後の区間のtoにして、もう一度問い合わせてください。data.at.not_judgedは判定しない内容を示します。テイクオーバー、スケジュール、キャンペーンは現在の状態のまま読み取られ、data.itemsも現在の状態のままです。

campaign preview#

キャンペーンの作成や変更が何をもたらすかを、実行する前に表示します。

campaign preview [<id>] [--name NAME] [--playlist-id ID] [audience option] [rule flags] [clear flag] [--paused | --publish] [--calendar-from INSTANT] [--calendar-to INSTANT]
パラメータータイプ必須デフォルトメモ
<id>stringいいえ新しいキャンペーン変更をプレビューするcmp_キャンペーン。省略すると、campaign createのフラグから新しいキャンペーンをプレビューします。
--name NAME, --playlist-id IDstring新しいキャンペーンの場合変更なしcampaign createと同じです。新しいキャンペーンには両方が必要です。
--tag, --any-tag, --screen-id, --folder, --all-screens, --audiencestring新しいキャンペーンの場合変更なし最大1つ。指定方法はcampaign createと同じで、新しいキャンペーンには1つ必要です。<id>を付けると、対象全体を置き換えます。
--from TIME, --until TIME, --window SPEC, --monthly SPEC, --date SPEC, --except DATEstringいいえ変更なしcampaign createのルールオプション。<id>を付けると、それぞれ同じ種類のルールをすべて置き換えます。
--data KEY[:PATH[=VALUE]], --on-touch [IDLE_S], --displays N[,N], --start WHEN, --covers WHEREstringいいえ変更なしcampaign create と同じです。
--priority Nintegerいいえ変更なし0から100。
--clear-from, --clear-until, --clear-windows, --clear-monthly, --clear-dates, --clear-except, --clear-data, --clear-on-touch, --clear-displaysbooleanいいえオフcampaign update と同じで、ルールの削除をプレビューします。<id> が必要です。
--pausedbooleanいいえオフ下書きとしてプレビューします。一時停止中で、どのスクリーンにも表示されません。--publishとは併用できません。
--publishbooleanいいえオフキャンペーンの一時停止解除をプレビューします。オーディエンスオプションを付けると、そのオーディエンスへの公開をプレビューします。<id>が必要で、--pausedとは併用できません。
--calendar-from INSTANTstringいいえ今カレンダーをこのタイムゾーン付きの時刻から開始します(例:2026-12-01T00:00:00Z)。
--calendar-to INSTANTstringいいえ開始の1週間後カレンダーをこのタイムゾーン付きの時刻で終了します。開始から最大93日後までです。
screenrig campaign preview cmp_LUNCH --tag Lobby
screenrig campaign preview cmp_LUNCH --clear-until --priority 20
screenrig campaign preview cmp_LUNCH --publish --folder sfd_TEST
screenrig campaign preview cmp_LUNCH --publish --calendar-from 2026-12-01T00:00:00Z --calendar-to 2027-01-01T00:00:00Z
screenrig campaign preview --name "Holiday hours" --playlist-id pl_HOLIDAY --tag Lobby --from 2026-12-20T00:00 --until 2027-01-02T00:00

オプションは書き込みと同じ基準で検証されるため、プレビューは書き込みが拒否するものを拒否します。<id>を指定する場合は、campaign updateのオプション、--paused、--publishのいずれか、少なくとも1つの変更を渡してください。何も書き込まれません。data.gainedとdata.lostは{count, screen_ids}(IDの先頭500件)で、キャンペーンを新たに表示するスクリーンと、表示しなくなるスクリーンです。一時停止中のキャンペーンはどのスクリーンにも表示されないため、公開するとそのオーディエンスが加わります。スクリーンでキャンペーンを維持する編集は、カレンダーにだけ現れます。data.calendar.beforeとdata.calendar.afterは、--calendar-fromから--calendar-toまでの旧オーディエンスと新オーディエンスのスクリーンのスケジュールカレンダーで、下書きは一時停止レベルとして描かれます。--humanは最初のディスプレイの区間と有効になる下書きを表示し、カレンダーが変わらない場合はそう伝えます。

campaign publish#

下書きのキャンペーンの一時停止を解除します。テスト用フォルダーや数台のテスト用スクリーンに限ることもできます。

campaign publish <id> [--test-folder ID | --test-screen ID] [--expect-rev REVISION]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--test-folder IDstringいいえキャンペーンのオーディエンスこのsfd_スクリーンフォルダーと、その内側のすべてのフォルダーにあるスクリーンにだけ公開します。
--test-screen IDstringいいえキャンペーンのオーディエンスこれらのスクリーンにだけ公開します。繰り返すか、カンマ区切りで指定します。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
screenrig campaign publish cmp_LUNCH
screenrig campaign publish cmp_LUNCH --test-folder sfd_TEST
screenrig campaign publish cmp_LUNCH --test-screen scr_LOBBY,scr_CAFE --expect-rev 2

下書きは一時停止中のキャンペーンで、公開するまでどのスクリーンにも表示されません。テストオプションなしなら、キャンペーンは1分以内に本来のオーディエンスに届きます。テストオプションは同じ書き込みでオーディエンスを置き換えるため、切り替わるのはテスト用スクリーンだけです。通常の流れは、実際のオーディエンスを指定したcampaign create --paused、campaign publish ID --test-folder FOLDER、テスト用スクリーンの確認、そしてcampaign promote ID --revision Nです。campaign preview ID --publishは事前に効果を表示します。

campaign promote#

テスト後に、下書きのオーディエンスをキャンペーンに適用します。

campaign promote <id> --revision N [--expect-rev REVISION]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--revision Nintegerはいなし下書きの一時停止のリビジョン(campaign revisionsの番号)。キャンペーンはそのリビジョンのオーディエンスを取り込みます。
--expect-rev REVISIONstringいいえ直前に読み取ったリビジョンこのキャンペーンの現在のリビジョンを必須にします。省略すると、CLIは書き込み直前にキャンペーンを読み取り、そのリビジョンを送信します。その間に変更があるとrevision_conflict(終了コード6)になります。
screenrig campaign promote cmp_LUNCH --revision 1
screenrig campaign promote cmp_LUNCH --revision 1 --expect-rev 2

リビジョンNのオーディエンスが1回の書き込みでキャンペーンのオーディエンスになり、changeがpromotedの新しいリビジョンが作られます。旧オーディエンスと新オーディエンスの各スクリーンは1分以内に再解決されます。リビジョンNは一時停止のリビジョンでなければならず(そうでなければinvalid_requestがそれを示します)、キャンペーンは有効でなければなりません。現在一時停止中のキャンペーンには、昇格すべきテストがありません。オーディエンスがすでにキャンペーンのオーディエンスであるリビジョンでは、何も変わりません。--expect-revはNではなく、キャンペーンの現在のリビジョンです。昇格にはcampaign updateと同じアクセスが必要です。

campaign revisions#

キャンペーンのリビジョンを新しい順に一覧表示します。

campaign revisions <id> [--after CURSOR]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--after CURSORstringいいえ最初のページ前のページのdata.next_cursorから続けます。
screenrig campaign revisions cmp_LUNCH
screenrig campaign revisions cmp_LUNCH --after CURSOR

data.itemsには最大50件のリビジョンが含まれ、それぞれにrevision、created_at、change、current、判明している場合はauthor、そしてcampaign(その書き込み後のキャンペーンと一時停止の状態)が付きます。changeはcreated、edited(更新またはスケジュールインポート)、restored、promoted(restored_fromが示す以前のリビジョンのコピー)、またはbaseline(キャンペーンの履歴が始まった時点のリビジョン)です。履歴に一時停止でないリビジョンが1つもないキャンペーンは下書きです。data.next_cursorが文字列である間は古いリビジョンが残っています。--afterにその値を指定してコマンドをもう一度実行してください。リビジョンはキャンペーンがある限り保持され、キャンペーンの削除とともに消えます。読み取り専用アクセスで足ります。

campaign restore#

以前のリビジョンを前方にコピーして、再び現在のリビジョンにします。

campaign restore <id> --revision N [--expect-rev REVISION]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしcmp_キャンペーンID
--revision Nintegerはいなし前方にコピーするリビジョン(campaign revisionsの番号)。
--expect-rev REVISIONstringいいえ直前に読み取ったリビジョンこのキャンペーンの現在のリビジョンを必須にします。省略すると、CLIは書き込み直前にキャンペーンを読み取り、そのリビジョンを送信します。その間に変更があるとrevision_conflict(終了コード6)になります。
screenrig campaign restore cmp_LUNCH --revision 3
screenrig campaign restore cmp_LUNCH --revision 3 --expect-rev 5

リビジョンNの名前、プレイリスト、オーディエンス、ルール、リージョン、優先度、一時停止の状態が、changeがrestoredの新しいリビジョンになります。campaign updateと同じ検査を受けるため、プレイリストが存在し、承認済みである必要があります(playlist_not_approved、終了コード5)。旧オーディエンスと新オーディエンスの各スクリーンは1分以内に再解決されます。以前のリビジョンはそのまま残り、現在の内容を復元しても何も変わりません。復元にはcampaign updateと同じアクセスが必要です。

ほかのコマンドグループ