OpenAPI YAMLOpenAPI JSONproblemas YAMLResumen de la API
Este grupo tiene 3 operaciones, generadas a partir de api/openapi.yaml. Filtre por ruta, acción o autenticación. Cada endpoint indica sus entradas; despliéguelo para ver una plantilla de solicitud y los códigos de respuesta. Las plantillas necesitan sus propios valores y un cuerpo válido según el esquema.
Reemplace los marcadores en mayúsculas con sus valores. Para una solicitud JSON, guarde un cuerpo que coincida con el esquema en request.json. Los ejemplos de cookies usan un frasco de cookies local de una sesión autenticada.
Importación de programación: hojas de filas de programación
Obtener plantilla de importación de programación
Responde con una hoja con las columnas que lee una importación de programación y tres filas de ejemplo (un código de pantalla, una carpeta de pantallas y una etiqueta), como CSV o, con format=xlsx, un libro XLSX.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| formato | consulta | opcional |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/schedule/imports/template'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La hoja de plantilla. | cadena (text/csv), cadena (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Vista previa de importación de programación
Lee una hoja de filas de programación contra el proyecto y responde qué haría confirmarla, sin escribir nada.
Cada fila indica un destino (una pantalla por id, por el valor de un campo de pantalla como un código de sala, o por nombre; folder:NAME; tag:NAME; varios separados por ; o |), el contenido (un nombre de archivo multimedia, o playlist:NAME o un id de lista de reproducción), un inicio y un fin (una fecha sola como fin cierra ese día) y, opcionalmente, timezone, days (Mon-Fri), una ventana diaria (daily_start, daily_end), priority de 0 a 100, un nombre y números de pantalla.
Las horas se leen en el reloj propio de cada pantalla; una columna timezone las convierte desde otra zona.
Cada fila se verifica e informa sus errores por columna: pantalla, carpeta o etiqueta desconocida o ambigua, archivo faltante o ambiguo, un archivo que no puede llenar una pantalla, horas inválidas o invertidas, un fin en el pasado, ninguna indicación de tiempo, una pantalla sin zona horaria o sin lista de reproducción predeterminada, dos filas vigentes a la vez en una pantalla con la misma prioridad, y más niveles de los que admite una pantalla (32), o más campañas de las que admite su organización en todos sus proyectos (100; cada nivel compartido cuenta como una).
Las filas que coinciden en contenido, horas, prioridad y nombre forman un nivel: una pantalla es una entrada de la programación propia de esa pantalla; varias pantallas, una carpeta o una etiqueta son un nivel compartido (una campaña), que prevalece sobre los niveles propios de una pantalla.
La respuesta lista los niveles con lo que hace una confirmación a cada uno (create, update, unchanged), los niveles que una ejecución anterior de la misma importación creó y que la hoja ya no tiene (removals), las pilas de las pantallas tal como quedarían (calendar) y una huella para enviar a la confirmación. La hoja son filas JSON, CSV o XLSX, de como máximo 5,000 filas.
No disponible para un llamador limitado a pantallas (outside_screen_scope). La importación de programación forma parte del plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402). La plantilla está abierta en todos los planes.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| name | consulta | opcional | El nombre de la importación; importar de nuevo con el mismo nombre actualiza los niveles que creó (predeterminado import). Se envía con un cuerpo de archivo. |
| zona horaria | consulta | opcional | La zona IANA en la que se escriben las horas cuando una fila no tiene timezone. Sin una, las horas se leen en el reloj propio de cada pantalla. |
| origen | consulta | opcional | El nombre del archivo, registrado con la importación. |
| code_field | consulta | opcional | Leer un código de pantalla solo de este campo de pantalla (por ejemplo code o room_id); de lo contrario, un código coincide con cualquier campo. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (opcional, cadena) | Identifica la importación; el mismo nombre actualiza los niveles que creó (predeterminado import). minLength: 1 maxLength: 80 |
| source (opcional, cadena) | El archivo del que provienen las filas. maxLength: 200 |
| zona horaria (opcional, cadena) | La zona IANA en la que se escriben las horas cuando una fila no tiene timezone. |
| code_field (opcional, cadena) | Leer un código de pantalla solo de este campo de pantalla. |
| fingerprint (opcional, cadena) | La huella de la vista previa; la confirmación la requiere. |
| rows (obligatorio, arreglo) |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/schedule/imports/preview'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | La vista previa. valid es false mientras alguna fila tenga un error. | ScheduleImportPreview (application/json) |
| 402 | feature_not_in_plan — La importación de programación forma parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. | Problema (application/problem+json) |
| 403 | outside_screen_scope - el llamador está limitado a pantallas y la pantalla, carpeta de pantallas, selector o audiencia que nombra o alcanza la solicitud está fuera de ellas (docs/screen-scope.md). Un id fuera del alcance y un id que no existe reciben la misma respuesta; errors[0].screen_scope lleva el alcance del llamador, y la escritura se rechaza por completo, nunca se acota. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Confirmar importación de programación
Confirma una importación con vista previa: la misma hoja y la huella que respondió su vista previa. Cada nivel se crea, se actualiza o se elimina, las programaciones de las pantallas y los niveles compartidos se escriben en una sola transacción, y se añade el evento de importación schedule.imported: todas las filas se aplican o ninguna.
Primero se crean las listas de reproducción de un solo archivo que necesitan los archivos de la hoja (no cambian nada en ninguna pantalla). Una hoja cuyas filas tienen errores se rechaza (schedule_import_invalid); un proyecto que cambió desde la vista previa, o filas que se leen de otra forma, se rechaza (schedule_import_stale), y el cliente previsualiza de nuevo.
Importar la misma hoja de nuevo con el mismo nombre no cambia nada; una fila modificada actualiza su nivel y una fila eliminada elimina su nivel. Requiere una persona que pueda aprobar en el dashboard y, para un agente, una credencial con acceso de escritura.
Una confirmación que actualizaría o eliminaría una campaña reservada responde reserved_item (403) y no escribe nada, a menos que la confirme una persona que puede aprobar.
Una confirmación que alcanza una pantalla protegida se rechaza por completo con protected_target, también cuando la importación no tiene niveles pero elimina entradas de importación de una pantalla protegida o elimina una campaña de importación cuya audiencia alcanza una.
En un proyecto con carpetas de pantallas protegidas, una confirmación cuya vista previa falla en un servicio, no en la hoja, responde dependency_unavailable y no escribe nada: envíe la misma solicitud de nuevo tras una breve espera. Un error de validación de hoja, campaña o pantalla responde como lo haría la confirmación (invalid_request y los demás problemas de arriba).
No disponible para un llamador limitado a pantallas. La importación de programación forma parte del plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402). La plantilla está abierta en todos los planes.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
| fingerprint | consulta | opcional | La huella de la vista previa, para un cuerpo CSV o XLSX; un cuerpo JSON la lleva como miembro. |
| name | consulta | opcional | El nombre de la importación; importar de nuevo con el mismo nombre actualiza los niveles que creó (predeterminado import). Se envía con un cuerpo de archivo. |
| zona horaria | consulta | opcional | La zona IANA en la que se escriben las horas cuando una fila no tiene timezone. Sin una, las horas se leen en el reloj propio de cada pantalla. |
| origen | consulta | opcional | El nombre del archivo, registrado con la importación. |
| code_field | consulta | opcional | Leer un código de pantalla solo de este campo de pantalla (por ejemplo code o room_id); de lo contrario, un código coincide con cualquier campo. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| nombre (opcional, cadena) | Identifica la importación; el mismo nombre actualiza los niveles que creó (predeterminado import). minLength: 1 maxLength: 80 |
| source (opcional, cadena) | El archivo del que provienen las filas. maxLength: 200 |
| zona horaria (opcional, cadena) | La zona IANA en la que se escriben las horas cuando una fila no tiene timezone. |
| code_field (opcional, cadena) | Leer un código de pantalla solo de este campo de pantalla. |
| fingerprint (opcional, cadena) | La huella de la vista previa; la confirmación la requiere. |
| rows (obligatorio, arreglo) |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/schedule/imports'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Lo que aplicó la confirmación. | ScheduleImportCommitted (application/json) |
| 402 | feature_not_in_plan — La importación de programación forma parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. | Problema (application/problem+json) |
| 403 | outside_screen_scope o approver_required como en ScreenScopePlays, o reserved_item - una campaña reservada solo la cambia, pausa, elimina o deja de reservar una persona que puede aprobar revisiones, nunca un agente ni un cliente de servicio (docs/screen-scope.md). | Problema (application/problem+json) |
| 409 | protected_target - el cambio alcanza una pantalla de una carpeta de pantallas protegida y no tiene una vía de revisión (docs/screen-scope.md). Quite la protección de la carpeta mediante una revisión, haga el cambio y proteja la carpeta de nuevo. | Problema (application/problem+json) |
| 500 | dependency_unavailable - no se pudo ejecutar la comprobación de carpetas de pantallas protegidas; envíe la misma solicitud de nuevo tras una breve espera. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |