API 参考

审核 API

代理更改的审核

HTTP 参考。 由后端契约生成。浏览以下端点或下载 OpenAPI。

此分组有 7 个操作,由 api/openapi.yaml 生成。可按路径、操作或认证筛选。每个端点都会列出其输入;展开后可查看请求模板和响应代码。模板需要您自己的值和符合架构的请求体。

用你的值替换大写占位符。对于JSON请求,请保存符合request.json模式的请求体。Cookie示例使用经过身份验证会话的本地Cookie存储。

代理更改的审核

GET/api/reviews

列出评论

项目的审核(docs/reviews.md):在提议权限下提议的播放列表和屏幕更改,涉及受保护屏幕的活动、屏幕文件夹和移动写入(kind protected_change,docs/screen-scope.md),以及对于广告网络,买家提交的创意(kind ad_creative)。

最新优先,每页最多 limit(默认 50,最多 100);将 next_cursor 作为游标传回,带相同过滤器。状态 pending(默认)、decided(其他状态)或 all;种类 narrows 到一种。

控制台会话可读取所有类型;持有者令牌读取其能力所涵盖的类型(playlist_change 对应播放列表,screen_change 和 protected_change 对应屏幕,ad_creative 对应广告),读不了的类型返回空页面。pending_count 统计调用方所见所有类型的待处理审核。

限定屏幕范围的调用方只能看到整个触达范围都在其范围内的 screen_change 和 protected_change 审核(按标签选择屏幕的审核永远不算)以及 playlist_change 审核;ad_creative 审核对其隐藏,pending_count 统计其所见的内容。

身份验证
projectBearer 或 dashboardSession
请求主体
无
操作 ID
listReviews

参数

名称发送必需?描述
ScreenRig-Projectheader可选已弃用一个版本。必须与 JWT 项目授权保持一致;添加弃用和警告头。无令牌交换。
状态查询可选
kind查询可选
限制查询可选
游标查询可选
请求模板和响应
shell · 请求模板
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews'

响应

