
语言 🇨🇳 简体中文
入门
API 参考
文档
使用
聚合
审计日志
从评论屏蔽
检查被屏蔽的评论
评论
用户的评论
域配置
邮件模板
事件日志
动态帖子
举报评论
GIFs
话题标签
审核
版主
通知计数
通知
页面互动
页面
待处理的 Webhook 事件
问答配置
问答结果
问答结果汇总
SSO 用户
订阅
租户每日使用情况
租户套餐
租户用户
租户
工单
翻译
上传图片
用户徽章进度
用户徽章
用户通知
用户在线状态
用户搜索
用户
投票
FastComments JavaScript/TypeScript 开发工具包 (SDK)
这是 FastComments 的官方 JavaScript/TypeScript SDK。
从 Node.js 或浏览器管理评论、用户、单点登录 (SSO) 和审核。
仓库
API 文档 
完整的 API 参考: docs/api/README.md
浏览器与服务器兼容性 
此 SDK 使用 双入口点 以确保最佳兼容性并防止运行时错误:
fastcomments-sdk/browser- 浏览器安全版本,使用原生fetchfastcomments-sdk/server- 完整的 Node.js 版本,支持 SSOfastcomments-sdk(默认) - 仅类型,可在任何地方安全导入
使用方法 
该 SDK 为浏览器和服务器环境提供了不同的入口点,以确保最佳的兼容性和安全性:
浏览器 使用(客户端)
对于浏览器/前端应用,请使用不包含 Node.js 依赖项的浏览器安全导出:
// 浏览器安全导入(不包含 Node.js 依赖)
import { createFastCommentsBrowserSDK } from 'fastcomments-sdk/browser';
// 创建浏览器 SDK 实例
const sdk = createFastCommentsBrowserSDK({
basePath: 'https://fastcomments.com' // 可选,默认为 https://fastcomments.com
});
// 使用公共 API(无需 API 密钥 — 对浏览器安全)
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
服务器 使用(Node.js)
对于服务器/后端应用,请使用包含 SSO 和身份验证功能的完整 SDK:
// 服务器端导入(包含 SSO,设计为与 NodeJS 一起使用)
import { createFastCommentsSDK } from 'fastcomments-sdk/server';
// 创建服务器 SDK 实例
const sdk = createFastCommentsSDK({
apiKey: 'your-api-key', // 在服务器上保密!
basePath: 'https://fastcomments.com' // 可选,默认为 https://fastcomments.com
});
// 使用带 API 密钥的安全 API
const comments = await sdk.defaultApi.getComments({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
仅类型导入
如果您只需要 TypeScript 类型(无运行时代码),请使用默认导入:
// 仅类型(无运行时依赖 —— 在任何环境均安全)
import type {
PublicComment,
CreateCommentParams,
GetCommentsPublic200Response
} from 'fastcomments-sdk';
使用单个 API 类
浏览器环境
import { PublicApi, Configuration } from 'fastcomments-sdk/browser';
const config = new Configuration({
basePath: 'https://fastcomments.com'
});
const publicApi = new PublicApi(config);
服务器环境
import { DefaultApi, PublicApi, Configuration } from 'fastcomments-sdk/server';
const config = new Configuration({
apiKey: 'your-api-key',
basePath: 'https://fastcomments.com'
});
const defaultApi = new DefaultApi(config);
const publicApi = new PublicApi(config);
公开 API 与受保护 API 
该 SDK 提供以下 API 类:
DefaultApi- 需要使用 API 密钥进行身份验证的受保护端点。用于服务器端操作。PublicApi- 无需 API 密钥即可访问的公共端点。可直接从浏览器/移动设备等调用。ModerationApi- 管理员仪表板端点(评论审核、封禁、徽章、信任因子、搜索)。通过管理员的会话进行认证;对于通过 SSO 验证的管理员,可传递sso查询参数。HiddenApi- 用于高级用例的内部/管理员端点。
示例:使用 Public API(浏览器安全)
import { PublicApi } from 'fastcomments-sdk/browser';
const publicApi = new PublicApi();
// Get comments for a page (no API key required)
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
示例:使用 Default API(仅限服务器端)
import { DefaultApi, Configuration } from 'fastcomments-sdk/server';
const config = new Configuration({
apiKey: 'your-api-key' // 请保密!
});
const defaultApi = new DefaultApi(config);
// Get comments with full admin access
const response = await defaultApi.getComments({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
示例:使用 Moderation API
import { createFastCommentsSDK } from 'fastcomments-sdk/server';
const sdk = createFastCommentsSDK({ /* basePath 等等 */ });
// Moderator-authenticated calls (session cookie, or pass `sso` for an SSO moderator).
const comments = await sdk.moderationApi.getApiComments({
tenantId: 'your-tenant-id'
});
await sdk.moderationApi.postSetCommentSpamStatus({
commentId: 'comment-id',
spam: true
});
SSO(单点登录)集成 
FastComments 支持 SSO,以与您现有的用户认证系统集成。 SSO 功能仅在服务器导出中可用,因为它需要 Node.js crypto 功能。
简单 SSO(仅服务器端)
简单 SSO 应在服务器端生成并发送到客户端:
// 服务器端代码(Node.js/后端)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
// 使用内置辅助创建简单 SSO
const userData = {
username: 'john_doe',
email: 'john@example.com',
displayName: 'John Doe',
avatar: 'https://example.com/avatar.jpg'
};
const sso = FastCommentsSSO.createSimple(userData, {
loginURL: '/login',
logoutURL: '/logout'
});
const ssoToken = sso.createToken();
// 将 ssoToken 发送到您的客户端代码
// 客户端代码然后可以使用该令牌与浏览器 SDK 一起使用
安全 SSO(服务器端,推荐)
安全 SSO 应在服务器端实现,并提供更好的安全性:
// 服务器端代码(Node.js/后端)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
// 使用内置辅助创建安全 SSO
const userData = {
id: 'user-123',
email: 'john@example.com',
username: 'john_doe',
displayName: 'John Doe',
avatar: 'https://example.com/avatar.jpg',
isAdmin: false,
isModerator: false
};
const sso = FastCommentsSSO.createSecure('your-api-key', userData, {
loginURL: '/login',
logoutURL: '/logout'
});
const ssoConfig = sso.prepareToSend();
// 在服务器上与 API 调用一起使用
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
sso: JSON.stringify(ssoConfig)
});
// 或将 ssoConfig 发送到客户端以供浏览器使用
在浏览器中使用 SSO(使用服务器生成的令牌)
// 客户端代码(浏览器)
import { PublicApi } from 'fastcomments-sdk/browser';
// 从您的服务器端点获取 SSO 令牌
const ssoToken = await fetch('/api/sso-token').then(r => r.json());
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
sso: ssoToken // Use the server-generated SSO token
});
带评论创建的 SSO
// 服务器端:创建 SSO 和评论
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
const sso = FastCommentsSSO.createSecure('your-api-key', userData);
const ssoConfig = sso.prepareToSend();
const response = await publicApi.createCommentPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
broadcastId: 'unique-broadcast-id',
commentData: {
comment: 'This is my comment',
date: Date.now(),
commenterName: 'John Doe',
url: 'https://example.com/page',
urlId: 'page-url-id'
},
sso: JSON.stringify(ssoConfig)
});
常见用例 
获取页面的评论
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'article-123'
});
创建评论
const newComment = await sdk.publicApi.createCommentPublic({
createCommentParams: {
tenantId: 'your-tenant-id',
urlId: 'article-123',
comment: 'Great article!',
commenterName: 'John Doe',
commenterEmail: 'john@example.com'
}
});
对评论投票
const voteResponse = await sdk.publicApi.voteComment({
voteBodyParams: {
commentId: 'comment-id',
direction: 1 // 1 表示赞成,-1 表示反对
}
});
用户管理(需要 API 密钥)
// 搜索用户(需要 DefaultApi)
const users = await sdk.defaultApi.searchUsers({
tenantId: 'your-tenant-id',
urlId: 'page-id',
usernameStartsWith: 'john'
});
实时事件(实时更新) 
订阅实时事件以获取有关评论、投票和其他活动的实时更新。
页面级事件
监听特定页面的实时事件(评论、投票等):
import { subscribeToChanges, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
const config = {
tenantId: 'your-tenant-id',
urlId: 'page-url-id',
};
// Subscribe to live events for a page
const subscription = subscribeToChanges(
config,
'your-tenant-id', // tenantIdWS
'page-url-id', // urlIdWS
'user-session-id', // userIdWS (get this from getComments response)
(event: LiveEvent) => {
console.log('Live event received:', event);
switch (event.type) {
case LiveEventType.new_comment:
console.log('New comment:', event.comment);
// Update your UI with the new comment
break;
case LiveEventType.new_vote:
console.log('New vote:', event.vote);
// Update vote counts in your UI
break;
case LiveEventType.updated_comment:
console.log('Comment updated:', event.comment);
break;
default:
console.log('Other event type:', event.type);
}
return true; // Return true if event was handled
},
(isConnected: boolean) => {
console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
}
);
// Close the subscription when done
subscription.close();
订阅用户事件
监听特定于用户的事件(通知、提及等):
import { subscribeToUserFeed, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
const userConfig = {
userIdWS: 'user-session-id', // Get this from getComments response
};
// Subscribe to user's personal feed
const userSubscription = subscribeToUserFeed(
userConfig,
(event: LiveEvent) => {
console.log('User event received:', event);
switch (event.type) {
case LiveEventType.notification:
console.log('New notification:', event.notification);
// Show notification in your UI
break;
case LiveEventType.notification_update:
console.log('Notification updated:', event.notification);
break;
default:
console.log('Other user event:', event.type);
}
return true;
},
(isConnected: boolean) => {
console.log('User feed connection:', isConnected ? 'Connected' : 'Disconnected');
}
);
// Close when done
userSubscription.close();
获取 userIdWS
The userIdWS parameter is required for live events and can be obtained from API responses:
const response = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-id'
});
// Extract userIdWS from the response
const userIdWS = response.data?.userSessionInfo?.userIdWS;
if (userIdWS) {
// Now you can subscribe to live events
const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}
广播 ID 
您会看到在某些 API 调用中需要传递 broadcastId。当您接收事件时,会拿回这个 ID,这样如果您计划在客户端乐观地应用更改(您可能会想这样做,因为它提供了最佳体验),就可以知道是否忽略该事件。在这里传入一个 UUID。该 ID 应足够唯一,以避免在同一浏览器会话中出现两次。
import { v4 as uuidv4 } from 'uuid';
const response = await sdk.publicApi.createCommentPublic({
createCommentParams: {
tenantId: 'your-tenant-id',
urlId: 'page-id',
comment: 'My comment',
broadcastId: uuidv4() // 此操作的唯一 ID
}
});
错误处理 
try {
const comments = await sdk.publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-id'
});
} catch (error) {
if (error.response?.status === 404) {
console.log('Page not found');
} else {
console.error('API Error:', error.message);
}
}
聚合 
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 | Yes | |
| parentTenantId | string | No | |
| includeStats | boolean | No |
响应
示例

