Referência da API

API de Campanhas

Campanhas

Referência HTTP. Gerada a partir do contrato backend. Navegue pelos endpoints abaixo ou baixe o OpenAPI.

Este grupo tem 10 operações, geradas a partir de api/openapi.yaml. Filtre por caminho, ação ou autenticação. Cada endpoint lista suas entradas; expanda-o para ver um modelo de solicitação e os códigos de resposta. Os modelos precisam de seus próprios valores e de um corpo válido conforme o esquema.

Substitua os espaços reservados em maiúsculas pelos seus valores. Para uma solicitação JSON, salve um corpo que corresponda ao esquema em request.json. Exemplos de cookies usam um jar local de cookies de uma sessão autenticada.

Campanhas

GET/api/campaigns

Listar campanhas

Lista as campanhas do projeto em ordem de precedência (no máximo 100), a ordem em que a resolução as lê. reserved está presente em toda campanha.

Um chamador limitado a telas (docs/screen-scope.md) vê todas as campanhas, com editable true somente quando todo o público está dentro do seu escopo (uma folha de tag e a regra de todas as telas na raiz nunca estão; uma regra all precisa de um filho contido, uma regra any de todos os filhos) e o chamador pode alterar o que é reproduzido.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listCampaigns

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns'

Respostas

StatusSignificadoCorpo e cabeçalhos
200As campanhas do projeto.CampaignList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Criar campanha

Cria uma campanha: toda tela em seu audience muda para playlist_id enquanto from, until e windows valem no fuso horário da tela (screenrig.schedule/v1; omita os três para sempre) e volta quando deixam de valer.

Uma tela resolve sua playlist assim: primeiro o takeover, depois a primeira campanha aplicável na ordem de precedência (priority, maior primeiro, depois a criada mais recentemente), depois a programação de playlist e, por fim, a playlist padrão. Uma campanha se aplica apenas a uma tela com playlist padrão; uma campanha com from, until ou windows exige o fuso horário da tela.

A playlist deve existir e estar aprovada (playlist_not_approved). As telas mudam em até um minuto; GET /api/campaigns/{id}/screens mostra a situação de cada tela. Uma organização tem no máximo 100 campanhas em todos os seus projetos (campaign_limit_reached).

Acrescenta campaign.created. reserved true reserva a campanha, e somente uma pessoa que pode aprovar o define (reserved_item para um agente, um cliente de serviço ou qualquer outro), acrescentando campaign.reserved_changed.

Um chamador limitado a telas (docs/screen-scope.md) só cria uma campanha para um público dentro do seu escopo (folhas folder e screen_id; nenhuma tag, nem todas as telas), caso contrário outside_screen_scope, e somente como uma pessoa que pode aprovar (approver_required).

Uma campanha cujo público alcança uma tela protegida é uma revisão protected_change decidida por um segundo aprovador (202 pending_review) em todo nível de acesso. reserved true é o recurso de pastas protegidas e paused true em uma nova campanha (um rascunho) é o recurso de controle de alterações da programação, e ambos fazem parte do plano Enterprise; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
CampaignWrite
ID da operação
createCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (obrigatório, string)minLength: 1 maxLength: 120
playlist_id (obrigatório, string)minLength: 1
audience (obrigatório, CampaignAudience)

Quais telas uma campanha segmenta: exatamente um entre all (toda regra corresponde), any (ao menos uma corresponde), tag (a tela tem a tag), screen_id (essa tela) ou folder (as telas dessa pasta de telas e de toda pasta dentro dela, GET /api/screen-folders; a pasta deve existir).

As regras se aninham em no máximo 3 níveis e um público-alvo tem no máximo 500 regras. {"all": []} é toda tela do projeto; nos demais casos, all e any listam ao menos uma regra.

from (opcional, string)padrão: "^[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. padrão: "^[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, array)
dates (opcional, array)
except (opcional, array)Datas civis, armazenadas em ordem crescente e uma vez cada. Uma exceção remove todas as ocorrências que sua data inicia, inclusive as caudas noturnas; ela fica entre from e until.
data (opcional, PageDataCondition)

Um predicado card-data, avaliado antes do tempo civil. Dados faltantes ou expirados nunca correspondem. A página também respeita seus limites de tempo ordinários. Requer capacidade host page.conditions; hosts mais antigos recebem a página desativada.

interaction (opcional, LevelInteraction)

O nível vigora enquanto alguém usa a tela: de um toque, clique ou tecla até passarem idle_s segundos sem entrada. Uso típico: uma página interativa acima de um loop de atração. idle_s é armazenado e retornado (60 quando omitido).

