
语言 🇨🇳 简体中文
入门
文档
API 参考
聚合
审计日志
认证
从评论封锁
检查被封锁的评论
评论
用户的评论
域配置
电子邮件模板
事件日志
动态帖子
标记评论
动图
标签
审核
版主
通知计数
通知
页面反应
页面
待处理 Webhook 事件
问题配置
问题结果
问题结果聚合
单点登录用户
订阅
租户日使用量
租户套餐
租户用户
租户
工单
翻译
上传图片
用户徽章进度
用户徽章
用户通知
用户在线状态
用户搜索
用户
投票
FastComments Swift SDK
这是 FastComments 的官方 Swift SDK。
FastComments API 的官方 Swift SDK
仓库
安装 
Swift 包管理器
在你的 Package.swift 文件中添加以下内容:
dependencies: [
.package(url: "https://github.com/fastcomments/fastcomments-swift.git", from: "3.0.0")
]
或者在 Xcode 中:
- 文件 > 添加包...
- 输入仓库 URL:
https://github.com/fastcomments/fastcomments-swift.git - 选择你想使用的版本
要求
- Swift 5.9+
- iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+
库内容 
FastComments 的 Swift SDK 由多个模块组成:
-
客户端模块 - 用于 FastComments REST API 的客户端
- 为所有 API 模型提供完整的类型定义
- 包含验证(
DefaultAPI)、公共(PublicAPI)和审核(ModerationAPI)方法 - 完整的 async/await 支持
- 详见 client/README.md 获取详细的 API 文档
-
SSO 模块 - 服务器端单点登录实用工具
- 用于用户认证的安全令牌生成
- 支持简单和安全两种 SSO 模式
- 使用 CryptoKit 基于 HMAC-SHA256 的令牌签名
快速开始 
使用公共 API
import FastCommentsSwift
// 获取页面的评论
do {
let response = try await PublicAPI.getCommentsPublic(
tenantId: "your-tenant-id",
urlId: "page-url-id"
)
print("Found \(response.comments?.count ?? 0) comments")
for comment in response.comments ?? [] {
print("Comment: \(comment.comment ?? "")")
}
} catch {
print("Error fetching comments: \(error)")
}
使用已认证 API
import FastCommentsSwift
// 在共享配置上设置您的 API 密钥(作为 x-api-key 头发送)
FastCommentsSwiftAPIConfiguration.shared.customHeaders["x-api-key"] = "your-api-key"
// 使用已认证 API 获取评论
do {
let response = try await DefaultAPI.getComments(
tenantId: "your-tenant-id",
options: .init(urlId: "page-url-id")
)
print("Total comments: \(response.count ?? 0)")
for comment in response.comments ?? [] {
print("Comment ID: \(comment.id ?? ""), Text: \(comment.comment ?? "")")
}
} catch {
print("Error: \(error)")
}
使用审查 API
import FastCommentsSwift
// 审核方法需要使用 `sso` 令牌进行授权(使用 FastCommentsSSO 生成,参见上面的 SSO 部分)。
do {
let response = try await ModerationAPI.getApiComments(
options: .init(
page: 0,
count: 30,
sso: ssoToken
)
)
print("Found \(response.comments.count) comments to moderate")
for comment in response.comments {
print("Comment ID: \(comment.id), Text: \(comment.commentHTML)")
}
} catch {
print("Error: \(error)")
}
使用 SSO 进行身份验证
安全 SSO(推荐用于生产环境)
import FastCommentsSwift
let apiKey = "your-api-key"
// 创建安全的 SSO 用户数据(仅限服务器端!)
let userData = SecureSSOUserData(
id: "user-123", // User ID
email: "user@example.com", // Email
username: "johndoe", // Username
avatar: "https://example.com/avatar.jpg" // Avatar URL
)
// 生成 SSO 令牌
do {
let sso = try FastCommentsSSO.createSecure(apiKey: apiKey, secureSSOUserData: userData)
let token = try sso.createToken()
print("SSO Token: \(token ?? "")")
// 将此令牌传递给前端进行身份验证
} catch {
print("Error creating SSO token: \(error)")
}
简单 SSO(用于开发/测试)
import FastCommentsSwift
// 创建简单的 SSO 用户数据(无需 API 密钥)
let userData = SimpleSSOUserData(
username: "johndoe",
email: "user@example.com",
avatar: "https://example.com/avatar.jpg"
)
// 生成简单 SSO 令牌
let sso = FastCommentsSSO.createSimple(simpleSSOUserData: userData)
do {
let token = try sso.createToken()
print("Simple SSO Token: \(token ?? "")")
} catch {
print("Error creating SSO token: \(error)")
}
API 客户端 
FastComments SDK 提供了三个 API 客户端:
PublicAPI - 客户端安全方法
PublicAPI 包含可安全从客户端代码(iOS/macOS 应用)调用的方法。这些方法:
- 不需要 API 密钥
- 可以使用 SSO 令牌进行身份验证
- 按用户/设备进行限流
- 适用于面向最终用户的应用程序
示例用例:在 iOS 应用中获取和创建评论
DefaultAPI - 服务器端方法
DefaultAPI 包含需要 API 密钥的已认证方法。这些方法:
- 需要您的 FastComments API 密钥
- 只能从服务器端代码调用
- 提供对您的 FastComments 数据的完整访问
- 按租户进行限流
示例用例:管理操作、大批量数据导出、用户管理
ModerationAPI - 版主仪表盘方法
ModerationAPI 提供了一个功能丰富的实时快速审核 API 套件。每个 ModerationAPI 方法都接受一个 sso 参数,并且可以通过 SSO 或 FastComments.com 会话 Cookie 进行身份验证。
示例用例:为您社区的版主构建审核体验
重要提示:切勿在客户端代码中暴露您的 API 密钥。API 密钥应仅在服务器端使用。
调用 API 
Swift SDK 使用现代的 async/await 语法进行所有 API 调用:
let response = try await PublicAPI.getCommentsPublic(
tenantId: "your-tenant-id",
urlId: "page-url-id"
)
常见问题 
401 未授权错误
如果在使用已认证的 API 时遇到 401 错误:
- 检查您的 API 密钥:确保使用来自 FastComments 仪表板的正确 API 密钥
- 验证租户 ID:确保租户 ID 与您的账户匹配
- API 密钥格式:API 密钥应在共享配置中设置为
x-api-key头部:
FastCommentsSwiftAPIConfiguration.shared.customHeaders["x-api-key"] = "YOUR_API_KEY"
- 使用错误的 API:确保在已认证调用中使用
DefaultAPI(而不是PublicAPI)
SSO 令牌问题
如果 SSO 令牌无法正常工作:
- 在生产环境中使用安全模式:始终使用
FastCommentsSSO.createSecure()并传入您的 API 密钥进行生产环境部署 - 仅限服务器端:在服务器上生成安全的 SSO 令牌,切勿将 API 密钥暴露给客户端
- 检查用户数据:确保提供所有必填字段(id、email、username)
- 令牌过期:安全的 SSO 令牌包含时间戳,可能会过期。根据需要生成新的令牌。
SSL/TLS 错误
如果遇到 SSL/TLS 错误:
- 确保您的应用的 Info.plist 允许对 fastcomments.com 的 HTTPS 连接
- 检查是否未使用可能阻止连接的 App Transport Security 异常
备注 
广播 ID
你会看到在某些 API 调用中需要传入 broadcastId。当你接收到事件时,会返回该 ID,这样如果你打算在客户端乐观地应用更改(你很可能会这么做,因为它能提供最佳体验),就可以知道要忽略该事件。请在此处传入一个 UUID。该 ID 应该足够唯一,以避免在一次会话中出现两次。
let broadcastId = UUID().uuidString
聚合 
聚合文档,通过对文档进行分组(如果提供了 groupBy)并执行多项操作来实现。支持不同的操作(例如 sum、countDistinct、avg 等)。
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| parentTenantId | string | query | No | |
| includeStats | boolean | query | No |
响应
示例

