Referencia API

API de Campañas

Campañas

Referencia HTTP. Generada a partir del contrato backend. Explore los endpoints abajo o descargue OpenAPI.

Este grupo tiene 10 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.

Campañas

GET/api/campaigns

Listar campañas

Lista las campañas del proyecto en orden de precedencia (como máximo 100), el orden en que las lee la resolución. reserved está presente en cada campaña.

Un llamador limitado a pantallas (docs/screen-scope.md) ve todas las campañas, con editable true solo cuando toda la audiencia está dentro de su alcance (una hoja de etiqueta y la regla raíz de todas las pantallas nunca lo están; una regla all necesita un hijo contenido, una regla any todos los hijos) y el llamador puede cambiar lo que se reproduce.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listCampaigns

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Las campañas del proyecto.CampaignList (application/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)
POST/api/campaigns

Crear campaña

Crea una campaña: cada pantalla de su audience cambia a playlist_id mientras from, until y windows se cumplen en la zona horaria de la pantalla (screenrig.schedule/v1; omita los tres para siempre), y vuelve cuando dejan de cumplirse.

Una pantalla resuelve su lista de reproducción así: primero su takeover, luego la primera campaña que se aplica en orden de precedencia (priority, la más alta primero y después la creada más recientemente), luego su programación de lista de reproducción y, por último, su lista de reproducción predeterminada. Una campaña se aplica solo a una pantalla con lista de reproducción predeterminada; una con from, until o windows necesita la zona horaria de la pantalla.

La lista de reproducción debe existir y estar aprobada (playlist_not_approved). Las pantallas cambian en un minuto; GET /api/campaigns/{id}/screens muestra la situación de cada pantalla. Una organización tiene como máximo 100 campañas en todos sus proyectos (campaign_limit_reached).

Añade campaign.created. reserved true reserva la campaña, y solo lo define una persona que puede aprobar (reserved_item para un agente, un cliente de servicio o cualquier otro), y añade campaign.reserved_changed.

Un llamador limitado a pantallas (docs/screen-scope.md) crea una campaña solo para una audiencia dentro de su alcance (hojas folder y screen_id; ni tag ni la regla de todas las pantallas), de lo contrario outside_screen_scope, y solo como persona que puede aprobar (approver_required).

Una campaña cuya audiencia alcanza una pantalla protegida es una revisión protected_change decidida por un segundo aprobador (202 pending_review) en todos los niveles de acceso. reserved true corresponde a las carpetas protegidas y paused true en una campaña nueva (un borrador) corresponde al control de cambios de la programación, y ambos forman parte del plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402).

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
CampaignWrite
ID de operación
createCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
nombre (requerido, cadena)minLength: 1 maxLength: 120
playlist_id (requerido, cadena)minLength: 1
audience (requerido, CampaignAudience)

Qué pantallas selecciona una campaña: exactamente uno de all (coinciden todas las reglas), any (coincide al menos una), tag (la pantalla lleva la etiqueta), screen_id (esa pantalla) o folder (las pantallas de esa carpeta de pantallas y de cada carpeta que contiene, GET /api/screen-folders; la carpeta debe existir).

Las reglas se anidan hasta 3 niveles como máximo y una audiencia tiene como máximo 500 reglas. {"all": []} es cada pantalla del proyecto; en los demás casos all y any listan al menos una regla.

from (opcional, string)patrón: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
until (opcional, string)Posterior a from. patrón: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
windows (opcional, array)
monthly (opcional, arreglo)
dates (opcional, arreglo)
except (opcional, arreglo)Fechas civiles, almacenadas en orden ascendente y una sola vez cada una. Una excepción elimina todas las repeticiones que empiezan en su fecha, incluidas las colas nocturnas; cae entre from y until.
data (opcional, PageDataCondition)

Un predicado de datos de tarjeta, evaluado antes de la hora civil. Los datos faltantes o caducados nunca coinciden. La página también respeta sus límites de tiempo ordinarios. Requiere la capacidad host page.conditions; los hosts más antiguos reciben la página deshabilitada.

interaction (opcional, LevelInteraction)

El nivel rige mientras alguien usa la pantalla: desde un toque, clic o tecla hasta que pasan idle_s segundos sin entrada. Uso típico: una página interactiva sobre un bucle de atracción. idle_s se almacena y se devuelve (60 si se omite).

covers (opcional, cadena)

Dónde se reproduce el nivel: la página completa (default, se almacena ausente) o main, la propia página, para una lista de reproducción ordinaria; header, footer o side, una franja dibujada sobre la página, solo para una lista de reproducción de región de esa región (PlaylistRegionFormat). Una lista de reproducción de región se rechaza con full o main, y una franja necesita una lista de reproducción de región dispuesta en un monitor de destino.

