OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
Este grupo tem 13 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.
Notificações: avisos por e-mail e por webhook assinado sobre mudanças de estado da tela
Listar notificações
Lista as notificações da organização que cobrem o projeto, de todos os canais, mais antigas primeiro (no máximo 50). status, failing_since, last_success_at e last_failure_at são deste projeto. O segredo de assinatura de um webhook nunca é retornado aqui.
Exige a capacidade de projeto; uma credencial somente de relatórios é recusada com 403 forbidden, porque a resposta inclui URLs de receptores e destinatários.
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://screenrig.ai/api/notifications'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As notificações do projeto. | NotificationList (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 notificação
Cria uma notificação. channel email envia para recipients (owner, ou user_ids dos membros do projeto); channel webhook faz POST, assinado, para url, que segue as regras de URL de webhook (https em um host da Internet pública, porta 443 ou 8443, senão webhook_url_rejected). conditions lista as mudanças de estado da tela em que ela dispara; uma notificação por e-mail precisa de pelo menos uma, um webhook precisa de conditions ou event_types. screen_tags limita conditions a telas com qualquer uma dessas tags; vazio significa todas as telas, ou audience diz quais telas nas regras de um público-alvo de campanha. min_severity e severity filtram e classificam os avisos, e active_hours retém ou descarta os avisos fora de suas janelas.
Uma condição só notifica depois de durar hold_minutes (padrão 10), e um aviso de resolução é enviado quando ela se normaliza depois de um aviso enviado. A notificação cobre somente este projeto; uma organização tem no máximo 50 notificações, sem contar as padrão que o sistema cria (notification_limit_reached).
O segredo de assinatura de um webhook é gerado pelo servidor e retornado apenas nesta resposta e em rotate-secret; guarde-o. Repetir a requisição exatamente igual, com o mesmo Idempotency-Key, retorna esta mesma resposta, com o segredo, por vinte e quatro horas. Os avisos começam com o primeiro evento depois de notification.created.
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 |
|---|---|
| channel (obrigatório, string) | Permitidos: "email", "webhook", "slack", "teams", "pagerduty", "telegram" |
| descrição (opcional, string) | Um nome para pessoas. maxLength: 200 |
| conditions (opcional, NotificationConditions) | |
| screen_tags (opcional, ScreenTags) | Tags do seletor de frota, de 0 a 16 tags únicas exatas, cada uma correspondendo à gramática de tags de mídia. No ScreenPatch o array substitui o conjunto inteiro e um array vazio o limpa; uma tag duplicada ou malformada é invalid_request. Alterar tags aumenta a revisão da tela (If-Match a protege) e anexa screen.updated com details.tags; nunca altera a revisão do manifesto. Tags nunca estão no manifesto de tempo de execução e nunca na autorização. |
| 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. |
| min_severity (opcional, NotificationSeverity) | A severidade de um aviso, da menos severa para a mais severa. Um aviso aberto tem a severidade de sua condição: error para screen_offline e warning para toda outra condição, a menos que a severidade da notificação diga o contrário. Um aviso de resolvido e um teste são info. Permitidos: "info", "warning", "error" |
| severity (opcional, NotificationSeverityOverrides) | Condição para severidade nesta notificação, como {"not_playing": "error"}. Conta para min_severity e é a severidade que Teams e PagerDuty mostram para a condição. Uma condição não listada mantém seu padrão. Em um patch, um objeto vazio, como null, limpa todas as sobrescritas. |
| active_hours (opcional, NotificationActiveHours) | Quando os avisos abertos são enviados: as janelas (screenrig.schedule/v1), lidas em timezone. Um aviso que vence enquanto elas estão fechadas espera a próxima abertura (outside hold, o padrão) e é enviado então se sua condição ainda se mantiver, de modo que uma condição que termina antes não envia nada, ou é ignorado (outside drop; last_error outside_hours). Um aviso de resolvido para um aviso aberto que foi enviado sempre é enviado, dentro do horário ou não, e um teste o ignora. crashing é retido ou descartado como qualquer outra condição. O horário julga um aviso quando ele sai pela primeira vez; um que falhou é repetido no cronograma habitual, qualquer que seja o horário. Adicionar, alterar ou remover o horário faz com que os avisos retidos pelo antigo sejam julgados de novo na hora. |
| reach_drop (opcional, NotificationReachDrop) | A menor queda no alcance de uma campanha para a qual um aviso reach_dropped é enviado: screens é o menor número de telas perdidas (padrão 1) e percent, quando definido, a menor parcela das telas que a campanha alcançava quando foi publicada; uma queda precisa atender aos dois. Uma queda menor não enfileira aviso, e um aviso enfileirado cuja queda diminuiu abaixo do limite até a hora do envio é ignorado (condition_cleared). Somente com a condição reach_dropped; em uma notificação sem ela, invalid_request. |
| hold_minutes (opcional, integer) | Por quanto tempo uma condição precisa durar antes de notificar. crashing nunca é retido. default: 10 minimum: 0 maximum: 1440 |
| recipients (opcional, NotificationRecipients) | Somente para e-mail. owner (quem for o proprietário do projeto no momento em que um aviso é enviado) ou o user_id de uma pessoa que seja membro do projeto; um user_id que não seja de um membro retorna invalid_request. Cada um recebe o e-mail no endereço verificado. Quem já saiu do projeto ou não tem endereço verificado é ignorado. |
| url (opcional, string) | Somente webhook: URL https em um host público da internet, porta 443 (o padrão) ou 8443. Sem userinfo nem fragmento. maxLength: 2048 format: "uri" |
| event_types (opcional, NotificationEventTypes) | Somente webhook. Eventos do projeto também enviados por POST à medida que acontecem, exatamente como um webhook os envia: tipos exatos, como screen.online, ou prefixos terminados em .*, como screen.*. notification.test nunca é distribuído. |
| destination (opcional, NotificationDestination) | Somente Slack, Teams, PagerDuty e Telegram; obrigatório para eles. A credencial na forma em que o serviço a emite: slack, a URL do webhook de entrada (hooks.slack.com); teams, a URL do webhook do Workflows (logic.azure.com ou powerplatform.com; as URLs de conector do Office 365 foram aposentadas); pagerduty, a chave de roteamento do Events API v2 de 32 caracteres; telegram, o token do bot. Outra forma resulta em notification_destination_rejected. Ele é selado, nunca é retornado e aparece nas leituras apenas como destination_hint. minLength: 1 maxLength: 2048 |
| telegram_chat_id (opcional, NotificationTelegramChat) | Somente Telegram; obrigatório para ele. O chat em que publicar: o id numérico dele (negativo para um grupo ou canal) ou @channelname. Não é uma credencial. pattern: "^(-?[0-9]{1,20}|@[A-Za-z][A-Za-z0-9_]{4,31})$" |
| habilitado (opcional, boolean) | padrão: true |
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://screenrig.ai/api/notifications'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Criada. O segredo de um webhook é mostrado apenas aqui e em rotate-secret. | Notification (application/json); cabeçalhos: Cache-Control |
| 400 | invalid_request, webhook_url_rejected ou notification_destination_rejected. | Problema (application/problem+json) |
| 402 | feature_not_in_plan — O roteamento de alertas (um canal do Slack, Teams, PagerDuty ou Telegram, ou uma regra min_severity, severity, active_hours ou audience) faz parte do Plus. As notificações por e-mail e webhook com as regras padrão, e as condições loop_stalled, glass_blank e glass_frozen, estão em todos os planos. O problema nomeia o recurso, o plano do projeto e required_plan. | Problema (application/problem+json) |
| 409 | notification_limit_reached, idempotency_mismatch ou resource_conflict quando o projeto não pertence a nenhuma organização. | 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 notificação
Exige a capacidade de projeto; uma credencial somente de relatórios é recusada com 403 forbidden, porque a resposta inclui a URL do receptor ou os destinatários.
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://screenrig.ai/api/notifications/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma notificação. | Notification (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 notificação
Altera qualquer um entre description (vazio a limpa), conditions, screen_tags, audience, min_severity, severity, active_hours (null limpa cada um destes), hold_minutes, recipients (email), url e event_types (webhook), destination e telegram_chat_id (Slack, Teams, PagerDuty e Telegram), enabled e snoozed_until; channel nunca muda.
Um campo do outro canal é invalid_request. Uma nova url é verificada como na criação.
Definir enabled como true em uma notificação desativada limpa seu estado de falha e começa no evento que registra a mudança; nada do período em que ela esteve desativada é enviado, e os avisos ainda pendentes de antes da desativação são marcados como falhos com webhook_disabled. snoozed_until não envia nada até aquele instante (no máximo 30 dias à frente; null encerra o silenciamento); os avisos que vencem nesse intervalo são ignorados (snoozed).
Registra notification.updated. If-Match protege a revisão. Aqui só muda uma notificação que cobre somente este projeto; uma que cobre também outros projetos da organização é notification_covers_other_projects e muda pela página Notificações da organização.
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 |
|---|---|
| descrição (opcional, string) | Uma string vazia limpa a descrição. maxLength: 200 |
| conditions (opcional, NotificationConditions) | |
| screen_tags (opcional, ScreenTags) | Tags do seletor de frota, de 0 a 16 tags únicas exatas, cada uma correspondendo à gramática de tags de mídia. No ScreenPatch o array substitui o conjunto inteiro e um array vazio o limpa; uma tag duplicada ou malformada é invalid_request. Alterar tags aumenta a revisão da tela (If-Match a protege) e anexa screen.updated com details.tags; nunca altera a revisão do manifesto. Tags nunca estão no manifesto de tempo de execução e nunca na autorização. |
| audience (opcional, inline) | Como em NotificationWrite; null limpa. Um audience e screen_tags juntos são invalid_request, então passar de um para o outro limpa o primeiro na mesma requisição. |
| min_severity (opcional, inline) | Como em NotificationWrite; null limpa. |
| severity (opcional, inline) | Substitui todas as sobrescritas; null ou um objeto vazio as limpa. |
| active_hours (opcional, inline) | Substitui o horário; null o limpa. |
| reach_drop (opcional, inline) | Substitui o limite; null o limpa, de modo que qualquer queda notifica. Remover reach_dropped de conditions enquanto ele está definido é invalid_request; limpe-o na mesma requisição. |
| hold_minutes (opcional, integer) | minimum: 0 maximum: 1440 |
| recipients (opcional, NotificationRecipients) | Somente para e-mail. owner (quem for o proprietário do projeto no momento em que um aviso é enviado) ou o user_id de uma pessoa que seja membro do projeto; um user_id que não seja de um membro retorna invalid_request. Cada um recebe o e-mail no endereço verificado. Quem já saiu do projeto ou não tem endereço verificado é ignorado. |
| url (opcional, string) | maxLength: 2048 format: "uri" |
| event_types (opcional, NotificationEventTypes) | Somente webhook. Eventos do projeto também enviados por POST à medida que acontecem, exatamente como um webhook os envia: tipos exatos, como screen.online, ou prefixos terminados em .*, como screen.*. notification.test nunca é distribuído. |
| destination (opcional, NotificationDestination) | Somente Slack, Teams, PagerDuty e Telegram; obrigatório para eles. A credencial na forma em que o serviço a emite: slack, a URL do webhook de entrada (hooks.slack.com); teams, a URL do webhook do Workflows (logic.azure.com ou powerplatform.com; as URLs de conector do Office 365 foram aposentadas); pagerduty, a chave de roteamento do Events API v2 de 32 caracteres; telegram, o token do bot. Outra forma resulta em notification_destination_rejected. Ele é selado, nunca é retornado e aparece nas leituras apenas como destination_hint. minLength: 1 maxLength: 2048 |
| telegram_chat_id (opcional, NotificationTelegramChat) | Somente Telegram; obrigatório para ele. O chat em que publicar: o id numérico dele (negativo para um grupo ou canal) ou @channelname. Não é uma credencial. pattern: "^(-?[0-9]{1,20}|@[A-Za-z][A-Za-z0-9_]{4,31})$" |
| habilitado (opcional, boolean) | |
| snoozed_until (opcional, inline) | Não envia nada até este instante, no máximo 30 dias à frente; null encerra o silenciamento. |
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://screenrig.ai/api/notifications/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Notificação atualizada. | Notification (application/json); cabeçalhos: ETag |
| 400 | invalid_request, webhook_url_rejected ou notification_destination_rejected. | Problema (application/problem+json) |
| 402 | feature_not_in_plan — O roteamento de alertas (alterar uma notificação do Slack, Teams, PagerDuty ou Telegram além de desativá-la, silenciá-la ou descrevê-la, ou definir uma regra min_severity, severity, active_hours ou audience) faz parte do Plus. Limpar uma regra é permitido em todos os planos; as condições loop_stalled, glass_blank e glass_frozen estão em todos os planos. O problema nomeia o recurso, o plano do projeto e required_plan. | Problema (application/problem+json) |
| 409 | notification_covers_other_projects — a notificação cobre também outros projetos da organização, então só muda pela página Notificações da organização. | Problema (application/problem+json) |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | 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 notificação
Exclui a notificação e registra notification.deleted. Seus avisos pendentes são marcados como falhos com webhook_deleted; seu registro de entregas deixa de estar acessível e expira com a retenção de eventos. Aqui só é excluída uma notificação que cobre somente este projeto (notification_covers_other_projects caso contrário).
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://screenrig.ai/api/notifications/RESOURCE_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 204 | Excluído. | sem corpo; cabeçalhos: Cache-Control |
| 409 | notification_covers_other_projects — a notificação cobre também outros projetos da organização, então só muda pela página Notificações da organização. | Problema (application/problem+json) |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | 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) |
Rotacionar segredo da notificação
Somente notificações de webhook (qualquer outro canal retorna invalid_request). Substitui o segredo de assinatura e retorna a notificação com o novo em secret; o segredo antigo deixa de assinar imediatamente, e no máximo uma tentativa já em andamento ainda pode chegar assinada com o antigo, então aceite os dois por um curto período. Registra notification.updated com details.changed [secret].
Uma nova tentativa exata com a mesma Idempotency-Key retorna o mesmo novo segredo por vinte e quatro horas.
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 POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/rotate-secret'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A notificação e seu novo segredo. | Notification (application/json); cabeçalhos: Cache-Control |
| 400 | invalid_request: a notificação não é um webhook. | Problema (application/problem+json) |
| 409 | notification_covers_other_projects — a notificação cobre também outros projetos da organização, então só muda pela página Notificações da organização. | Problema (application/problem+json) |
| 412 | revision_conflict — If-Match está desatualizado; a current_revision do erro contém a revisão atual. | 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) |
Testar notificação
Registra um evento de projeto notification.test e enfileira uma entrega dele somente para esta notificação (nenhuma outra notificação recebe notification.test).
Um webhook recebe o evento como corpo da requisição; uma notificação por e-mail envia um e-mail de teste aos destinatários; uma notificação do Slack, Teams ou Telegram publica uma mensagem de teste; uma notificação do PagerDuty aciona um evento informativo e o resolve na hora.
Funciona em uma notificação desativada ou silenciada, é tentado uma única vez (sem novas tentativas) e nunca altera o estado de falha da notificação. Consulte o registro de entregas para ver o resultado.
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 | |
| 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://screenrig.ai/api/notifications/RESOURCE_ID/test'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | A entrega de teste na fila. | NotificationDelivery (application/json); cabeçalhos: RateLimit-Policy, RateLimit |
| 429 | Problema estável rate_limited. Refaça só após o intervalo Retry-After autoritativo. Negativas de janela fixa incluem também RateLimit-Policy e membros RateLimit aplicáveis; negativas de concorrência e orçamento de bytes omitem essas divulgações opcionais. | Problema (application/problem+json); cabeçalhos: Retry-After, RateLimit-Policy, RateLimit |
| 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 entregas da notificação
O registro de entregas da notificação, evento mais recente primeiro. Uma linha por evento e, para um aviso de tela, por condição desse evento; as novas tentativas atualizam a linha e GET .../deliveries/{delivery_id}/attempts lista as tentativas mais recentes dela. Um aviso que nunca precisou ser enviado é ignorado, com o motivo.
As linhas são retidas como os eventos (a retenção de eventos do plano, no mínimo a janela de 24 horas de novas tentativas). Devolva next_cursor como antes para obter a próxima 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 | |
| before | consulta | opcional | next_cursor da página anterior de entregas. Uma página que termina entre os avisos de um mesmo evento registra no cursor a condição do último deles. |
| limite | consulta | opcional |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/deliveries'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Uma página de entregas. | NotificationDeliveryList (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) |
Listar tentativas de entrega da notificação
As tentativas de uma entrega, mais recentes primeiro, apenas as 20 últimas, mantidas junto com a linha da entrega e pelo mesmo tempo que ela. Cada uma tem seu número de tentativa, quando terminou, o status HTTP do receptor (null quando ninguém respondeu ou para e-mail), a classe de erro (null em caso de sucesso) e a duração.
Uma entrega que não pertence a esta notificação, ou uma notificação de outro projeto, retorna not_found.
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 | |
| delivery_id | caminho | obrigatório | O id de uma das entregas do webhook. |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/deliveries/DELIVERY_ID/attempts'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | As tentativas mantidas da entrega. | NotificationDeliveryAttemptList (application/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) |
| 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) |
Reinscrever uma pessoa em uma notificação
Volta a enviar os e-mails de uma notificação a uma pessoa que os interrompeu com o link de cancelamento do e-mail (Notification.unsubscribed lista quem fez isso). Idempotente: uma pessoa que não está interrompida não altera nada, e a resposta é a notificação como está.
Uma mudança aumenta a revisão e adiciona notification.updated com os detalhes change resubscribed, user_id e via api. Uma sessão do painel pode reinscrever qualquer pessoa do projeto; uma credencial de agente precisa da capacidade de escrita do projeto. O caminho de volta da própria pessoa é o botão Resubscribe na página com a qual o link de cancelamento responde.
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 | |
| user_id | caminho | obrigatório | O user_id de uma pessoa na lista unsubscribed da notificação. |
Modelo e respostas da solicitação
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/notifications/RESOURCE_ID/unsubscribed/USER_ID'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A notificação, sem a pessoa em unsubscribed. | Notification (application/json); cabeçalhos: ETag |
| 409 | notification_covers_other_projects — a notificação cobre também outros projetos da organização, então só muda pela página Notificações da organização. | 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) |
| 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) |
Mostrar o cancelamento de inscrição em uma notificação
O link no rodapé de um e-mail de alerta. Ele não carrega sessão nem bearer; o token t, criado pelo screenRIG para uma notificação n e uma pessoa u, é toda a autoridade, nunca expira e é válido enquanto a versão da chave de emissão que ele nomeia for mantida.
A resposta é uma página que pergunta se os e-mails dessa notificação devem ser interrompidos para essa pessoa e que não altera nada, de modo que um verificador de e-mail que abre o link não interrompe nada; o botão dela envia para este caminho. Uma pessoa já interrompida vê uma página cujo botão a reinscreve.
Qualquer token, notificação ou pessoa que não corresponda, e uma notificação que foi excluída ou que não é por e-mail, recebe a mesma página 404. A página não tem scripts e envia apenas para esta origem. No máximo 30 requisições por minuto por endereço (rate_limited).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| n | consulta | obrigatório | A notificação a que o link se destina. |
| u | consulta | obrigatório | O user_id da pessoa a quem o link se destina. |
| t | consulta | obrigatório | O token do link. |
Modelo e respostas da solicitação
curl --request GET 'https://api.screenrig.ai/api/notifications/unsubscribe?n=N&u=U&t=T'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A página que pergunta se os alertas devem ser interrompidos. | string (text/html) |
| 404 | O link não é válido; a mesma página para qualquer causa. | string (text/html) |
| 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) |
Cancelar a inscrição em uma notificação
Interrompe os e-mails de uma notificação para a pessoa a quem o link se destina. A consulta é a do link GET; o corpo não é lido, de modo que tanto a requisição de um clique RFC 8058 de um provedor de e-mail (List-Unsubscribe=One-Click, dos cabeçalhos List-Unsubscribe e List-Unsubscribe-Post que cada e-mail de alerta e de teste traz) quanto o botão da página funcionam.
Só essa pessoa é interrompida, e só para essa notificação; os outros continuam recebendo e-mails, e a pessoa continua entre os destinatários (recipients). É idempotente. Na primeira vez, aumenta a revisão e adiciona notification.updated com os detalhes change unsubscribed, user_id e via email_link.
A página com que responde tem um botão Resubscribe (POST /api/notifications/resubscribe); um membro do projeto vê as pessoas interrompidas em Notification.unsubscribed. Quando ninguém sobra para receber e-mail, um aviso é ignorado como no_recipients. Qualquer link que não corresponda recebe a página 404 do GET. No máximo 30 requisições por minuto por endereço (rate_limited).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| n | consulta | obrigatório | A notificação a que o link se destina. |
| u | consulta | obrigatório | O user_id da pessoa a quem o link se destina. |
| t | consulta | obrigatório | O token do link. |
Modelo e respostas da solicitação
curl --request POST 'https://api.screenrig.ai/api/notifications/unsubscribe?n=N&u=U&t=T'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A página que informa que os alertas foram interrompidos. | string (text/html) |
| 404 | O link não é válido; a mesma página para qualquer causa. | string (text/html) |
| 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) |
Reinscrever-se em uma notificação
Desfaz POST /api/notifications/unsubscribe para a pessoa a quem o link se destina: o botão Resubscribe da página com que responde. O mesmo link, a mesma autoridade e a mesma página 404; idempotente. Uma mudança aumenta a revisão e adiciona notification.updated com os detalhes change resubscribed, user_id e via email_link. No máximo 30 requisições por minuto por endereço (rate_limited).
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| n | consulta | obrigatório | A notificação a que o link se destina. |
| u | consulta | obrigatório | O user_id da pessoa a quem o link se destina. |
| t | consulta | obrigatório | O token do link. |
Modelo e respostas da solicitação
curl --request POST 'https://api.screenrig.ai/api/notifications/resubscribe?n=N&u=U&t=T'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | A página que informa que os alertas voltaram. | string (text/html) |
| 404 | O link não é válido; a mesma página para qualquer causa. | string (text/html) |
| 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) |