OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
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
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As 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) |
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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Criada. | Campaign (application/json); cabeçalhos: ETag |
| 400 | invalid_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) |
| 409 | campaign_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
Obter campanha
Uma campanha. reserved está sempre presente; editable está presente para um chamador limitado a telas (veja listCampaigns).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
| 409 | playlist_not_approved ou idempotency_mismatch. | Problema (application/problem+json) |
| 412 | revision_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 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).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/campaigns/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Excluído. | sem corpo |
| 412 | revision_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| depois | consulta | opcional | next_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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| revisão | caminho | obrigatório | Uma revisão do registro, como a lista de revisões a numera. |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| If-Match | cabeçalho | opcional | Revisão positiva opcional do recurso. Omitir para escrever o recurso atual; uma revisão obsoleta fornecida é revision_conflict. |
| Idempotency-Key | cabeçalho | opcional | Omitir 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
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A campanha com o público-alvo do rascunho; o ETag traz sua revisão. | Campaign (application/json); cabeçalhos: ETag |
| 402 | feature_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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| limite | consulta | opcional | |
| cursor | consulta | opcional | next_cursor da página anterior. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | O 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) |