获取审计日志 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| limit | number | query | 否 | |
| skip | number | query | 否 | |
| order | string | query | 否 | |
| after | number | query | 否 | |
| before | number | query | 否 |
响应
示例

公开登出 
响应
示例

在评论中封锁(公开) 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
返回: BlockSuccess
示例

解除评论封锁(公开) 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
返回: UnblockSuccess
示例

检查被封锁的评论 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentIds | string | query | 是 | 以逗号分隔的评论 id 列表。 |
| sso | string | query | 否 |
响应
返回: CheckBlockedCommentsResponse
示例

在评论中封锁用户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 |
响应
返回: BlockSuccess
示例

公开创建评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No |
响应
返回: SaveCommentsResponseWithPresence
示例

删除评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| contextUserId | string | query | No | |
| isLive | boolean | query | No |
响应
示例

公开删除评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| editKey | string | query | 否 | |
| sso | string | query | 否 |
响应
返回: PublicAPIDeleteCommentResponse
示例

删除评论投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| voteId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| editKey | string | query | No | |
| sso | string | query | No |
响应
示例

标记评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 |
响应
示例

获取评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取评论列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| page | integer | query | 否 | |
| limit | integer | query | 否 | |
| skip | integer | query | 否 | |
| asTree | boolean | query | 否 | |
| skipChildren | integer | query | 否 | |
| limitChildren | integer | query | 否 | |
| maxTreeDepth | integer | query | 否 | |
| urlId | string | query | 否 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 | |
| contextUserId | string | query | 否 | |
| hashTag | string | query | 否 | |
| parentId | string | query | 否 | |
| direction | string | query | 否 | |
| fromDate | integer | query | 否 | |
| toDate | integer | query | 否 |
响应
示例

