Дисплейные экраны

Основная платформа
display_brand_settings_writeДисплейные экраны

Changes Display Screens settings shared by every facility in the facility's brand: the boot screen shown while screens start up, the settings new screens start with, and what templated content shows. Organisation admins only; read the current values and canEdit with display_settings_read boot_screen, screen_defaults or templated.

Actions:

  • save_boot_screen: Save the boot screen. Sets the boot screen image (PNG, JPEG or WebP, up to 10 MB, from a public https imageUrl or imageBase64) and/or how it is laid out. Without an image, fit and background re-render the current one. Screens pick it up when they next start. Asks for confirmation.
  • reset_boot_screen: Reset the boot screen. Removes the brand's boot screen; screens go back to the default one when they next start. Asks for confirmation.
  • save_screen_defaults: Save the screen defaults. The settings a screen starts with when it is paired at one of the brand's facilities. Only the settings you pass change. Screens that are already paired keep their own settings; change those with device_inventory_write configure_screen. Asks for confirmation.
  • save_templated: Save templated content settings. What templated content screens and the Schedule show: the data source name, workout names, programs in the Schedule and how far ahead, training phases and how far ahead, and Program Builder training camps (one banner per week) and how far ahead. Asks for confirmation.

Параметры

ИмяТипОписание
action*"save_boot_screen" | "reset_boot_screen" | "save_screen_defaults" | "save_templated"Что сделать; каждое действие описано в описании инструмента.
imageUrlstringПубличный https URL изображения (save_boot_screen)
imageBase64stringИзображение в base64, если URL нет (save_boot_screen)
fit"logo" | "fill"(save_boot_screen)
backgroundstringЦвет фона (#RRGGBB) (save_boot_screen)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
orientation"normal" | "left" | "right" | "inverted"Screen rotation (save_screen_defaults)
airplayEnabledbooleanScreens accept AirPlay (save_screen_defaults)
sessionTimerEnabledbooleanSynchronised session timer (master clock) and its bells (save_screen_defaults)
sonosEnabledbooleanSonos speaker control (save_screen_defaults)
duressEnabledbooleanBluetooth duress button monitoring (save_screen_defaults)
cameraRestreamingEnabledbooleanRestream local camera feeds from the screen (save_screen_defaults)
wifiSupportbooleanCaptive Wi-Fi setup portal (save_screen_defaults)
showSourceNameboolean(save_templated)
showWorkoutNamesboolean(save_templated)
showProgramsInScheduleboolean(save_templated)
programLookaheadDaysintegernullКоличество дней вперёд (0–90) или null без ограничения (save_templated)
showTrainingPhasesboolean(save_templated)
phaseLookaheadDaysintegernullКоличество дней вперёд (0–90) или null без ограничения (save_templated)
showTrainingCampsboolean(save_templated)
campLookaheadDaysintegernullКоличество дней вперёд (0–90) или null без ограничения (save_templated)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_groups_writeДисплейные экраны

Создаёт, переименовывает и удаляет группы Display Screen на объекте и задаёт, какие экраны в них входят. Группы служат целями публикации (display_publish targets.groupIds) и целями команд (display_screen_command groupIds). Если указано несколько экранов, групп или целей, инструмент действует на все сразу за один вызов; прежде чем действовать на многие, уточните у пользователя.

Действия:

  • save: сохранить группу. Создание: name (и при необходимости screenIds). Переименование: groupId (id или текущее название) и name. screenIds заменяет состав группы; не указанные экраны выходят из этой группы, но остаются в своих других группах.
  • delete: удалить группу. Удаляет группу: её экраны выходят из неё (оставаясь в других своих группах), а контент, опубликованный в группу, удаляется из расписания. Требуется groupId. Запрашивает подтверждение.

Параметры

ИмяТипОписание
action*"save" | "delete"Что сделать; каждое действие описано в описании инструмента.
groupIdstringid или название существующей группы, чтобы переименовать её или изменить состав
namestringНазвание группы (обязательно при создании) (save)
screenIdsarrayЭкраны в группе; заменяет текущий состав (save)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_hosted_apps_writeДисплейные экраны

Публикует статические HTML-приложения («hosted apps») для Display Screens. Сначала вызовите display_library_read app_guidelines, чтобы узнать размеры экранов, правила дизайна, ограничения и SDK, а затем display_screenshot, чтобы проверить результат на экране. Если указано несколько экранов, групп или целей, инструмент действует на все сразу за один вызов; прежде чем действовать на многие, уточните у пользователя.

Действия:

  • publish: опубликовать hosted app. Создаёт hosted app (name + files) или публикует новую версию (appId + files; она сразу начинает работать везде, где показывается приложение, rollback отменяет это). publishTo также выводит его на экраны, как display_publish; для цели brand или organisation нужен confirm. Требуется files. Может запрашивать подтверждение.
  • rollback: откатить hosted app. Снова делает текущей более раннюю версию везде, где показывается приложение. Список версий: display_library_read app_versions. Требуются appId, version.

Параметры

ИмяТипОписание
action*"publish" | "rollback"Что сделать; каждое действие описано в описании инструмента.
appIdstringid существующего hosted app (app_…), для которого публикуется новая версия
namestringНазвание приложения (обязательно при создании) (publish)
filesarrayФайлы приложения. encoding: utf8 (по умолчанию) или base64 для двоичных файлов. (publish)
entrystringВходной HTML-файл (по умолчанию index.html) (publish)
durationSecnumberВремя показа на экране в плейлистах по умолчанию, в секундах (publish)
tagsarray(publish)
ownerScope"facility" | "brand" | "organisation"Кому принадлежит новый контент (по умолчанию facility). Для brand и organisation нужен доступ на уровне всей организации. (publish)
publishToobject(publish)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
versionintegerВерсия, которую нужно сделать текущей (rollback)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_library_readДисплейные экраны

Читает библиотеку контента Display Screens, доступную объекту: медиа (изображения, видео), приложения (веб-страницы, размещённые HTML-приложения, приложения ИИ-агентов, представления видеонаблюдения) и плейлисты, а также приложения ИИ-агентов и источники видеонаблюдения, которые можно добавить.

У каждого элемента есть contentRef (media#…, app#…, playlist#…) для display_publish и плейлистов. ownerScope показывает владельца (facility#, brand# или org#); контент можно публиковать только в пределах его владельца. Медиа со статусом processing ещё не готово; failed нужно загрузить заново. Веб-страницы с frameable: false нельзя воспроизводить в плейлистах, только как полноэкранный экран. Элементы с displayIssue экраны пропускают: приложение ИИ-агента, которое не опубликовано, приостановлено, в состоянии display-off, ограничено по аудитории или без Custom Apps; представление видеонаблюдения с no-cctv, cctv-off (администратор объекта включает видеонаблюдение для экранов в настройках Display Screens) или no-cameras.

Действия:

  • list: список элементов библиотеки. Медиа и приложения (постранично; фильтр по type, kind, tag или названию) или, с type agent-apps, приложения ИИ-агентов, разрешённые на экранах, которые можно опубликовать через display_publish content.agentAppId. У каждого элемента есть type: media, app или agent-app.
  • cctv_sources: список источников видеонаблюдения. Камеры объекта и общие Live Views для display_publish content.cctv, а также включено ли видеонаблюдение на экранах. Требуется доступ к видеонаблюдению на объекте.
  • get: получить элемент библиотеки. Один медиаэлемент, приложение или плейлист по contentRef. Требуется contentRef.
  • usages: где используется контент. Действующие назначения расписания и плейлисты, в которых используется медиаэлемент или приложение (или назначения для плейлиста). Используемый контент нельзя удалить. Требуется contentRef.
  • app_versions: список версий hosted app. Версии hosted app и какая из них текущая, для display_hosted_apps_write rollback. Требуется appId.
  • app_guidelines: рекомендации для hosted app. Размеры экранов, правила дизайна, ограничения пакета, Display App SDK и стартовый шаблон. Вызовите это перед созданием приложения для display_hosted_apps_write publish.
  • check_url: проверить веб-страницу. Можно ли показывать веб-страницу в плейлистах (некоторые сайты запрещают встраивание во фрейм), с подсказками о том, как она выглядит. Страницы, запрещающие встраивание, всё равно можно показывать как полноэкранный экран. Требуется url.
  • playlists: список плейлистов. Плейлисты, доступные объекту (постранично), каждый со своими элементами (contentRef, duration, fit).

Параметры

ИмяТипОписание
action*"list" | "cctv_sources" | "get" | "usages" | "app_versions" | "app_guidelines" | "check_url" | "playlists"Что сделать; каждое действие описано в описании инструмента.
type"media" | "apps" | "agent-apps"Только один вид элементов (по умолчанию: медиа и приложения) (list)
kind"image" | "video" | "url" | "hosted" | "agent-app" | "cctv-view"(list)
tagstringТолько элементы с этим тегом (list)
searchstringФильтр по названию без учёта регистра (list)
limitintegerЭлементов на странице (по умолчанию 25, не более 100) (list, playlists)
cursorstringnextCursor с предыдущей страницы (list, playlists)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект. (list, cctv_sources, get, usages, app_versions, check_url, playlists)
contentRefstringmedia#<id>, app#<id> или playlist#<id> из display_library_read list или playlists (get, usages)
appIdstringid hosted app (app_…) (app_versions)
urlstringПубличный https URL (check_url)
display_library_writeДисплейные экраны

Добавляет и изменяет контент библиотеки Display Screens: загрузка изображений и видео, создание приложений веб-страниц, приложений ИИ-агентов и представлений видеонаблюдения, изменение названий, тегов, длительности и дат, удаление неиспользуемых элементов и обновление предпросмотра приложения. Размещённые HTML-приложения публикуются через display_hosted_apps_write, плейлисты — через display_playlists_write.

Создавайте изображения размером 1920×1080 (альбомная ориентация) или 1080×1920 (портретная). Новое медиа сначала находится в статусе processing, пока создаются версии для веба; его можно сразу добавлять в плейлисты, а воспроизводиться оно начнёт, когда будет готово. ownerScope: facility (по умолчанию), brand или organisation (для brand и organisation нужен доступ на уровне всей организации).

Действия:

  • upload_media: загрузить изображение или видео. Добавляет изображение или видео по публичному https url (предпочтительно; изображения до 25 МБ, видео до 200 МБ) или в base64 с mimeType (до 20 МБ). Изображения JPEG, PNG, WebP, GIF; видео MP4, WebM, MOV (преобразуются в H.264 MP4 до 1080p). Для видео большего размера: create_video_upload.
  • create_video_upload: начать загрузку большого видео. Для видео до 2 ГБ: регистрирует видео и возвращает предподписанную загрузку (отправьте файл методом PUT на upload.url с upload.headers до upload.expiresAt), затем вызовите transcode с его contentRef. Требуются name, mimeType, bytes.
  • transcode: обработать видео. Преобразует видео для экранов: после create_video_upload, повторно после сбоя или для старого видео, которое экраны не могут воспроизвести. Требуется contentRef.
  • create_app: добавить приложение. Добавляет веб-страницу (kind url, передайте url; проверяется возможность встраивания во фрейм), приложение ИИ-агента (kind agent-app, передайте agentAppId из display_library_read list type agent-apps) или представление видеонаблюдения (kind cctv-view, принадлежит объекту, требуется доступ к видеонаблюдению). Требуются kind, name.
  • update: обновить элемент библиотеки. Изменяет название, теги или длительность медиаэлемента или приложения; validFrom/validTo медиаэлемента (ISO, null очищает; вне этого периода элемент пропускается); url веб-страницы; или камеры, представление, компоновку или качество представления видеонаблюдения. Требуется contentRef.
  • delete: удалить элемент библиотеки. Удаляет медиаэлемент или приложение. Блокируется, пока элемент находится в действующем расписании или плейлисте: в ошибке они перечислены (сначала удалите их с помощью display_schedule_write delete или display_playlists_write save). Требуется contentRef. Запрашивает подтверждение.
  • refresh_preview: обновить предпросмотр приложения. Делает новый снимок экрана приложения для предпросмотра в библиотеке (например, после изменения страницы). Требуется contentRef.

Параметры

ИмяТипОписание
action*"upload_media" | "create_video_upload" | "transcode" | "create_app" | "update" | "delete" | "refresh_preview"Что сделать; каждое действие описано в описании инструмента.
urlstringПубличный https URL изображения или видео (предпочтительно) (upload_media, create_app, update)
base64stringСодержимое файла в base64 (не более 20 МБ), если URL нет (upload_media)
mimeTypestringОбязательно вместе с base64, например image/png (upload_media, create_video_upload)
namestringНазвание в библиотеке (upload_media, create_video_upload, create_app, update)
tagsarrayТеги (заменяют текущие теги) (upload_media, create_video_upload, create_app, update)
ownerScope"facility" | "brand" | "organisation"Кому принадлежит новый контент (по умолчанию facility). Для brand и organisation нужен доступ на уровне всей организации. (upload_media, create_video_upload, create_app)
durationSecnumberВремя показа изображений на экране по умолчанию, в секундах (upload_media, create_app, update)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
bytesintegerРазмер файла в байтах (create_video_upload)
resolution"720" | "1080" | "1440" | "2160" | "original"Максимальный размер, до которого видео преобразуется для экранов (по умолчанию 1080; original сохраняет исходный размер) (create_video_upload, transcode)
contentRefstringmedia#<id>, app#<id> или playlist#<id> из display_library_read list или playlists (transcode, update, delete, refresh_preview)
kind"url" | "agent-app" | "cctv-view"(create_app)
agentAppIdstringПриложения ИИ-агентов: id приложения (create_app)
source"view" | "cameras"Представления видеонаблюдения: view (передайте viewId) или cameras (передайте cameras) (create_app, update)
viewIdstringПредставления видеонаблюдения: id Live View (display_library_read cctv_sources) (create_app, update)
camerasarrayПредставления видеонаблюдения: id камер (display_library_read cctv_sources) (create_app, update)
layout"auto" | "1x1" | "2x1" | "1+2" | "2x2" | "1+5" | "2x3" | "3x3"Представления видеонаблюдения: компоновка плиток (create_app, update)
quality"auto" | "native" | "1080p" | "720p" | "480p" | "360p" | "240p"Представления видеонаблюдения: качество потока (create_app, update)
showNamesbooleanПредставления видеонаблюдения: показывать названия камер на плитках (create_app, update)
validFromstringnullМедиа: дата и время ISO начала воспроизведения; null очищает (update)
validTostringnullМедиа: дата и время ISO окончания воспроизведения; null очищает (update)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_playlists_writeДисплейные экраны

Создаёт, обновляет и удаляет плейлисты Display Screens: упорядоченные циклы медиа и приложений. Изменения доходят до всех экранов, показывающих плейлист, за считаные секунды. Опубликуйте плейлист с помощью display_publish content.contentRef "playlist#".

Действия:

  • save: сохранить плейлист. Создание: name + items (items может быть пустым). Обновление: playlistId + любые из name, items, transition; items заменяет весь список, поэтому отправляйте все элементы по порядку.
  • delete: удалить плейлист. Удаляет плейлист. Блокируется, пока плейлист где-либо опубликован: в ошибке перечислены назначения, которые нужно сначала удалить (display_schedule_write delete). Требуется playlistId. Запрашивает подтверждение.

Параметры

ИмяТипОписание
action*"save" | "delete"Что сделать; каждое действие описано в описании инструмента.
playlistIdstringid существующего плейлиста (pl_…) для обновления
namestringНазвание плейлиста (обязательно при создании) (save)
transition"fade" | "none"(save)
ownerScope"facility" | "brand" | "organisation"Кому принадлежит новый контент (по умолчанию facility). Для brand и organisation нужен доступ на уровне всей организации. (save)
itemsarrayВесь список по порядку (заменяет текущие элементы; сохраните itemId, чтобы оставить элемент). Веб-страницы с frameable: false воспроизводиться не будут. (save)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_publishДисплейные экраны

Выводит контент на Display Screens: медиаэлемент, плейлист, приложение, веб-страницу, приложение ИИ-агента или трансляцию видеонаблюдения в реальном времени — на экраны, группы, объект, его бренд или его организацию.

mode: now (по умолчанию) заменяет то, что цели показывают обычно; scheduled показывает контент только в еженедельных окнах (часовой пояс объекта) и/или между from и to; takeover прерывает всё на durationMin (или до заданного времени), а затем завершается сам (досрочно остановить можно с помощью display_takeover_stop). Экраны определяют, что показывать, по слою (takeover > scheduled > default), а затем по конкретности цели (screen > group > facility > brand > organisation).

Видеонаблюдение: трансляции с камер в реальном времени видны всем, кто находится рядом с экранами. Первый вызов возвращает requiresConfirmation (код CCTV_CONFIRMATION_REQUIRED); спросите пользователя, затем вызовите снова с confirmCctv: true. На объекте должен быть включён параметр "Allow CCTV on display screens".

Опубликованный контент показывают только экраны в режиме player; остальные перечисляются в warnings. Возвращает batchId; display_schedule_write delete с ним отменяет всю публикацию. Если указано несколько экранов, групп или целей, инструмент действует на все сразу за один вызов; прежде чем действовать на многие, уточните у пользователя.

Параметры

ИмяТипОписание
targets*objectКуда выводится контент. Можно сочетать любые из этих вариантов. Работают как id, так и названия групп. Для brand и organisation нужен доступ к Display Screens на уровне всей организации.
content*objectЧто показывать: ровно одно из contentRef, url, agentAppId или cctv.
mode"now" | "default" | "scheduled" | "takeover"`now`/`default` (по умолчанию): заменяет то, что цели показывают обычно. `scheduled`: только в окнах и/или между from и to. `takeover`: прерывает всё на durationMin (или до заданного времени), а затем завершается сам.
windowsarrayЕженедельные окна в часовом поясе объекта. days — дни недели ISO (1 = понедельник … 7 = воскресенье); start/end в формате "HH:MM" (для end допускается "24:00").
fromstringДата и время ISO начала запланированной публикации
tostringДата и время ISO окончания запланированной публикации
durationMinnumberДлительность takeover в минутах (не более 7 дней)
untilstringДата и время ISO окончания takeover (вместо durationMin)
priorityintegerОпределяет приоритет между пересекающимися запланированными элементами (побеждает более высокий)
confirmCctvbooleanЗадавайте только после того, как пользователь явно подтвердил показ видеонаблюдения в реальном времени
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_schedule_readДисплейные экраны

Читает, что опубликовано на Display Screens: для одного экрана — что он показывает в определённый момент и за период (с учётом всех слоёв и целей, от которых он наследует) плюс назначения, которые до него доходят; либо назначения, опубликованные в группу, объект, его бренд или его организацию.

id назначений (as_…) и id пакетов (bt_…) — это то, что обновляет или удаляет display_schedule_write. Время указывается в ISO; окна — в часовом поясе объекта.

Действия:

  • get: получить расписание экрана. Что экран показывает в момент at (по умолчанию сейчас), его временная шкала от from до to (по умолчанию 24 часа) и все назначения, которые до него доходят. Требуется screenId.
  • list_assignments: список назначений. Назначения, опубликованные в группу (groupId) или в объект, его бренд или его организацию (target, по умолчанию facility). Постранично, сначала последние изменения.

Параметры

ИмяТипОписание
action*"get" | "list_assignments"Что сделать; каждое действие описано в описании инструмента.
screenIdstringid экрана (6-символьный код) из display_screens_read list (get)
atstringДата и время ISO, на которые нужно проверить показ (по умолчанию сейчас) (get)
fromstringНачало временной шкалы в ISO (по умолчанию at, иначе сейчас) (get)
tostringКонец временной шкалы в ISO (по умолчанию через 24 часа после from) (get)
includeExpiredbooleanВключить завершившиеся назначения
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
groupIdstringid или название группы экранов из display_screens_read groups (list_assignments)
target"facility" | "brand" | "organisation"Если groupId не указан (по умолчанию facility) (list_assignments)
limitintegerЭлементов на странице (по умолчанию 25, не более 100) (list_assignments)
cursorstringnextCursor с предыдущей страницы (list_assignments)
display_schedule_writeДисплейные экраны

Изменяет то, что опубликовано на Display Screens: редактирует время, приоритет или контент назначения (при необходимости во всей публикации) либо удаляет одно назначение или всю публикацию. id можно найти с помощью display_schedule_read. При удалении контента из расписания он остаётся в библиотеке; чтобы досрочно завершить takeover, сохранив его историю, используйте display_takeover_stop.

Действия:

  • update: обновить назначение. Изменяет время (еженедельные окна, from/to; null очищает дату), приоритет или контент назначения. applyToBatch вносит то же изменение во все цели публикации. Для takeover можно изменить только время окончания. Для контента видеонаблюдения нужен confirmCctv после согласия пользователя. Требуется assignmentId.
  • delete: удалить из расписания. Удаляет одно назначение (assignmentId) или всё из одной публикации (batchId). За считаные секунды экраны возвращаются к тому, что показывали бы в ином случае. Запрашивает подтверждение.

Параметры

ИмяТипОписание
action*"update" | "delete"Что сделать; каждое действие описано в описании инструмента.
assignmentIdstringОдно назначение (as_…) из display_schedule_read
applyToBatchbooleanВнести то же изменение во все цели публикации (update)
windowsarrayЕженедельные окна в часовом поясе объекта. days — дни недели ISO (1 = понедельник … 7 = воскресенье); start/end в формате "HH:MM" (для end допускается "24:00"). (update)
fromstringnullДата и время ISO начала; null очищает (update)
tostringnullДата и время ISO окончания; null очищает (update)
priorityintegerОпределяет приоритет между пересекающимися запланированными элементами (побеждает более высокий) (update)
contentRefstringmedia#<id>, app#<id> или playlist#<id> из display_library_read list или playlists (update)
confirmCctvbooleanЗадавайте только после того, как пользователь явно подтвердил показ видеонаблюдения в реальном времени (update)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
batchIdstringВся публикация (bt_…) из display_publish или display_schedule_read, по всем её целям (delete)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_screen_commandДисплейные экраны

Отправляет команду в реальном времени на Display Screens объекта: reload (экраны player заново загружают расписание), identify (на экране мигают его название и код, чтобы найти его на площадке), displayOn/displayOff (панель телевизора), rebootDevice (перезапускает компьютер экрана, экран пуст 1–2 минуты; требуется confirm: true) или osd (короткое сообщение на экране; передайте message).

Выберите экраны с помощью screenIds и/или groupIds (все экраны этих групп на объекте) или allScreens: true для всех экранов объекта (тогда displayOn/displayOff действуют и на экраны templated content). Возвращает результаты по каждому экрану. Если указано несколько экранов, групп или целей, инструмент действует на все сразу за один вызов; прежде чем действовать на многие, уточните у пользователя.

Параметры

ИмяТипОписание
screenIdsarrayid экранов (6-символьные коды) из display_screens_read list. Не указывайте при использовании allScreens.
groupIdsarrayid или названия групп экранов: все экраны этих групп на объекте
allScreensbooleanВсе экраны на объекте, включая экраны templated content
command*"reload" | "identify" | "displayOn" | "displayOff" | "rebootDevice" | "osd"Что сделать (для rebootDevice нужен confirm)
messagestringТекст для osd
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_screens_readДисплейные экраны

Читает Display Screens объекта: список экранов с их статусом и тем, что показывается сейчас и далее (фильтр по группе, статусу или режиму отображения), полные сведения и временная шкала одного экрана или список групп экранов с их экранами.

Режим отображения показывается пользователям как "Data Source": player — это "User managed content", program-builder — "Templated content" (никогда не называйте его пользователям прежним названием), url — "Full-page website (Kiosk Mode)". Время указывается в ISO; возвращается часовой пояс объекта.

Действия:

  • list: список экранов. Экраны объекта (постранично), каждый со статусом, последним сигналом heartbeat, группами, тегами и тем, что показывается сейчас и далее. Также возвращает группы.
  • get: получить экран. Полные сведения об одном экране (статус, heartbeat, версия плеера, недавние ошибки) и, для экранов player, что он показывает за период времени (по умолчанию следующие 24 часа, не более 14 дней). Требуется screenId.
  • groups: список групп экранов. Группы экранов объекта (постранично), каждая со своими экранами.

Параметры

ИмяТипОписание
action*"list" | "get" | "groups"Что сделать; каждое действие описано в описании инструмента.
groupIdstringТолько экраны в этой группе (id или название) (list)
status"playing" | "provisioning" | "display-off" | "not-responding" | "offline" | "online"(list)
mode"player" | "program-builder" | "url"(list)
limitintegerЭлементов на странице (по умолчанию 25, не более 100) (list, groups)
cursorstringnextCursor с предыдущей страницы (list, groups)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
screenIdstringid экрана (6-символьный код) из display_screens_read list (get)
fromstringНачало временной шкалы в ISO (по умолчанию сейчас) (get)
tostringКонец временной шкалы в ISO (по умолчанию через 24 часа после from) (get)
display_screens_writeДисплейные экраныУправление устройствами

Изменяет Display Screens: подключает новый экран по коду сопряжения; переименовывает экран, задаёт его группы и теги или переключает режим отображения (показывается пользователям как "Data Source"); обновляет токен экрана player; создаёт ссылку предпросмотра экрана или контента с ограниченным сроком действия; или сбрасывает экран до заводских настроек (удаляет его с объекта).

Режимы отображения: player ("User managed content"), url ("Full-page website (Kiosk Mode)", передайте url, только https), program-builder ("Templated content"; никогда не называйте его пользователям прежним названием). Смена режима сразу перезагружает экран и меняет то, что видят посетители, поэтому требует подтверждения пользователя.

Действия:

  • update: обновить экран. Задаёт название экрана, группы (id или названия; заменяют текущие группы), теги (заменяют текущие) и/или режим отображения. При смене режима сначала возвращается requiresConfirmation. Требуется screenId. Может запрашивать подтверждение.
  • rotate_token: обновить токен экрана. Выдаёт новый токен для экрана player и перезагружает его; старый токен перестаёт работать. Используйте, если URL плеера экрана мог утечь. Требуется screenId. Запрашивает подтверждение.
  • create_preview_link: создать ссылку предпросмотра. Ссылка (действует ограниченное время), показывающая, что отображает экран или как выглядит контент, при необходимости на будущий момент. Любой, у кого есть ссылка, может открыть её до истечения срока.
  • reset: сбросить экран до заводских настроек. Удаляет экран с объекта и сбрасывает его до заводских настроек; выключенный экран сбросится, когда снова выйдет в сеть, а затем покажет страницу сопряжения. Передайте confirmName: название экрана точно так, как его ввёл пользователь. Требуется Управление устройствами. Требуются screenId, confirmName. Запрашивает подтверждение.
  • pair: подключить новый экран. Добавляет новый экран на объект по 6-символьному коду на его странице сопряжения, затем перезагружает его. На объектах только с Display Screens экран запускается в режиме player; если есть и templated content, режим выбирается параметром mode (по умолчанию program-builder). Требуется Управление устройствами. Требуются pairingCode, name. Запрашивает подтверждение.

Параметры

ИмяТипОписание
action*"update" | "rotate_token" | "create_preview_link" | "reset" | "pair"Что сделать; каждое действие описано в описании инструмента.
screenIdstringid экрана (6-символьный код) из display_screens_read list (update, rotate_token, create_preview_link, reset)
namestringНазвание экрана (update, pair)
groupIdsarrayid или названия групп; заменяют текущие группы (группы создаются через display_groups_write save) (update)
tagsarrayЗаменяет текущие теги (update)
mode"player" | "program-builder" | "url"Режим отображения ("Data Source") (update, pair)
urlstringСайт для режима url (https) (update)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
contentRefstringmedia#<id>, app#<id> или playlist#<id> из display_library_read list или playlists (create_preview_link)
orientation"landscape" | "portrait"Для предпросмотра contentRef (по умолчанию landscape) (create_preview_link)
atstringДата и время ISO для предпросмотра (по умолчанию сейчас) (create_preview_link)
confirmNamestringНазвание экрана, введённое пользователем для подтверждения (должно совпадать точно) (reset)
pairingCodestringКод, который экран показывает на странице сопряжения (0 и O выглядят похоже) (pair)
contentStreamstringTemplated content: поток (раунд), который воспроизводится, по умолчанию 1 (pair)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_screenshotДисплейные экраны

Делает снимок того, что Display Screen показывает прямо сейчас, и возвращает изображение, чтобы вы могли проверить свою работу после публикации (компоновка, размер текста, ничего не обрезано и не прокручивается). Ждёт ответа экрана до 15 секунд; для экранов не в сети время ожидания истекает. Также возвращает URL портала для JPEG (только для пользователей, выполнивших вход, хранится 10 минут).

На снимках экрана могут быть трансляции видеонаблюдения в реальном времени и люди в кадре; не передавайте их за пределы разговора.

Параметры

ИмяТипОписание
screenId*stringid экрана (6-символьный код) из display_screens_read list
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
display_settings_readДисплейные экраны

Reads Display Screens settings for a facility: the fallback slate, polling and nightly reload, CCTV on screens; the screen power schedule (with the next days' on/off times); automations (brightness, bell volume, check-in power, round timer state); the brand's boot screen, screen defaults and templated content settings; and, with templated content, the scheduled program dates and the templated schedule.

Actions:

  • settings: Get facility display settings. The fallback slate (message, background, logo, facility name), polling interval, nightly reload time and whether CCTV may be shown on screens.
  • power_schedule: Get the power schedule. When screens turn on and off: the saved schedule (or the older automations' equivalent), the facility time zone and the on/off times for the next 7 days.
  • power_schedule_preview: Preview a power schedule. The on/off times a schedule would give over the next 7 days, without saving it. Needs schedule.
  • automations: Get display automations. Automatic brightness (day/night levels and triggers), bell volume levels and schedule (decimal hours, 6.5 = 06:30), check-in power, and the round timer state, for one or several facilities. usesGlobalDefaults is true until the facility saves its own.
  • boot_screen: Get the brand's boot screen. The image the facility's brand shows while screens start up (fit, background, image URLs) and whether you can change it (organisation admins).
  • screen_defaults: Get the brand's screen defaults. The settings a screen starts with when it is paired at one of the brand's facilities (orientation, screen mirroring, session timer, speaker control, duress monitoring, camera restreaming, Wi-Fi support) and whether you can change them (organisation admins). Screens that are already paired keep their own settings; see device_inventory_read for those.
  • templated: Get the brand's templated content settings. What templated content screens and the Schedule show for the facility's brand (source name, workout names, programs and training phases, look-ahead days) and whether you can change it (organisation admins).
  • program_dates: List scheduled program dates. The dates with a workout program, from the start of this month to the brand's look-ahead. Needs templated content (Program Builder) at the facility.
  • templated_schedule: Get the templated schedule. Programs and training phases between two dates (YYYY-MM-DD, at most 62 days), as the brand shows them. Needs templated content (Program Builder) at the facility. Needs from, to.

Параметры

ИмяТипОписание
action*"settings" | "power_schedule" | "power_schedule_preview" | "automations" | "boot_screen" | "screen_defaults" | "templated" | "program_dates" | "templated_schedule"Что сделать; каждое действие описано в описании инструмента.
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
scheduleobjectЭкраны включены в часы присутствия персонала (расширенные на заданные смещения) или в пользовательские еженедельные окна, с правилом для праздников. (power_schedule_preview)
facilityIdsarrayНесколько ID объектов, чтобы выполнить один и тот же запрос для каждого. Используйте вместо facilityId. (automations)
fromstringПервая дата (YYYY-MM-DD) (templated_schedule)
tostringПоследняя дата (YYYY-MM-DD) (templated_schedule)
display_settings_writeДисплейные экраны

Изменяет настройки Display Screens объекта: Fallback Slate, опрос и ночную перезагрузку, а также "Allow CCTV on display screens"; расписание питания экранов; и автоматизации (яркость, громкость звонка, включение при регистрации посетителя). Поля, которые вы не указали, сохраняют текущие значения. Настройки на уровне бренда (экран загрузки, templated content) находятся в display_brand_settings_write.

Действия:

  • save_settings: сохранить настройки отображения объекта. Fallback Slate, показываемый, когда ничего не запланировано, интервал опроса (30–300 с), время ночной перезагрузки (HH:mm) и allowCctv. Для включения allowCctv нужно подтверждение пользователя и администратор объекта с доступом к видеонаблюдению. Может запрашивать подтверждение.
  • save_power_schedule: сохранить расписание питания. Изменяет время включения и выключения экранов; переданные поля объединяются с сохранённым расписанием. Возвращает время включения и выключения на следующие 7 дней. Сначала проверьте с помощью display_settings_read power_schedule_preview. Требуется schedule.
  • save_automations: сохранить автоматизации отображения. Изменяет настройки автоматической яркости, громкости звонка и включения при регистрации посетителя. После этого объект использует собственные настройки вместо глобальных значений по умолчанию.

Параметры

ИмяТипОписание
action*"save_settings" | "save_power_schedule" | "save_automations"Что сделать; каждое действие описано в описании инструмента.
slateobject(save_settings)
pollIntervalSecinteger(save_settings)
nightlyReloadTimestringHH:mm (save_settings)
allowCctvbooleanРазрешить видеонаблюдение на экранах (save_settings)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
scheduleobjectЭкраны включены в часы присутствия персонала (расширенные на заданные смещения) или в пользовательские еженедельные окна, с правилом для праздников. (save_power_schedule)
autoPowerDisplaysbooleanВключение/выключение старой автоматизации питания (её заменяет расписание питания) (save_automations)
minsBeforeOpenDisplayOnintegerСтарая автоматизация питания: минут до открытия (save_automations)
minsAfterCloseDisplayOffintegerСтарая автоматизация питания: минут после закрытия (save_automations)
displaysOnCheckInbooleanВключать экраны, когда кто-то регистрируется (save_automations)
minsLastCheckInDisplayOffintegerВместе с displaysOnCheckIn: через сколько минут после последней регистрации экраны выключаются (save_automations)
enableAutoBrightnessbooleanПереключаться между дневной и ночной яркостью (save_automations)
dayTriggerType"auto" | "staffed" | "custom"Когда начинается дневная яркость (save_automations)
dayTimeStartstringДля dayTriggerType custom: HH:mm (время объекта) (save_automations)
dayOffsetMinutesintegerМинут после рассвета или открытия (save_automations)
dayBrightnessLevelintegerДневная яркость, % (save_automations)
nightTriggerType"auto" | "staffed" | "custom"Когда начинается ночная яркость (save_automations)
nightTimeStartstringДля nightTriggerType custom: HH:mm (время объекта) (save_automations)
nightOffsetMinutesintegerМинут после наступления темноты или до закрытия (save_automations)
nightBrightnessLevelintegerНочная яркость, % (save_automations)
bellMasterLevelintegerОбщая громкость звонка, % (save_automations)
bellClubHoursLevelintegerГромкость звонка в часы присутствия персонала, % (save_automations)
bellExtendedHoursLevelintegerГромкость звонка в расширенные часы, % (save_automations)
enableBellAutoVolumebooleanСледовать расписанию громкости звонка (save_automations)
bellVolumeScheduleobjectЕженедельные блоки громкости звонка по дням недели (mon … sun); заменяют всё расписание (save_automations)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом
display_takeover_stopДисплейные экраны

Немедленно завершает активные takeover на Display Screens: для одной публикации (batchId из display_publish), для целей (по умолчанию: takeover, опубликованные на весь объект) или, с allScreens, все takeover, опубликованные на объект, его экраны или их группы. takeover бренда и организации останавливаются только по batchId. За считаные секунды экраны возвращаются к запланированному контенту или контенту по умолчанию; возвращает количество остановленных. Если указано несколько экранов, групп или целей, инструмент действует на все сразу за один вызов; прежде чем действовать на многие, уточните у пользователя.

Параметры

ИмяТипОписание
batchIdstringПубликация takeover (bt_…) из display_publish
targetsobjectКуда выводится контент. Можно сочетать любые из этих вариантов. Работают как id, так и названия групп. Для brand и organisation нужен доступ к Display Screens на уровне всей организации.
allScreensbooleanВсе takeover, опубликованные на объект, его экраны или их группы
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
display_templated_writeДисплейные экраны

Управляет экранами templated content (режим отображения "Templated content" в display_screens_read): загружает на них программу тренировок на день или управляет таймером раундов. Экраны с User managed content и полностраничным сайтом не затрагиваются.

Действия:

  • load_program: загрузить программу тренировок. Загружает программу тренировок на дату (YYYY-MM-DD, по умолчанию сегодня) из источника данных объекта на все экраны templated content на одном или нескольких объектах; экраны перезагружаются за считаные секунды. Используйте, чтобы показать тренировку на сегодня или другой день, либо если экраны показывают не ту. Для нескольких объектов нужен confirm. Может запрашивать подтверждение.
  • clock: управлять таймером раундов. Запускает, приостанавливает, перезапускает или останавливает таймер раундов на экранах templated content, отключает или включает звуки раундов, задаёт громкость звонка (setvolume с volume 0–100) или запрашивает его состояние. Требуется templated content на объекте. Требуется command.

Параметры

ИмяТипОписание
action*"load_program" | "clock"Что сделать; каждое действие описано в описании инструмента.
facilityIdsarrayНесколько ID объектов, чтобы выполнить один и тот же запрос для каждого. Используйте вместо facilityId. (load_program)
datestringДата тренировки, YYYY-MM-DD (по умолчанию сегодня) (load_program)
facilityIdstringID объекта. Необязателен, если имеется в виду подключённый объект.
command"getstate" | "play" | "pause" | "restart" | "stop" | "mute" | "unmute" | "setvolume"(clock)
volumeintegerДля setvolume: громкость звонка, % (clock)
confirmbooleanЗадавайте только после того, как пользователь подтвердил предпросмотр, возвращённый первым вызовом