获取审计日志 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| limit | number | No | |
| skip | number | No | |
| order | SORTDIR | No | |
| after | number | No | |
| before | number | No |
响应
示例

从公开评论中屏蔽 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | 是 | |
| sso | string | 否 |
响应
返回: BlockFromCommentPublicResponse
示例

取消屏蔽公开评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | Yes | |
| sso | string | No |
响应
Returns: UnBlockCommentPublicResponse
示例

检查被屏蔽的评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentIds | string | 是 | |
| sso | string | 否 |
响应
返回:CheckedCommentsForBlockedResponse
示例

从评论中屏蔽用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| blockFromCommentParams | BlockFromCommentParams | Yes | |
| userId | string | No | |
| anonUserId | string | No |
响应
返回:BlockUserFromCommentResponse
示例

创建公开评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| broadcastId | string | Yes | |
| commentData | CommentData | Yes | |
| sessionId | string | No | |
| sso | string | No |
响应
返回: CreateCommentPublicResponse
示例

删除评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| contextUserId | string | No | |
| isLive | boolean | No |
响应
示例

删除公开评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| editKey | string | No | |
| sso | string | No |
响应
返回: DeleteCommentPublicResponse
示例

删除评论投票 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| voteId | string | 是 | |
| urlId | string | 是 | |
| broadcastId | string | 是 | |
| editKey | string | 否 | |
| sso | string | 否 |
响应
示例