Permitido: "full", "main", "header", "footer", "side"

displays (opcional, arreglo)Las salidas de un muro de video en las que se reproduce; si está ausente, se reproduce en todas las salidas.
start (opcional, cadena)on_time cambia en el borde, interrumpiendo el elemento actual; next_item (predeterminado, se almacena ausente) espera a que termine. Permitido: "next_item", "on_time"
priority (opcional, integer)predeterminado: 0 mínimo: 0 máximo: 100
paused (opcional, boolean)predeterminado: false
reserved (opcional, booleano)Solo una persona que puede aprobar reserva una campaña (de lo contrario reserved_item). default: false
Plantilla y respuestas de solicitud
shell · plantilla 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/campaigns'

Respuestas

EstadoSignificadoCuerpo y encabezados
201Creado.Campaign (application/json); encabezados: ETag
400invalid_request, incluida una regla de audiencia, una ventana o un playlist_id que el proyecto no tiene.Problema (application/problem+json)
402

feature_not_in_plan — Las carpetas protegidas y el control de cambios de la programación forman parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. Una campaña que bloquea una lista de reproducción en el monitor 2 o posteriores de un muro de video (displays) forma parte de Plus. El problema nombra la función, el plan del proyecto y required_plan.

Problema (application/problem+json)
409campaign_limit_reached, playlist_not_approved o idempotency_mismatch.Problema (application/problem+json)
202

La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url.

Una repetición de Idempotency-Key responde con el mismo cuerpo.

ReviewPending (application/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)
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)
POST/api/campaigns/preview

Vista previa de campaña

Qué cambiaría una escritura de campaña, sin realizarla. Con id, body es el cuerpo PATCH de esa campaña; sin él, es el cuerpo POST de una nueva. El cuerpo se comprueba como lo comprueba la escritura (una regla de audiencia, una ventana, una lista de reproducción no aprobada, una carpeta de pantallas que el proyecto no tiene).

La respuesta lista las pantallas que ganarían la campaña en su pila y las que la perderían (count y los primeros 500 ids de pantalla), y el calendario de programación de las pantallas de la audiencia anterior y de la nueva tal como está (before) y como quedaría (after) de from a to (por defecto: una semana desde ahora; como máximo 93 días), agrupado como lo agrupa GET /api/schedule/calendar.

Una campaña pausada no está en ninguna pila, así que publicar una gana su audiencia; una edición que mantiene la campaña en la pila de una pantalla no gana ni pierde nada y aparece en los calendarios. Acceso de lectura: no se escribe nada.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
CampaignPreviewRequest
ID de operación
previewCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.

Campos del cuerpo de la solicitud

CampoDescripción
id (opcional, cadena)La campaña sobre la que se previsualiza un cuerpo PATCH; omítalo para previsualizar una creación.
body (requerido, objeto)Un CampaignPatch con id, un CampaignWrite sin él.
from (opcional, string)Inicio de los calendarios; por defecto ahora. formato: "date-time"
to (opcional, cadena)Fin de los calendarios; por defecto una semana después de from, como máximo 93 días después. formato: "date-time"
Plantilla y respuestas de solicitud
shell · plantilla 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/campaigns/preview'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La vista previa.SchedulePreview (application/json)
400

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)
404

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)
409

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)
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)
GET/api/campaigns/{id}

Obtener campaña

Una campaña. reserved siempre está presente; editable está presente para un llamador limitado a pantallas (véase listCampaigns).

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
getCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Una campaña.Campaign (application/json); encabezados: ETag
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)
PATCH/api/campaigns/{id}

Actualizar campaña

Cambia los miembros que establece el cuerpo; null borra from, until o windows. paused true detiene la campaña en todas las pantallas y false la reanuda. Una campaña pausada es un borrador: no está en la pila de ninguna pantalla, y una escritura que la deja pausada no vuelve a resolver ninguna pantalla.

Publicarla para una prueba es este PATCH con paused false y una audiencia que es una carpeta de prueba o unas pocas pantallas; POST /api/campaigns/{id}/promote copia entonces esa audiencia a la real. Cada pantalla de la audiencia anterior y de la nueva vuelve a resolverse dentro de un minuto. Agrega campaign.updated. If-Match protege la revisión.

Cada escritura se guarda en el historial de la campaña (GET /api/campaigns/{id}/revisions). campaign.updated. If-Match protege la revisión. reserved establece o quita la marca de reservada (una campaña reservada solo la cambia, la pausa o deja de reservarla una persona que pueda aprobar: reserved_item en caso contrario); un cambio de valor agrega campaign.reserved_changed.