公开获取评论 
req
tenantId
urlId
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | |
| page | integer | query | No | |
| direction | string | query | No | |
| sso | string | query | No | |
| skip | integer | query | No | |
| skipChildren | integer | query | No | |
| limit | integer | query | No | |
| limitChildren | integer | query | No | |
| countChildren | boolean | query | No | |
| fetchPageForCommentId | string | query | No | |
| includeConfig | boolean | query | No | |
| countAll | boolean | query | No | |
| includei10n | boolean | query | No | |
| locale | string | query | No | |
| modules | string | query | No | |
| isCrawler | boolean | query | No | |
| includeNotificationCount | boolean | query | No | |
| asTree | boolean | query | No | |
| maxTreeDepth | integer | query | No | |
| useFullTranslationIds | boolean | query | No | |
| parentId | string | query | No | |
| searchText | string | query | No | |
| hashTags | array | query | No | |
| userId | string | query | No | |
| customConfigStr | string | query | No | |
| afterCommentId | string | query | No | |
| beforeCommentId | string | query | No |
响应
返回: GetCommentsResponseWithPresencePublicComment
示例

获取评论文本 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| editKey | string | query | 否 | |
| sso | string | query | 否 |
响应
Returns: PublicAPIGetCommentTextResponse
示例

获取评论投票用户名 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| dir | integer | query | 是 | |
| sso | string | query | 否 |
响应
返回: GetCommentVoteUserNamesSuccessResponse
示例

锁定评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回: APIEmptyResponse
示例

置顶评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回: ChangeCommentPinStatusResponse
示例

保存评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
响应
Returns: APISaveCommentResponse
示例

批量保存评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| sendEmails | boolean | query | No | |
| populateNotifications | boolean | query | No |
响应
示例

设置评论文本 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| editKey | string | query | 否 | |
| sso | string | query | 否 |
响应
返回: PublicAPISetCommentTextResponse
示例

解除用户评论封锁 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 |
响应
示例

取消标记评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 |
响应
示例

解锁评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回: APIEmptyResponse
示例

取消置顶评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回:ChangeCommentPinStatusResponse
示例

更新评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| contextUserId | string | query | 否 | |
| doSpamCheck | boolean | query | 否 | |
| isLive | boolean | query | 否 |
响应
返回: APIEmptyResponse
示例

对评论投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| commentId | string | path | Yes | |
| urlId | string | query | Yes | |
| broadcastId | string | query | Yes | |
| sessionId | string | query | No | |
| sso | string | query | No |
响应
返回:VoteResponse
示例

获取用户的评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| userId | string | query | 否 | |
| direction | string | query | 否 | |
| repliesToUserId | string | query | 否 | |
| page | number | query | 否 | |
| includei10n | boolean | query | 否 | |
| locale | string | query | 否 | |
| isCrawler | boolean | query | 否 |
响应
示例

添加域配置 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除域配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| domain | string | path | 是 |
响应
返回: DeleteDomainConfigResponse
示例

获取域配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| domain | string | path | 是 |
响应
示例

获取域配置列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

部分更新域配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| domainToUpdate | string | path | Yes |
响应
示例

替换域配置 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| domainToUpdate | string | path | 是 |
返回
示例

创建邮件模板 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
返回: CreateEmailTemplateResponse
示例

删除邮件模板 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
Response
返回: APIEmptyResponse
示例

删除邮件模板渲染错误 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| errorId | string | path | 是 |
响应
示例

获取邮件模板 
参数
| 名称 | 类型 | 位置 | 是否必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取邮件模板定义 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
返回: GetEmailTemplateDefinitionsResponse
示例

获取邮件模板渲染错误 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| skip | number | query | 否 |
响应
返回: GetEmailTemplateRenderErrorsResponse
示例

获取邮件模板列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| skip | number | query | 否 |
响应
示例