举报评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| userId | string | No | |
| anonUserId | string | No |
响应
示例

获取评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
响应
示例

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

获取公开评论 
req tenantId urlId
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| page | number | 否 | |
| direction | SortDirections | 否 | |
| sso | string | 否 | |
| skip | number | 否 | |
| skipChildren | number | 否 | |
| limit | number | 否 | |
| limitChildren | number | 否 | |
| countChildren | boolean | 否 | |
| fetchPageForCommentId | string | 否 | |
| includeConfig | boolean | 否 | |
| countAll | boolean | 否 | |
| includei10n | boolean | 否 | |
| locale | string | 否 | |
| modules | string | 否 | |
| isCrawler | boolean | 否 | |
| includeNotificationCount | boolean | 否 | |
| asTree | boolean | 否 | |
| maxTreeDepth | number | 否 | |
| useFullTranslationIds | boolean | 否 | |
| parentId | string | 否 | |
| searchText | string | 否 | |
| hashTags | Array | 否 | |
| userId | string | 否 | |
| customConfigStr | string | 否 | |
| afterCommentId | string | 否 | |
| beforeCommentId | string | 否 |
响应
示例

获取评论文本 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| editKey | string | No | |
| sso | string | No |
响应
示例

获取评论投票用户名 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| dir | number | 是 | |
| sso | string | 否 |
响应
返回:GetCommentVoteUserNamesResponse
示例