Un llamador limitado a pantallas (docs/screen-scope.md) cambia una campaña solo cuando su audiencia guardada y la nueva están dentro de su alcance (outside_screen_scope; de lo contrario, le es de solo lectura).

Una campaña que alcanza una pantalla protegida es una revisión protected_change decidida por un segundo aprobador (202 pending_review). reserved true en una campaña que no está reservada corresponde a las carpetas protegidas, que incluye el plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402).

Pausar o reanudar una campaña, y editar o liberar una reservada, están abiertos en todos los planes.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
CampaignPatch
ID de operación
updateCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
If-MatchencabezadoopcionalRevisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict.
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
nombre (opcional, cadena)minLength: 1 maxLength: 120
playlist_id (opcional, cadena)minLength: 1
audience (opcional, CampaignAudience)

Qué pantallas selecciona una campaña: exactamente uno de all (coinciden todas las reglas), any (coincide al menos una), tag (la pantalla lleva la etiqueta), screen_id (esa pantalla) o folder (las pantallas de esa carpeta de pantallas y de cada carpeta que contiene, GET /api/screen-folders; la carpeta debe existir).

Las reglas se anidan hasta 3 niveles como máximo y una audiencia tiene como máximo 500 reglas. {"all": []} es cada pantalla del proyecto; en los demás casos all y any listan al menos una regla.

from (opcional, en línea)null lo borra.
hasta (opcional, en línea)null lo borra.
windows (opcional, en línea)null los borra.
monthly (opcional, en línea)null los borra.
dates (opcional, en línea)null los borra.
except (opcional, en línea)null los borra.
data (opcional, en línea)null lo borra.
interaction (opcional, en línea)null lo borra.
covers (opcional, en línea)null es la página completa. header, footer y side necesitan una lista de reproducción de región de esa región (PlaylistRegionFormat).
displays (opcional, en línea)null se reproduce en todas las salidas.
start (opcional, en línea)null es next_item.
priority (opcional, integer)mínimo: 0 máximo: 100
paused (opcional, boolean)
reserved (opcional, booleano)Solo una persona que puede aprobar reserva o libera una campaña (de lo contrario, reserved_item).
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request PATCH --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/campaigns/RESOURCE_ID'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La campaña actualizada.Campaign (application/json); encabezados: ETag
402

feature_not_in_plan — Las carpetas protegidas forman parte del plan Enterprise; el problema nombra la función, el plan que tiene la cuenta y required_plan. Establecer displays distintos de los propios de la campaña forma parte de Plus; null lo borra en todos los planes. El problema nombra la función, el plan del proyecto y required_plan.

Problema (application/problem+json)
409playlist_not_approved o idempotency_mismatch.Problema (application/problem+json)
412revision_conflict.Problema (application/problem+json)
202

La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url.

Una repetición de Idempotency-Key responde con el mismo cuerpo.

ReviewPending (application/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)
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)
ELIMINAR/api/campaigns/{id}

Eliminar campaña

Elimina la campaña y su historial de revisiones. Cada pantalla que la muestra vuelve a lo que mostraría sin ella dentro de un minuto. Agrega campaign.deleted. If-Match protege la revisión. Una campaña reservada solo la elimina una persona que pueda aprobar (reserved_item).

Un llamador limitado a pantallas (docs/screen-scope.md) elimina una campaña solo cuando su audiencia está dentro de su alcance (outside_screen_scope). Una campaña que alcanza una pantalla protegida es una revisión protected_change decidida por un segundo aprobador (202 pending_review).

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
deleteCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
If-MatchencabezadoopcionalRevisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict.
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Respuestas

EstadoSignificadoCuerpo y encabezados
204Eliminado.sin cuerpo
412revision_conflict.Problema (application/problem+json)
202

La escritura se convirtió en una revisión y espera la aprobación de una persona (docs/reviews.md), con acceso Proponer, o con cualquier nivel de acceso cuando alcanza una pantalla de una carpeta de pantallas protegida, donde la decide un segundo aprobador (docs/screen-scope.md). Una persona aprueba, rechaza o solicita cambios en el panel, en review.url.

Una repetición de Idempotency-Key responde con el mismo cuerpo.

ReviewPending (application/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)
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)
GET/api/campaigns/{id}/revisions

Listar revisiones de campaña

Las revisiones de la campaña, de la más reciente a la más antigua: la campaña tal como se almacenó después de cada escritura de una persona, un agente o una importación de programación (una creación, una actualización, una promoción, una restauración), con el tipo de cambio y quién lo hizo.

El historial comienza con la revisión que tenía una campaña cuando se registró por primera vez el historial de revisiones: hasta su siguiente escritura la lista contiene solo esa revisión, con change baseline. Una campaña cuyo historial no contiene ninguna revisión con paused false es un borrador. Las revisiones se conservan mientras exista la campaña y desaparecen con ella.