渲染邮件模板 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| locale | string | query | 否 |
响应
返回: RenderEmailTemplateResponse
示例

更新邮件模板 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

获取事件日志 
req tenantId urlId userIdWS
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| userIdWS | string | query | 是 | |
| startTime | integer | query | 是 | |
| endTime | integer | query | 否 |
Response
示例

获取全局事件日志 
req tenantId urlId userIdWS
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| userIdWS | string | query | 是 | |
| startTime | integer | query | 是 | |
| endTime | integer | query | 否 |
响应
示例

创建动态帖子 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| broadcastId | string | query | No | |
| isLive | boolean | query | No | |
| doSpamCheck | boolean | query | No | |
| skipDupCheck | boolean | query | No |
响应
示例

公开创建动态帖子 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

公开删除动态帖子 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| postId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
返回:DeleteFeedPostPublicResponse
示例

获取动态帖子 
请求
tenantId
afterId
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| limit | integer | query | No | |
| tags | array | query | No |
响应
示例

公开获取动态帖子 
req tenantId afterId
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| afterId | string | query | 否 | |
| limit | integer | query | 否 | |
| tags | array | query | 否 | |
| sso | string | query | 否 | |
| isCrawler | boolean | query | 否 | |
| includeUserInfo | boolean | query | 否 |
响应
示例

获取动态帖子统计 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| postIds | array | query | 是 | |
| sso | string | query | 否 |
响应
示例

公开获取用户反应 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| postIds | array | query | No | |
| sso | string | query | No |
响应
示例

公开对动态帖子进行反应 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| postId | string | path | 是 | |
| isUndo | boolean | query | 否 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

更新动态帖子 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

公开更新动态帖子 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| postId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

公开标记评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| isFlagged | boolean | query | 是 | |
| sso | string | query | 否 |
响应
返回: APIEmptyResponse
示例

获取大图动图 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| largeInternalURLSanitized | string | query | 是 |
响应
示例

搜索动图 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | 路径 | 是 | |
| search | string | 查询 | 是 | |
| locale | string | 查询 | 否 | |
| rating | string | 查询 | 否 | |
| page | number | 查询 | 否 |
响应
示例

获取热门动图 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| locale | string | query | 否 | |
| rating | string | query | 否 | |
| page | number | query | 否 |
响应
示例

添加标签 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes |
响应
示例

批量添加标签 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除标签 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| tag | string | path | Yes |
响应
示例

获取标签 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| page | number | query | 否 |
响应
示例

部分更新标签 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| tag | string | path | 是 |
响应
示例

删除审核投票 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| voteId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

获取 API 评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | 查询 | 是 | |
| page | number | 查询 | 否 | |
| count | number | 查询 | 否 | |
| text-search | string | 查询 | 否 | |
| byIPFromComment | string | 查询 | 否 | |
| filters | string | 查询 | 否 | |
| searchFilters | string | 查询 | 否 | |
| sorts | string | 查询 | 否 | |
| demo | boolean | 查询 | 否 | |
| sso | string | 查询 | 否 |
响应
返回:ModerationAPIGetCommentsResponse
示例

获取 API 导出状态 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| batchJobId | string | query | 否 | |
| sso | string | query | 否 |
响应
返回: ModerationExportStatusResponse
示例

获取 API IDs 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| afterId | string | query | No | |
| demo | boolean | query | No | |
| sso | string | query | No |
响应
返回:ModerationAPIGetCommentIdsResponse
示例

获取被评论封禁的用户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
返回: GetBannedUsersFromCommentResponse
示例

获取评论封禁状态 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
返回:GetCommentBanStatusResponse
示例

获取评论子评论 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
Response
返回: ModerationAPIChildCommentsResponse
示例

获取计数 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| text-search | string | query | 否 | |
| byIPFromComment | string | query | 否 | |
| filter | string | query | 否 | |
| searchFilters | string | query | 否 | |
| demo | boolean | query | 否 | |
| sso | string | query | 否 |
响应
返回:ModerationAPICountCommentsResponse
示例

获取计数统计 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
响应
返回:GetBannedUsersCountResponse
示例

获取日志 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
返回:ModerationAPIGetLogsResponse
示例

获取手动徽章 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回: GetTenantManualBadgesResponse
示例

获取用户的手动徽章 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgesUserId | string | query | No | |
| commentId | string | query | No | |
| sso | string | query | No |
响应
返回: GetUserManualBadgesResponse
示例

获取审核评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| includeEmail | boolean | query | 否 | |
| includeIP | boolean | query | 否 | |
| sso | string | query | 否 |
响应
返回:ModerationAPICommentResponse
示例

