
语言 🇨🇳 简体中文
文档
入门
API 参考
用法
聚合
审计日志
认证
基于评论的封禁
检查被封禁的评论
评论
用户的评论
域名配置
邮件模板
事件日志
动态帖子
举报评论
动图
话题标签
审核
审核员
通知计数
通知
页面互动
页面
待处理 Webhook 事件
问题配置
问题结果
问题结果汇总
SSO 用户
订阅
租户每日使用
租户套餐
租户用户
租户
工单
翻译
上传图片
用户徽章进度
用户徽章
用户通知
用户在线状态
用户搜索
用户
投票
FastComments 的 Nim SDK
这是 FastComments 的官方 Nim SDK。
FastComments API 的官方 Nim SDK
仓库
安装 
使用 Nimble
nimble install fastcomments
从源码构建
nimble build
库内容
此库包含生成的 API 客户端和 SSO 实用程序,以便更轻松地使用 API。
公开 API 与受保护 API
对于 API 客户端,有三个 API 模块,api_default、api_public 和 api_moderation。api_default 包含需要您的 API 密钥的方法,api_public 包含可以直接从浏览器/移动设备等发起且无需认证的 API 调用。api_moderation 模块包含用于审核员仪表板的方法。
api_moderation 模块提供了一套全面的实时且快速的审核 API。每个 api_moderation 方法都接受一个 sso 参数,并且可以通过 SSO 或 FastComments.com 会话 cookie 进行身份验证。
快速开始 
使用已认证的 APIs (DefaultAPI)
重要: 已认证的端点需要将您的 API 密钥设置为 x-api-key 请求头。
import httpclient
import fastcomments
import fastcomments/apis/api_default
import fastcomments/models/model_comment_data
let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"
# 发起已认证的 API 调用。
# 必需参数(以及请求体)是位置参数;可选
# 参数通过操作的 options 对象传递。
let (response, httpResponse) = getComments(
httpClient = client,
tenantId = "your-tenant-id",
options = GetCommentsOptions(
urlId: "your-url-id",
direction: SortDirections.DESC
)
)
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
使用公共 APIs (PublicAPI)
公共端点不需要身份验证:
import httpclient
import fastcomments
import fastcomments/apis/api_public
let client = newHttpClient()
# 发起公共 API 调用。
# tenantId 和 urlId 为必需(位置参数);其余均为可选。
let (response, httpResponse) = getCommentsPublic(
httpClient = client,
tenantId = "your-tenant-id",
urlId = "your-url-id",
options = GetCommentsPublicOptions(
direction: SortDirections.DESC
)
)
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
使用审查 APIs (ModerationAPI)
审查端点为审查员仪表板提供功能,并使用执行审查员的 SSO 令牌进行身份验证:
import httpclient
import fastcomments
import fastcomments/apis/api_moderation
let client = newHttpClient()
# 列出审查仪表板中的评论。
# 此操作没有必需参数,所有参数均为可选。
let (response, httpResponse) = getApiComments(
httpClient = client,
options = GetApiCommentsOptions(
count: 30,
tenantId: "your-tenant-id",
sso: "your-sso-token"
)
)
if response.isSome:
let resp = response.get()
echo "Found ", resp.comments.len, " comments"
常见问题
- 401 认证错误:确保在进行 DefaultAPI 请求之前在 HttpClient 上设置
x-api-key请求头:client.headers["x-api-key"] = "your-api-key" - 错误的 API 类:对于服务端已认证请求使用
api_default,对于客户端/公共请求使用api_public,对于审查仪表板请求使用api_moderation。
发起 API 调用 
此 SDK 中的所有 API 方法返回 (Option[ResponseType], Response) 元组。第一个元素在成功时包含解析后的响应,第二个元素是原始的 HTTP 响应。
必需的参数和请求体按位置传递。其余可选参数收集到一个 Api<Operation>Options 对象中,作为最后一个参数。没有可选参数的操作无需提供 options 对象。
示例:获取评论
import httpclient
import options
import fastcomments
import fastcomments/apis/api_default
let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"
let (response, httpResponse) = getComments(
httpClient = client,
tenantId = "your-tenant-id",
options = GetCommentsOptions(
urlId: "your-url-id",
direction: SortDirections.DESC
)
)
if httpResponse.code == Http200:
if response.isSome:
let resp = response.get()
if resp.comments.isSome:
echo "Found ", resp.comments.get().len, " comments"
注意事项 
广播 ID
在某些 API 调用中,你会看到需要传入 broadcastId。当你接收到事件时,会返回这个 ID,这样如果你计划在客户端乐观地应用更改,就可以据此忽略该事件
(你可能会想这样做,因为它能提供最佳体验)。在此传入一个 UUID。该 ID 应足够唯一,在一次浏览器会话中不会出现两次。
SSO (单点登录)
有关 SSO 示例,请见下文。
SSO 使用 
简单 SSO
import fastcomments/sso
let user = newSimpleSSOUserData(
userId = "user-123",
email = "user@example.com",
avatar = "https://example.com/avatar.jpg"
)
let sso = newSimple(simpleUserData = user)
let token = sso.createToken()
echo "SSO Token: ", token
安全 SSO
import fastcomments/sso
let user = newSecureSSOUserData(
userId = "user-123",
email = "user@example.com",
username = "johndoe",
avatar = "https://example.com/avatar.jpg"
)
let apiKey = "your-api-key"
let sso = newSecure(apiKey = apiKey, secureUserData = user)
let token = sso.createToken()
echo "Secure SSO Token: ", token
fastcomments 文档 
API 端点文档
All URIs are relative to https://fastcomments.com
| 类 | 方法 | HTTP 请求 | 描述 |
|---|---|---|---|
| DefaultApi | addDomainConfig | POST /api/v1/domain-configs | |
| DefaultApi | addHashTag | POST /api/v1/hash-tags | |
| DefaultApi | addHashTagsBulk | POST /api/v1/hash-tags/bulk | |
| DefaultApi | addPage | POST /api/v1/pages | |
| DefaultApi | addSSOUser | POST /api/v1/sso-users | |
| DefaultApi | aggregate | POST /api/v1/aggregate | 通过对文档进行分组(如果提供了 groupBy)并应用多个操作来聚合文档。支持不同的操作(例如 sum、countDistinct、avg 等)。 |
| DefaultApi | aggregateQuestionResults | GET /api/v1/question-results-aggregation | |
| DefaultApi | blockUserFromComment | POST /api/v1/comments/{id}/block | |
| DefaultApi | bulkAggregateQuestionResults | POST /api/v1/question-results-aggregation/bulk | |
| DefaultApi | changeTicketState | PATCH /api/v1/tickets/{id}/state | |
| DefaultApi | combineCommentsWithQuestionResults | GET /api/v1/question-results-aggregation/combine/comments | |
| DefaultApi | createEmailTemplate | POST /api/v1/email-templates | |
| DefaultApi | createFeedPost | POST /api/v1/feed-posts | |
| DefaultApi | createModerator | POST /api/v1/moderators | |
| DefaultApi | createQuestionConfig | POST /api/v1/question-configs | |
| DefaultApi | createQuestionResult | POST /api/v1/question-results | |
| DefaultApi | createSubscription | POST /api/v1/subscriptions | |
| DefaultApi | createTenant | POST /api/v1/tenants | |
| DefaultApi | createTenantPackage | POST /api/v1/tenant-packages | |
| DefaultApi | createTenantUser | POST /api/v1/tenant-users | |
| DefaultApi | createTicket | POST /api/v1/tickets | |
| DefaultApi | createUserBadge | POST /api/v1/user-badges | |
| DefaultApi | createVote | POST /api/v1/votes | |
| DefaultApi | deleteComment | DELETE /api/v1/comments/{id} | |
| DefaultApi | deleteDomainConfig | DELETE /api/v1/domain-configs/{domain} | |
| DefaultApi | deleteEmailTemplate | DELETE /api/v1/email-templates/{id} | |
| DefaultApi | deleteEmailTemplateRenderError | DELETE /api/v1/email-templates/{id}/render-errors/{errorId} | |
| DefaultApi | deleteHashTag | DELETE /api/v1/hash-tags/{tag} | |
| DefaultApi | deleteModerator | DELETE /api/v1/moderators/{id} | |
| DefaultApi | deleteNotificationCount | DELETE /api/v1/notification-count/{id} | |
| DefaultApi | deletePage | DELETE /api/v1/pages/{id} | |
| DefaultApi | deletePendingWebhookEvent | DELETE /api/v1/pending-webhook-events/{id} | |
| DefaultApi | deleteQuestionConfig | DELETE /api/v1/question-configs/{id} | |
| DefaultApi | deleteQuestionResult | DELETE /api/v1/question-results/{id} | |
| DefaultApi | deleteSSOUser | DELETE /api/v1/sso-users/{id} | |
| DefaultApi | deleteSubscription | DELETE /api/v1/subscriptions/{id} | |
| DefaultApi | deleteTenant | DELETE /api/v1/tenants/{id} | |
| DefaultApi | deleteTenantPackage | DELETE /api/v1/tenant-packages/{id} | |
| DefaultApi | deleteTenantUser | DELETE /api/v1/tenant-users/{id} | |
| DefaultApi | deleteUserBadge | DELETE /api/v1/user-badges/{id} | |
| DefaultApi | deleteVote | DELETE /api/v1/votes/{id} | |
| DefaultApi | flagComment | POST /api/v1/comments/{id}/flag | |
| DefaultApi | getAuditLogs | GET /api/v1/audit-logs | |
| DefaultApi | getCachedNotificationCount | GET /api/v1/notification-count/{id} | |
| DefaultApi | getComment | GET /api/v1/comments/{id} | |
| DefaultApi | getComments | GET /api/v1/comments | |
| DefaultApi | getDomainConfig | GET /api/v1/domain-configs/{domain} | |
| DefaultApi | getDomainConfigs | GET /api/v1/domain-configs | |
| DefaultApi | getEmailTemplate | GET /api/v1/email-templates/{id} | |
| DefaultApi | getEmailTemplateDefinitions | GET /api/v1/email-templates/definitions | |
| DefaultApi | getEmailTemplateRenderErrors | GET /api/v1/email-templates/{id}/render-errors | |
| DefaultApi | getEmailTemplates | GET /api/v1/email-templates | |
| DefaultApi | getFeedPosts | GET /api/v1/feed-posts | req tenantId afterId |
| DefaultApi | getHashTags | GET /api/v1/hash-tags | |
| DefaultApi | getModerator | GET /api/v1/moderators/{id} | |
| DefaultApi | getModerators | GET /api/v1/moderators | |
| DefaultApi | getNotificationCount | GET /api/v1/notifications/count | |
| DefaultApi | getNotifications | GET /api/v1/notifications | |
| DefaultApi | getPageByURLId | GET /api/v1/pages/by-url-id | |
| DefaultApi | getPages | GET /api/v1/pages | |
| DefaultApi | getPendingWebhookEventCount | GET /api/v1/pending-webhook-events/count | |
| DefaultApi | getPendingWebhookEvents | GET /api/v1/pending-webhook-events | |
| DefaultApi | getQuestionConfig | GET /api/v1/question-configs/{id} | |
| DefaultApi | getQuestionConfigs | GET /api/v1/question-configs | |
| DefaultApi | getQuestionResult | GET /api/v1/question-results/{id} | |
| DefaultApi | getQuestionResults | GET /api/v1/question-results | |
| DefaultApi | getSSOUserByEmail | GET /api/v1/sso-users/by-email/{email} | |
| DefaultApi | getSSOUserById | GET /api/v1/sso-users/by-id/{id} | |
| DefaultApi | getSSOUsers | GET /api/v1/sso-users | |
| DefaultApi | getSubscriptions | GET /api/v1/subscriptions | |
| DefaultApi | getTenant | GET /api/v1/tenants/{id} | |
| DefaultApi | getTenantDailyUsages | GET /api/v1/tenant-daily-usage | |
| DefaultApi | getTenantPackage | GET /api/v1/tenant-packages/{id} | |
| DefaultApi | getTenantPackages | GET /api/v1/tenant-packages | |
| DefaultApi | getTenantUser | GET /api/v1/tenant-users/{id} | |
| DefaultApi | getTenantUsers | GET /api/v1/tenant-users | |
| DefaultApi | getTenants | GET /api/v1/tenants | |
| DefaultApi | getTicket | GET /api/v1/tickets/{id} | |
| DefaultApi | getTickets | GET /api/v1/tickets | |
| DefaultApi | getUser | GET /api/v1/users/{id} | |
| DefaultApi | getUserBadge | GET /api/v1/user-badges/{id} | |
| DefaultApi | getUserBadgeProgressById | GET /api/v1/user-badge-progress/{id} | |
| DefaultApi | getUserBadgeProgressByUserId | GET /api/v1/user-badge-progress/user/{userId} | |
| DefaultApi | getUserBadgeProgressList | GET /api/v1/user-badge-progress | |
| DefaultApi | getUserBadges | GET /api/v1/user-badges | |
| DefaultApi | getVotes | GET /api/v1/votes | |
| DefaultApi | getVotesForUser | GET /api/v1/votes/for-user | |
| DefaultApi | patchDomainConfig | PATCH /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | patchHashTag | PATCH /api/v1/hash-tags/{tag} | |
| DefaultApi | patchPage | PATCH /api/v1/pages/{id} | |
| DefaultApi | patchSSOUser | PATCH /api/v1/sso-users/{id} | |
| DefaultApi | putDomainConfig | PUT /api/v1/domain-configs/{domainToUpdate} | |
| DefaultApi | putSSOUser | PUT /api/v1/sso-users/{id} | |
| DefaultApi | renderEmailTemplate | POST /api/v1/email-templates/render | |
| DefaultApi | replaceTenantPackage | PUT /api/v1/tenant-packages/{id} | |
| DefaultApi | replaceTenantUser | PUT /api/v1/tenant-users/{id} | |
| DefaultApi | saveComment | POST /api/v1/comments | |
| DefaultApi | saveCommentsBulk | POST /api/v1/comments/bulk | |
| DefaultApi | sendInvite | POST /api/v1/moderators/{id}/send-invite | |
| DefaultApi | sendLoginLink | POST /api/v1/tenant-users/{id}/send-login-link | |
| DefaultApi | unBlockUserFromComment | POST /api/v1/comments/{id}/un-block | |
| DefaultApi | unFlagComment | POST /api/v1/comments/{id}/un-flag | |
| DefaultApi | updateComment | PATCH /api/v1/comments/{id} | |
| DefaultApi | updateEmailTemplate | PATCH /api/v1/email-templates/{id} | |
| DefaultApi | updateFeedPost | PATCH /api/v1/feed-posts/{id} | |
| DefaultApi | updateModerator | PATCH /api/v1/moderators/{id} | |
| DefaultApi | updateNotification | PATCH /api/v1/notifications/{id} | |
| DefaultApi | updateQuestionConfig | PATCH /api/v1/question-configs/{id} | |
| DefaultApi | updateQuestionResult | PATCH /api/v1/question-results/{id} | |
| DefaultApi | updateSubscription | PATCH /api/v1/subscriptions/{id} | |
| DefaultApi | updateTenant | PATCH /api/v1/tenants/{id} | |
| DefaultApi | updateTenantPackage | PATCH /api/v1/tenant-packages/{id} | |
| DefaultApi | updateTenantUser | PATCH /api/v1/tenant-users/{id} | |
| DefaultApi | updateUserBadge | PUT /api/v1/user-badges/{id} | |
| ModerationApi | deleteModerationVote | DELETE /auth/my-account/moderate-comments/mod_api/vote/{commentId}/{voteId} | |
| ModerationApi | getApiComments | GET /auth/my-account/moderate-comments/mod_api/api/comments | |
| ModerationApi | getApiExportStatus | GET /auth/my-account/moderate-comments/mod_api/api/export/status | |
| ModerationApi | getApiIds | GET /auth/my-account/moderate-comments/mod_api/api/ids | |
| ModerationApi | getBanUsersFromComment | GET /auth/my-account/moderate-comments/mod_api/ban-users/from-comment/{commentId} | |
| ModerationApi | getCommentBanStatus | GET /auth/my-account/moderate-comments/mod_api/get-comment-ban-status/{commentId} | |
| ModerationApi | getCommentChildren | GET /auth/my-account/moderate-comments/mod_api/comment-children/{commentId} | |
| ModerationApi | getCount | GET /auth/my-account/moderate-comments/mod_api/count | |
| ModerationApi | getCounts | GET /auth/my-account/moderate-comments/banned-users/mod_api/counts | |
| ModerationApi | getLogs | GET /auth/my-account/moderate-comments/mod_api/logs/{commentId} | |
| ModerationApi | getManualBadges | GET /auth/my-account/moderate-comments/mod_api/get-manual-badges | |
| ModerationApi | getManualBadgesForUser | GET /auth/my-account/moderate-comments/mod_api/get-manual-badges-for-user | |
| ModerationApi | getModerationComment | GET /auth/my-account/moderate-comments/mod_api/comment/{commentId} | |
| ModerationApi | getModerationCommentText | GET /auth/my-account/moderate-comments/mod_api/get-comment-text/{commentId} | |
| ModerationApi | getPreBanSummary | GET /auth/my-account/moderate-comments/mod_api/pre-ban-summary/{commentId} | |
| ModerationApi | getSearchCommentsSummary | GET /auth/my-account/moderate-comments/mod_api/search/comments/summary | |
| ModerationApi | getSearchPages | GET /auth/my-account/moderate-comments/mod_api/search/pages | |
| ModerationApi | getSearchSites | GET /auth/my-account/moderate-comments/mod_api/search/sites | |
| ModerationApi | getSearchSuggest | GET /auth/my-account/moderate-comments/mod_api/search/suggest | |
| ModerationApi | getSearchUsers | GET /auth/my-account/moderate-comments/mod_api/search/users | |
| ModerationApi | getTrustFactor | GET /auth/my-account/moderate-comments/mod_api/get-trust-factor | |
| ModerationApi | getUserBanPreference | GET /auth/my-account/moderate-comments/mod_api/user-ban-preference | |
| ModerationApi | getUserInternalProfile | GET /auth/my-account/moderate-comments/mod_api/get-user-internal-profile | |
| ModerationApi | postAdjustCommentVotes | POST /auth/my-account/moderate-comments/mod_api/adjust-comment-votes/{commentId} | |
| ModerationApi | postApiExport | POST /auth/my-account/moderate-comments/mod_api/api/export | |
| ModerationApi | postBanUserFromComment | POST /auth/my-account/moderate-comments/mod_api/ban-user/from-comment/{commentId} | |
| ModerationApi | postBanUserUndo | POST /auth/my-account/moderate-comments/mod_api/ban-user/undo | |
| ModerationApi | postBulkPreBanSummary | POST /auth/my-account/moderate-comments/mod_api/bulk-pre-ban-summary | |
| ModerationApi | postCommentsByIds | POST /auth/my-account/moderate-comments/mod_api/comments-by-ids | |
| ModerationApi | postFlagComment | POST /auth/my-account/moderate-comments/mod_api/flag-comment/{commentId} | |
| ModerationApi | postRemoveComment | POST /auth/my-account/moderate-comments/mod_api/remove-comment/{commentId} | |
| ModerationApi | postRestoreDeletedComment | POST /auth/my-account/moderate-comments/mod_api/restore-deleted-comment/{commentId} | |
| ModerationApi | postSetCommentApprovalStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-approval-status/{commentId} | |
| ModerationApi | postSetCommentReviewStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-review-status/{commentId} | |
| ModerationApi | postSetCommentSpamStatus | POST /auth/my-account/moderate-comments/mod_api/set-comment-spam-status/{commentId} | |
| ModerationApi | postSetCommentText | POST /auth/my-account/moderate-comments/mod_api/set-comment-text/{commentId} | |
| ModerationApi | postUnFlagComment | POST /auth/my-account/moderate-comments/mod_api/un-flag-comment/{commentId} | |
| ModerationApi | postVote | POST /auth/my-account/moderate-comments/mod_api/vote/{commentId} | |
| ModerationApi | putAwardBadge | PUT /auth/my-account/moderate-comments/mod_api/award-badge | |
| ModerationApi | putCloseThread | PUT /auth/my-account/moderate-comments/mod_api/close-thread | |
| ModerationApi | putRemoveBadge | PUT /auth/my-account/moderate-comments/mod_api/remove-badge | |
| ModerationApi | putReopenThread | PUT /auth/my-account/moderate-comments/mod_api/reopen-thread | |
| ModerationApi | setTrustFactor | PUT /auth/my-account/moderate-comments/mod_api/set-trust-factor | |
| PublicApi | blockFromCommentPublic | POST /block-from-comment/{commentId} | |
| PublicApi | checkedCommentsForBlocked | GET /check-blocked-comments | |
| PublicApi | createCommentPublic | POST /comments/{tenantId} | |
| PublicApi | createFeedPostPublic | POST /feed-posts/{tenantId} | |
| PublicApi | createV1PageReact | POST /page-reacts/v1/likes/{tenantId} | |
| PublicApi | createV2PageReact | POST /page-reacts/v2/{tenantId} | |
| PublicApi | deleteCommentPublic | DELETE /comments/{tenantId}/{commentId} | |
| PublicApi | deleteCommentVote | DELETE /comments/{tenantId}/{commentId}/vote/{voteId} | |
| PublicApi | deleteFeedPostPublic | DELETE /feed-posts/{tenantId}/{postId} | |
| PublicApi | deleteV1PageReact | DELETE /page-reacts/v1/likes/{tenantId} | |
| PublicApi | deleteV2PageReact | DELETE /page-reacts/v2/{tenantId} | |
| PublicApi | flagCommentPublic | POST /flag-comment/{commentId} | |
| PublicApi | getCommentText | GET /comments/{tenantId}/{commentId}/text | |
| PublicApi | getCommentVoteUserNames | GET /comments/{tenantId}/{commentId}/votes | |
| PublicApi | getCommentsForUser | GET /comments-for-user | |
| PublicApi | getCommentsPublic | GET /comments/{tenantId} | req tenantId urlId |
| PublicApi | getEventLog | GET /event-log/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getFeedPostsPublic | GET /feed-posts/{tenantId} | req tenantId afterId |
| PublicApi | getFeedPostsStats | GET /feed-posts/{tenantId}/stats | |
| PublicApi | getGifLarge | GET /gifs/get-large/{tenantId} | |
| PublicApi | getGifsSearch | GET /gifs/search/{tenantId} | |
| PublicApi | getGifsTrending | GET /gifs/trending/{tenantId} | |
| PublicApi | getGlobalEventLog | GET /event-log/global/{tenantId} | req tenantId urlId userIdWS |
| PublicApi | getOfflineUsers | GET /pages/{tenantId}/users/offline | 页面上过去的评论者,但当前未在线。按 displayName 排序。在耗尽 /users/online 后使用,以渲染 “成员” 部分。对 commenterName 进行游标分页:服务器从 afterName 开始向前遍历 {tenantId, urlId, commenterName} 的部分索引,通过 $gt,无需 $skip 成本。 |
| PublicApi | getOnlineUsers | GET /pages/{tenantId}/users/online | 当前在线查看页面的用户:其 websocket 会话当前已订阅该页面的人员。返回 anonCount + totalCount(整个房间的订阅者,包括我们不枚举的匿名查看者)。 |
| PublicApi | getPagesPublic | GET /pages/{tenantId} | 列出租户的页面。FChat 桌面客户端使用它来填充房间列表。每个页面的解析自定义配置中必须将 enableFChat 设为 true。需要 SSO 的页面会根据请求用户的组访问权限进行过滤。 |
| PublicApi | getTranslations | GET /translations/{namespace}/{component} | |
| PublicApi | getUserNotificationCount | GET /user-notifications/get-count | |
| PublicApi | getUserNotifications | GET /user-notifications | |
| PublicApi | getUserPresenceStatuses | GET /user-presence-status | |
| PublicApi | getUserReactsPublic | GET /feed-posts/{tenantId}/user-reacts | |
| PublicApi | getUsersInfo | GET /pages/{tenantId}/users/info | 租户的批量用户信息。给定 userIds,返回来自 User / SSOUser 的显示信息。评论小部件使用它来丰富通过在线事件刚出现的用户。没有页面上下文:隐私统一强制(私人资料被遮蔽)。 |
| PublicApi | getV1PageLikes | GET /page-reacts/v1/likes/{tenantId} | |
| PublicApi | getV2PageReactUsers | GET /page-reacts/v2/{tenantId}/list | |
| PublicApi | getV2PageReacts | GET /page-reacts/v2/{tenantId} | |
| PublicApi | lockComment | POST /comments/{tenantId}/{commentId}/lock | |
| PublicApi | logoutPublic | PUT /auth/logout | |
| PublicApi | pinComment | POST /comments/{tenantId}/{commentId}/pin | |
| PublicApi | reactFeedPostPublic | POST /feed-posts/{tenantId}/react/{postId} | |
| PublicApi | resetUserNotificationCount | POST /user-notifications/reset-count | |
| PublicApi | resetUserNotifications | POST /user-notifications/reset | |
| PublicApi | searchUsers | GET /user-search/{tenantId} | |
| PublicApi | setCommentText | POST /comments/{tenantId}/{commentId}/update-text | |
| PublicApi | unBlockCommentPublic | DELETE /block-from-comment/{commentId} | |
| PublicApi | unLockComment | POST /comments/{tenantId}/{commentId}/unlock | |
| PublicApi | unPinComment | POST /comments/{tenantId}/{commentId}/unpin | |
| PublicApi | updateFeedPostPublic | PUT /feed-posts/{tenantId}/{postId} | |
| PublicApi | updateUserNotificationCommentSubscriptionStatus | POST /user-notifications/{notificationId}/mark-opted/{optedInOrOut} | 为特定评论启用或禁用通知。 |
| PublicApi | updateUserNotificationPageSubscriptionStatus | POST /user-notifications/set-subscription-state/{subscribedOrUnsubscribed} | 为页面启用或禁用通知。当用户订阅页面时,会为新的根评论创建通知,并且... |
| PublicApi | updateUserNotificationStatus | POST /user-notifications/{notificationId}/mark/{newStatus} | |
| PublicApi | uploadImage | POST /upload-image/{tenantId} | 上传并调整图像大小 |
| PublicApi | voteComment | POST /comments/{tenantId}/{commentId}/vote |
模型文档
- APIAuditLog
- APIBanUserChangeLog
- APIBanUserChangedValues
- APIBannedUser
- APIBannedUserWithMultiMatchInfo
- APIComment
- APICommentBase
- APICommentBase_meta
- APICommentCommonBannedUser
- APICreateUserBadgeResponse
- APIDomainConfiguration
- APIEmptyResponse
- APIEmptySuccessResponse
- APIError
- APIGetCommentResponse
- APIGetCommentsResponse
- APIGetUserBadgeProgressListResponse
- APIGetUserBadgeProgressResponse
- APIGetUserBadgeResponse
- APIGetUserBadgesResponse
- APIModerateGetUserBanPreferencesResponse
- APIModerateUserBanPreferences
- APIPage
- APISSOUser
- APISaveCommentResponse
- APIStatus
- APITenant
- APITenantDailyUsage
- APITicket
- APITicketDetail
- APITicketFile
- APIUserSubscription
- AddDomainConfigParams
- AddDomainConfigResponse
- AddDomainConfigResponse_anyOf
- AddPageAPIResponse
- AddSSOUserAPIResponse
- AdjustCommentVotesParams
- AdjustVotesResponse
- AggregateQuestionResultsResponse
- AggregateResponse
- AggregateTimeBucket
- AggregationAPIError
- AggregationItem
- AggregationOpType
- AggregationOperation
- AggregationRequest
- AggregationRequest_sort
- AggregationResponse
- AggregationResponse_stats
- AggregationValue
- AwardUserBadgeResponse
- BanUserFromCommentResult
- BanUserUndoParams
- BannedUserMatch
- BannedUserMatchType
- BannedUserMatch_matchedOnValue
- [BillingInfo](https://github
聚合 
Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| aggregationRequest | AggregationRequest | No | |
| options | AggregateOptions | No |
响应
示例

获取审计日志 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| options | GetAuditLogsOptions | No |
响应
返回: Option[GetAuditLogsResponse]
示例

登出(公开) 
响应
示例

从评论封禁(公开) 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | 否 | |
| sso | string = "" | 否 |
响应
示例

取消封禁评论(公开) 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | 否 | |
| sso | string = "" | 否 |
响应
示例

检查被封禁的评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentIds | string | No | |
| sso | string = "" | No |
响应
Returns: Option[CheckBlockedCommentsResponse]
示例

从评论封禁用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 | |
| blockFromCommentParams | BlockFromCommentParams | 否 | |
| options | BlockUserFromCommentOptions | 否 |
响应
示例

创建评论(公开) 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| commentData | CommentData | No | |
| options | CreateCommentPublicOptions | No |
响应
返回:Option[SaveCommentsResponseWithPresence]
示例

删除评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| options | DeleteCommentOptions | No |
响应
返回:Option[DeleteCommentResult]
示例

删除评论(公开) 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| options | DeleteCommentPublicOptions | No |
响应
Returns: Option[PublicAPIDeleteCommentResponse]
示例

删除评论投票 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| voteId | string | No | |
| urlId | string | Yes | |
| broadcastId | string | No | |
| options | DeleteCommentVoteOptions | No |
响应
示例

举报评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| options | FlagCommentOptions | No |
响应
返回:Option[FlagCommentResponse]
示例

获取评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No |
响应
返回: Option[APIGetCommentResponse]
示例

获取评论列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| options | GetCommentsOptions | 否 |
响应
返回: Option[APIGetCommentsResponse]
示例

获取公开评论 
req tenantId urlId
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| options | GetCommentsPublicOptions | 否 |
响应
返回:Option[GetCommentsResponseWithPresencePublicComment]
示例

获取评论文本 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| options | GetCommentTextOptions | No |
响应
返回: Option[PublicAPIGetCommentTextResponse]
示例

获取评论投票用户名 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| dir | int | 否 | |
| sso | string = "" | 否 |
响应
返回:Option[GetCommentVoteUserNamesSuccessResponse]
示例

锁定评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string = "" | No |
响应
示例

置顶评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 否 | |
| sso | string = "" | 否 |
响应
返回:Option[ChangeCommentPinStatusResponse]
示例

保存评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | No | |
| options | SaveCommentOptions | No |
响应
返回: Option[APISaveCommentResponse]
示例

批量保存评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createCommentParams | seq[CreateCommentParams] | 否 | |
| options | SaveCommentsBulkOptions): (Option[seq[SaveCommentsBulkResponse]] | 否 | |
| id | string | 否 | |
| fromName | string | 否 |
响应
示例

设置评论文本 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 否 | |
| commentTextUpdateRequest | CommentTextUpdateRequest | 否 | |
| options | SetCommentTextOptions | 否 |
响应
返回: Option[PublicAPISetCommentTextResponse]
示例

取消对用户的评论封禁 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | No | |
| unBlockFromCommentParams | UnBlockFromCommentParams | No | |
| options | UnBlockUserFromCommentOptions | No |
响应
示例

取消举报评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 | |
| options | UnFlagCommentOptions | 否 |
响应
返回:Option[FlagCommentResponse]
示例

解锁评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 否 | |
| sso | string = "" | 否 |
响应
示例

取消置顶评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | No | |
| sso | string = "" | No |
响应
返回:Option[ChangeCommentPinStatusResponse]
示例

更新评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 | |
| updatableCommentParams | UpdatableCommentParams | 否 | |
| options | UpdateCommentOptions | 否 |
响应
示例

为评论投票 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| urlId | string | 是 | |
| broadcastId | string | 否 | |
| voteBodyParams | VoteBodyParams | 否 | |
| options | VoteCommentOptions | 否 |
响应
示例

获取用户的评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| options | GetCommentsForUserOptions | 否 |
响应
返回: Option[GetCommentsForUserResponse]
示例

添加域名配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| addDomainConfigParams | AddDomainConfigParams | 否 |
响应
返回: Option[AddDomainConfigResponse]
示例

删除域名配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domain | string | 否 |
响应
返回: Option[DeleteDomainConfigResponse]
示例

获取域名配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domain | string | 否 |
响应
返回:Option[GetDomainConfigResponse]
示例

获取域名配置列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 |
响应
返回:Option[GetDomainConfigsResponse]
示例

部分更新域名配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| patchDomainConfigParams | PatchDomainConfigParams | No |
响应
返回:Option[PatchDomainConfigResponse]
示例

替换域名配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| domainToUpdate | string | No | |
| updateDomainConfigParams | UpdateDomainConfigParams | No |
响应
返回: Option[PutDomainConfigResponse]
示例

创建邮件模板 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createEmailTemplateBody | CreateEmailTemplateBody | 否 |
响应
返回: Option[CreateEmailTemplateResponse]
示例

删除邮件模板 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 |
响应
示例

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

获取邮件模板 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 |
响应
Returns: Option[GetEmailTemplateResponse]
示例

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

获取邮件模板渲染错误 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 | |
| skip | float64 | 否 |
响应
返回: Option[GetEmailTemplateRenderErrorsResponse]
示例

获取邮件模板列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | float64 | No |
响应
返回:Option[GetEmailTemplatesResponse]
示例

渲染邮件模板 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| renderEmailTemplateBody | RenderEmailTemplateBody | 否 | |
| locale | string = "" | 否 |
响应
返回:Option[RenderEmailTemplateResponse]
示例

更新邮件模板 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 否 | |
| updateEmailTemplateBody | UpdateEmailTemplateBody | 否 |
响应
示例

获取事件日志 
req tenantId urlId userIdWS
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 否 | |
| startTime | int64 | 否 | |
| endTime | int64 | 否 |
响应
返回:Option[GetEventLogResponse]
示例

获取全局事件日志 
请求 tenantId urlId userIdWS
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 否 | |
| startTime | int64 | 否 | |
| endTime | int64 | 否 |
响应
返回: Option[GetEventLogResponse]
示例

创建动态帖子 
参数
| 名称 | 类型 | 必须 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createFeedPostParams | CreateFeedPostParams | 否 | |
| options | CreateFeedPostOptions | 否 |
响应
返回:Option[CreateFeedPostsResponse]
示例

创建公开动态帖子 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createFeedPostParams | CreateFeedPostParams | 否 | |
| options | CreateFeedPostPublicOptions | 否 |
响应
返回: Option[CreateFeedPostResponse]
示例

删除公开动态帖子 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| postId | string | 否 | |
| options | DeleteFeedPostPublicOptions | 否 |
响应
返回:Option[DeleteFeedPostPublicResponse]
示例

获取动态帖子 
请求 tenantId afterId
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| options | GetFeedPostsOptions | No |
响应
返回: Option[GetFeedPostsResponse]
示例

获取公开动态帖子 
req tenantId afterId
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| options | GetFeedPostsPublicOptions | 否 |
响应
返回: Option[PublicFeedPostsResponse]
示例

获取动态帖子统计 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | seq[string] | No | |
| sso | string = "" | No |
响应
Returns: Option[FeedPostsStatsResponse]
示例