covers (opcional, string)

Onde o nível é reproduzido: a página inteira (default, armazenado ausente) ou main, a própria página, para uma playlist comum; header, footer ou side, uma faixa desenhada sobre a página, apenas para uma playlist de região dessa região (PlaylistRegionFormat). Uma playlist de região é recusada com full ou main, e uma faixa exige uma playlist de região organizada em um display de destino.

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

displays (opcional, array)As saídas de um video wall em que ele é reproduzido; ausente reproduz em todas as saídas.
start (opcional, string)on_time troca na borda, interrompendo o item atual; next_item (padrão, armazenado ausente) espera o fim dele. Permitidos: "next_item", "on_time"
priority (opcional, integer)padrão: 0 mínimo: 0 máximo: 100
paused (opcional, boolean)padrão: false
reserved (opcional, boolean)Somente uma pessoa que pode aprovar reserva uma campanha (caso contrário, reserved_item). default: false
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Criada.Campaign (application/json); cabeçalhos: ETag
400invalid_request, incluindo uma regra de audience, uma janela ou um playlist_id que o projeto não tem.Problema (application/problem+json)
402

feature_not_in_plan — As pastas protegidas e o controle de alterações da programação fazem parte do plano Enterprise; o problema nomeia o recurso, o plano em que a conta está e required_plan. Uma campanha que bloqueia uma playlist no display 2 ou além de um video wall (displays) faz parte do Plus. O problema nomeia o recurso, o plano do projeto e required_plan.

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

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403

outside_screen_scope ou approver_required como em ScreenScopePlays, ou reserved_item - uma campanha reservada só é alterada, pausada, excluída ou deixa de ser reservada por uma pessoa que pode aprovar revisões, nunca por um agente ou cliente de serviço (docs/screen-scope.md).

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Pré-visualizar campanha

O que uma gravação de campanha alteraria, sem realizá-la. Com id, body é o corpo PATCH dessa campanha; sem, é o corpo POST de uma nova. O corpo é verificado como a gravação o verifica (uma regra de público-alvo, uma janela, uma playlist não aprovada, uma pasta de telas que o projeto não tem).

A resposta lista as telas que ganhariam a campanha em sua pilha e as que a perderiam (count e os primeiros 500 ids de tela), e o calendário de programação das telas do público-alvo antigo e do novo como está (before) e como ficaria (after) de from a to (padrão: uma semana a partir de agora; no máximo 93 dias), agrupado como GET /api/schedule/calendar agrupa.

Uma campanha pausada não está em nenhuma pilha, então publicá-la ganha seu público-alvo; uma edição que mantém a campanha na pilha de uma tela não ganha nem perde nada e aparece nos calendários. Acesso de leitura: nada é gravado.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
CampaignPreviewRequest
ID da operação
previewCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.

Campos do corpo da solicitação

CampoDescrição
id (opcional, string)A campanha sobre a qual um corpo PATCH é pré-visualizado; omita para pré-visualizar uma criação.
body (obrigatório, objeto)Um CampaignPatch com id, um CampaignWrite sem.
from (opcional, string)Início dos calendários; padrão agora. formato: "date-time"
to (opcional, string)Fim dos calendários; padrão uma semana após from, no máximo 93 dias depois dele. formato: "date-time"
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A prévia.SchedulePreview (application/json)
400

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Obter campanha

Uma campanha. reserved está sempre presente; editable está presente para um chamador limitado a telas (veja listCampaigns).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
getCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Uma campanha.Campaign (application/json); cabeçalhos: ETag
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Atualizar campanha

Altera os membros que o corpo define; null limpa from, until ou windows. paused true interrompe a campanha em todas as telas e false a retoma. Uma campanha pausada é um rascunho: não está na pilha de nenhuma tela, e uma gravação que a deixa pausada não resolve novamente nenhuma tela.

Publicá-la para um teste é este PATCH com paused false e um público-alvo que é uma pasta de teste ou algumas telas; POST /api/campaigns/{id}/promote então copia esse público-alvo para o real. Toda tela do público-alvo antigo e do novo resolve novamente em até um minuto. Acrescenta campaign.updated. If-Match protege a revisão.

Cada gravação é armazenada no histórico da campanha (GET /api/campaigns/{id}/revisions). campaign.updated. If-Match protege a revisão. reserved define ou limpa o sinalizador reserved (uma campanha reservada só é alterada, pausada ou desreservada por uma pessoa que pode aprovar; caso contrário, reserved_item); uma inversão acrescenta campaign.reserved_changed.