锁定评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| sso | string | No |
响应
Returns: LockCommentResponse
示例

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

保存评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createCommentParams | CreateCommentParams | Yes | |
| isLive | boolean | No | |
| doSpamCheck | boolean | No | |
| sendEmails | boolean | No | |
| populateNotifications | boolean | No |
响应
示例

批量保存评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createCommentParams | Array | 是 | |
| isLive | boolean | 否 | |
| doSpamCheck | boolean | 否 | |
| sendEmails | boolean | 否 | |
| populateNotifications | boolean | 否 |
响应
返回: Array<SaveCommentsBulkResponse
示例

设置评论文本 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| broadcastId | string | Yes | |
| commentTextUpdateRequest | CommentTextUpdateRequest | Yes | |
| editKey | string | No | |
| sso | string | No |
响应
示例

取消屏蔽评论中的用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| unBlockFromCommentParams | UnBlockFromCommentParams | Yes | |
| userId | string | No | |
| anonUserId | string | No |
响应
返回: UnBlockUserFromCommentResponse
示例

取消举报评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| userId | string | 否 | |
| anonUserId | string | 否 |
响应
示例

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

取消置顶评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 是 | |
| sso | string | 否 |
响应
示例

更新评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updatableCommentParams | UpdatableCommentParams | 是 | |
| contextUserId | string | 否 | |
| doSpamCheck | boolean | 否 | |
| isLive | boolean | 否 |
响应
示例

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

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

添加域配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| addDomainConfigParams | AddDomainConfigParams | Yes |
响应
示例

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

获取域配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domain | string | 是 |
响应
Returns: GetDomainConfigResponse
示例

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

部分更新域配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domainToUpdate | string | 是 | |
| patchDomainConfigParams | PatchDomainConfigParams | 是 |
响应
示例

替换域配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domainToUpdate | string | 是 | |
| updateDomainConfigParams | UpdateDomainConfigParams | 是 |
响应
示例

创建邮件模板 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createEmailTemplateBody | CreateEmailTemplateBody | 是 |
响应
返回:CreateEmailTemplateResponse1
示例

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

删除邮件模板渲染错误 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| errorId | string | Yes |
响应
返回: DeleteEmailTemplateRenderErrorResponse
示例

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

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

获取邮件模板渲染错误 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| skip | number | No |
响应
返回:GetEmailTemplateRenderErrorsResponse1
示例

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

渲染邮件模板 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| renderEmailTemplateBody | RenderEmailTemplateBody | 是 | |
| locale | string | 否 |
响应
返回:RenderEmailTemplateResponse1
示例

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

获取事件日志 
req
请求
tenantId
urlId
userIdWS
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 是 | |
| startTime | number | 是 | |
| endTime | number | 否 |
响应
示例

获取全局事件日志 
请求
tenantId
urlId
userIdWS
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 是 | |
| startTime | number | 是 | |
| endTime | number | 否 |
响应
示例

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

创建公开动态帖子 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createFeedPostParams | CreateFeedPostParams | Yes | |
| broadcastId | string | No | |
| sso | string | No |
响应
返回:CreateFeedPostPublicResponse
示例

删除公开动态帖子 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | Yes | |
| broadcastId | string | No | |
| sso | string | No |
响应
返回:DeleteFeedPostPublicResponse
示例

获取动态帖子 
req tenantId afterId
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| afterId | string | 否 | |
| limit | number | 否 | |
| tags | Array | 否 |
响应
示例

获取公开动态帖子 
req tenantId afterId
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| afterId | string | 否 | |
| limit | number | 否 | |
| tags | Array | 否 | |
| sso | string | 否 | |
| isCrawler | boolean | 否 | |
| includeUserInfo | boolean | 否 |
响应
返回: GetFeedPostsPublicResponse
示例

获取动态帖子统计 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | Array | Yes | |
| sso | string | No |
响应
Returns: GetFeedPostsStatsResponse
示例