获取审核评论文本 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| sso | string | query | 否 |
响应
示例

获取预封禁摘要 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| includeByUserIdAndEmail | boolean | query | 否 | |
| includeByIP | boolean | query | 否 | |
| includeByEmailDomain | boolean | query | 否 | |
| sso | string | query | 否 |
响应
示例

获取评论搜索摘要 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| value | string | query | 否 | |
| filters | string | query | 否 | |
| searchFilters | string | query | 否 | |
| sso | string | query | 否 |
响应
返回:ModerationCommentSearchResponse
示例

搜索页面 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
响应
返回:ModerationPageSearchResponse
示例

搜索站点 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
响应
返回:ModerationSiteSearchResponse
示例

获取搜索建议 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| text-search | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

搜索用户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| value | string | query | No | |
| sso | string | query | No |
响应
返回: ModerationUserSearchResponse
示例

获取信任因子 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 否 | |
| sso | string | query | 否 |
响应
Returns: GetUserTrustFactorResponse
示例

获取用户封禁偏好 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回:APIModerateGetUserBanPreferencesResponse
示例

获取用户内部资料 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | query | 否 | |
| sso | string | query | 否 |
响应
返回:GetUserInternalProfileResponse
示例

调整评论投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

发起 API 导出 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| text-search | string | query | No | |
| byIPFromComment | string | query | No | |
| filters | string | query | No | |
| searchFilters | string | query | No | |
| sorts | string | query | No | |
| sso | string | query | No |
响应
示例

封禁评论用户 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| banEmail | boolean | query | No | |
| banEmailDomain | boolean | query | No | |
| banIP | boolean | query | No | |
| deleteAllUsersComments | boolean | query | No | |
| bannedUntil | string | query | No | |
| isShadowBan | boolean | query | No | |
| updateId | string | query | No | |
| banReason | string | query | No | |
| sso | string | query | No |
响应
示例

撤销用户封禁 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| sso | string | query | 否 |
响应
示例

批量预封禁摘要 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| includeByUserIdAndEmail | boolean | query | No | |
| includeByIP | boolean | query | No | |
| includeByEmailDomain | boolean | query | No | |
| sso | string | query | No |
响应
示例

按 ID 获取评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| sso | string | query | No |
响应
返回: ModerationAPIChildCommentsResponse
示例

提交标记评论 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
返回: APIEmptyResponse
示例

提交删除评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
返回: PostRemoveCommentApiResponse
示例

恢复已删除评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
示例

设置评论审批状态 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| approved | boolean | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
返回: SetCommentApprovedResponse
示例

设置评论审核状态 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | path | 是 | |
| reviewed | boolean | query | 否 | |
| broadcastId | string | query | 否 | |
| sso | string | query | 否 |
响应
返回: APIEmptyResponse
示例

设置评论垃圾状态 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | 查询 | 是 | |
| commentId | string | 路径 | 是 | |
| spam | boolean | 查询 | 否 | |
| permNotSpam | boolean | 查询 | 否 | |
| broadcastId | string | 查询 | 否 | |
| sso | string | 查询 | 否 |
响应
示例

设置评论文本 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
示例

取消标记评论 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
返回: APIEmptyResponse
示例

提交投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | path | Yes | |
| direction | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
返回: VoteResponse
示例

授予徽章 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgeId | string | query | Yes | |
| userId | string | query | No | |
| commentId | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
Returns: AwardUserBadgeResponse
示例

关闭主题 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| urlId | string | query | 是 | |
| sso | string | query | 否 |
响应
示例

移除徽章 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| badgeId | string | query | Yes | |
| userId | string | query | No | |
| commentId | string | query | No | |
| broadcastId | string | query | No | |
| sso | string | query | No |
响应
Returns: RemoveUserBadgeResponse
示例

重新打开主题 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| urlId | string | query | 是 | |
| sso | string | query | 否 |
响应
示例

设置信任因子 
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| trustFactor | string | query | No | |
| sso | string | query | No |
Response
返回: SetUserTrustFactorResponse
Example

创建版主 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除版主 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| sendEmail | string | query | 否 |
响应
返回: APIEmptyResponse
示例

获取版主 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取版主列表 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | 查询 | 是 | |
| skip | number | 查询 | 否 |
响应
示例

发送邀请 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| fromName | string | query | 是 |
响应
返回: APIEmptyResponse
示例

更新版主 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

删除通知计数 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
返回
示例

获取缓存的通知计数 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
Response
返回: GetCachedNotificationCountResponse
示例

