OpenAPI YAMLOpenAPI JSONProbleme YAMLAPI-Überblick
Diese Gruppe hat 10 Operationen, generiert aus api/openapi.yaml. Filtern Sie nach Pfad, Aktion oder Authentifizierung. Jeder Endpunkt listet seine Eingaben auf; klappen Sie ihn auf, um eine Anfragevorlage und die Antwortcodes zu sehen. Die Vorlagen brauchen Ihre eigenen Werte und einen schemagültigen Anfragekörper.
Großgeschriebene Platzhalter durch Ihre Werte ersetzen. Für eine JSON-Anfrage speichern Sie einen Body, der dem Schema in request.json entspricht. Cookie-Beispiele verwenden ein lokales Cookie-Archiv aus einer authentifizierten Sitzung.
Kampagnen
Kampagnen auflisten
Listet die Kampagnen des Projekts in Rangfolge auf (höchstens 100), in der Reihenfolge, in der die Auflösung sie liest. reserved ist bei jeder Kampagne vorhanden.
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) sieht jede Kampagne, mit editable true nur dann, wenn die gesamte Zielgruppe innerhalb seines Bereichs liegt (ein Tag-Blatt und die Wurzelregel für jeden Bildschirm sind es nie; eine all-Regel braucht ein enthaltenes Kind, eine any-Regel jedes Kind) und der Aufrufer ändern darf, was abgespielt wird.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Kampagnen des Projekts. | CampaignList (application/json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagne erstellen
Erstellt eine Kampagne: Jeder Bildschirm in ihrer Zielgruppe wechselt zu playlist_id, solange from, until und windows in der Zeitzone des Bildschirms gelten (screenrig.schedule/v1; alle drei weglassen für immer), und wechselt zurück, wenn sie nicht mehr gelten.
Ein Bildschirm ermittelt seine Playlist als seine Übernahme, dann die erste Kampagne, die in der Rangfolge zutrifft (priority, höhere zuerst, dann die zuletzt erstellte), dann seinen Playlist-Zeitplan, dann seine Standard-Playlist. Eine Kampagne gilt nur für einen Bildschirm mit Standard-Playlist; eine mit from, until oder windows braucht die Zeitzone des Bildschirms.
Die Playlist muss existieren und genehmigt sein (playlist_not_approved). Bildschirme wechseln innerhalb einer Minute; GET /api/campaigns/{id}/screens zeigt den Stand jedes Bildschirms. Eine Organisation hat höchstens 100 Kampagnen über alle ihre Projekte (campaign_limit_reached).
Hängt campaign.created an. reserved true reserviert die Kampagne, und nur eine Person, die genehmigen kann, setzt es (reserved_item für einen Agenten, einen Service-Client oder jeden anderen), wobei campaign.reserved_changed angehängt wird.
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) erstellt eine Kampagne nur für eine Zielgruppe innerhalb seines Bereichs (Blätter vom Typ folder und screen_id; kein Tag, nicht alle Bildschirme), sonst outside_screen_scope, und nur als Person, die genehmigen kann (approver_required).
Eine Kampagne, deren Zielgruppe einen geschützten Bildschirm erreicht, ist auf jeder Zugriffsstufe eine protected_change-Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review). reserved true fällt unter die geschützten Ordner und paused true bei einer neuen Kampagne (einem Entwurf) unter die Änderungskontrolle für Zeitpläne, beide Teil des Enterprise-Plans; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | optional | Für einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| Name (erforderlich, Zeichenkette) | minLength: 1 maxLength: 120 |
| playlist_id (erforderlich, Zeichenfolge) | minLength: 1 |
| audience (erforderlich, CampaignAudience) | Welche Bildschirme eine Kampagne anspricht: genau eines von all (jede Regel trifft zu), any (mindestens eine trifft zu), tag (der Bildschirm trägt das Tag), screen_id (dieser Bildschirm) oder folder (die Bildschirme in diesem Bildschirmordner und in jedem darin enthaltenen Ordner, GET /api/screen-folders; der Ordner muss existieren). Regeln verschachteln sich höchstens 3 tief, und eine Zielgruppe hat höchstens 500 Regeln. {"all": []} ist jeder Bildschirm des Projekts; sonst listen all und any mindestens eine Regel auf. |
| from (optional, string) | Muster: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$" |
| until (optional, string) | Später als from. Muster: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T([01][0-9]|2[0-3]):[0-5][0-9]$" |
| windows (optional, array) | |
| monthly (optional, array) | |
| dates (optional, array) | |
| except (optional, array) | Zivile Daten, aufsteigend und jeweils einmal gespeichert. Eine Ausnahme entfernt jedes Vorkommen, das an ihrem Datum beginnt, einschließlich überlappender Nachtabschnitte; sie liegt zwischen from und until. |
| data (optional, PageDataCondition) | Ein card-data-Prädikat, ausgewertet vor der zivilen Zeit. Fehlende oder abgelaufene Daten stimmen nie überein. Die Seite respektiert auch ihre gewöhnlichen Zeitgrenzen. Erfordert die Host-Fähigkeit page.conditions; ältere Hosts erhalten die deaktivierte Seite. |
| interaction (optional, LevelInteraction) | Die Ebene gilt, solange jemand den Bildschirm nutzt: ab einer Berührung, einem Klick oder einer Taste, bis idle_s Sekunden ohne Eingabe vergehen. Typische Verwendung: eine interaktive Seite über einer Attract-Schleife. idle_s wird gespeichert und zurückgegeben (60, wenn ausgelassen). |
| covers (optional, string) | Wo die Ebene läuft: die ganze Seite (default, gespeichert fehlend) oder main, die Seite selbst, für eine gewöhnliche Playlist; header, footer oder side, ein über die Seite gezeichneter Streifen, nur für eine Regions-Playlist dieser Region (PlaylistRegionFormat). Eine Regions-Playlist wird mit full oder main abgelehnt, und ein Streifen braucht eine Regions-Playlist, die auf einem anvisierten Display angeordnet ist. Erlaubt: "full", "main", "header", "footer", "side" |
| displays (optional, array) | Die Ausgänge einer Videowand, auf denen sie spielt; fehlt der Wert, spielt sie auf jedem Ausgang. |
| start (optional, string) | on_time wechselt an der Grenze und unterbricht das aktuelle Element; next_item (Standard, gespeichert als fehlend) wartet, bis es endet. Erlaubt: "next_item", "on_time" |
| priority (optional, integer) | Standard: 0 Minimum: 0 Maximum: 100 |
| paused (optional, boolean) | Standard: false |
| reserved (optional, Boolean) | Nur eine Person, die genehmigen kann, reserviert eine Kampagne (sonst reserved_item). default: false |
Anfragevorlage und Antworten
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'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Erstellt. | Kampagne (application/json); Header: ETag |
| 400 | invalid_request, einschließlich einer Zielgruppenregel, eines Fensters oder einer playlist_id, die das Projekt nicht hat. | Problem (application/problem+json) |
| 402 | feature_not_in_plan — Geschützte Ordner und die Änderungskontrolle für Zeitpläne sind Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan. Eine Kampagne, die eine Playlist auf Display 2 oder höher einer Videowand (displays) festlegt, ist Teil von Plus. Das Problem nennt die Funktion, den Plan des Projekts und required_plan. | Problem (application/problem+json) |
| 409 | campaign_limit_reached, playlist_not_approved oder idempotency_mismatch. | Problem (application/problem+json) |
| 202 | Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an. Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body. | ReviewPending (application/json) |
| 403 | outside_screen_scope oder approver_required wie bei ScreenScopePlays oder reserved_item - eine reservierte Kampagne wird nur von einer Person geändert, pausiert, gelöscht oder auf nicht reserviert gesetzt, die Überprüfungen genehmigen kann, nie von einem Agenten oder Service-Client (docs/screen-scope.md). | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Vorschau der Kampagne
Was ein Schreibvorgang an einer Kampagne ändern würde, ohne ihn auszuführen. Mit id ist body der PATCH-Body dieser Kampagne; ohne id ist er der POST-Body einer neuen. Der Body wird so geprüft, wie der Schreibvorgang ihn prüft (eine Zielgruppenregel, ein Zeitfenster, eine nicht genehmigte Playlist, ein Bildschirmordner, den das Projekt nicht hat).
Die Antwort listet die Bildschirme auf, die die Kampagne auf ihrem Stack gewinnen würden, und die, die sie verlieren würden (count und die ersten 500 Bildschirm-IDs), sowie den Zeitplankalender der Bildschirme der alten und der neuen Zielgruppe, wie er ist (before) und wie er wäre (after), von from bis to (Standard: eine Woche ab jetzt; höchstens 93 Tage), gruppiert, wie GET /api/schedule/calendar gruppiert.
Eine pausierte Kampagne liegt auf keinem Stack, daher kommt beim Veröffentlichen einer solchen ihre Zielgruppe hinzu; eine Änderung, bei der die Kampagne auf dem Stack eines Bildschirms bleibt, lässt nichts hinzukommen oder wegfallen und erscheint in den Kalendern. Lesezugriff: Es wird nichts geschrieben.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| id (optional, Zeichenfolge) | Die Kampagne, auf der ein PATCH-Body in der Vorschau gezeigt wird; auslassen, um eine Erstellung in der Vorschau zu zeigen. |
| body (erforderlich, Objekt) | Ein CampaignPatch mit id, ein CampaignWrite ohne. |
| from (optional, string) | Beginn der Kalender; Standard ist jetzt. format: "date-time" |
| to (optional, Zeichenfolge) | Ende der Kalender; Standard ist eine Woche nach from, höchstens 93 Tage danach. format: "date-time" |
Anfragevorlage und Antworten
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'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Vorschau. | SchedulePreview (application/json) |
| 400 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 404 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 409 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagne abrufen
Eine Kampagne. reserved ist immer vorhanden; editable ist bei einem auf Bildschirme beschränkten Aufrufer vorhanden (siehe listCampaigns).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine Kampagne. | Kampagne (application/json); Header: ETag |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagne aktualisieren
Ändert die Mitglieder, die der Body setzt; null löscht from, until oder windows. paused true stoppt die Kampagne auf jedem Bildschirm, und false setzt sie fort. Eine pausierte Kampagne ist ein Entwurf: Sie liegt auf dem Stack keines Bildschirms, und ein Schreibvorgang, der sie pausiert lässt, löst keinen Bildschirm neu auf.
Das Veröffentlichen für einen Test ist dieser PATCH mit paused false und einer Zielgruppe, die ein Testordner oder einige Bildschirme ist; POST /api/campaigns/{id}/promote kopiert diese Zielgruppe dann auf die echte. Jeder Bildschirm der alten und der neuen Zielgruppe wird innerhalb einer Minute neu aufgelöst. Fügt campaign.updated hinzu. If-Match schützt die Revision.
Jeder Schreibvorgang wird im Verlauf der Kampagne gespeichert (GET /api/campaigns/{id}/revisions). campaign.updated. If-Match schützt die Revision. reserved setzt oder löscht das Flag reserved (eine reservierte Kampagne ändert, pausiert oder hebt nur eine Person auf, die genehmigen kann: sonst reserved_item); ein Wechsel fügt campaign.reserved_changed hinzu.
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) ändert eine Kampagne nur, wenn ihre gespeicherte und die neue Zielgruppe innerhalb seines Bereichs liegen (outside_screen_scope; sonst ist sie für ihn schreibgeschützt).
Eine Kampagne, die einen geschützten Bildschirm erreicht, ist eine protected_change-Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review). reserved true bei einer Kampagne, die nicht reserviert ist, fällt unter die geschützten Ordner, die der Enterprise-Plan enthält; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.
Das Pausieren oder Fortsetzen einer Kampagne sowie das Bearbeiten einer reservierten Kampagne und das Aufheben ihrer Reservierung sind in jedem Plan offen.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Für einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| Name (optional, Zeichenkette) | minLength: 1 maxLength: 120 |
| playlist_id (optional, Zeichenfolge) | minLength: 1 |
| audience (optional, CampaignAudience) | Welche Bildschirme eine Kampagne anspricht: genau eines von all (jede Regel trifft zu), any (mindestens eine trifft zu), tag (der Bildschirm trägt das Tag), screen_id (dieser Bildschirm) oder folder (die Bildschirme in diesem Bildschirmordner und in jedem darin enthaltenen Ordner, GET /api/screen-folders; der Ordner muss existieren). Regeln verschachteln sich höchstens 3 tief, und eine Zielgruppe hat höchstens 500 Regeln. {"all": []} ist jeder Bildschirm des Projekts; sonst listen all und any mindestens eine Regel auf. |
| from (optional, inline) | null leert es. |
| bis (optional, inline) | null leert es. |
| windows (optional, inline) | null leert sie. |
| monthly (optional, inline) | null leert sie. |
| dates (optional, inline) | null leert sie. |
| except (optional, inline) | null leert sie. |
| data (optional, inline) | null leert es. |
| interaction (optional, inline) | null leert es. |
| covers (optional, inline) | null ist die ganze Seite. header, footer und side brauchen eine Regions-Playlist dieser Region (PlaylistRegionFormat). |
| displays (optional, inline) | null spielt auf jedem Ausgang. |
| start (optional, inline) | null entspricht next_item. |
| priority (optional, integer) | Minimum: 0 Maximum: 100 |
| paused (optional, boolean) | |
| reserved (optional, Boolean) | Nur eine Person, die genehmigen kann, reserviert oder gibt eine Kampagne frei (sonst reserved_item). |
Anfragevorlage und Antworten
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'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die aktualisierte Kampagne. | Kampagne (application/json); Header: ETag |
| 402 | feature_not_in_plan — Geschützte Ordner sind Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan. Das Setzen von displays, die von denen der Kampagne selbst abweichen, ist Teil von Plus; null hebt es in jedem Plan auf. Das Problem nennt die Funktion, den Plan des Projekts und required_plan. | Problem (application/problem+json) |
| 409 | playlist_not_approved oder idempotency_mismatch. | Problem (application/problem+json) |
| 412 | revision_conflict. | Problem (application/problem+json) |
| 202 | Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an. Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body. | ReviewPending (application/json) |
| 403 | outside_screen_scope oder approver_required wie bei ScreenScopePlays oder reserved_item - eine reservierte Kampagne wird nur von einer Person geändert, pausiert, gelöscht oder auf nicht reserviert gesetzt, die Überprüfungen genehmigen kann, nie von einem Agenten oder Service-Client (docs/screen-scope.md). | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagne löschen
Löscht die Kampagne und ihren Revisionsverlauf. Jeder Bildschirm, der sie zeigt, kehrt innerhalb einer Minute zu dem zurück, was er ohne sie zeigen würde. Fügt campaign.deleted hinzu. If-Match schützt die Revision. Eine reservierte Kampagne löscht nur eine Person, die genehmigen kann (reserved_item).
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) löscht eine Kampagne nur, wenn ihre Zielgruppe innerhalb seines Bereichs liegt (outside_screen_scope). Eine Kampagne, die einen geschützten Bildschirm erreicht, ist eine protected_change-Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Für einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch. |
Anfragevorlage und Antworten
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht. | kein Körper |
| 412 | revision_conflict. | Problem (application/problem+json) |
| 202 | Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an. Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body. | ReviewPending (application/json) |
| 403 | outside_screen_scope oder approver_required wie bei ScreenScopePlays oder reserved_item - eine reservierte Kampagne wird nur von einer Person geändert, pausiert, gelöscht oder auf nicht reserviert gesetzt, die Überprüfungen genehmigen kann, nie von einem Agenten oder Service-Client (docs/screen-scope.md). | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagnen-Revisionen auflisten
Die Revisionen der Kampagne, neueste zuerst: die Kampagne, wie sie nach jedem Schreibvorgang einer Person, eines Agenten oder eines Zeitplan-Imports gespeichert wurde (eine Erstellung, ein Update, ein Hochstufen, eine Wiederherstellung), mit der Art der Änderung und wer sie vorgenommen hat.
Der Verlauf beginnt mit der Revision, die eine Kampagne hielt, als der Revisionsverlauf erstmals aufgezeichnet wurde: bis zu ihrem nächsten Schreibvorgang enthält die Liste allein diese Revision, mit change baseline. Eine Kampagne, deren Verlauf keine Revision mit paused false enthält, ist ein Entwurf. Revisionen bleiben so lange erhalten wie die Kampagne und gehen mit ihr.
Höchstens 50 pro Seite; next_cursor, solange weitere folgen, null auf der letzten Seite.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| nach | Abfrage | optional | next_cursor der vorherigen Seite derselben Liste mit denselben Filtern. Wird ausgelassen, beginnt bei der neuesten Zeile. Ein Wert, der kein solcher Cursor ist, ist invalid_request. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/revisions'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Revisionen der Kampagne, neueste zuerst. | CampaignRevisionList (application/json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagnen-Revision wiederherstellen
Macht eine frühere Revision wieder aktuell, indem sie über denselben Schreibvorgang wie PATCH nach vorn kopiert wird: ihr Name, ihre Playlist, Zielgruppe, Regel, Platzierung, Priorität und paused werden zu einer neuen Revision (change restored, restored_from die kopierte Revision), geprüft wie ein Update (ihre Playlist muss noch existieren und genehmigt sein), und jeder Bildschirm der alten und der neuen Zielgruppe wird neu aufgelöst, außer die Kampagne war pausiert und bleibt pausiert.
Frühere Revisionen bleiben, wie sie waren. If-Match ist erforderlich und nennt die aktuelle Revision (invalid_request, wenn es fehlt, revision_conflict, wenn sie veraltet ist). Eine Revision, deren Inhalt dem aktuellen Inhalt entspricht, ändert nichts und antwortet mit der aktuellen Kampagne. Derselbe Zugriff wie PATCH.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Revision | Pfad | erforderlich | Eine Revision des Datensatzes, wie ihre Revisionsliste sie nummeriert. |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Für einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch. |
Anfragevorlage und Antworten
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'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Kampagne mit der kopierten Revision als aktueller; ETag trägt ihre Revision. | Kampagne (application/json); Header: ETag |
| 404 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 409 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 412 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagne hochstufen
Veröffentlicht einen Test. Ein Test-Publish ist ein PATCH eines Entwurfs mit paused false und einer Zielgruppe, die ein Testordner oder einige Bildschirme ist; das Hochstufen kopiert dann die Zielgruppe von revision (der eigenen, pausierten Revision des Entwurfs) in einem Schreibvorgang auf die Kampagne (change promoted, restored_from die kopierte Revision), und jeder Bildschirm der alten und der neuen Zielgruppe wird neu aufgelöst.
Abgelehnt (invalid_request, mit Nennung von revision), wenn diese Revision nicht pausiert war, da sie kein Entwurf ist, und wenn die Kampagne jetzt pausiert ist, da es keinen Test zum Hochstufen gibt. If-Match ist erforderlich und nennt die aktuelle Revision. Eine Revision, deren Zielgruppe die aktuelle ist, ändert nichts. Derselbe Zugriff wie PATCH.
Promote fällt unter die Änderungskontrolle für Zeitpläne, die der Enterprise-Plan enthält; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt. Revisionsverlauf, Wiederherstellung und Vorschauen sind in jedem Plan offen.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Für einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| Revision (erforderlich, Ganzzahl) | Die (pausierte) Revision des Entwurfs, deren Zielgruppe die Kampagne übernimmt. minimum: 1 |
Anfragevorlage und Antworten
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'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Kampagne mit der Zielgruppe des Entwurfs; ETag trägt ihre Revision. | Kampagne (application/json); Header: ETag |
| 402 | feature_not_in_plan — Die Änderungskontrolle für Zeitpläne ist Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan. | Problem (application/problem+json) |
| 404 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 409 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 412 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Kampagnenbildschirme auflisten
Die Reichweite der Kampagne. counts deckt jeden aktiven Bildschirm in ihrer Zielgruppe ab (audience, dann eine Zählung je Status); items ist eine Seite dieser Bildschirme in Reihenfolge der Bildschirm-ID mit dem Stand der Kampagne auf jedem (siehe CampaignStatus).
Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) sieht und zählt nur die Zielgruppen-Bildschirme innerhalb seines Bereichs; Zählungen und Seitenumbruch betreffen diese Menge.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Limit | Abfrage | optional | |
| Cursor | Abfrage | optional | next_cursor der vorherigen Seite. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/screens'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Zielgruppe und Stand der Kampagne. | CampaignScreens (application/json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |