
语言 🇨🇳 简体中文
入门
API 参考
文档
用法
聚合
审计日志
从评论封锁
检查被封锁的评论
评论
域配置
邮件模板
事件日志
动态
标记评论
话题标签
版主
通知计数
通知
页面
待处理 Webhook 事件
问卷配置
问卷结果
问卷结果聚合
单点登录用户
订阅
租户每日使用
租户套餐
租户用户
租户
上传图片
用户徽章进度
用户徽章
用户通知
用户在线状态
用户搜索
用户
投票
FastComments JavaScript/TypeScript SDK
这是 FastComments 的官方 JavaScript/TypeScript SDK。
FastComments API 的官方 JavaScript/TypeScript SDK
仓库
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 
The SDK provides three main API classes:
DefaultApi- 受保护的端点,要求使用 API 密钥进行身份验证。用于服务器端操作。PublicApi- 公共端点,可在无需 API 密钥的情况下访问。可以直接从浏览器/移动设备等调用。HiddenApi- 用于高级用例的内部/管理端点。
Example: Using Public API (browser-safe)
import { PublicApi } from 'fastcomments-sdk/browser';
const publicApi = new PublicApi();
// 获取页面的评论(不需要 API 密钥)
const response = await publicApi.getCommentsPublic({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
Example: Using Default API (server-side only)
import { DefaultApi, Configuration } from 'fastcomments-sdk/server';
const config = new Configuration({
apiKey: 'your-api-key' // 请保密!
});
const defaultApi = new DefaultApi(config);
// 使用完整的管理员访问权限获取评论
const response = await defaultApi.getComments({
tenantId: 'your-tenant-id',
urlId: 'page-url-id'
});
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);
}
}
聚合 
通过对文档进行分组(如果提供了 groupBy)并应用多个操作来聚合文档。支持不同的操作(例如 sum、countDistinct、avg 等)。
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| aggregationRequest | AggregationRequest | 是 | |
| parentTenantId | string | 否 | |
| includeStats | boolean | 否 |
响应
获取审计日志 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| limit | number | 否 | |
| skip | number | 否 | |
| order | SORTDIR | 否 | |
| after | number | 否 | |
| before | number | 否 |
响应
公开评论封锁 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | 是 | |
| sso | string | 否 |
响应
返回: BlockFromCommentPublic200Response
取消公开评论封锁 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| publicBlockFromCommentParams | PublicBlockFromCommentParams | 是 | |
| sso | string | 否 |
响应
返回: UnBlockCommentPublic200Response
检查被封评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentIds | string | 是 | |
| sso | string | 否 |
响应
返回: CheckedCommentsForBlocked200Response
封锁用户(评论) 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| blockFromCommentParams | BlockFromCommentParams | 是 | |
| userId | string | 否 | |
| anonUserId | string | 否 |
响应
返回: BlockFromCommentPublic200Response
创建公开评论 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| broadcastId | string | 是 | |
| commentData | CommentData | 是 | |
| sessionId | string | 否 | |
| sso | string | 否 |
响应
返回:CreateCommentPublic200Response
删除公开评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 是 | |
| editKey | string | 否 | |
| sso | string | 否 |
响应
返回: DeleteCommentPublic200Response
删除评论投票 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| voteId | string | 是 | |
| urlId | string | 是 | |
| broadcastId | string | 是 | |
| editKey | string | 否 | |
| sso | string | 否 |
响应
返回: DeleteCommentVote200Response
获取评论列表 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| 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 | 否 |
响应
获取公开评论 
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 | 否 |
响应
返回: GetCommentsPublic200Response
获取评论投票用户名 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| dir | number | 是 | |
| sso | string | 否 |
响应
返回: GetCommentVoteUserNames200Response
保存评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createCommentParams | CreateCommentParams | 是 | |
| isLive | boolean | 否 | |
| doSpamCheck | boolean | 否 | |
| sendEmails | boolean | 否 | |
| populateNotifications | boolean | 否 |
响应
批量保存评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createCommentParams | Array |
是 | |
| isLive | boolean | 否 | |
| doSpamCheck | boolean | 否 | |
| sendEmails | boolean | 否 | |
| populateNotifications | boolean | 否 |
响应
返回: Array<SaveComment200Response
设置评论文本 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| broadcastId | string | 是 | |
| commentTextUpdateRequest | CommentTextUpdateRequest | 是 | |
| editKey | string | 否 | |
| sso | string | 否 |
响应
解除用户评论封锁 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| unBlockFromCommentParams | UnBlockFromCommentParams | 是 | |
| userId | string | 否 | |
| anonUserId | string | 否 |
响应
返回: UnBlockCommentPublic200Response
取消标记评论 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| userId | string | 否 | |
| anonUserId | string | 否 |
响应
更新评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| body | PickAPICommentUpdatableCommentFields | 是 | |
| contextUserId | string | 否 | |
| doSpamCheck | boolean | 否 | |
| isLive | boolean | 否 |
响应
返回: FlagCommentPublic200Response
投票评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| urlId | string | 是 | |
| broadcastId | string | 是 | |
| voteBodyParams | VoteBodyParams | 是 | |
| sessionId | string | 否 | |
| sso | string | 否 |
响应
添加域配置 
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
| tenantId | string | 是 | |
| addDomainConfigParams | AddDomainConfigParams | 是 |
响应
返回: AddDomainConfig200Response
部分更新域配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domainToUpdate | string | 是 | |
| patchDomainConfigParams | PatchDomainConfigParams | 是 |
响应
返回: GetDomainConfig200Response
替换域配置 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| domainToUpdate | string | 是 | |
| updateDomainConfigParams | UpdateDomainConfigParams | 是 |
响应
返回: GetDomainConfig200Response
创建邮件模板 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createEmailTemplateBody | CreateEmailTemplateBody | 是 |
响应
返回: CreateEmailTemplate200Response
示例

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

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

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

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

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

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

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

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

获取事件日志 
req tenantId urlId userIdWS
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 是 | |
| startTime | number | 是 | |
| endTime | number | 是 |
响应
获取全局事件日志 
req tenantId urlId userIdWS
参数
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| userIdWS | string | 是 | |
| startTime | number | 是 | |
| endTime | number | 是 |
响应
创建动态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createFeedPostParams | CreateFeedPostParams | 是 | |
| broadcastId | string | 否 | |
| isLive | boolean | 否 | |
| doSpamCheck | boolean | 否 | |
| skipDupCheck | boolean | 否 |
响应
创建公开动态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createFeedPostParams | CreateFeedPostParams | 是 | |
| broadcastId | string | 否 | |
| sso | string | 否 |
响应
返回: CreateFeedPostPublic200Response
删除公开动态 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| postId | string | 是 | |
| broadcastId | string | 否 | |
| sso | string | 否 |
响应
返回: DeleteFeedPostPublic200Response
获取动态 
req tenantId afterId
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| afterId | string | 否 | |
| limit | number | 否 | |
| tags | Array |
否 |
响应
获取公开动态 
req tenantId afterId
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| afterId | string | 否 | |
| limit | number | 否 | |
| tags | Array |
否 | |
| sso | string | 否 | |
| isCrawler | boolean | 否 | |
| includeUserInfo | boolean | 否 |
响应
返回: GetFeedPostsPublic200Response
对公开动态反应 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| postId | string | 是 | |
| reactBodyParams | ReactBodyParams | 是 | |
| isUndo | boolean | 否 | |
| broadcastId | string | 否 | |
| sso | string | 否 |
响应
返回: ReactFeedPostPublic200Response
更新动态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| feedPost | FeedPost | 是 |
响应
返回: FlagCommentPublic200Response
更新公开动态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| postId | string | 是 | |
| updateFeedPostParams | UpdateFeedPostParams | 是 | |
| broadcastId | string | 否 | |
| sso | string | 否 |
响应
返回: CreateFeedPostPublic200Response
公开标记评论 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| isFlagged | boolean | 是 | |
| sso | string | 否 |
响应
返回: FlagCommentPublic200Response
添加话题标签 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 否 | |
| createHashTagBody | CreateHashTagBody | 否 |
响应
示例

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

删除话题标签 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tag | string | 是 | |
| tenantId | string | 否 | |
| deleteHashTagRequest | DeleteHashTagRequest | 否 |
响应
返回:FlagCommentPublic200Response
示例

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

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

创建版主 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| createModeratorBody | CreateModeratorBody | 是 |
响应
返回: CreateModerator200Response
示例

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

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

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

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

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

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

获取缓存的通知计数 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回:GetCachedNotificationCount200Response
示例

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

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

更新通知 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateNotificationBody | UpdateNotificationBody | 是 | |
| userId | string | 否 |
响应
返回: FlagCommentPublic200Response
示例

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

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

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

创建问卷配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createQuestionConfigBody | CreateQuestionConfigBody | 是 |
响应
返回: CreateQuestionConfig200Response
示例

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

获取问卷配置 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回: GetQuestionConfig200Response
示例

获取问卷配置列表 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| skip | number | 否 |
响应
返回: GetQuestionConfigs200Response
示例

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

创建问卷结果 
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
| tenantId | string | 是 | |
| createQuestionResultBody | CreateQuestionResultBody | 是 |
响应
返回: CreateQuestionResult200Response
示例

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

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

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

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

聚合问卷结果 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| questionId | string | 否 | |
| questionIds | Array |
否 | |
| urlId | string | 否 | |
| timeBucket | AggregateTimeBucket | 否 | |
| startDate | Date | 否 | |
| forceRecalculate | boolean | 否 |
响应
返回: AggregateQuestionResults200Response
批量聚合问卷结果 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| bulkAggregateQuestionResultsRequest | BulkAggregateQuestionResultsRequest | 是 | |
| forceRecalculate | boolean | 否 |
响应
返回: BulkAggregateQuestionResults200Response
将评论与问卷结果合并 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| questionId | string | 否 | |
| questionIds | Array |
否 | |
| urlId | string | 否 | |
| startDate | Date | 否 | |
| forceRecalculate | boolean | 否 | |
| minValue | number | 否 | |
| maxValue | number | 否 | |
| limit | number | 否 |
响应
返回: CombineCommentsWithQuestionResults200Response
删除单点登录用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| deleteComments | boolean | 否 | |
| commentDeleteMode | string | 否 |
响应
部分更新单点登录用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateAPISSOUserData | UpdateAPISSOUserData | 是 | |
| updateComments | boolean | 否 |
响应
替换单点登录用户 
参数
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateAPISSOUserData | UpdateAPISSOUserData | 是 | |
| updateComments | boolean | 否 |
响应
创建订阅 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| createAPIUserSubscriptionData | CreateAPIUserSubscriptionData | 是 |
响应
返回: CreateSubscriptionAPIResponse
删除订阅 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| userId | string | 否 |
响应
返回: DeleteSubscriptionAPIResponse
获取租户每日使用情况 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| yearNumber | number | 否 | |
| monthNumber | number | 否 | |
| dayNumber | number | 否 | |
| skip | number | 否 |
响应
返回: GetTenantDailyUsages200Response
示例

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

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

获取租户套餐 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
返回: GetTenantPackage200Response
示例

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

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

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

创建租户用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| createTenantUserBody | CreateTenantUserBody | 是 |
响应
返回: CreateTenantUser200Response
示例

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

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

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

替换租户用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| replaceTenantUserBody | ReplaceTenantUserBody | 是 | |
| updateComments | string | 否 |
响应
返回:FlagCommentPublic200Response
示例

发送登录链接 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| redirectURL | string | 否 |
响应
返回: FlagCommentPublic200Response
示例

更新租户用户 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateTenantUserBody | UpdateTenantUserBody | 是 | |
| updateComments | string | 否 |
响应
返回: FlagCommentPublic200Response
示例

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

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

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

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

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

上传图片 
上传并调整图像大小
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| file | Blob | 是 | |
| sizePreset | SizePreset | 否 | |
| urlId | string | 否 |
响应
获取用户徽章进度列表 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 否 | |
| limit | number | 否 | |
| skip | number | 否 |
响应
返回: GetUserBadgeProgressList200Response
创建用户徽章 
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
| tenantId | string | 是 | |
| createUserBadgeParams | CreateUserBadgeParams | 是 |
响应
返回: CreateUserBadge200Response
获取用户徽章列表 
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
| tenantId | string | 是 | |
| userId | string | 否 | |
| badgeId | string | 否 | |
| type | number | 否 | |
| displayedOnComments | boolean | 否 | |
| limit | number | 否 | |
| skip | number | 否 |
响应
更新用户徽章 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| updateUserBadgeParams | UpdateUserBadgeParams | 是 |
响应
返回: UpdateUserBadge200Response
获取用户通知 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| pageSize | number | 否 | |
| afterId | string | 否 | |
| includeContext | boolean | 否 | |
| afterCreatedAt | number | 否 | |
| unreadOnly | boolean | 否 | |
| dmOnly | boolean | 否 | |
| noDm | boolean | 否 | |
| includeTranslations | boolean | 否 | |
| sso | string | 否 |
响应
返回: GetUserNotifications200Response
重置用户通知 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| afterId | string | 否 | |
| afterCreatedAt | number | 否 | |
| unreadOnly | boolean | 否 | |
| dmOnly | boolean | 否 | |
| noDm | boolean | 否 | |
| sso | string | 否 |
响应
返回: ResetUserNotifications200Response
更新用户评论订阅状态 
启用或禁用针对特定评论的通知。
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| notificationId | string | 是 | |
| optedInOrOut | UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum | 是 | |
| commentId | string | 是 | |
| sso | string | 否 |
响应
更新用户页面订阅状态 
启用或禁用页面的通知。当用户订阅页面时,会为新的根评论创建通知,并且
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| url | string | 是 | |
| pageTitle | string | 是 | |
| subscribedOrUnsubscribed | UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum | 是 | |
| sso | string | 否 |
响应
返回: UpdateUserNotificationStatus200Response
更新用户通知状态 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| notificationId | string | 是 | |
| newStatus | UpdateUserNotificationStatusNewStatusEnum | 是 | |
| sso | string | 否 |
响应
返回: UpdateUserNotificationStatus200Response
获取用户在线状态 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlIdWS | string | 是 | |
| userIds | string | 是 |
响应
返回: GetUserPresenceStatuses200Response
搜索用户 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| urlId | string | 是 | |
| usernameStartsWith | string | 是 | |
| mentionGroupIds | Array |
否 | |
| sso | string | 否 |
响应
获取用户 
参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 |
响应
示例

创建投票 
参数
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| tenantId | string | 是 | |
| commentId | string | 是 | |
| direction | CreateVoteDirectionEnum | 是 | |
| userId | string | 否 | |
| anonUserId | string | 否 |
响应
示例

删除投票 
参数
| Name | Type | Required | Description |
|---|---|---|---|
| tenantId | string | 是 | |
| id | string | 是 | |
| editKey | string | 否 |
响应
返回: DeleteCommentVote200Response
示例

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

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

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