获取通知计数 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| userId | string | query | No | |
| urlId | string | query | No | |
| fromCommentId | string | query | No | |
| viewed | boolean | query | No | |
| type | string | query | No |
响应
返回:GetNotificationCountResponse
示例

获取通知 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 否 | |
| urlId | string | query | 否 | |
| fromCommentId | string | query | 否 | |
| viewed | boolean | query | 否 | |
| type | string | query | 否 | |
| skip | number | query | 否 |
响应
示例

更新通知 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 |
响应
返回: APIEmptyResponse
示例

创建 V1 页面反应 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| title | string | query | 否 |
响应
示例

创建 V2 页面反应 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| id | string | query | 是 | |
| title | string | query | 否 |
响应
示例

删除 V1 页面反应 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 |
响应
示例

删除 V2 页面反应 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| id | string | query | 是 |
响应
示例

获取 V1 页面点赞 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | 路径 | 是 | |
| urlId | string | 查询 | 是 |
响应
返回: GetV1PageLikes
示例

获取 V2 页面反应 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 |
响应
示例

获取 V2 页面反应用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| id | string | query | 是 |
响应
返回: GetV2PageReactUsersResponse
示例

添加页面 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除页面 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取离线用户 
Past commenters on the page who are NOT currently online. Sorted by displayName.
页面上过去的评论者(当前不在线)。按 displayName 排序。
Use this after exhausting /users/online to render a "Members" section.
在用尽 /users/online 之后使用,以呈现 “Members” 部分。
Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.
在 commenterName 上使用游标分页:服务器从 afterName 向前遍历部分 {tenantId, urlId, commenterName} 索引,使用 $gt,没有 $skip 成本。
Parameters
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | 页面 URL 标识符(服务器端已清理)。 |
| afterName | string | query | No | 游标:从上一次响应中传递 nextAfterName。(可选) |
| afterUserId | string | query | No | 游标分割键:从上一次响应中传递 nextAfterUserId。当设置 afterName 时需要,以防名称相同导致条目被忽略。(可选) |
Response
Returns: PageUsersOfflineResponse
Example

获取在线用户 
当前在线的页面查看者:指其 websocket 会话当前已订阅该页面的用户。
返回 anonCount + totalCount(全房间订阅者,包括我们不枚举的匿名查看者)。
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| urlId | string | query | Yes | 页面 URL 标识符(服务器端清理后)。 |
| afterName | string | query | No | 光标:从上一次响应中传递 nextAfterName。 |
| afterUserId | string | query | No | 光标平局解决器:从上一次响应中传递 nextAfterUserId。当设置 afterName 时需要此字段,以防止名称平局导致条目丢失。 |
响应
示例

按 URL ID 获取页面 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
响应
示例

获取页面列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

公开获取页面 
List pages for a tenant. Used by the FChat desktop client to populate its room list.
Requires enableFChat to be true on the resolved custom config for each page.
Pages that require SSO are filtered against the requesting user's group access.
Parameters
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| cursor | string | query | No | 不透明的分页游标,由先前请求返回的 nextCursor 提供。与相同的 sortBy 关联。 |
| limit | integer | query | No | 1..200,默认 50 |
| q | string | query | No | 可选的大小写不敏感的标题前缀过滤器。 |
| sortBy | string | query | No | 排序顺序。updatedAt(默认,最新优先),commentCount(评论数最高优先),或 title(字母顺序)。 |
| hasComments | boolean | query | No | 如果为 true,则仅返回至少有一条评论的页面。 |
Response
Returns: GetPublicPagesResponse
Example

获取用户信息 
为租户批量获取用户信息。根据 userIds,返回来自 User / SSOUser 的展示信息。 由评论小部件使用,以补充通过存在事件刚刚出现的用户信息。 没有页面上下文:隐私统一强制执行(私人资料将被屏蔽)。
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| ids | string | query | 是 | 以逗号分隔的 userIds。 |
响应
示例

部分更新页面 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
响应
示例

删除待处理的 Webhook 事件 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

获取待处理 Webhook 事件计数 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| commentId | string | query | No | |
| externalId | string | query | No | |
| eventType | string | query | No | |
| type | string | query | No | |
| domain | string | query | No | |
| attemptCountGT | number | query | No |
响应
返回:GetPendingWebhookEventCountResponse
示例

获取待处理的 Webhook 事件 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | query | 否 | |
| externalId | string | query | 否 | |
| eventType | string | query | 否 | |
| type | string | query | 否 | |
| domain | string | query | 否 | |
| attemptCountGT | number | query | 否 | |
| skip | number | query | 否 |
响应
返回:GetPendingWebhookEventsResponse
示例

