Riferimento API

API Campagne

Campagne

Riferimento HTTP. Generato dal contratto backend. Esplora gli endpoint qui sotto o scarica OpenAPI.

Questo gruppo ha 10 operazioni, generate da api/openapi.yaml. Filtra per percorso, azione o autenticazione. Ogni endpoint elenca i suoi input; espandilo per vedere un modello di richiesta e i codici di risposta. I modelli richiedono i tuoi valori e un corpo valido secondo lo schema.

Sostituisci i segnaposto maiuscoli con i tuoi valori. Per una richiesta JSON, salva un corpo che corrisponde allo schema in request.json. Gli esempi di cookie usano un cookie jar locale da una sessione autenticata.

Campagne

GET/api/campaigns

Elenca campagne

Elenca le campagne del progetto in ordine di precedenza (al massimo 100), l’ordine in cui la risoluzione le legge. reserved è presente su ogni campagna.

Un chiamante limitato agli schermi (docs/screen-scope.md) vede ogni campagna, con editable true solo quando l’intero pubblico è dentro il suo ambito (una foglia tag e la regola radice per ogni schermo non lo sono mai; una regola all richiede un figlio contenuto, una regola any ogni figlio) e il chiamante può cambiare ciò che viene riprodotto.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listCampaigns

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns'

Risposte