获取公开用户互动 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| postIds | Array | No | |
| sso | string | No |
响应
返回:GetUserReactsPublicResponse
示例

对公开动态帖子互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | Yes | |
| reactBodyParams | ReactBodyParams | Yes | |
| isUndo | boolean | No | |
| broadcastId | string | No | |
| sso | string | No |
响应
返回:ReactFeedPostPublicResponse
示例

更新动态帖子 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| feedPost | FeedPost | 是 |
响应
示例

更新公开动态帖子 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| postId | string | Yes | |
| updateFeedPostParams | UpdateFeedPostParams | Yes | |
| broadcastId | string | No | |
| sso | string | No |
响应
返回:UpdateFeedPostPublicResponse
示例

举报公开评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| isFlagged | boolean | 是 | |
| sso | string | 否 |
响应
示例

获取大尺寸 GIF 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| largeInternalURLSanitized | string | Yes |
响应
示例

搜索 GIF 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| search | string | 是 | |
| locale | string | 否 | |
| rating | string | 否 | |
| page | number | 否 |
响应
示例

获取热门 GIF 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| locale | string | No | |
| rating | string | No | |
| page | number | No |
响应
示例

添加话题标签 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 否 | |
| createHashTagBody | CreateHashTagBody | 否 |
响应
示例

批量添加话题标签 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | No | |
| bulkCreateHashTagsBody | BulkCreateHashTagsBody | No |
响应
示例

删除话题标签 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tag | string | 是 | |
| tenantId | string | 否 | |
| deleteHashTagRequestBody | DeleteHashTagRequestBody | 否 |
响应
示例

获取话题标签 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| page | number | 否 |
响应
示例

部分更新话题标签 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tag | string | 是 | |
| tenantId | string | 否 | |
| updateHashTagBody | UpdateHashTagBody | 否 |
响应
示例

删除审核投票 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| voteId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回:DeleteModerationVoteResponse
示例

获取 API 评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | 否 | |
| count | number | 否 | |
| textSearch | string | 否 | |
| byIPFromComment | string | 否 | |
| filters | string | 否 | |
| searchFilters | string | 否 | |
| sorts | string | 否 | |
| demo | boolean | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取 API 导出状态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| batchJobId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取 API ID 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| textSearch | string | 否 | |
| byIPFromComment | string | 否 | |
| filters | string | 否 | |
| searchFilters | string | 否 | |
| afterId | string | 否 | |
| demo | boolean | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取因评论被封禁的用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
返回: GetBanUsersFromCommentResponse
示例

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

获取评论子项 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
返回: GetCommentChildrenResponse
示例

获取计数 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| textSearch | string | No | |
| byIPFromComment | string | No | |
| filter | string | No | |
| searchFilters | string | No | |
| demo | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取多个计数 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取日志 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取手动徽章 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

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

获取审核评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| includeEmail | boolean | No | |
| includeIP | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回: GetModerationCommentResponse
示例

获取审核评论文本 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回:GetModerationCommentTextResponse
示例

获取预封禁摘要 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| includeByUserIdAndEmail | boolean | No | |
| includeByIP | boolean | No | |
| includeByEmailDomain | boolean | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取搜索评论摘要 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| value | string | No | |
| filters | string | No | |
| searchFilters | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回:GetSearchCommentsSummaryResponse
示例

获取搜索页面 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| value | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取搜索站点 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| value | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取搜索建议 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| textSearch | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取搜索用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| value | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

获取信任因子 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

获取用户封禁偏好 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | No | |
| sso | string | No |
响应
返回: GetUserBanPreferenceResponse
示例

获取用户内部资料 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回:GetUserInternalProfileResponse1
示例

调整评论投票 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| adjustCommentVotesParams | AdjustCommentVotesParams | 是 | |
| broadcastId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回:PostAdjustCommentVotesResponse
示例

发送 API 导出请求 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| textSearch | string | 否 | |
| byIPFromComment | string | 否 | |
| filters | string | 否 | |
| searchFilters | string | 否 | |
| sorts | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

基于评论封禁用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| banEmail | boolean | 否 | |
| banEmailDomain | boolean | 否 | |
| banIP | boolean | 否 | |
| deleteAllUsersComments | boolean | 否 | |
| bannedUntil | string | 否 | |
| isShadowBan | boolean | 否 | |
| updateId | string | 否 | |
| banReason | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回:PostBanUserFromCommentResponse
示例

撤销用户封禁 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| banUserUndoParams | BanUserUndoParams | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