创建问题配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
Response
返回: CreateQuestionConfigResponse
示例

删除问题配置 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取问题配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取问题配置列表 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| skip | number | query | 否 |
响应
示例

更新问题配置 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

创建问题结果 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
返回: CreateQuestionResultResponse
示例

删除问题结果 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
响应
返回: APIEmptyResponse
示例

获取问题结果 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取问题结果列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| urlId | string | query | 否 | |
| userId | string | query | 否 | |
| startDate | string | query | 否 | |
| questionId | string | query | 否 | |
| questionIds | string | query | 否 | |
| skip | number | query | 否 |
响应
示例

更新问题结果 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

聚合问题结果 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| questionId | string | query | No | |
| questionIds | array | query | No | |
| urlId | string | query | No | |
| timeBucket | string | query | No | |
| startDate | string | query | No | |
| forceRecalculate | boolean | query | No |
响应
返回: AggregateQuestionResultsResponse
示例

批量聚合问题结果 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| forceRecalculate | boolean | query | 否 |
响应
返回:BulkAggregateQuestionResultsResponse
示例

将评论与问题结果合并 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| questionId | string | query | 否 | |
| questionIds | array | query | 否 | |
| urlId | string | query | 否 | |
| startDate | string | query | 否 | |
| forceRecalculate | boolean | query | 否 | |
| minValue | number | query | 否 | |
| maxValue | number | query | 否 | |
| limit | number | query | 否 |
响应
返回:CombineQuestionResultsWithCommentsResponse
示例

添加 SSO 用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除 SSO 用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes | |
| deleteComments | boolean | query | No | |
| commentDeleteMode | string | query | No |
响应
示例

按邮箱获取 SSO 用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| string | path | 是 |
响应
返回:GetSSOUserByEmailAPIResponse
示例

按 ID 获取 SSO 用户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取 SSO 用户列表 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| skip | integer | query | 否 |
响应
示例

部分更新 SSO 用户 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| updateComments | boolean | query | 否 |
响应
示例

替换 SSO 用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| updateComments | boolean | query | 否 |
响应
示例

创建订阅 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
返回: CreateSubscriptionAPIResponse
示例

删除订阅 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 |
响应
返回:DeleteSubscriptionAPIResponse
示例

获取订阅 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 否 |
响应
返回: GetSubscriptionsAPIResponse
示例

更新订阅 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 |
响应
返回: UpdateSubscriptionAPIResponse
示例

获取租户日使用量 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| yearNumber | number | query | 否 | |
| monthNumber | number | query | 否 | |
| dayNumber | number | query | 否 | |
| skip | number | query | 否 |
响应
返回: GetTenantDailyUsagesResponse
示例

创建租户套餐 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
返回: CreateTenantPackageResponse
示例

删除租户套餐 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

获取租户套餐 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取租户套餐列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| skip | number | query | 否 |
响应
示例

替换租户套餐 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

更新租户套餐 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIEmptyResponse
示例

创建租户用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
Response
示例

删除租户用户 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| deleteComments | string | query | 否 | |
| commentDeleteMode | string | query | 否 |
响应
示例

获取租户用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| id | string | path | Yes |
Response
示例

获取租户用户列表 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| skip | number | query | 否 |
响应
示例

替换租户用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| updateComments | string | query | 否 |
响应
返回: APIEmptyResponse
示例

发送登录链接 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| redirectURL | string | query | 否 |
响应
返回: APIEmptyResponse
示例

更新租户用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| updateComments | string | query | 否 |
响应
示例

创建租户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除租户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| sure | string | query | 否 |
响应
示例

获取租户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取租户列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| meta | string | query | 否 | |
| skip | number | query | 否 |
响应
示例

更新租户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

更改工单状态 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

创建工单 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 是 |
响应
示例

获取工单 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| userId | string | query | 否 |
响应
示例

获取工单列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 否 | |
| state | number | query | 否 | |
| skip | number | query | 否 | |
| limit | number | query | 否 |
响应
示例

获取翻译 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| namespace | string | path | 是 | |
| component | string | path | 是 | |
| locale | string | query | 否 | |
| useFullTranslationIds | boolean | query | 否 |
响应
示例

上传图片 
上传并调整图像大小
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | Yes | |
| sizePreset | string | query | No | 尺寸预设:"Default" (1000x1000px) 或 "CrossPlatform" (为流行设备创建尺寸) |
| urlId | string | query | No | 上传所在页面的 ID,用于配置 |
响应
Returns: UploadImageResponse
示例