Um chamador limitado a telas (docs/screen-scope.md) só altera uma campanha quando o público armazenado e o novo estão dentro do seu escopo (outside_screen_scope; caso contrário ela é somente leitura para ele).

Uma campanha que alcança uma tela protegida é uma revisão protected_change decidida por um segundo aprovador (202 pending_review). reserved true em uma campanha que não é reservada é o recurso de pastas protegidas, que o plano Enterprise inclui; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402).

Pausar ou retomar uma campanha, e editar ou liberar a reserva de uma campanha reservada, estão disponíveis em todos os planos.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
CampaignPatch
ID da operação
updateCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
nome (opcional, string)minLength: 1 maxLength: 120
playlist_id (opcional, string)minLength: 1
audience (opcional, CampaignAudience)

Quais telas uma campanha segmenta: exatamente um entre all (toda regra corresponde), any (ao menos uma corresponde), tag (a tela tem a tag), screen_id (essa tela) ou folder (as telas dessa pasta de telas e de toda pasta dentro dela, GET /api/screen-folders; a pasta deve existir).

As regras se aninham em no máximo 3 níveis e um público-alvo tem no máximo 500 regras. {"all": []} é toda tela do projeto; nos demais casos, all e any listam ao menos uma regra.

from (opcional, em linha)null limpa o valor.
até (opcional, inline)null limpa o valor.
windows (opcional, em linha)null limpa os valores.
monthly (opcional, inline)null limpa os valores.
dates (opcional, inline)null limpa os valores.
except (opcional, inline)null limpa os valores.
data (opcional, inline)null limpa o valor.
interaction (opcional, inline)null limpa o valor.
covers (opcional, inline)null é a página inteira. header, footer e side exigem uma playlist de região dessa região (PlaylistRegionFormat).
displays (opcional, inline)null reproduz em todas as saídas.
start (opcional, inline)null é next_item.
priority (opcional, integer)mínimo: 0 máximo: 100
paused (opcional, boolean)
reserved (opcional, boolean)Somente uma pessoa que pode aprovar reserva ou libera uma campanha (caso contrário, reserved_item).
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A campanha atualizada.Campaign (application/json); cabeçalhos: ETag
402

feature_not_in_plan — As pastas protegidas fazem parte do plano Enterprise; o problema nomeia o recurso, o plano em que a conta está e required_plan. Definir displays diferentes dos da própria campanha faz parte do Plus; null limpa em todos os planos. O problema nomeia o recurso, o plano do projeto e required_plan.

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

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403

outside_screen_scope ou approver_required como em ScreenScopePlays, ou reserved_item - uma campanha reservada só é alterada, pausada, excluída ou deixa de ser reservada por uma pessoa que pode aprovar revisões, nunca por um agente ou cliente de serviço (docs/screen-scope.md).

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Excluir campanha

Exclui a campanha e seu histórico de revisões. Toda tela que a exibe volta ao que exibiria sem ela em até um minuto. Acrescenta campaign.deleted. If-Match protege a revisão. Uma campanha reservada só é excluída por uma pessoa que pode aprovar (reserved_item).

Um chamador limitado a telas (docs/screen-scope.md) só exclui uma campanha quando o público dela está dentro do seu escopo (outside_screen_scope). Uma campanha que alcança uma tela protegida é uma revisão protected_change decidida por um segundo aprovador (202 pending_review).

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
deleteCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'

Respostas

StatusSignificadoCorpo e cabeçalhos
204Excluído.sem corpo
412revision_conflict.Problema (application/problem+json)
202

A escrita virou uma revisão e aguarda a aprovação de uma pessoa (docs/reviews.md), sob acesso Propor, ou em qualquer nível de acesso quando alcança uma tela em uma pasta de telas protegida, em que um segundo aprovador a decide (docs/screen-scope.md). Uma pessoa aprova, rejeita ou pede alterações no dashboard em review.url.

Uma repetição com Idempotency-Key responde com o mesmo corpo.

ReviewPending (application/json)
403

outside_screen_scope ou approver_required como em ScreenScopePlays, ou reserved_item - uma campanha reservada só é alterada, pausada, excluída ou deixa de ser reservada por uma pessoa que pode aprovar revisões, nunca por um agente ou cliente de serviço (docs/screen-scope.md).

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Listar revisões da campanha