批量获取预封禁摘要 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| bulkPreBanParams | BulkPreBanParams | 是 | |
| includeByUserIdAndEmail | boolean | 否 | |
| includeByIP | boolean | 否 | |
| includeByEmailDomain | boolean | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回: PostBulkPreBanSummaryResponse
示例

按 ID 获取评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| commentsByIdsParams | CommentsByIdsParams | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

举报评论(审核) 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

移除评论(审核) 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| broadcastId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

恢复已删除评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回:PostRestoreDeletedCommentResponse
示例

设置评论审批状态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| approved | boolean | No | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回:PostSetCommentApprovalStatusResponse
示例

设置评论审核状态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| reviewed | boolean | No | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回:PostSetCommentReviewStatusResponse
示例

设置评论垃圾状态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| spam | boolean | 否 | |
| permNotSpam | boolean | 否 | |
| broadcastId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回: PostSetCommentSpamStatusResponse
示例

设置评论文本(审核) 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | 是 | |
| setCommentTextParams | SetCommentTextParams | 是 | |
| broadcastId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
返回: PostSetCommentTextResponse
示例

取消举报评论(审核) 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

提交投票 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| commentId | string | Yes | |
| direction | string | No | |
| broadcastId | string | No | |
| tenantId | string | No | |
| sso | string | No |
响应
返回: PostVoteResponse
示例

授予徽章 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| badgeId | string | 是 | |
| userId | string | 否 | |
| commentId | string | 否 | |
| broadcastId | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

关闭讨论串 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| urlId | string | 是 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

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

重新打开讨论串 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| urlId | string | Yes | |
| tenantId | string | No | |
| sso | string | No |
响应
示例

设置信任因子 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| userId | string | 否 | |
| trustFactor | string | 否 | |
| tenantId | string | 否 | |
| sso | string | 否 |
响应
示例

创建版主 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createModeratorBody | CreateModeratorBody | 是 |
响应
示例

删除版主 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| sendEmail | string | 否 |
响应
示例

获取版主 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
示例

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

发送邀请 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| fromName | string | Yes |
响应
示例

更新版主 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateModeratorBody | UpdateModeratorBody | 是 |
响应
示例

删除通知计数 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回: DeleteNotificationCountResponse
示例

获取缓存的通知计数 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
响应
返回: GetCachedNotificationCountResponse1
示例

获取通知计数 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 否 | |
| urlId | string | 否 | |
| fromCommentId | string | 否 | |
| viewed | boolean | 否 | |
| type | string | 否 |
响应
返回:GetNotificationCountResponse1
示例

获取通知 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No | |
| urlId | string | No | |
| fromCommentId | string | No | |
| viewed | boolean | No | |
| type | string | No | |
| skip | number | No |
响应
示例

更新通知 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateNotificationBody | UpdateNotificationBody | Yes | |
| userId | string | No |
响应
示例

创建 V1 页面互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| title | string | 否 |
响应
示例

创建 V2 页面互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| id | string | 是 | |
| title | string | 否 |
响应
示例

删除 V1 页面互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes |
响应
示例

删除 V2 页面互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| id | string | Yes |
响应
示例

获取 V1 页面点赞 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 |
响应
示例

获取 V2 页面互动 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 |
响应
示例

获取 V2 页面互动用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| id | string | Yes |
响应
返回: GetV2PageReactUsersResponse1
示例

添加页面 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| createAPIPageData | CreateAPIPageData | Yes |
响应
Returns: AddPageAPIResponse
示例

删除页面 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
示例

获取离线用户 
页面上过去的评论者(当前不在线)。按 displayName 排序。
在使用完 /users/online 后使用,以渲染“成员”部分。
在 commenterName 上进行光标分页:服务器遍历部分 {tenantId, urlId, commenterName},从 afterName 开始向前使用 $gt 索引,无需 $skip 开销。
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| afterName | string | No | |
| afterUserId | string | No |
Response
Example

获取在线用户 
当前在线的页面观看者:当前通过 WebSocket 会话订阅该页面的用户。
返回 anonCount + totalCount(整个房间的订阅者数量,包括我们未列出的匿名观看者)。
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| afterName | string | No | |
| afterUserId | string | No |
响应
示例

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

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

获取公开页面 
列出租户的页面。由 FChat 桌面客户端使用,以填充其房间列表。每个页面的解析自定义配置中 enableFChat 必须为 true。需要 SSO 的页面会根据请求用户的组访问权限进行过滤。
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| cursor | string | No | |
| limit | number | No | |
| q | string | No | |
| sortBy | PagesSortBy | No | |
| hasComments | boolean | No |
响应
示例