状态含义正文和头部
200一页审核。ReviewList(application/json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
GET/api/reviews/{id}

获取审核

一个审核。播放列表更改会增加 preview:以存储形态呈现的当前和提议的播放列表(带 resolved_media 的页面);创建时 live 为 null。无法读取该审核类型的持有者令牌(参见 listReviews)会得到 not_found,限定屏幕范围的调用方遇到触达范围不在其范围内的审核时也是如此。

身份验证
projectBearer 或 dashboardSession
请求主体
无
操作 ID
getReview

参数

名称发送必需?描述
ScreenRig-Projectheader可选已弃用一个版本。必须与 JWT 项目授权保持一致;添加弃用和警告头。无令牌交换。
id路径必填
请求模板和响应
shell · 请求模板
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID'

响应

状态含义正文和头部
200审核。审核(application/json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
GET/api/reviews/{id}/locate

定位审查

审核所属项目,用于邮件链接:已登录且为该项目成员的人获取其 id 和名称并切换至该项目(PUT /api/session/project)后读取审核。其他人返回 not_found。无论会话选择哪个项目均有效。

身份验证
dashboardSession
请求主体
无
操作 ID
locateReview

参数

名称发送必需?描述
id路径必填
请求模板和响应
shell · 请求模板
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID/locate'

响应

状态含义正文和头部
200审核的项目。ReviewLocation(application/json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
POST/api/reviews/{id}/approve

批准审核

作为有权批准的人(项目所有者或具 can_approve 权限的成员;否则需 approver_required)批准待审核。标志在决策事务内再次读取,因此审批被关闭的人无决策权(approver_required)。员工影子会话无决策权。

播放列表更新以基准修订作为 If-Match 应用;当实时播放列表变更时,审核变为过时,调用返回 review_stale。

创建或更新时,如果其标签、文件夹或所有选择器现在会播放审核未命名且实时版本未播放的媒体,也会变为过时(review_stale)。

屏幕变更重放其存储的请求(标签现已解决):调用应用屏幕数秒,其余在后台继续,期间 screen_change.result.applying 为真。

等待待审核播放列表的屏幕变更返回 review_blocked 并命名;播放列表无批准版本的返回 playlist_not_approved。include_dependents 也按顺序批准等待该播放列表审核的屏幕变更。已应用变更的事件以人员为执行者,提议智能体为代理。

响应携带 warnings(PlaylistWarning):已批准的变更将 iframe src 或应用 params 读取屏幕令牌的页面放到缺少该令牌的屏幕上时,返回 screen_fact_missing。已决定的审核为 review_not_pending;重复相同的决定会重放。

标记为受保护的审核(protected_change,或涉及受保护屏幕的 screen_change)由提议者及对提议智能体负责的人员以外的审批人决定:否则返回 second_approver_required(403),提议者无法追溯到某个人时也是如此(docs/screen-scope.md)。

限定屏幕范围的审批人只能决定整个触达范围都在范围内的审核(outside_screen_scope,403)。protected_change 由本次请求以批准人的身份、在提议时所基于的修订版本上应用;其后发生更改或被删除的活动或文件夹,或已移走的屏幕,会使审核过时(review_stale,409)。

无法批准的依赖项会在 dependents[].problem 中报告相同的代码。

身份验证
dashboardSession
请求主体
ReviewApproveRequest
操作 ID
approveReview

参数

名称发送必需?描述
id路径必填
Idempotency-Keyheader可选省略以进行新操作。提供并重用密钥以去重重试;CLI 自动管理密钥。

请求主体字段

字段描述
include_dependents(可选,布尔值)还需依次批准等待此播放列表审核的屏幕更改。
请求模板和响应
shell · 请求模板
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/approve'

响应

状态含义正文和头部
200已批准的审核及其依赖结果。ReviewDecisionResult(application/json)
403approver_required、second_approver_required 或 outside_screen_scope。问题 (application/problem+json)
409review_not_pending、review_stale、review_blocked 或 playlist_not_approved。问题 (application/problem+json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
POST/api/reviews/{id}/reject

拒绝审核

驳回一个待处理的审核,并附上提议者可阅读的理由。仅限审批人,同 approveReview;限定屏幕范围的审批人只能决定其范围内的审核(outside_screen_scope),限定屏幕范围的人员不能决定广告创意。屏幕上不会有任何变化;被驳回的播放列表创建仍保持未批准。

身份验证
dashboardSession
请求主体
ReviewRejectRequest
操作 ID
rejectReview

参数

名称发送必需?描述
id路径必填
Idempotency-Keyheader可选省略以进行新操作。提供并重用密钥以去重重试;CLI 自动管理密钥。

请求主体字段

字段描述
原因(必填,字符串)minLength:1 maxLength:500
请求模板和响应
shell · 请求模板
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/reject'

响应

状态含义正文和头部
200被拒绝的审核。ReviewDecisionResult(application/json)
403

outside_screen_scope - 调用方限定于屏幕,且请求所指明或涉及的屏幕、屏幕文件夹、选择器或受众超出了这些屏幕(docs/screen-scope.md)。范围之外的 ID 和不存在的 ID 得到相同的答复;errors[0].screen_scope 携带调用方的范围,写入会被整体拒绝,绝不会被缩小范围。

问题 (application/problem+json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
POST/api/reviews/{id}/request-changes

请求审核更改

向提议者请求更改并附上其可阅读的备注;提议者重新提议。仅限审批人,同 approveReview。对于广告创意,买家在创意上阅读该备注。限定范围的审批人受到的限制与 rejectReview 相同。

身份验证
dashboardSession
请求主体
ReviewChangesRequest
操作 ID
requestReviewChanges

参数

名称发送必需?描述
id路径必填
Idempotency-Keyheader可选省略以进行新操作。提供并重用密钥以去重重试;CLI 自动管理密钥。

请求主体字段

字段描述
备注(必填,字符串)minLength:1 maxLength:500
请求模板和响应
shell · 请求模板
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/request-changes'

响应

状态含义正文和头部
200审核,状态为 changes_requested。ReviewDecisionResult(application/json)
403

outside_screen_scope - 调用方限定于屏幕,且请求所指明或涉及的屏幕、屏幕文件夹、选择器或受众超出了这些屏幕(docs/screen-scope.md)。范围之外的 ID 和不存在的 ID 得到相同的答复;errors[0].screen_scope 携带调用方的范围,写入会被整体拒绝,绝不会被缩小范围。

问题 (application/problem+json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)
POST/api/reviews/{id}/withdraw

撤回审核

撤回待处理的播放列表、屏幕或 protected_change 审核。持有者令牌只能撤回自己的智能体或服务客户端提议的内容(否则为 forbidden);人员可以作为审批人或提议者的负责人撤回;限定屏幕范围的人员只能撤回其范围内的审核(outside_screen_scope)。

被撤回的播放列表创建仍保持未批准。

身份验证
projectBearer 或 dashboardSession
请求主体
无
操作 ID
withdrawReview

参数

名称发送必需?描述
ScreenRig-Projectheader可选已弃用一个版本。必须与 JWT 项目授权保持一致;添加弃用和警告头。无令牌交换。
id路径必填
Idempotency-Keyheader可选省略以进行新操作。提供并重用密钥以去重重试;CLI 自动管理密钥。
请求模板和响应
shell · 请求模板
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID/withdraw'

响应

状态含义正文和头部
200已撤回的审核。ReviewDecisionResult(application/json)
403

outside_screen_scope - 调用方限定于屏幕,且请求所指明或涉及的屏幕、屏幕文件夹、选择器或受众超出了这些屏幕(docs/screen-scope.md)。范围之外的 ID 和不存在的 ID 得到相同的答复;errors[0].screen_scope 携带调用方的范围,写入会被整体拒绝,绝不会被缩小范围。

问题 (application/problem+json)
默认

稳定的 RFC 9457 问题响应。421 server_draining 携带 1 秒的 Retry-After,500 not_ready 或 dependency_unavailable 携带 5 秒,500 manifest_degraded 携带 60 秒,除非处理程序设置了更具体的值。

问题 (application/problem+json)