As revisões da campanha, da mais recente para a mais antiga: a campanha como armazenada após cada gravação feita por uma pessoa, um agente ou uma importação de programação (uma criação, uma atualização, uma promoção, uma restauração), com o tipo de alteração e quem a fez.

O histórico começa com a revisão que uma campanha tinha quando o histórico de revisões foi gravado pela primeira vez: até sua próxima gravação, a lista contém apenas essa revisão, com change baseline. Uma campanha cujo histórico não tem nenhuma revisão com paused false é um rascunho. As revisões são mantidas enquanto a campanha existir e saem junto com ela.

No máximo 50 por página; next_cursor enquanto restarem mais, null na última página.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listCampaignRevisions

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
depoisconsultaopcionalnext_cursor da página anterior da mesma lista, com os mesmos filtros. Omitido começa na linha mais recente. Um valor que não seja esse cursor é invalid_request.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/revisions'

Respostas

StatusSignificadoCorpo e cabeçalhos
200As revisões da campanha, da mais recente para a mais antiga.CampaignRevisionList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Restaurar revisão da campanha

Torna uma revisão anterior atual novamente copiando-a adiante pela mesma gravação de PATCH: seu name, playlist, audience, rule, placement, priority e paused viram uma nova revisão (change restored, restored_from a revisão copiada), verificada como uma atualização (sua playlist ainda deve existir e estar aprovada), e toda tela do público-alvo antigo e do novo resolve novamente, a menos que a campanha estivesse pausada e continue pausada.

As revisões anteriores permanecem como estavam. If-Match é obrigatório e indica a revisão atual (invalid_request quando ausente, revision_conflict quando obsoleta). Uma revisão cujo conteúdo é o conteúdo atual não altera nada e responde com a campanha atual. O mesmo acesso de PATCH.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
restoreCampaignRevision

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
revisãocaminhoobrigatórioUma revisão do registro, como a lista de revisões a numera.
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A campanha com a revisão copiada como atual; o ETag traz sua revisão.Campaign (application/json); cabeçalhos: ETag
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Promover campanha

Publica um teste. Uma publicação de teste é um PATCH de um rascunho com paused false e um público-alvo que é uma pasta de teste ou algumas telas; promote então copia o público-alvo de revision (a revisão pausada do próprio rascunho) para a campanha em uma única gravação (change promoted, restored_from a revisão copiada) e toda tela do público-alvo antigo e do novo resolve novamente.

Recusada (invalid_request, nomeando revision) quando essa revisão não estava pausada, pois não é um rascunho, e quando a campanha está pausada agora, pois não há teste para promover. If-Match é obrigatório e indica a revisão atual. Uma revisão cujo público-alvo é o atual não altera nada. O mesmo acesso de PATCH.

Promover é o recurso de controle de alterações da programação, que o plano Enterprise inclui; um projeto cujo plano não o inclui é recusado com feature_not_in_plan (402). O histórico de revisões, a restauração e as prévias estão disponíveis em todos os planos.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
CampaignPromote
ID da operação
promoteCampaign

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
If-MatchcabeçalhoopcionalRevisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict.
Idempotency-KeycabeçalhoopcionalOmitir para uma operação nova. Forneça e reutilize uma chave para deduplicar tentativas; o CLI gerencia as chaves automaticamente.

Campos do corpo da solicitação

CampoDescrição
revisão (obrigatório, inteiro)A revisão do rascunho (pausada) cujo público-alvo a campanha assume. mínimo: 1
Modelo e respostas da solicitação
shell · modelo de requisição
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'

Respostas

StatusSignificadoCorpo e cabeçalhos
200A campanha com o público-alvo do rascunho; o ETag traz sua revisão.Campaign (application/json); cabeçalhos: ETag
402feature_not_in_plan — O controle de alterações da programação faz parte do plano Enterprise; o problema nomeia o recurso, o plano em que a conta está e required_plan.Problema (application/problem+json)
404

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
409

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
412

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

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

Listar telas da campanha

O alcance da campanha. counts cobre toda tela ativa em seu audience (audience, depois uma contagem por status); items é uma página dessas telas em ordem de id de tela, com a situação da campanha em cada uma (veja CampaignStatus).

Um chamador limitado a telas (docs/screen-scope.md) vê e conta apenas as telas do público que estão dentro do seu escopo; as contagens e a paginação cobrem esse conjunto.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listCampaignScreens

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
limiteconsultaopcional
cursorconsultaopcionalnext_cursor da página anterior.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID/screens'

Respostas

StatusSignificadoCorpo e cabeçalhos
200O público e a situação da campanha.CampaignScreens (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)