StatoSignificatoCorpo e intestazioni
200Le campagne del progetto.CampaignList (application/json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
POST/api/campaigns

Crea campagna

Crea una campagna: ogni schermo nel suo audience passa a playlist_id finché from, until e windows valgono nel fuso orario dello schermo (screenrig.schedule/v1; ometti tutti e tre per sempre), e torna indietro quando smettono di valere.

Uno schermo risolve la sua playlist come takeover, poi la prima campagna che si applica in ordine di precedenza (priority, prima la più alta, poi la più recente), poi il suo programma playlist, poi la sua playlist predefinita. Una campagna si applica solo a uno schermo con una playlist predefinita; una con from, until o windows richiede il fuso orario dello schermo.

La playlist deve esistere ed essere approvata (playlist_not_approved). Gli schermi cambiano entro un minuto; GET /api/campaigns/{id}/screens mostra la situazione di ogni schermo. Un’organizzazione ha al massimo 100 campagne in tutti i suoi progetti (campaign_limit_reached).

Aggiunge campaign.created. reserved true riserva la campagna, e solo una persona che può approvare lo imposta (reserved_item per un agente, un client di servizio o chiunque altro), aggiungendo campaign.reserved_changed.

Un chiamante limitato agli schermi (docs/screen-scope.md) crea una campagna solo per un pubblico dentro il suo ambito (foglie folder e screen_id; nessun tag, nessuna regola per ogni schermo), altrimenti outside_screen_scope, e solo come persona che può approvare (approver_required).

Una campagna il cui pubblico raggiunge uno schermo protetto è una revisione protected_change decisa da un secondo approvatore (202 pending_review) a ogni livello di accesso. reserved true rientra nelle cartelle protette e paused true su una nuova campagna (una bozza) nel controllo delle modifiche alla programmazione, entrambi parte del piano Enterprise; un progetto il cui piano ne è privo viene rifiutato con feature_not_in_plan (402).

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
CampaignWrite
ID operazione
createCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (obbligatorio, stringa)minLength: 1 maxLength: 120
playlist_id (obbligatorio, stringa)minLength: 1
audience (obbligatorio, CampaignAudience)

Quali schermi una campagna prende di mira: esattamente uno tra all (ogni regola corrisponde), any (almeno una corrisponde), tag (lo schermo ha il tag), screen_id (quello schermo) o folder (gli schermi in quella cartella schermi e in ogni cartella al suo interno, GET /api/screen-folders; la cartella deve esistere).

Le regole si annidano al massimo su 3 livelli e un’audience ha al massimo 500 regole. {"all": []} è ogni schermo del progetto; altrove all e any elencano almeno una regola.

from (opzionale, string)pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
until (opzionale, string)Successivo a from. pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$"
windows (opzionale, array)
monthly (opzionale, array)
dates (opzionale, array)
except (opzionale, array)Date civili, memorizzate in ordine crescente e una sola volta ciascuna. Un’eccezione rimuove ogni occorrenza che inizia nella sua data, code notturne incluse; cade tra from e until.
data (opzionale, PageDataCondition)

Un predicato card-data, valutato prima del tempo civile. Dati mancanti o scaduti non corrispondono mai. La pagina rispetta anche i suoi normali limiti temporali. Richiede la capacità host page.conditions; host più vecchi ricevono la pagina disabilitata.

interaction (opzionale, LevelInteraction)

Il livello è in vigore mentre qualcuno sta usando lo schermo: da un tocco, un clic o un tasto fino a quando trascorrono idle_s secondi senza input. Uso tipico: una pagina interattiva sopra un ciclo di attrazione. idle_s viene memorizzato e restituito (60 se omesso).

covers (opzionale, stringa)

Dove viene riprodotto il livello: la pagina intera (predefinito, memorizzato come assente) o main, la pagina stessa, per una playlist ordinaria; header, footer o side, una fascia disegnata sopra la pagina, solo per una playlist di regione di quella regione (PlaylistRegionFormat). Una playlist di regione viene rifiutata con full o main, e una fascia richiede una playlist di regione disposta su un display di destinazione.

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

displays (opzionale, array)Le uscite di un video wall su cui viene riprodotto; se assente, viene riprodotto su ogni uscita.
start (opzionale, stringa)on_time cambia al limite, interrompendo l’elemento corrente; next_item (predefinito, memorizzato come assente) attende che termini. Consentiti: "next_item", "on_time"
priority (opzionale, integer)predefinito: 0 minimo: 0 massimo: 100
paused (opzionale, boolean)predefinito: false
reserved (opzionale, booleano)Solo una persona che può approvare riserva una campagna (altrimenti reserved_item). predefinito: false
Modello richiesta e risposte
shell · modello richiesta
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'

Risposte

StatoSignificatoCorpo e intestazioni
201Creato.Campaign (application/json); intestazioni: ETag
400invalid_request, incluso una regola di audience, una finestra o un playlist_id che il progetto non ha.Problema (application/problem+json)
402

feature_not_in_plan — Le cartelle protette e il controllo delle modifiche alla programmazione fanno parte del piano Enterprise; il problema indica la funzione, il piano dell’account e required_plan. Una campagna che blocca una playlist sul display 2 o oltre di un video wall (displays) fa parte di Plus. Il problema indica la funzione, il piano del progetto e required_plan.

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

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
403

outside_screen_scope o approver_required come su ScreenScopePlays, oppure reserved_item - una campagna riservata viene modificata, messa in pausa, eliminata o resa non riservata solo da una persona che può approvare le revisioni, mai da un agente o da un client di servizio (docs/screen-scope.md).

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
POST/api/campaigns/preview

Anteprima campagna

Che cosa cambierebbe una scrittura di campagna, senza eseguirla. Con id, body è il corpo PATCH di quella campagna; senza, è il corpo POST di una nuova. Il corpo viene verificato come lo verifica la scrittura (una regola di pubblico, una finestra, una playlist non approvata, una cartella di schermi che il progetto non ha).

La risposta elenca gli schermi che otterrebbero la campagna nel loro stack e quelli che la perderebbero (count e i primi 500 id di schermo), e il calendario di programmazione degli schermi del vecchio e del nuovo pubblico così com’è (before) e come sarebbe (after) da from a to (predefinito: una settimana da adesso; al massimo 93 giorni), raggruppato come lo raggruppa GET /api/schedule/calendar.

Una campagna in pausa non è su nessuno stack, quindi pubblicarne una le fa ottenere il suo pubblico; una modifica che mantiene la campagna sullo stack di uno schermo non guadagna né perde nulla e compare nei calendari. Accesso in lettura: non viene scritto nulla.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
CampaignPreviewRequest
ID operazione
previewCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.

Campi del corpo della richiesta

CampoDescrizione
id (opzionale, stringa)La campagna su cui viene visualizzato in anteprima il corpo di un PATCH; omettilo per l’anteprima di una creazione.
body (obbligatorio, oggetto)Un CampaignPatch con id, un CampaignWrite senza.
from (opzionale, string)Inizio dei calendari; predefinito: adesso. format: "date-time"
to (opzionale, stringa)Fine dei calendari; predefinito: una settimana dopo from, al massimo 93 giorni dopo di esso. format: "date-time"
Modello richiesta e risposte
shell · modello richiesta
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'

Risposte

StatoSignificatoCorpo e intestazioni
200L’anteprima.SchedulePreview (application/json)
400

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
404

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
409

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
GET/api/campaigns/{id}

Ottieni campagna

Una campagna. reserved è sempre presente; editable è presente per un chiamante limitato agli schermi (vedi listCampaigns).

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Una campagna.Campaign (application/json); intestazioni: ETag
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
PATCH/api/campaigns/{id}

Aggiorna campagna

Modifica i membri che il corpo imposta; null azzera from, until o windows. paused true ferma la campagna su ogni schermo e false la riprende. Una campagna in pausa è una bozza: non è sullo stack di nessuno schermo, e una scrittura che la lascia in pausa non rivaluta alcuno schermo.

Pubblicarla per un test è questo PATCH con paused false e un pubblico che è una cartella di test o pochi schermi; POST /api/campaigns/{id}/promote copia poi quel pubblico su quello reale. Ogni schermo del vecchio e del nuovo pubblico viene rivalutato entro un minuto. Aggiunge campaign.updated. If-Match protegge la revisione.

Ogni scrittura viene memorizzata nella cronologia della campagna (GET /api/campaigns/{id}/revisions). campaign.updated. If-Match protegge la revisione. reserved imposta o azzera il flag reserved (una campagna riservata viene modificata, messa in pausa o resa non riservata solo da una persona che può approvare: altrimenti reserved_item); un cambio aggiunge campaign.reserved_changed.

Un chiamante limitato agli schermi (docs/screen-scope.md) modifica una campagna solo quando il suo pubblico memorizzato e quello nuovo sono dentro il suo ambito (outside_screen_scope; altrimenti per lui è di sola lettura).

Una campagna che raggiunge uno schermo protetto è una revisione protected_change decisa da un secondo approvatore (202 pending_review). reserved true su una campagna non riservata rientra nelle cartelle protette, che il piano Enterprise include; un progetto il cui piano ne è privo viene rifiutato con feature_not_in_plan (402).

Mettere in pausa o riprendere una campagna, e modificare o rilasciare una campagna riservata, sono operazioni disponibili in ogni piano.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
CampaignPatch
ID operazione
updateCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (opzionale, stringa)minLength: 1 maxLength: 120
playlist_id (opzionale, stringa)minLength: 1
audience (opzionale, CampaignAudience)

Quali schermi una campagna prende di mira: esattamente uno tra all (ogni regola corrisponde), any (almeno una corrisponde), tag (lo schermo ha il tag), screen_id (quello schermo) o folder (gli schermi in quella cartella schermi e in ogni cartella al suo interno, GET /api/screen-folders; la cartella deve esistere).

Le regole si annidano al massimo su 3 livelli e un’audience ha al massimo 500 regole. {"all": []} è ogni schermo del progetto; altrove all e any elencano almeno una regola.

from (opzionale, in linea)null lo cancella.
fino a (opzionale, inline)null lo cancella.
windows (opzionale, in linea)null li cancella.
monthly (opzionale, inline)null li cancella.
dates (opzionale, inline)null li cancella.
except (opzionale, inline)null li cancella.
data (opzionale, inline)null lo cancella.
interaction (opzionale, inline)null lo cancella.
covers (opzionale, inline)null equivale alla pagina intera. header, footer e side richiedono una playlist di regione di quella regione (PlaylistRegionFormat).
displays (opzionale, inline)null riproduce su ogni uscita.
start (opzionale, inline)null equivale a next_item.
priority (opzionale, integer)minimo: 0 massimo: 100
paused (opzionale, boolean)
reserved (opzionale, booleano)Solo una persona che può approvare riserva o rilascia una campagna (altrimenti reserved_item).
Modello richiesta e risposte
shell · modello richiesta
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'

Risposte

StatoSignificatoCorpo e intestazioni
200La campagna aggiornata.Campaign (application/json); intestazioni: ETag
402

feature_not_in_plan — Le cartelle protette fanno parte del piano Enterprise; il problema indica la funzione, il piano dell’account e required_plan. Impostare displays diverso da quello proprio della campagna fa parte di Plus; null lo cancella in ogni piano. Il problema indica la funzione, il piano del progetto e required_plan.

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

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
403

outside_screen_scope o approver_required come su ScreenScopePlays, oppure reserved_item - una campagna riservata viene modificata, messa in pausa, eliminata o resa non riservata solo da una persona che può approvare le revisioni, mai da un agente o da un client di servizio (docs/screen-scope.md).

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
ELIMINA/api/campaigns/{id}

Elimina campagna

Elimina la campagna e la sua cronologia delle revisioni. Ogni schermo che la mostra torna entro un minuto a ciò che mostrerebbe senza di essa. Aggiunge campaign.deleted. If-Match protegge la revisione. Una campagna riservata viene eliminata solo da una persona che può approvare (reserved_item).

Un chiamante limitato agli schermi (docs/screen-scope.md) elimina una campagna solo quando il suo pubblico è dentro il suo ambito (outside_screen_scope). Una campagna che raggiunge uno schermo protetto è una revisione protected_change (202 pending_review) decisa da un secondo approvatore.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
deleteCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204Eliminato.nessun corpo
412revision_conflict.Problema (application/problem+json)
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
403

outside_screen_scope o approver_required come su ScreenScopePlays, oppure reserved_item - una campagna riservata viene modificata, messa in pausa, eliminata o resa non riservata solo da una persona che può approvare le revisioni, mai da un agente o da un client di servizio (docs/screen-scope.md).

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
GET/api/campaigns/{id}/revisions

Elenca revisioni campagna

Le revisioni della campagna, dalla più recente: la campagna come memorizzata dopo ogni scrittura da parte di una persona, di un agente o di un’importazione di programmazione (una creazione, un aggiornamento, una promozione, un ripristino), con il tipo di modifica e chi l’ha fatta.

La cronologia inizia con la revisione che una campagna aveva quando la cronologia delle revisioni è stata registrata per la prima volta: fino alla sua scrittura successiva l’elenco contiene solo quella revisione, con change baseline. Una campagna la cui cronologia non contiene alcuna revisione con paused false è una bozza. Le revisioni vengono conservate finché esiste la campagna e vanno via con essa.

Al massimo 50 per pagina; next_cursor finché ne restano altre, null nell’ultima pagina.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listCampaignRevisions

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
dopoqueryopzionalenext_cursor della pagina precedente della stessa lista, con gli stessi filtri. Omettere inizia dalla riga più recente. Un valore che non è tale cursore è invalid_request.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/revisions'

Risposte

StatoSignificatoCorpo e intestazioni
200Le revisioni della campagna, dalla più recente.CampaignRevisionList (application/json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
POST/api/campaigns/{id}/revisions/{revision}/restore

Ripristina revisione campagna

Rende di nuovo corrente una revisione precedente copiandola in avanti con la stessa scrittura di PATCH: il suo nome, la playlist, il pubblico, la regola, il posizionamento, la priorità e paused diventano una nuova revisione (change restored, restored_from la revisione copiata), verificata come lo è un aggiornamento (la sua playlist deve ancora esistere ed essere approvata), e ogni schermo del vecchio e del nuovo pubblico viene rivalutato, a meno che la campagna fosse in pausa e resti in pausa.

Le revisioni precedenti restano com’erano. If-Match è obbligatorio e indica la revisione corrente (invalid_request se assente, revision_conflict se obsoleta). Una revisione il cui contenuto è quello corrente non cambia nulla e risponde con la campagna corrente. Lo stesso accesso di PATCH.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
restoreCampaignRevision

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
revisionepathobbligatorioUna revisione del record, come la numera il suo elenco di revisioni.
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
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'

Risposte

StatoSignificatoCorpo e intestazioni
200La campagna con la revisione copiata come corrente; ETag riporta la sua revisione.Campaign (application/json); intestazioni: ETag
404

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
409

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
412

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
POST/api/campaigns/{id}/promote

Promuovi campagna

Pubblica un test. Una pubblicazione di test è un PATCH di una bozza con paused false e un pubblico che è una cartella di test o pochi schermi; promote copia poi il pubblico di revision (la revisione della bozza stessa, in pausa) sulla campagna in un’unica scrittura (change promoted, restored_from la revisione copiata) e ogni schermo del vecchio e del nuovo pubblico viene rivalutato.

Rifiutato (invalid_request, che nomina revision) quando quella revisione non era in pausa, perché non è una bozza, e quando la campagna è ora in pausa, perché non c’è alcun test da promuovere. If-Match è obbligatorio e indica la revisione corrente. Una revisione il cui pubblico è quello corrente non cambia nulla. Lo stesso accesso di PATCH.

Promuovere rientra nel controllo delle modifiche alla programmazione, che il piano Enterprise include; un progetto il cui piano ne è privo viene rifiutato con feature_not_in_plan (402). La cronologia delle revisioni, il ripristino e le anteprime sono disponibili in ogni piano.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
CampaignPromote
ID operazione
promoteCampaign

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
revisione (obbligatoria, intero)La revisione della bozza (in pausa) il cui pubblico viene assunto dalla campagna. minimum: 1
Modello richiesta e risposte
shell · modello richiesta
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'

Risposte

StatoSignificatoCorpo e intestazioni
200La campagna con il pubblico della bozza; ETag riporta la sua revisione.Campaign (application/json); intestazioni: ETag
402feature_not_in_plan — Il controllo delle modifiche alla programmazione fa parte del piano Enterprise; il problema indica la funzione, il piano dell’account e required_plan.Problema (application/problem+json)
404

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
409

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
412

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)
GET/api/campaigns/{id}/screens

Elenca schermi della campagna

La copertura della campagna. counts riguarda ogni schermo live nel suo audience (audience, poi un conteggio per stato); items è una pagina di quegli schermi in ordine di id schermo con lo stato della campagna su ciascuno (vedi CampaignStatus).

Un chiamante limitato agli schermi (docs/screen-scope.md) vede e conta solo gli schermi del pubblico dentro il suo ambito; conteggi e paginazione riguardano quell’insieme.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listCampaignScreens

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
limitequeryopzionale
cursorequeryopzionalenext_cursor della pagina precedente.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/screens'

Risposte

StatoSignificatoCorpo e intestazioni
200Audience e stato della campagna.CampaignScreens (application/json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

Problema (application/problem+json)