Como máximo 50 por página; next_cursor mientras queden más, null en la última página.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listCampaignRevisions

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
despuésconsultaopcionalnext_cursor de la página anterior de la misma lista, con los mismos filtros. Omitido comienza en la fila más reciente. Un valor que no sea tal cursor es invalid_request.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/revisions'

Respuestas

EstadoSignificadoCuerpo y encabezados
200Las revisiones de la campaña, de la más reciente a la más antigua.CampaignRevisionList (application/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)
POST/api/campaigns/{id}/revisions/{revision}/restore

Restaurar revisión de campaña

Vuelve a hacer actual una revisión anterior copiándola hacia adelante mediante la misma escritura que PATCH: su name, playlist, audience, rule, placement, priority y paused pasan a ser una nueva revisión (change restored, restored_from la revisión copiada), comprobada como se comprueba una actualización (su lista de reproducción debe seguir existiendo y estar aprobada), y cada pantalla de la audiencia anterior y de la nueva vuelve a resolverse, salvo que la campaña estuviera pausada y siga pausada.

Las revisiones anteriores se conservan tal como estaban. If-Match es obligatorio y nombra la revisión actual (invalid_request si falta, revision_conflict si está obsoleta). Una revisión cuyo contenido es el contenido actual no cambia nada y responde con la campaña actual. El mismo acceso que PATCH.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
restoreCampaignRevision

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
revisiónrutarequeridoUna revisión del registro, tal como la numera su lista de revisiones.
If-MatchencabezadoopcionalRevisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict.
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/revisions/REVISION/restore'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La campaña con la revisión copiada como actual; el ETag lleva su revisión.Campaign (application/json); encabezados: ETag
404

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)
409

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)
412

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)
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)
POST/api/campaigns/{id}/promote

Promover campaña

Publica una prueba. Una publicación de prueba es un PATCH de un borrador con paused false y una audiencia que es una carpeta de prueba o unas pocas pantallas; promote copia entonces la audiencia de revision (la revisión pausada del propio borrador) a la campaña en una sola escritura (change promoted, restored_from la revisión copiada) y cada pantalla de la audiencia anterior y de la nueva vuelve a resolverse.

Se rechaza (invalid_request, nombrando revision) cuando esa revisión no estaba pausada, pues no es un borrador, y cuando la campaña está pausada ahora, pues no hay ninguna prueba que promover. If-Match es obligatorio y nombra la revisión actual. Una revisión cuya audiencia es la actual no cambia nada. El mismo acceso que PATCH.

Promover corresponde al control de cambios de la programación, que incluye el plan Enterprise; un proyecto cuyo plan no lo incluye se rechaza con feature_not_in_plan (402). El historial de revisiones, la restauración y las vistas previas están abiertos en todos los planes.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
CampaignPromote
ID de operación
promoteCampaign

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
If-MatchencabezadoopcionalRevisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict.
Idempotency-KeyencabezadoopcionalOmitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente.

Campos del cuerpo de la solicitud

CampoDescripción
revisión (requerida, entero)La revisión (pausada) del borrador cuya audiencia toma la campaña. mínimo: 1
Plantilla y respuestas de solicitud
shell · plantilla 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/campaigns/RESOURCE_ID/promote'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La campaña con la audiencia del borrador; el ETag lleva su revisión.Campaign (application/json); encabezados: ETag
402feature_not_in_plan — El control de cambios de la 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)
404

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)
409

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)
412

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)
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)
GET/api/campaigns/{id}/screens

Listar pantallas de campaña

El alcance de la campaña. counts cubre todas las pantallas activas de su audience (audience, luego un conteo por estado); items es una página de esas pantallas en orden de id de pantalla con el estado de la campaña en cada una (véase CampaignStatus).

Un llamador limitado a pantallas (docs/screen-scope.md) ve y cuenta solo las pantallas de la audiencia que están dentro de su alcance; los recuentos y la paginación abarcan ese conjunto.

Autenticación
projectBearer O dashboardSession
Cuerpo de la solicitud
ninguno
ID de operación
listCampaignScreens

Parámetros

NombreEnviar¿Requerido?Descripción
ScreenRig-ProjectencabezadoopcionalObsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token.
idrutarequerido
límiteconsultaopcional
cursorconsultaopcionalnext_cursor de la página anterior.
Plantilla y respuestas de solicitud
shell · plantilla de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/screens'

Respuestas

EstadoSignificadoCuerpo y encabezados
200La audiencia y el estado de la campaña.CampaignScreens (application/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)