获取用户信息 
针对租户的大批量用户信息。给定 userIds,返回来自 User / SSOUser 的显示信息。由评论小部件使用,以丰富通过存在事件刚出现的用户。没有页面上下文:隐私被统一强制执行(私有个人资料会被屏蔽)。
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| ids | string | Yes |
响应
示例

部分更新页面 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateAPIPageData | UpdateAPIPageData | 是 |
响应
示例

删除待处理 Webhook 事件 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回: DeletePendingWebhookEventResponse
示例

获取待处理 Webhook 事件计数 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | No | |
| externalId | string | No | |
| eventType | string | No | |
| type | string | No | |
| domain | string | No | |
| attemptCountGT | number | No |
响应
返回: GetPendingWebhookEventCountResponse1
示例

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

创建问答配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createQuestionConfigBody | CreateQuestionConfigBody | Yes |
响应
返回: CreateQuestionConfigResponse1
示例

删除问答配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回:DeleteQuestionConfigResponse
示例

获取问答配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
响应
示例

获取问答配置列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| skip | number | No |
响应
返回: GetQuestionConfigsResponse1
示例

更新问答配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateQuestionConfigBody | UpdateQuestionConfigBody | 是 |
响应
返回: UpdateQuestionConfigResponse
示例

创建问答结果 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createQuestionResultBody | CreateQuestionResultBody | Yes |
响应
返回:CreateQuestionResultResponse1
示例

删除问答结果 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回:DeleteQuestionResultResponse
示例

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

获取问答结果列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 否 | |
| userId | string | 否 | |
| startDate | string | 否 | |
| questionId | string | 否 | |
| questionIds | string | 否 | |
| skip | number | 否 |
响应
返回: GetQuestionResultsResponse1
示例

更新问答结果 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateQuestionResultBody | UpdateQuestionResultBody | 是 |
响应
返回: UpdateQuestionResultResponse
示例

聚合问答结果 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | Array | No | |
| urlId | string | No | |
| timeBucket | AggregateTimeBucket | No | |
| startDate | Date | No | |
| forceRecalculate | boolean | No |
响应
返回:AggregateQuestionResultsResponse1
示例

批量聚合问答结果 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| bulkAggregateQuestionResultsRequest | BulkAggregateQuestionResultsRequest | 是 | |
| forceRecalculate | boolean | 否 |
响应
返回: BulkAggregateQuestionResultsResponse1
示例

将评论与问答结果合并 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| questionId | string | No | |
| questionIds | Array | No | |
| urlId | string | No | |
| startDate | Date | No | |
| forceRecalculate | boolean | No | |
| minValue | number | No | |
| maxValue | number | No | |
| limit | number | No |
响应
返回:CombineCommentsWithQuestionResultsResponse
示例

添加 SSO 用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createAPISSOUserData | CreateAPISSOUserData | Yes |
响应
示例

删除 SSO 用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| deleteComments | boolean | 否 | |
| commentDeleteMode | string | 否 |
响应
示例

通过邮箱获取 SSO 用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| string | Yes |
响应
返回: GetSSOUserByEmailAPIResponse
示例

通过 ID 获取 SSO 用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
响应
示例

获取 SSO 用户列表 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| skip | number | 否 |
响应
示例

部分更新 SSO 用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateAPISSOUserData | UpdateAPISSOUserData | Yes | |
| updateComments | boolean | No |
响应
示例

替换 SSO 用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateAPISSOUserData | UpdateAPISSOUserData | Yes | |
| updateComments | boolean | No |
响应
示例

创建订阅 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createAPIUserSubscriptionData | CreateAPIUserSubscriptionData | 是 |
响应
返回:CreateSubscriptionAPIResponse
示例

删除订阅 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| userId | string | 否 |
响应
返回: DeleteSubscriptionAPIResponse
示例

获取订阅 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No |
响应
返回: GetSubscriptionsAPIResponse
示例

更新订阅 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateAPIUserSubscriptionData | UpdateAPIUserSubscriptionData | 是 | |
| userId | string | 否 |
响应
返回: UpdateSubscriptionAPIResponse
示例

获取租户每日使用情况 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| yearNumber | number | 否 | |
| monthNumber | number | 否 | |
| dayNumber | number | 否 | |
| skip | number | 否 |
响应
返回: GetTenantDailyUsagesResponse1
示例

创建租户套餐 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createTenantPackageBody | CreateTenantPackageBody | 是 |
响应
返回:CreateTenantPackageResponse1
示例

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

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

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

