接口详情
GET /v1/admin/announcements
List tenant announcements
- operationId
listAnnouncements- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
listAnnouncements 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
limit | query | integer | 否 | — |
|---|
cursor | query | string | 否 | — |
|---|
status | query | string: draft / scheduled / published / withdrawn / archived | 否 | — |
|---|
响应
listAnnouncements 响应| 状态码 | 说明 |
|---|
200 | Announcement page 字段:items: array<Announcement> next_cursor?: string |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements
Create an announcement draft
- operationId
createAnnouncementDraft- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
createAnnouncementDraft 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
createAnnouncementDraft 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
title | string | 是 | — |
|---|
body | string | 是 | Required for format=content; empty for format=link. UTF-8 encoded body must not exceed 65536 bytes; only the documented safe Markdown subset is accepted. |
|---|
format | string: content / link | 否 | — |
|---|
link_url | string(uri) | 否 | Required for format=link and limited to http(s). |
|---|
sort_order | integer | 否 | — |
|---|
visible | boolean | 否 | — |
|---|
popup | boolean | 否 | — |
|---|
red | boolean | 否 | — |
|---|
bold | boolean | 否 | — |
|---|
all | boolean | 是 | — |
|---|
user_ids | array<string(uuid)> | 是 | — |
|---|
group_ids | array<string(uuid)> | 是 | — |
|---|
withdrawal_visibility | string: retain / hide | 是 | — |
|---|
响应
createAnnouncementDraft 响应| 状态码 | 说明 |
|---|
201 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/audience-directory
Search the current tenant's users or roles by name for an announcement audience
- operationId
searchAnnouncementAudience- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
说明(契约原文)
Read-only; authorized by announcements.manage in the current tenant. ids resolves stored targets back to names and returns only those that still exist.
参数
searchAnnouncementAudience 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
kind | query | string: user / role | 是 | — |
|---|
search | query | string | 否 | Case-insensitive name substring; mutually exclusive with ids. |
|---|
ids | query | string | 否 | Comma-separated IDs to resolve to names (at most 100). |
|---|
limit | query | integer | 否 | — |
|---|
响应
searchAnnouncementAudience 响应| 状态码 | 说明 |
|---|
200 | Audience directory entries 字段:items: array<AudienceDirectoryEntry> |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/global
List platform global announcements
- operationId
listGlobalAnnouncements- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
listGlobalAnnouncements 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
limit | query | integer | 否 | — |
|---|
cursor | query | string | 否 | — |
|---|
status | query | string: draft / published / withdrawn / archived | 否 | — |
|---|
响应
listGlobalAnnouncements 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement page 字段:items: array<GlobalAnnouncement> next_cursor?: string |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/global
Create a platform global announcement draft
- operationId
createGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
createGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
createGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
all_tenants | boolean | 是 | — |
|---|
tenant_scope_ids | array<string(uuid)> | 是 | — |
|---|
role_targets | array<GlobalRoleTarget> | 是 | — |
|---|
user_targets | array<GlobalUserTarget> | 是 | — |
|---|
title | string | 是 | — |
|---|
body | string | 是 | Required for format=content; empty for format=link. HTML content is rendered in a script-disabled sandbox with remote resource loading blocked. |
|---|
format | string: content / link | 否 | — |
|---|
link_url | string(uri) | 否 | Required for format=link and limited to http(s). |
|---|
sort_order | integer | 否 | — |
|---|
visible | boolean | 否 | — |
|---|
popup | boolean | 否 | — |
|---|
red | boolean | 否 | — |
|---|
bold | boolean | 否 | — |
|---|
withdrawal_visibility | string: retain / hide | 是 | — |
|---|
响应
createGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
201 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/global/audience-directory
Search tenants, or one tenant's roles and users, by name for a platform global announcement audience
- operationId
searchGlobalAnnouncementAudience- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
说明(契约原文)
Read-only; authorized by announcements.manage (or platform.admin) in the platform scope. Role and user searches require scope_id. ids resolves stored targets back to names and returns only those that still exist.
参数
searchGlobalAnnouncementAudience 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
kind | query | string: tenant / role / user | 是 | — |
|---|
search | query | string | 否 | Case-insensitive name substring; mutually exclusive with ids. |
|---|
ids | query | string | 否 | Comma-separated IDs to resolve to names (at most 100). |
|---|
limit | query | integer | 否 | — |
|---|
scope_id | query | string(uuid) | 否 | Tenant scope for role and user searches. |
|---|
响应
searchGlobalAnnouncementAudience 响应| 状态码 | 说明 |
|---|
200 | Audience directory entries 字段:items: array<AudienceDirectoryEntry> |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/global/{id}
Get a platform global announcement
- operationId
getGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
getGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
getGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
PATCH /v1/admin/announcements/global/{id}
Update a platform global announcement draft
- operationId
updateGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
updateGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
updateGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
all_tenants | boolean | 是 | — |
|---|
tenant_scope_ids | array<string(uuid)> | 是 | — |
|---|
role_targets | array<GlobalRoleTarget> | 是 | — |
|---|
user_targets | array<GlobalUserTarget> | 是 | — |
|---|
title | string | 是 | — |
|---|
body | string | 是 | Required for format=content; empty for format=link. HTML content is rendered in a script-disabled sandbox with remote resource loading blocked. |
|---|
format | string: content / link | 否 | — |
|---|
link_url | string(uri) | 否 | Required for format=link and limited to http(s). |
|---|
sort_order | integer | 否 | — |
|---|
visible | boolean | 否 | — |
|---|
popup | boolean | 否 | — |
|---|
red | boolean | 否 | — |
|---|
bold | boolean | 否 | — |
|---|
withdrawal_visibility | string: retain / hide | 是 | — |
|---|
expected_revision | integer | 是 | — |
|---|
响应
updateGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/global/{id}/archive
Archive a global announcement in management; published messages remain available
- operationId
archiveGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
archiveGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
archiveGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_lifecycle_revision | integer | 是 | — |
|---|
响应
archiveGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/global/{id}/audience/count
Count the recipients a platform global announcement would be delivered to now
- operationId
countGlobalAnnouncementAudience- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
说明(契约原文)
Read-only; resolves recipients with the same query publication uses and writes nothing.
参数
countGlobalAnnouncementAudience 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
countGlobalAnnouncementAudience 响应| 状态码 | 说明 |
|---|
200 | Audience recipient count 字段:announcement_id: string(uuid) version?: integer recipient_count: integer |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/global/{id}/publish
Publish a platform global announcement and freeze recipients
- operationId
publishGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
publishGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
publishGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_revision | integer | 是 | — |
|---|
响应
publishGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/global/{id}/restore
Restore a global announcement to management
- operationId
restoreGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
restoreGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
restoreGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_lifecycle_revision | integer | 是 | — |
|---|
响应
restoreGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/global/{id}/withdraw
Withdraw a platform global announcement
- operationId
withdrawGlobalAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
withdrawGlobalAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
withdrawGlobalAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_revision | integer | 是 | — |
|---|
响应
withdrawGlobalAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Platform global announcement 字段:id: string(uuid) platform_scope_id: string(uuid) version: integer revision: integer status: string: draft / published / withdrawn title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: GlobalAudience withdrawal_visibility: string: retain / hide recipient_count: integer published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/{id}
Get the current announcement version
- operationId
getAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
getAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
getAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
PATCH /v1/admin/announcements/{id}
Update an announcement draft
- operationId
updateAnnouncementDraft- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
updateAnnouncementDraft 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
updateAnnouncementDraft 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
title | string | 是 | — |
|---|
body | string | 是 | Required for format=content; empty for format=link. UTF-8 encoded body must not exceed 65536 bytes; only the documented safe Markdown subset is accepted. |
|---|
format | string: content / link | 否 | — |
|---|
link_url | string(uri) | 否 | Required for format=link and limited to http(s). |
|---|
sort_order | integer | 否 | — |
|---|
visible | boolean | 否 | — |
|---|
popup | boolean | 否 | — |
|---|
red | boolean | 否 | — |
|---|
bold | boolean | 否 | — |
|---|
all | boolean | 是 | — |
|---|
user_ids | array<string(uuid)> | 是 | — |
|---|
group_ids | array<string(uuid)> | 是 | — |
|---|
withdrawal_visibility | string: retain / hide | 是 | — |
|---|
version | integer | 是 | — |
|---|
expected_revision | integer | 是 | — |
|---|
响应
updateAnnouncementDraft 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/archive
Archive a tenant announcement for reversible deletion
- operationId
archiveAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
archiveAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
archiveAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_lifecycle_revision | integer | 是 | — |
|---|
响应
archiveAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/admin/announcements/{id}/audience/count
Count the recipients the head version of an announcement would be delivered to now
- operationId
countAnnouncementAudience- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
说明(契约原文)
Read-only; resolves recipients with the same query publication uses and writes nothing.
参数
countAnnouncementAudience 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
countAnnouncementAudience 响应| 状态码 | 说明 |
|---|
200 | Audience recipient count 字段:announcement_id: string(uuid) version?: integer recipient_count: integer |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/publish
Publish an announcement
- operationId
publishAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
publishAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
publishAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
version | integer | 是 | — |
|---|
expected_revision | integer | 是 | — |
|---|
响应
publishAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/restore
Restore an archived tenant announcement
- operationId
restoreAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
restoreAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
restoreAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
expected_lifecycle_revision | integer | 是 | — |
|---|
响应
restoreAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/revise
Create a revised announcement draft
- operationId
reviseAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
reviseAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
reviseAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
title | string | 是 | — |
|---|
body | string | 是 | Required for format=content; empty for format=link. UTF-8 encoded body must not exceed 65536 bytes; only the documented safe Markdown subset is accepted. |
|---|
format | string: content / link | 否 | — |
|---|
link_url | string(uri) | 否 | Required for format=link and limited to http(s). |
|---|
sort_order | integer | 否 | — |
|---|
visible | boolean | 否 | — |
|---|
popup | boolean | 否 | — |
|---|
red | boolean | 否 | — |
|---|
bold | boolean | 否 | — |
|---|
all | boolean | 是 | — |
|---|
user_ids | array<string(uuid)> | 是 | — |
|---|
group_ids | array<string(uuid)> | 是 | — |
|---|
withdrawal_visibility | string: retain / hide | 是 | — |
|---|
expected_head_version | integer | 是 | — |
|---|
响应
reviseAnnouncement 响应| 状态码 | 说明 |
|---|
201 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
422 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/schedule
Schedule an announcement
- operationId
scheduleAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
scheduleAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
scheduleAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
version | integer | 是 | — |
|---|
expected_revision | integer | 是 | — |
|---|
publish_at | string(date-time) | 是 | — |
|---|
响应
scheduleAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/admin/announcements/{id}/withdraw
Withdraw an announcement
- operationId
withdrawAnnouncement- 认证
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
契约没有单独标注权限码,权限要求见下方说明与 403 响应。
参数
withdrawAnnouncement 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
Idempotency-Key | header | string | 是 | — |
|---|
If-Match | header | string | 是 | — |
|---|
请求体
application/json · 必填:是
withdrawAnnouncement 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
version | integer | 是 | — |
|---|
expected_revision | integer | 是 | — |
|---|
响应
withdrawAnnouncement 响应| 状态码 | 说明 |
|---|
200 | Announcement 字段:id: string(uuid) scope_id: string(uuid) version: integer head_version: integer revision: integer status: string: draft / scheduled / published / withdrawn / archived title: string body: string format: string: content / link link_url?: string(uri) sort_order: integer visible: boolean popup: boolean red: boolean bold: boolean audience: Audience withdrawal_visibility: string: retain / hide scheduled_at?: string(date-time) published_at?: string(date-time) withdrawn_at?: string(date-time) created_at: string(date-time) state_changed_at: string(date-time) archived: boolean lifecycle_revision: integer archived_at?: string(date-time) replayed?: boolean |
|---|
400 | Stable API error |
|---|
401 | Stable API error |
|---|
403 | Stable API error |
|---|
404 | Stable API error |
|---|
409 | Stable API error |
|---|
415 | Stable API error |
|---|
500 | Stable API error |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。500 结果未知:先按资源 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试。
↑ 回到列表