Quién está limitado
- Un miembro. El propietario del proyecto limita a un miembro a carpetas de pantallas y pantallas elegidas. El miembro inicia sesión como antes y ve y cambia solo sus propias pantallas.
- Un agente. El propietario limita a un agente de la misma manera. Además, un agente nunca llega más lejos que la persona responsable de él: su alcance es el suyo propio restringido por el de esa persona, de modo que una persona limitada nunca actúa a través de un agente más amplio.
- Nunca limitados. El propietario del proyecto y los clientes de servicio de todo el proyecto.
Un límite es un alcance. Se lee en cada solicitud, nunca se guarda en un token ni en una sesión, así que un cambio se aplica en la siguiente solicitud de la persona sin volver a iniciar sesión. Un llamador sin alcance trabaja en todo el proyecto y no paga nada por la comprobación.
Carpetas y herencia
Las carpetas de pantallas son la jerarquía. Un alcance que nombra una carpeta contiene todas las pantallas de esa carpeta y de cada carpeta que hay dentro, y sigue a la carpeta cuando esta se mueve.
Hotel
Lobby <- the lobby manager's scope holds Lobby and Bar
Bar
Casino Floor <- the floor manager's scope holds Casino Floor
Rooms
- Un alcance contiene hasta 1000 carpetas y 200 pantallas individuales, y al menos una de las dos cosas.
- Una pantalla individual puede estar en cualquier número de alcances, y también una carpeta.
- Los ids deben nombrar carpetas y pantallas vivas del proyecto cuando se escribe el alcance. Una carpeta o pantalla eliminada después deja un id que no concede nada.
- Un miembro que aprueba revisiones se limita a carpetas. Las pantallas individuales son para miembros que no aprueban.
- Una persona está limitada a pantallas o es un usuario de carga, nunca ambas cosas: un usuario de carga está limitado a contenido, un miembro limitado a pantallas.
Definir un alcance
Solo el propietario del proyecto define, cambia o termina un alcance, en el panel.
- Abra la página Acceso del panel.
- En Personas, abra el miembro y use Pantallas. Marque las carpetas, que incluyen todo lo que hay dentro, y añada pantallas individuales si el miembro no aprueba. Guarde.
- Para un agente, ábralo en Agentes y use el mismo control Pantallas.
- Para limitar a una persona antes de que se una, añada el alcance a la invitación.
Quite el alcance en el mismo lugar para dar de nuevo al miembro todo el proyecto.
Definir el alcance de un miembro termina los agentes que esa persona trajo al proyecto, para que nada conserve el alcance más amplio que se les dio antes. Un alcance se rechaza mientras la persona, o un agente que trajo, tenga un cliente de servicio activo del proyecto: revoque cada cliente que nombra el rechazo y defina el alcance de nuevo. Transferir el proyecto a un miembro quita el alcance de ese miembro.
Un miembro invitado con un alcance se une como miembro que no puede aprobar. El propietario activa Puede aprobar para esa persona en la misma página cuando deba decidir revisiones de sus carpetas.
Lo que hace y ve una persona limitada
Dentro del alcance, una persona limitada trabaja como lo hace un miembro del proyecto: en el panel, con la CLI y por la API:
- Pantallas. Lectura, salud, reproducciones, disponibilidad, capturas de pantalla y vista en vivo, comentarios, comandos como reiniciar, borrar la caché, identificar y actualizar, etiquetas, campos, ubicación, nombre, lista de reproducción, programación de lista de reproducción, toma de control, archivado y eliminación.
- Carpetas. Crear, renombrar, mover y eliminar carpetas dentro del alcance, y definir la lista de reproducción predeterminada de una carpeta. La carpeta que nombra un alcance permanece: solo la elimina una persona con un alcance más amplio.
- Movimientos. Una pantalla o carpeta se mueve de un lugar dentro del alcance a otro. El origen y el destino están ambos dentro de él.
- Campañas. Crear, cambiar y eliminar una campaña cuya audiencia completa está dentro del alcance.
- Acciones de flota. Seleccionar pantallas por id o por carpeta dentro del alcance.
- Pantallas nuevas. Una persona limitada que puede aprobar empareja o aprovisiona una pantalla en una carpeta del alcance. La pantalla nueva nombra su carpeta, así que queda dentro del alcance.
- Notas. Leer y escribir las notas sobre sus propias pantallas, sobre listas de reproducción y sobre nada.
El contenido (medios, listas de reproducción, aplicaciones, tarjetas, datos de tarjeta) sigue regido por el rol del miembro, exactamente como para cualquier miembro.
Una persona limitada no accede a ninguna administración del proyecto: se rechazan los miembros, las invitaciones, los clientes de servicio, los inicios de sesión de agentes, los enlaces de flota, la facturación, los ajustes, los webhooks, las notificaciones, las alertas, los activadores, las importaciones de programaciones y los informes de todo el proyecto. Cada uno responde outside_screen_scope.
Una campaña es editable solo dentro del alcance
Una campaña se muestra a todos, y una persona limitada la edita solo cuando toda su audiencia está dentro de su alcance. De lo contrario editable es false y la campaña es de solo lectura para ella.
- Una carpeta o pantalla del alcance está dentro de él.
- Una regla
anyestá dentro cuando todos los hijos lo están. - Una regla
allestá dentro cuando al menos un hijo lo está, porque es una intersección. - Una regla de etiqueta y la regla de todas las pantallas nunca están dentro.
Una persona limitada que no puede aprobar
Un miembro limitado que no puede aprobar revisiones lee todo lo que hay en el alcance y ejecuta comandos, capturas de pantalla y comentarios, y cambia lo que se reproduce solo a través de un aprobador. Asignar una lista de reproducción, programaciones, tomas de control, campañas, carpetas y movimientos responden approver_required para él. Un miembro sin alcance no cambia.
Qué queda fuera del alcance
Las pantallas fuera del alcance se ocultan de toda lista: la lista de pantallas, las pantallas de una carpeta, las pantallas de campañas, el calendario, los eventos y la transmisión en vivo. El árbol de carpetas muestra las carpetas del alcance y las carpetas que están encima, de solo lectura y sin recuento de pantallas, para que el árbol tenga raíz. Sus carpetas hermanas se ocultan.
Una solicitud que nombra una pantalla, carpeta, selector o audiencia fuera del alcance se rechaza por completo y nunca se acota: no se escribe nada. Un id fuera del alcance y un id que no existe reciben la misma respuesta.
{
"status": 403,
"errors": [
{
"code": "outside_screen_scope",
"screen_scope": { "folder_ids": ["sfd_01LOBBY"], "screen_ids": [] },
"hint": "Ask the project owner to widen the scope, or leave this to a member of the whole project."
}
]
}
screen_scope nombra el alcance propio del llamador, para que este sepa qué puede usar. Los registros de reproducción, el calendario y el registro del Player aceptan una pantalla del alcance (el calendario también una carpeta). La tendencia de salud de todo el proyecto y la disponibilidad diaria se rechazan; el historial de salud y la disponibilidad por pantalla están abiertos.
Administración delegada
Dé a un gerente de sede sus carpetas y deje que las dirija:
- El propietario limita al gerente a las carpetas de la sede.
- El propietario activa Puede aprobar para el gerente.
- El gerente asigna listas de reproducción, programaciones y campañas en sus carpetas directamente, y decide las revisiones que proponen los agentes para esas carpetas.
Un aprobador limitado decide solo una revisión cuyo alcance completo está dentro del suyo, y la página Revisiones lista solo esas. Un aprobador limitado no decide ninguna revisión de creatividad publicitaria. Una revisión que alcanza una pantalla fuera del alcance responde outside_screen_scope.
Miembros, invitados y administradores de la organización
Una persona tiene como máximo una organización principal. Las personas cuya organización principal es esa son sus miembros. En un proyecto de cualquier otra organización, una persona es externa, un invitado, y la lista de personas del proyecto la marca. La pertenencia a un proyecto sigue siendo la única vía de acceso a su contenido. GET /api/session informa organization de una persona, y GET /api/members marca a cada invitado con external.
- Convertirse en miembro. Un administrador de la organización invita a una persona por correo electrónico, y al aceptar, esa organización pasa a ser su organización principal en lugar de cualquier otra. Las personas con dirección en un dominio verificado de la organización son miembros, igual que cualquiera a quien gestione el inicio de sesión único o el aprovisionamiento de usuarios. Una persona sin organización principal que crea un proyecto adopta la organización de este como su organización principal. Unirse a un proyecto nunca cambia la organización principal.
- Eliminar a un miembro. Un administrador elimina a un miembro de la organización. Se borra su organización principal y termina el acceso a proyectos que le dio un administrador o una invitación; el acceso que da el aprovisionamiento de usuarios sigue a cargo del aprovisionamiento. Una persona eliminada queda fuera, incluso en un dominio verificado, hasta que reciba una nueva invitación. Se rechaza eliminarla mientras sea propietaria de un proyecto de la organización (
member_owns_projects): transfiéralo antes. Una persona gestionada por el proveedor de identidad de la organización se elimina allí (managed_member), y un administrador se elimina cuando termina su puesto de administrador (organization_admin_member).
Política de invitados
Una organización elige, en Configuración de la organización, a quién admite como invitado en sus proyectos.
| Política | Admite |
|---|---|
| Permitir | Todo invitado. Es el valor predeterminado |
| Dominios | Un invitado cuya dirección de correo electrónico verificada está en uno de hasta 20 dominios listados |
| Ninguno | Ningún invitado |
La política se aplica a las personas cuando se añaden a un proyecto: en una invitación, de nuevo en su aceptación, mediante una vinculación de grupo y cuando un administrador añade a alguien. A los miembros y a los administradores de la propia organización nunca se les rechaza. Un rechazo es guest_not_allowed. Restringir la política no elimina a nadie: la página Personas marca a cada invitado que no admitiría.
Biblioteca
Un administrador de la organización elige un proyecto como Biblioteca de la organización en Configuración de la organización (Premium, Education y Enterprise). Todos los demás proyectos de la organización usan entonces los medios, carpetas y listas de reproducción de la Biblioteca, en solo lectura:
- Coloque sus medios en páginas.
- Reproduzca una carpeta de la Biblioteca con un selector de carpeta. Los selectores de etiqueta y de todos usan solo los medios propios del proyecto.
- Programe sus listas de reproducción e inicie listas de reproducción a partir de sus plantillas.
Solo los miembros de la propia Biblioteca los modifican. Un proyecto con pantallas no puede ser la Biblioteca, y una vez que lo es no se le pueden añadir pantallas (library_no_screens). Los agentes enumeran la Biblioteca con screenrig media list --library, screenrig media folder list --library y screenrig playlist list --library.
Qué hace un administrador de la organización
Un administrador tiene autoridad sobre todos los proyectos de la organización, y lee el contenido de un proyecto solo después de unirse a él.
- Unirse a un proyecto. El administrador se une como aprobador, sin alcance, a cualquier proyecto de la organización, también cuando ya era un miembro limitado. Queda registrado en el registro de auditoría y se envía un correo electrónico al propietario del proyecto. Volver a unirse no cambia nada.
- Cambiar el propietario. El administrador nombra propietario del proyecto a un miembro verificado del proyecto o a otro miembro de la organización, también cuando el propietario se ha ido o está desactivado. Un administrador que se ha unido puede nombrarse a sí mismo propietario. Queda registrado, y se envía un correo electrónico al propietario anterior y al nuevo.
- Eliminar a un miembro del proyecto. El administrador elimina a cualquier miembro que no sea el propietario ni él mismo. Queda registrado.
- En un proyecto del que es miembro, el administrador tiene sobre otras personas los controles de miembros del propietario: eliminar miembros, definir quién puede aprobar, definir los alcances de pantallas y de carga, transferir la propiedad y vincular grupos SCIM.
Carpetas protegidas
Una carpeta protegida es para pantallas en las que ninguna persona sola cambia lo que se reproduce. Una persona que puede aprobar activa Protegida para una carpeta en el panel, y la protección abarca todas las carpetas que contiene. Los agentes y los clientes de servicio nunca protegen una carpeta, y un agente quita la protección solo como propuesta: screenrig screen folder update ID --unprotect se convierte en una revisión que decide un segundo aprobador. Un aprobador limitado protege carpetas dentro de su alcance, no una carpeta que su alcance nombra. Un cambio que alcanza una pantalla de una carpeta protegida se convierte en una revisión que decide un segundo aprobador, con cualquier nivel de acceso, incluido Administrar.
Un agente que asigna una lista de reproducción a una pantalla de una carpeta protegida recibe pending_review y la revisión. La pantalla sigue reproduciendo lo que reproducía hasta que un segundo aprobador decida.
screenrig screen assign scr_01EXAMPLESCREEN000000000 --playlist-id pl_01WELCOME
screenrig reviews list --kind protected_change
screenrig reviews show rvw_01EXAMPLEREVIEW0000000000
Lo que ocurre con un cambio depende del cambio:
- Una revisión. Asignar una lista de reproducción, definir o borrar una programación de lista de reproducción o una toma de control, en una pantalla o en una flota, es una revisión
screen_change. Crear, cambiar o eliminar una campaña cuya audiencia alcanza una pantalla protegida, crear una carpeta dentro de una carpeta protegida, mover, eliminar o definir la lista de reproducción predeterminada de una carpeta que está dentro de una carpeta protegida o que contiene una, mover pantallas o carpetas hacia dentro o fuera de una, y quitar la protección son una revisiónprotected_change. El cambio se aplica en la decisión de aprobación. Un cambio de nombre se aplica de inmediato. - Un rechazo. Las ediciones de etiquetas, campos, ubicación, zona horaria y pared de video, el reemplazo de una pantalla, la eliminación, el archivado, la suspensión, el encendido de la pantalla y su programación, una página de reproducción, un toast, el inventario publicitario, los destinos de activadores y las importaciones de programaciones que alcanzan una pantalla protegida responden
protected_target. Para hacer el cambio, un aprobador quita la protección mediante una revisión, se hace el cambio y la carpeta se vuelve a proteger. Un activador que se difunde deja las pantallas protegidas como están y las cuenta. - Abierto. Reanudar, desarchivar, reiniciar, recargar, identificar, mantenimiento y capturas de pantalla siguen abiertos.
Una revisión espera a una persona distinta del proponente y distinta de la persona responsable del agente o cliente de servicio proponente. La decisión se rechaza con second_approver_required cuando quien decide es la misma persona. Cuando el proyecto tiene un solo aprobador, el rechazo indica que se haga aprobador a otro miembro. Un cambio propuesto antes de que su carpeta fuera protegida se somete a la regla cuando se aprueba. Una revisión que quedó desactualizada mientras esperaba responde review_stale; proponga el cambio de nuevo.
Un proyecto sin carpeta protegida no paga nada por la regla.
Campañas reservadas
Una campaña marcada como Reservada solo la cambia, pausa, elimina o deja de reservar una persona que puede aprobar revisiones: el propietario, o un aprobador cuyo alcance contiene toda la audiencia de la campaña. Una persona activa Reservada en el formulario de la campaña en el panel. Los agentes y los clientes de servicio nunca cambian una campaña reservada, con ningún nivel de acceso, y sus intentos responden reserved_item. Reserve la campaña que lleva la programación fija de una marca, y un gerente o un agente no podrá cambiarla por accidente.
Agentes
Un agente limitado trabaja con la CLI como lo hace un miembro limitado en el panel.
screenrig agent status
screenrig screen list
screenrig screen folder list
screenrig screen pair "$PAIRING_CODE" --folder sfd_01LOBBY --name "Lobby entrance"
screenrig screen assign scr_01EXAMPLESCREEN000000000 --playlist-id pl_01WELCOME
screenrig screen folder update sfd_01LOBBY --unprotect
screenrig campaign show cmp_01EXAMPLECAMPAIGN0000000
agent statusmuestrascreen_scopedel agente yperson_screen_scopede la persona responsable de él.screen listyscreen folder listcontienen solo sus pantallas y carpetas.screen pairacepta--foldery requiere una carpeta del alcance.screen folder update ID --unprotectpropone quitar la protección de una carpeta, enviada sola. Se convierte en una revisión que decide un segundo aprobador.campaign showimprimeeditableyreserved.- Sin proyecto seleccionado,
screen listomite un proyecto donde el agente está limitado. Seleccione el proyecto.
Rechazos y cómo solucionarlos
Cada rechazo nombra el camino de regreso en su hint.
| Problema | Estado | Cuándo | Corregir |
|---|---|---|---|
outside_screen_scope | 403 | La pantalla, carpeta, selector, audiencia o ruta está fuera del alcance del llamador | Use una pantalla o carpeta en screen_scope, o pida al propietario del proyecto que amplíe el alcance |
approver_required | 403 | Un miembro limitado que no puede aprobar cambia lo que se reproduce, o un agente, un cliente de servicio o una persona que no puede aprobar protege una carpeta | Pida a un aprobador que haga el cambio, o pida al propietario que active Puede aprobar |
protected_target | 409 | El cambio alcanza una pantalla de una carpeta protegida y no tiene una vía de revisión | Pida a un aprobador que quite la protección mediante una revisión, haga el cambio y proteja la carpeta de nuevo |
second_approver_required | 403 | La persona que decide una revisión protegida es el proponente o responde por el agente proponente | Pida a otro aprobador, o pida al propietario que deje que otro miembro apruebe revisiones |
reserved_item | 403 | Una campaña reservada la cambia alguien que no puede aprobar, o un agente o un cliente de servicio | Pida a un aprobador que haga el cambio o que quite la marca |
review_stale | 409 | La campaña, carpeta o pantallas contra las que se propuso una revisión protegida cambiaron | Léalos de nuevo y proponga el cambio de nuevo |
resource_conflict | 409 | Se define un alcance para el propietario, para un usuario de carga, para un aprobador con pantallas individuales, o mientras un cliente de servicio de la persona sigue vigente | Siga la pista: termine el otro límite, quite las pantallas individuales o revoque los clientes de servicio nombrados |
guest_not_allowed | 403 | Una invitación, su aceptación o una vinculación de grupo añade un invitado que la política de invitados de la organización no admite | Pida a un administrador de la organización que cambie la política de invitados, o invite una dirección que esta admita |
library_no_screens | 409 | Un proyecto con pantallas se convierte en la Biblioteca, o se añade una pantalla a la Biblioteca | Elija como Biblioteca un proyecto sin pantallas y vincule las pantallas a otro proyecto |
Un cambio protegido que se acepta responde 202 con status: pending_review y la revisión, la misma respuesta que recibe un agente con acceso Proponer. Sígala con screenrig reviews show ID.
Auditoría
Cada cambio es un evento del registro del proyecto, escrito en la transacción que hace el cambio:
| Evento | Cuándo |
|---|---|
project.member_screen_scope_changed | El alcance de un miembro se define, cambia o termina |
agent.screen_scope_changed | El alcance de un agente se define, cambia o termina |
screen.folder_protection_changed | Una carpeta está protegida o no protegida |
campaign.reserved_changed | Una campaña está reservada o no reservada |
Las revisiones escriben los eventos review.* habituales, y la persona que aprueba es el actor de lo que aplica una revisión.
API
Las rutas del propietario usan la sesión del panel.
| Ruta | Qué hace |
|---|---|
PUT y DELETE /api/members/{user_id}/screen-scope | Definir o terminar el alcance de un miembro |
PUT y DELETE /api/agents/{id}/screen-scope | Definir o terminar el alcance de un agente |
PATCH /api/screen-folders/{id} con protected | Proteger una carpeta, enviado solo |
POST /api/campaigns y PATCH /api/campaigns/{id} con reserved | Reservar una campaña |
Las rutas de la organización aceptan la sesión del panel de un administrador. Los agentes y las credenciales portadoras no tienen ninguna.
| Ruta | Qué hace |
|---|---|
POST y GET /api/organizations/{org_id}/member-invitations | Invitar a miembros y listar las invitaciones |
DELETE /api/organizations/{org_id}/members/{user_id} | Eliminar a un miembro |
PUT /api/organizations/{org_id}/guest-policy | Definir la política de invitados |
PUT /api/organizations/{org_id}/library | Establecer o quitar el proyecto Biblioteca |
POST /api/organizations/{org_id}/projects/{project_id}/access | Unirse a un proyecto |
PUT /api/organizations/{org_id}/projects/{project_id}/owner | Cambiar el propietario de un proyecto |
DELETE /api/organizations/{org_id}/projects/{project_id}/members/{user_id} | Eliminar a un miembro del proyecto |
La referencia de la API lista cada solicitud, respuesta y problema. Los problemas están en los tipos de problema.