替换租户套餐 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| replaceTenantPackageBody | ReplaceTenantPackageBody | 是 |
响应
返回:ReplaceTenantPackageResponse
示例

更新租户套餐 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateTenantPackageBody | UpdateTenantPackageBody | 是 |
响应
返回: UpdateTenantPackageResponse
示例

创建租户用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createTenantUserBody | CreateTenantUserBody | Yes |
响应
示例

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

获取租户用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
示例

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

替换租户用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| replaceTenantUserBody | ReplaceTenantUserBody | Yes | |
| updateComments | string | No |
响应
示例

发送登录链接 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| redirectURL | string | No |
响应
示例

更新租户用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| updateTenantUserBody | UpdateTenantUserBody | Yes | |
| updateComments | string | No |
响应
示例

创建租户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| createTenantBody | CreateTenantBody | Yes |
响应
示例

删除租户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| sure | string | 否 |
响应
示例

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

获取租户列表 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| meta | string | No | |
| skip | number | No |
响应
示例

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

更改工单状态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 是 | |
| id | string | 是 | |
| changeTicketStateBody | ChangeTicketStateBody | 是 |
响应
返回: ChangeTicketStateResponse1
示例

创建工单 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 是 | |
| createTicketBody | CreateTicketBody | 是 |
响应
示例

获取工单 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| userId | string | 否 |
响应
示例

获取工单列表 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| userId | string | No | |
| state | number | No | |
| skip | number | No | |
| limit | number | No |
响应
示例

获取翻译 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| namespace | string | Yes | |
| component | string | Yes | |
| locale | string | No | |
| useFullTranslationIds | boolean | No |
响应
Returns: GetTranslationsResponse1
示例

上传图片 
上传和调整图像大小
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| file | Blob | Yes | |
| sizePreset | SizePreset | No | |
| urlId | string | No |
响应
示例

通过 ID 获取用户徽章进度 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回:GetUserBadgeProgressByIdResponse
示例

通过用户 ID 获取用户徽章进度 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 是 |
响应
返回:GetUserBadgeProgressByUserIdResponse
示例

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

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

删除用户徽章 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
示例

获取用户徽章 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes |
响应
示例

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

更新用户徽章 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateUserBadgeParams | UpdateUserBadgeParams | 是 |
响应
示例

获取用户通知计数 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| sso | string | No |
响应
Returns: GetUserNotificationCountResponse1
示例

获取用户通知 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 否 | |
| pageSize | number | 否 | |
| afterId | string | 否 | |
| includeContext | boolean | 否 | |
| afterCreatedAt | number | 否 | |
| unreadOnly | boolean | 否 | |
| dmOnly | boolean | 否 | |
| noDm | boolean | 否 | |
| includeTranslations | boolean | 否 | |
| includeTenantNotifications | boolean | 否 | |
| sso | string | 否 |
响应
返回: GetUserNotificationsResponse
示例

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

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

更新用户评论订阅状态 
Enable or disable notifications for a specific comment.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| notificationId | string | Yes | |
| optedInOrOut | UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum | Yes | |
| commentId | string | Yes | |
| sso | string | No |
Response
返回:UpdateUserNotificationCommentSubscriptionStatusResponse
Example

更新用户页面订阅状态 
Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| url | string | Yes | |
| pageTitle | string | Yes | |
| subscribedOrUnsubscribed | UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum | Yes | |
| sso | string | No |
响应
返回: UpdateUserNotificationPageSubscriptionStatusResponse
示例

更新用户通知状态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| notificationId | string | Yes | |
| newStatus | UpdateUserNotificationStatusNewStatusEnum | Yes | |
| sso | string | No |
响应
返回:UpdateUserNotificationStatusResponse
示例

获取用户在线状态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| urlIdWS | string | Yes | |
| userIds | string | Yes |
响应
Returns: GetUserPresenceStatusesResponse1
示例

搜索用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| urlId | string | Yes | |
| usernameStartsWith | string | No | |
| mentionGroupIds | Array | No | |
| sso | string | No | |
| searchSection | SearchUsersSearchSectionEnum | No |
响应
示例

获取用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回: GetUserResponse1
示例

创建投票 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | Yes | |
| commentId | string | Yes | |
| direction | CreateVoteDirectionEnum | Yes | |
| userId | string | No | |
| anonUserId | string | No |
响应
示例

删除投票 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | Yes | |
| id | string | Yes | |
| editKey | string | No |
响应
示例

获取投票 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 |
响应
示例

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

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