按 ID 获取用户徽章进度 
参数
| 名称 | 类型 | 位置 | 必填 | 说明 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: APIGetUserBadgeProgressResponse
示例

按用户 ID 获取用户徽章进度 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | path | 是 |
响应
返回: APIGetUserBadgeProgressResponse
示例

获取用户徽章进度列表 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| userId | string | query | 否 | |
| limit | number | query | 否 | |
| skip | number | query | 否 |
响应
返回: APIGetUserBadgeProgressListResponse
示例

创建用户徽章 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 |
响应
示例

删除用户徽章 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取用户徽章 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取用户徽章列表 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | 查询 | 是 | |
| userId | string | 查询 | 否 | |
| badgeId | string | 查询 | 否 | |
| type | number | 查询 | 否 | |
| displayedOnComments | boolean | 查询 | 否 | |
| limit | number | 查询 | 否 | |
| skip | number | 查询 | 否 |
响应
示例

更新用户徽章 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
示例

获取用户通知计数 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回: GetUserNotificationCountResponse
示例

获取用户通知 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| urlId | string | query | 否 | 用于确定当前页面是否已订阅。 |
| pageSize | integer | query | 否 | |
| afterId | string | query | 否 | |
| includeContext | boolean | query | 否 | |
| afterCreatedAt | integer | query | 否 | |
| unreadOnly | boolean | query | 否 | |
| dmOnly | boolean | query | 否 | |
| noDm | boolean | query | 否 | |
| includeTranslations | boolean | query | 否 | |
| includeTenantNotifications | boolean | query | 否 | |
| sso | string | query | 否 |
响应
示例

重置用户通知计数 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| sso | string | query | 否 |
响应
返回:ResetUserNotificationsResponse
示例

重置用户通知 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| afterId | string | query | No | |
| afterCreatedAt | integer | query | No | |
| unreadOnly | boolean | query | No | |
| dmOnly | boolean | query | No | |
| noDm | boolean | query | No | |
| sso | string | query | No |
响应
返回: ResetUserNotificationsResponse
示例

更新用户评论订阅状态 
启用或禁用针对特定评论的通知。
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | 查询 | 是 | |
| notificationId | string | 路径 | 是 | |
| optedInOrOut | string | 路径 | 是 | |
| commentId | string | 查询 | 是 | |
| sso | string | 查询 | 否 |
响应
返回:UpdateUserNotificationCommentSubscriptionStatusResponse
示例

更新用户页面订阅状态 
启用或禁用页面的通知。当用户订阅页面时,会为新的根评论创建通知,并且还会
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| urlId | string | query | 是 | |
| url | string | query | 是 | |
| pageTitle | string | query | 是 | |
| subscribedOrUnsubscribed | string | path | 是 | |
| sso | string | query | 否 |
响应
返回: UpdateUserNotificationPageSubscriptionStatusResponse
示例

更新用户通知状态 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| notificationId | string | path | 是 | |
| newStatus | string | path | 是 | |
| sso | string | query | 否 |
响应
返回: UpdateUserNotificationStatusResponse
示例

获取用户在线状态 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlIdWS | string | query | Yes | |
| userIds | string | query | Yes |
响应
返回: GetUserPresenceStatusesResponse
示例

搜索用户 
参数
| 名称 | 类型 | 位置 | 必需 | 描述 |
|---|---|---|---|---|
| tenantId | string | path | 是 | |
| urlId | string | query | 是 | |
| usernameStartsWith | string | query | 否 | |
| mentionGroupIds | array | query | 否 | |
| sso | string | query | 否 | |
| searchSection | string | query | 否 |
响应
示例

获取用户 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 |
响应
返回: GetUserResponse
示例

创建投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| commentId | string | query | 是 | |
| direction | string | query | 是 | |
| userId | string | query | 否 | |
| anonUserId | string | query | 否 |
响应
返回:VoteResponse
示例

删除投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | 是 | |
| id | string | path | 是 | |
| editKey | string | query | 否 |
响应
示例

获取投票 
参数
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes |
响应
返回: GetVotesResponse
示例

获取用户的投票 
参数
| 名称 | 类型 | 位置 | 必填 | 描述 |
|---|---|---|---|---|
| tenantId | string | query | Yes | |
| urlId | string | query | Yes | |
| userId | string | query | No | |
| anonUserId | string | query | No |
响应
示例

需要帮助?
如果您在使用 Swift SDK 时遇到任何问题或有疑问,请:
贡献
欢迎贡献!请访问 GitHub 仓库 以查看贡献指南。