FastComments.com

FastComments Rust SDK

这是 FastComments 的官方 Rust SDK。

FastComments API 的官方 Rust SDK

仓库

在 GitHub 上查看


安装 Internal Link

cargo add fastcomments-sdk

该 SDK 需要 Rust 2021 版或更高版本。

库内容 Internal Link


The FastComments Rust SDK 由若干模块组成:

  • Client Module - 为 FastComments REST API 自动生成的 API 客户端

    • 提供所有 API 模型的完整类型定义
    • 包含已认证的(DefaultApi)和公共的(PublicApi)端点
    • 使用 tokio 完全支持 async/await
    • 详见 client/README.md 获取详细的 API 文档
  • SSO Module - 服务器端单点登录实用工具

    • 用于用户认证的安全令牌生成
    • 支持简单和安全两种 SSO 模式
    • 基于 HMAC-SHA256 的令牌签名
  • Core Types - 共享类型定义和实用工具

    • 评论模型和元数据结构
    • 用户和租户配置
    • 常用操作的辅助函数

快速开始 Internal Link

使用公共 API

use fastcomments_sdk::client::apis::configuration::Configuration;
use fastcomments_sdk::client::apis::public_api;

#[tokio::main]
async fn main() {
    // 创建 API 配置
    let config = Configuration::new();

    // 获取页面的评论
    let result = public_api::get_comments_public(
        &config,
        public_api::GetCommentsPublicParams {
            tenant_id: "your-tenant-id".to_string(),
            urlid: Some("page-url-id".to_string()),
            url: None,
            count_only: None,
            skip: None,
            limit: None,
            sort_dir: None,
            page: None,
            sso_hash: None,
            simple_sso_hash: None,
            has_no_comment: None,
            has_comment: None,
            comment_id_filter: None,
            child_ids: None,
            start_date_time: None,
            starts_with: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Found {} comments", response.comments.len());
            for comment in response.comments {
                println!("Comment: {:?}", comment);
            }
        }
        Err(e) => eprintln!("Error fetching comments: {:?}", e),
    }
}

使用已认证的 API

use fastcomments_sdk::client::apis::configuration::{ApiKey, Configuration};
use fastcomments_sdk::client::apis::default_api;

#[tokio::main]
async fn main() {
    // 使用 API 密钥创建配置
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // 使用已认证的 API 获取评论
    let result = default_api::get_comments(
        &config,
        default_api::GetCommentsParams {
            tenant_id: "your-tenant-id".to_string(),
            skip: None,
            limit: None,
            sort_dir: None,
            urlid: Some("page-url-id".to_string()),
            url: None,
            is_spam: None,
            user_id: None,
            all_comments: None,
            for_moderation: None,
            parent_id: None,
            is_flagged: None,
            is_flagged_tag: None,
            is_by_verified: None,
            is_pinned: None,
            asc: None,
            include_imported: None,
            origin: None,
            tags: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Total comments: {}", response.count);
            for comment in response.comments {
                println!("Comment ID: {}, Text: {}", comment.id, comment.comment);
            }
        }
        Err(e) => eprintln!("Error: {:?}", e),
    }
}

使用 SSO 进行身份验证

use fastcomments_sdk::sso::{
    fastcomments_sso::FastCommentsSSO,
    secure_sso_user_data::SecureSSOUserData,
};

fn main() {
    let api_key = "your-api-key".to_string();

    // 创建安全的 SSO 用户数据(仅限服务器端!)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // 用户 ID
        "user@example.com".to_string(),   // 电子邮件
        "John Doe".to_string(),            // 用户名
        "https://example.com/avatar.jpg".to_string(), // 头像 URL
    );

    // 生成 SSO 令牌
    let sso = FastCommentsSSO::new_secure(api_key, &user_data).unwrap();
    let token = sso.create_token().unwrap();

    println!("SSO Token: {}", token);
    // 将此令牌传递给前端以进行身份验证
}

常见问题 Internal Link

401 未授权错误

如果在使用需要身份验证的 API 时遇到 401 错误:

  1. 检查你的 API key:确保你正在使用来自 FastComments dashboard 的正确 API key
  2. 验证 tenant ID:确保 tenant ID 与您的帐户匹配
  3. API key 格式:API key 应在 Configuration 中传递:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

SSO 令牌问题

如果 SSO 令牌 无法正常工作:

  1. 在生产环境中使用安全模式:始终在生产环境使用 FastCommentsSSO::new_secure() 并搭配您的 API key
  2. 仅限服务器端:在服务器上生成 SSO 令牌,切勿将您的 API key 暴露给客户端
  3. 检查用户数据:确保所有必需字段 (id, email, username) 已提供

异步运行时错误

该 SDK 使用 tokio 进行异步操作。请确保:

  1. 将 tokio 添加到您的依赖项:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. 使用 tokio 运行时:

    #[tokio::main]
    async fn main() {
     // 在此处放置您的异步代码
    }

注意事项 Internal Link

广播 ID

你会看到在某些 API 调用中需要传入 broadcastId。当你接收到事件时,会返回这个 ID,因此如果你计划在客户端乐观地应用更改,就可以据此忽略该事件 (你很可能会想这样做,因为它能提供最佳体验)。在此处传入 UUID。该 ID 应足够唯一,以免在同一浏览器会话中出现两次。

聚合 Internal Link

通过对文档进行分组(如果提供了 groupBy)并应用多个操作来聚合文档。支持不同的操作(例如 sum、countDistinct、avg 等)。

参数

名称 类型 是否必需 描述
tenant_id String
aggregation_request models::AggregationRequest
parent_tenant_id String
include_stats bool

响应

返回: AggregationResponse


获取审计日志 Internal Link

参数

名称 类型 必填 描述
tenant_id String
limit f64
skip f64
order models::SortDir
after f64
before f64

响应

返回:GetAuditLogs200Response

示例

get_audit_logs 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetAuditLogsParams = GetAuditLogsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 limit: Some(100.0),
6 skip: Some(0.0),
7 order: Some(models::SortDir::Desc),
8 after: Some(1672531200.0),
9 before: Some(1675209600.0),
10 };
11 let response: GetAuditLogs200Response = get_audit_logs(&configuration, params).await?;
12 Ok(())
13}
14

从评论中屏蔽(公开) Internal Link

参数

名称 类型 必填 描述
tenant_id String
comment_id String
public_block_from_comment_params models::PublicBlockFromCommentParams
sso String

响应

返回: BlockFromCommentPublic200Response

示例

block_from_comment_public 示例
Copy Copy
1
2pub async fn run_block_example() -> Result<(), Error> {
3 let params: BlockFromCommentPublicParams = BlockFromCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25-12345".to_string(),
6 public_block_from_comment_params: models::PublicBlockFromCommentParams {
7 reason: "Repeated promotional links".to_string(),
8 reporter_id: Some("reader-2048".to_string()),
9 permanent: Some(false),
10 },
11 sso: Some("sso:user:acme:2048".to_string()),
12 };
13 let response: BlockFromCommentPublic200Response = block_from_comment_public(&configuration, params).await?;
14 println!("{:#?}", response);
15 Ok(())
16}
17

取消公开评论屏蔽 Internal Link

参数

Name Type Required Description
tenant_id String
comment_id String
public_block_from_comment_params models::PublicBlockFromCommentParams
sso String

响应

返回: UnBlockCommentPublic200Response

示例

un_block_comment_public 示例
Copy Copy
1
2async fn run() -> Result<UnBlockCommentPublic200Response, Error> {
3 let params: UnBlockCommentPublicParams = UnBlockCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25/comment-98765".to_string(),
6 public_block_from_comment_params: models::PublicBlockFromCommentParams {
7 unblocked_by: "moderator@acme.com".to_string(),
8 reason: "Reviewed and determined not to be spam".to_string(),
9 },
10 sso: Some("sso-session-token-abc123".to_string()),
11 };
12 let response: UnBlockCommentPublic200Response = un_block_comment_public(&configuration, params).await?;
13 Ok(response)
14}
15

检查被屏蔽的评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_ids String
sso String

响应

返回: CheckedCommentsForBlocked200Response

示例

checked_comments_for_blocked 示例
Copy Copy
1
2async fn run_checked_comments() -> Result<CheckedCommentsForBlocked200Response, Error> {
3 let params: CheckedCommentsForBlockedParams = CheckedCommentsForBlockedParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_ids: "article-98765:12345,article-98765:67890".to_string(),
6 sso: Some("sso-uid-4821".to_string()),
7 };
8 let response: CheckedCommentsForBlocked200Response = checked_comments_for_blocked(&configuration, params).await?;
9 Ok(response)
10}
11

从评论中屏蔽用户 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String
block_from_comment_params models::BlockFromCommentParams
user_id String
anon_user_id String

响应

返回: BlockFromCommentPublic200Response

示例

block_user_from_comment 示例
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: BlockUserFromCommentParams = BlockUserFromCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25/comment-842".to_string(),
6 block_from_comment_params: models::BlockFromCommentParams {
7 reason: Some("Repeated promotional links".to_string()),
8 duration_minutes: Some(7_200),
9 notify_user: Some(true),
10 },
11 user_id: Some("user-9812".to_string()),
12 anon_user_id: None,
13 };
14 let response: BlockFromCommentPublic200Response = block_user_from_comment(&configuration, params).await?;
15 Ok(())
16}
17

创建公开评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
url_id String
broadcast_id String
comment_data models::CommentData
session_id String
sso String

响应

返回: CreateCommentPublic200Response

示例

create_comment_public 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateCommentPublicParams = CreateCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/politics/2026-election-coverage".to_string(),
6 broadcast_id: "live-coverage-2026-03-25".to_string(),
7 comment_data: models::CommentData {
8 content: "Insightful piece — appreciate the depth of reporting.".to_string(),
9 author_name: Some("Jane Doe".to_string()),
10 author_email: Some("jane.doe@acme.com".to_string()),
11 is_anonymous: Some(false),
12 parent_id: None,
13 metadata: None,
14 },
15 session_id: Some("sess_6f7e8d9c".to_string()),
16 sso: Some("sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
17 };
18 let resp: CreateCommentPublic200Response = create_comment_public(&configuration, params).await?;
19 Ok(())
20}
21

删除评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
context_user_id String
is_live bool

响应

返回:DeleteComment200Response

示例

delete_comment 示例
Copy Copy
1
2async fn run_delete_comment() -> Result<DeleteComment200Response, Error> {
3 let params: DeleteCommentParams = DeleteCommentParams {
4 tenant_id: "acme-newsroom".to_string(),
5 id: "news/article-2026/comments/abc123".to_string(),
6 context_user_id: Some("user-789".to_string()),
7 is_live: Some(true),
8 };
9 let response: DeleteComment200Response = delete_comment(&configuration, params).await?;
10 Ok(response)
11}
12

删除公开评论 Internal Link

参数

Name Type Required Description
tenant_id String
comment_id String
broadcast_id String
edit_key String
sso String

响应

返回:DeleteCommentPublic200Response

示例

delete_comment_public 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentPublicParams = DeleteCommentPublicParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: String::from("news/article/2026/03/interesting-story#cmt-67890"),
6 broadcast_id: String::from("news-article-12345"),
7 edit_key: Some(String::from("editkey-3f2b9a")),
8 sso: Some(String::from("sso-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")),
9 };
10 let response: DeleteCommentPublic200Response = delete_comment_public(&configuration, params).await?;
11 Ok(())
12}
13

删除评论投票 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_id String
vote_id String
url_id String
broadcast_id String
edit_key String
sso String

响应

返回: DeleteCommentVote200Response

示例

delete_comment_vote 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentVoteParams = DeleteCommentVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 vote_id: "vote-67890".to_string(),
7 url_id: "news/world/article-2026".to_string(),
8 broadcast_id: "broadcast-1".to_string(),
9 edit_key: Some("editkey-abc123".to_string()),
10 sso: Some("sso-token-xyz".to_string()),
11 };
12 let response: DeleteCommentVote200Response = delete_comment_vote(&configuration, params).await?;
13 Ok(())
14}
15

标记评论 Internal Link

参数

Name Type Required Description
tenant_id String
id String
user_id String
anon_user_id String

响应

返回: FlagComment200Response

示例

flag_comment 示例
Copy Copy
1
2async fn run() -> Result<FlagComment200Response, Error> {
3 let params: FlagCommentParams = FlagCommentParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 id: "comment-20260325-842".to_string(),
6 user_id: Some("user-7b2f3d".to_string()),
7 anon_user_id: Some("anon-1a2b3c".to_string()),
8 };
9 let resp: FlagComment200Response = flag_comment(&configuration, params).await?;
10 Ok(resp)
11}
12

获取评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: GetComment200Response

示例

get_comment 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetCommentParams = GetCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345/comment-6789".to_string(),
6 };
7 let _response: GetComment200Response = get_comment(&configuration, params).await?;
8 Ok(())
9}
10

获取评论文本 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_id String
edit_key String
sso String

响应

返回: GetCommentText200Response

示例

get_comment_text 示例
Copy Copy
1
2pub async fn run() -> Result<GetCommentText200Response, Error> {
3 let params: GetCommentTextParams = GetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-98765".to_string(),
6 edit_key: Some("edit_4f3d2b9a".to_string()),
7 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
8 };
9 let comment: GetCommentText200Response = get_comment_text(&configuration, params).await?;
10 Ok(comment)
11}
12

获取评论投票用户名 Internal Link

参数

名称 类型 是否必需 描述
tenant_id String
comment_id String
dir i32
sso String

响应

返回:GetCommentVoteUserNames200Response

示例

get_comment_vote_user_names 示例
Copy Copy
1
2async fn fetch_vote_user_names() -> Result<GetCommentVoteUserNames200Response, Error> {
3 let params: GetCommentVoteUserNamesParams = GetCommentVoteUserNamesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: String::from("news/article-12345/comment-6789"),
6 dir: 1,
7 sso: Some(String::from("sso-token-01a2b3")),
8 };
9 let response: GetCommentVoteUserNames200Response =
10 get_comment_vote_user_names(&configuration, params).await?;
11 Ok(response)
12}
13

获取评论列表 Internal Link


参数

Name Type Required Description
tenant_id String
page i32
limit i32
skip i32
as_tree bool
skip_children i32
limit_children i32
max_tree_depth i32
url_id String
user_id String
anon_user_id String
context_user_id String
hash_tag String
parent_id String
direction models::SortDirections

响应

返回: GetComments200Response

示例

get_comments 示例
Copy Copy
1
2async fn run_get_comments() -> Result<(), Error> {
3 let params: GetCommentsParams = GetCommentsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1),
6 limit: Some(25),
7 skip: Some(0),
8 as_tree: Some(true),
9 skip_children: Some(0),
10 limit_children: Some(5),
11 max_tree_depth: Some(3),
12 url_id: Some("news/article/technology/ai-ethics".to_string()),
13 user_id: Some("user_98765".to_string()),
14 anon_user_id: Some("anon_abc123".to_string()),
15 context_user_id: Some("moderator_12".to_string()),
16 hash_tag: Some("aiethics".to_string()),
17 parent_id: Some("comment_456".to_string()),
18 direction: None,
19 };
20 let comments: GetComments200Response = get_comments(&configuration, params).await?;
21 Ok(())
22}
23

获取公开评论 Internal Link

req tenantId urlId

参数

Name Type Required Description
tenant_id String
url_id String
page i32
direction models::SortDirections
sso String
skip i32
skip_children i32
limit i32
limit_children i32
count_children bool
fetch_page_for_comment_id String
include_config bool
count_all bool
includei10n bool
locale String
modules String
is_crawler bool
include_notification_count bool
as_tree bool
max_tree_depth i32
use_full_translation_ids bool
parent_id String
search_text String
hash_tags Vec
user_id String
custom_config_str String
after_comment_id String
before_comment_id String

响应

返回: GetCommentsPublic200Response

示例

get_comments_public 示例
Copy Copy
1
2async fn run() -> Result<GetCommentsPublic200Response, Error> {
3 let params: GetCommentsPublicParams = GetCommentsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/top-story".to_string(),
6 page: Some(1), direction: Some(models::SortDirections::Desc),
7 sso: None, skip: Some(0), skip_children: Some(0),
8 limit: Some(50), limit_children: Some(10), count_children: Some(true),
9 fetch_page_for_comment_id: None, include_config: Some(true), count_all: Some(false),
10 includei10n: Some(false), locale: Some("en-US".to_string()), modules: None,
11 is_crawler: Some(false), include_notification_count: Some(false), as_tree: Some(true),
12 max_tree_depth: Some(3), use_full_translation_ids: Some(false), parent_id: None,
13 search_text: Some("climate policy debate".to_string()), hash_tags: Some(vec!["breaking".to_string(), "policy".to_string()]),
14 user_id: None, custom_config_str: None, after_comment_id: None, before_comment_id: None,
15 };
16 let response: GetCommentsPublic200Response = get_comments_public(configuration, params).await?;
17 Ok(response)
18}
19

锁定评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_id String
broadcast_id String
sso String

响应

返回:LockComment200Response

示例

lock_comment 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: LockCommentParams = LockCommentParams {
4 tenant_id: String::from("acme-news-tenant"),
5 comment_id: String::from("cmt-20260325-789"),
6 broadcast_id: String::from("live/politics-debate-2026-03-25"),
7 sso: Some(String::from("sso-user-0a1b2c3d4e")),
8 };
9 let response: LockComment200Response = lock_comment(&configuration, params).await?;
10 Ok(())
11}
12

置顶评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_id String
broadcast_id String
sso String

响应

返回: PinComment200Response

示例

pin_comment 示例
Copy Copy
1
2let params: PinCommentParams = PinCommentParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: "cmt-987654321".to_string(),
5 broadcast_id: "news/article/2026-03-25".to_string(),
6 sso: Some("user-12345-ssotoken".to_string()),
7};
8let response: PinComment200Response = pin_comment(&configuration, params).await?;
9

保存评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_comment_params models::CreateCommentParams
is_live bool
do_spam_check bool
send_emails bool
populate_notifications bool

响应

返回:SaveComment200Response

示例

save_comment 示例
Copy Copy
1
2let create_comment: models::CreateCommentParams = models::CreateCommentParams {
3 thread_key: "news/article/2026/03/25/budget-reform".to_string(),
4 body: "Great breakdown of the proposed changes — very informative and balanced.".to_string(),
5 user_name: Some("Jane Doe".to_string()),
6 user_email: Some("jane.doe@acme-corp.com".to_string()),
7 user_id: Some("user-9876".to_string()),
8 parent_id: None,
9};
10
11let save_params: SaveCommentParams = SaveCommentParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_comment_params: create_comment,
14 is_live: Some(true),
15 do_spam_check: Some(true),
16 send_emails: Some(false),
17 populate_notifications: Some(true),
18};
19
20let saved: SaveComment200Response = save_comment(&configuration, save_params).await?;
21

批量保存评论 Internal Link

参数

名称 类型 必填 描述
tenant_id String
create_comment_params Vecmodels::CreateCommentParams
is_live bool
do_spam_check bool
send_emails bool
populate_notifications bool

响应

返回:Vec<models::SaveComment200Response>

示例

save_comments_bulk 示例
Copy Copy
1
2let params: SaveCommentsBulkParams = SaveCommentsBulkParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_comment_params: vec![
5 models::CreateCommentParams {
6 thread_id: "news/article-2026-election".to_string(),
7 text: "Insightful reporting — thanks for the coverage!".to_string(),
8 author_name: "Jane Doe".to_string(),
9 author_email: "jane.doe@example.com".to_string(),
10 },
11 models::CreateCommentParams {
12 thread_id: "news/article-2026-election".to_string(),
13 text: "I disagree with the premise of this piece.".to_string(),
14 author_name: "John Smith".to_string(),
15 author_email: "john.smith@example.org".to_string(),
16 },
17 ],
18 is_live: Some(true),
19 do_spam_check: Some(true),
20 send_emails: Some(false),
21 populate_notifications: Some(true),
22};
23let saved: Vec<models::SaveComment200Response> = save_comments_bulk(&configuration, params).await?;
24

设置评论文本 Internal Link

参数

名称 类型 必填 描述
tenant_id String
comment_id String
broadcast_id String
comment_text_update_request models::CommentTextUpdateRequest
edit_key String
sso String

响应

返回: SetCommentText200Response

示例

set_comment_text 示例
Copy Copy
1
2async fn update_comment_text() -> Result<(), Error> {
3 let params: SetCommentTextParams = SetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25/comment-6789".to_string(),
6 broadcast_id: "comments-broadcast-main".to_string(),
7 comment_text_update_request: models::CommentTextUpdateRequest {
8 text: "Updated comment: thank you @jane_doe — here's an update about #rustlang".to_string(),
9 ..Default::default()
10 },
11 edit_key: Some("editkey-9f8e7d6c".to_string()),
12 sso: Some("sso-token-abc123".to_string()),
13 };
14 let result: SetCommentText200Response = set_comment_text(configuration, params).await?;
15 println!("set_comment_text result: {:?}", result);
16 Ok(())
17}
18

取消从评论中屏蔽用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
un_block_from_comment_params models::UnBlockFromCommentParams
user_id String
anon_user_id String

响应

返回: UnBlockCommentPublic200Response

示例

un_block_user_from_comment 示例
Copy Copy
1
2async fn run_unblock() -> Result<UnBlockCommentPublic200Response, Error> {
3 let unblock_body: models::UnBlockFromCommentParams = models::UnBlockFromCommentParams {
4 reason: Some(String::from("False positive - reviewed by moderator")),
5 moderator_id: Some(String::from("moderator-42")),
6 };
7 let params: UnBlockUserFromCommentParams = UnBlockUserFromCommentParams {
8 tenant_id: String::from("acme-corp-tenant"),
9 id: String::from("news/article/comments/abc123"),
10 un_block_from_comment_params: unblock_body,
11 user_id: Some(String::from("user-9876")),
12 anon_user_id: Some(String::from("anon-5f4d")),
13 };
14 let result: UnBlockCommentPublic200Response = un_block_user_from_comment(&configuration, params).await?;
15 Ok(result)
16}
17

取消标记评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
user_id String
anon_user_id String

响应

返回: FlagComment200Response

示例

un_flag_comment 示例
Copy Copy
1
2async fn example_unflag_comment() -> Result<FlagComment200Response, Error> {
3 let params = UnFlagCommentParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article/comment-12345"),
6 user_id: Some(String::from("reader-987")),
7 anon_user_id: None,
8 };
9 let response: FlagComment200Response = un_flag_comment(&configuration, params).await?;
10 Ok(response)
11}
12

解锁评论 Internal Link

参数

名称 类型 必填 描述
tenant_id String
comment_id String
broadcast_id String
sso String

响应

返回: LockComment200Response

示例

un_lock_comment 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UnLockCommentParams = UnLockCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-987654321".to_string(),
6 broadcast_id: "news/world-update-2026-04-25".to_string(),
7 sso: Some("sso-token-abcdef123456".to_string()),
8 };
9 let response: LockComment200Response = un_lock_comment(&configuration, params).await?;
10 let _ = response;
11 Ok(())
12}
13

取消置顶评论 Internal Link

参数

名称 类型 必填 描述
tenant_id String
comment_id String
broadcast_id String
sso String

响应

返回:PinComment200Response

示例

un_pin_comment 示例
Copy Copy
1
2async fn run_unpin() -> Result<(), Error> {
3 let params: UnPinCommentParams = UnPinCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-20260325-7a9".to_string(),
6 broadcast_id: "news/homepage/launch-article".to_string(),
7 sso: Some("sso-jwt-user-0a1b2c3d".to_string()),
8 };
9 let response: PinComment200Response = un_pin_comment(&configuration, params).await?;
10 Ok(())
11}
12

更新评论 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
updatable_comment_params models::UpdatableCommentParams
context_user_id String
do_spam_check bool
is_live bool

响应

返回: FlagCommentPublic200Response

示例

update_comment 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".into();
4 let comment_id: String = "news/article/12345-6789".into();
5 let context_user_id: String = "reader-42".into();
6
7 let updatable: models::UpdatableCommentParams = models::UpdatableCommentParams {
8 body: Some("Updated comment: I appreciate the clarification on this report.".into()),
9 is_edited: Some(true),
10 tags: Some(vec!["clarification".into(), "follow-up".into()]),
11 };
12
13 let params: UpdateCommentParams = UpdateCommentParams {
14 tenant_id,
15 id: comment_id,
16 updatable_comment_params: updatable,
17 context_user_id: Some(context_user_id),
18 do_spam_check: Some(true),
19 is_live: Some(false),
20 };
21
22 let response: FlagCommentPublic200Response = update_comment(&configuration, params).await?;
23 Ok(())
24}
25

对评论投票 Internal Link

参数

Name Type Required Description
tenant_id String
comment_id String
url_id String
broadcast_id String
vote_body_params models::VoteBodyParams
session_id String
sso String

响应

返回: VoteComment200Response

示例

vote_comment 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: VoteCommentParams = VoteCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 url_id: "news/politics/2026-election".to_string(),
7 broadcast_id: "broadcast-nytimes-001".to_string(),
8 vote_body_params: models::VoteBodyParams { ..Default::default() },
9 session_id: Some("sess-9f8e7d".to_string()),
10 sso: Some("user-42@example.com".to_string()),
11 };
12 let response: VoteComment200Response = vote_comment(&configuration, params).await?;
13 Ok(())
14}
15

添加域配置 Internal Link

参数

名称 类型 必需 描述
tenant_id String
add_domain_config_params models::AddDomainConfigParams

响应

返回: AddDomainConfig200Response


删除域配置 Internal Link


参数

名称 类型 必需 描述
tenant_id String
domain String

响应

返回: DeleteDomainConfig200Response


获取域配置 Internal Link


参数

名称 类型 必需 描述
tenant_id String
domain String

响应

返回: GetDomainConfig200Response


获取域配置列表 Internal Link


参数

名称 类型 必填 描述
tenant_id String

响应

返回: GetDomainConfigs200Response


部分更新域配置 Internal Link

参数

名称 类型 必需 描述
tenant_id String
domain_to_update String
patch_domain_config_params models::PatchDomainConfigParams

响应

返回:GetDomainConfig200Response


替换/添加域配置 Internal Link

参数

名称 类型 必填 描述
tenant_id String
domain_to_update String
update_domain_config_params models::UpdateDomainConfigParams

响应

返回: GetDomainConfig200Response


创建电子邮件模板 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_email_template_body models::CreateEmailTemplateBody

响应

返回: CreateEmailTemplate200Response

示例

create_email_template 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateEmailTemplateParams = CreateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".into(),
5 create_email_template_body: models::CreateEmailTemplateBody {
6 name: "Article Comment Notification".into(),
7 subject: "New comment on your article".into(),
8 body_html: "<p>Hi {{recipient_name}},</p><p>{{comment_author}} left a comment on your article \"{{article_title}}\".</p>".into(),
9 from_name: Some("Acme News".into()),
10 from_email: Some("notifications@acme.example".into()),
11 reply_to: Some("no-reply@acme.example".into()),
12 enabled: Some(true),
13 tags: Some(vec!["comments".into(), "notifications".into()]),
14 },
15 };
16 let response: CreateEmailTemplate200Response = create_email_template(configuration, params).await?;
17 Ok(())
18}
19

删除电子邮件模板 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: FlagCommentPublic200Response

示例

delete_email_template 示例
Copy Copy
1
2async fn run_delete_template() -> Result<(), Error> {
3 let params: DeleteEmailTemplateParams = DeleteEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let confirm_deletion: Option<bool> = Some(true);
8 let response: FlagCommentPublic200Response = delete_email_template(&configuration, params).await?;
9 Ok(())
10}
11

删除电子邮件模板渲染错误 Internal Link

参数

Name Type Required Description
tenant_id String
id String
error_id String

响应

返回:FlagCommentPublic200Response

示例

delete_email_template_render_error 示例
Copy Copy
1
2let error_id_opt: Option<String> = Some("render-failure-9f3b".to_string());
3let params: DeleteEmailTemplateRenderErrorParams = DeleteEmailTemplateRenderErrorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email".to_string(),
6 error_id: error_id_opt.unwrap(),
7};
8let response: FlagCommentPublic200Response = delete_email_template_render_error(&configuration, params).await?;
9

获取电子邮件模板 Internal Link

参数

Name Type Required Description
tenant_id String Yes
id String Yes

响应

返回: GetEmailTemplate200Response

示例

get_email_template 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let template_id: String = "welcome-new-subscriber".to_string();
5 let params: GetEmailTemplateParams = GetEmailTemplateParams {
6 tenant_id,
7 id: template_id,
8 locale: Some("en-US".to_string()),
9 };
10 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
11 let _ = template;
12 Ok(())
13}
14

获取电子邮件模板定义 Internal Link

参数

Name Type Required Description
tenant_id String

响应

返回: GetEmailTemplateDefinitions200Response

示例

get_email_template_definitions 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetEmailTemplateDefinitionsParams = GetEmailTemplateDefinitionsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 locale: Some("en-US".to_string()),
6 include_inactive: Some(false),
7 };
8 let templates: GetEmailTemplateDefinitions200Response =
9 get_email_template_definitions(&configuration, params).await?;
10 Ok(())
11}
12

获取电子邮件模板渲染错误 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
skip f64

响应

返回: GetEmailTemplateRenderErrors200Response

示例

get_email_template_render_errors 示例
Copy Copy
1
2async fn run_example() -> Result<(), Error> {
3 let params: GetEmailTemplateRenderErrorsParams = GetEmailTemplateRenderErrorsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 skip: Some(10.0),
7 };
8 let response: GetEmailTemplateRenderErrors200Response =
9 get_email_template_render_errors(&configuration, params).await?;
10 Ok(())
11}
12

获取电子邮件模板列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
skip f64

响应

返回: GetEmailTemplates200Response

示例

get_email_templates 示例
Copy Copy
1
2async fn fetch_email_templates() -> Result<GetEmailTemplates200Response, Error> {
3 let params: GetEmailTemplatesParams = GetEmailTemplatesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let templates: GetEmailTemplates200Response = get_email_templates(&configuration, params).await?;
8 Ok(templates)
9}
10

渲染电子邮件模板 Internal Link

参数

名称 类型 必需 描述
tenant_id String
render_email_template_body models::RenderEmailTemplateBody
locale String

响应

返回:RenderEmailTemplate200Response

示例

render_email_template Example
Copy Copy
1
2async fn example(configuration: &configuration::Configuration) -> Result<RenderEmailTemplate200Response, Error> {
3 let body = models::RenderEmailTemplateBody {
4 template_key: "welcome_email".to_string(),
5 subject: "Welcome to Acme News".to_string(),
6 from_address: "noreply@acme.com".to_string(),
7 placeholders: std::collections::HashMap::from([
8 ("user_name".to_string(), "Jane Doe".to_string()),
9 ("article_title".to_string(), "Breaking News: Rust Adoption Soars".to_string()),
10 ]),
11 };
12 let params = RenderEmailTemplateParams {
13 tenant_id: "acme-corp-tenant".to_string(),
14 render_email_template_body: body,
15 locale: Some("en-US".to_string()),
16 };
17 let rendered: RenderEmailTemplate200Response = render_email_template(configuration, params).await?;
18 Ok(rendered)
19}
20

更新电子邮件模板 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_email_template_body models::UpdateEmailTemplateBody

响应

返回:FlagCommentPublic200Response

示例

update_email_template 示例
Copy Copy
1
2async fn example_update_email_template() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 subject: "Welcome to Acme News".to_string(),
8 html_body: "<h1>Welcome, {{user_name}}</h1><p>Thanks for joining Acme.</p>".to_string(),
9 plain_body: Some("Welcome, {{user_name}}!\nThanks for joining Acme.".to_string()),
10 enabled: Some(true),
11 from_name: Some("Acme Support <support@acme.com>".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
15 Ok(response)
16}
17

获取事件日志 Internal Link

req tenantId urlId userIdWS

参数

名称 类型 必需 描述
tenant_id String
url_id String
user_id_ws String
start_time i64
end_time i64

响应

返回: GetEventLog200Response

示例

get_event_log 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetEventLogParams = GetEventLogParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article-2023-01-01".to_string(),
6 user_id_ws: "user-12345-ws".to_string(),
7 start_time: 1672531200i64,
8 end_time: 1672617599i64,
9 include_details: Some(true),
10 };
11 let response: GetEventLog200Response = get_event_log(&configuration, params).await?;
12 Ok(())
13}
14

获取全局事件日志 Internal Link

req tenantId urlId userIdWS

参数

名称 类型 必需 描述
tenant_id String Yes
url_id String Yes
user_id_ws String Yes
start_time i64 Yes
end_time i64 Yes

响应

返回:GetEventLog200Response

示例

get_global_event_log 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let include_deleted: Option<bool> = Some(false);
4 let params: GetGlobalEventLogParams = GetGlobalEventLogParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 url_id: "news/article-123".to_string(),
7 user_id_ws: "user-789-ws".to_string(),
8 start_time: 1711411200i64,
9 end_time: 1711497599i64,
10 };
11 let response: GetEventLog200Response = get_global_event_log(&configuration, params).await?;
12 let _include_deleted = include_deleted;
13 Ok(())
14}
15

创建动态帖子 Internal Link

参数

名称 类型 必填 描述
tenant_id String
create_feed_post_params models::CreateFeedPostParams
broadcast_id String
is_live bool
do_spam_check bool
skip_dup_check bool

响应

返回: CreateFeedPost200Response

示例

create_feed_post 示例
Copy Copy
1
2async fn create_post_example() -> Result<CreateFeedPost200Response, Error> {
3 let params = CreateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_feed_post_params: models::CreateFeedPostParams {
6 title: Some("Downtown Datacenter Outage".to_string()),
7 body: Some("Investigating a partial outage affecting login and API endpoints.".to_string()),
8 author_id: Some("ops-team".to_string()),
9 ..Default::default()
10 },
11 broadcast_id: Some("status-broadcast-2026-03-25".to_string()),
12 is_live: Some(true),
13 do_spam_check: Some(true),
14 skip_dup_check: Some(false),
15 };
16 let response: CreateFeedPost200Response = create_feed_post(&configuration, params).await?;
17 Ok(response)
18}
19

创建公开动态帖子 Internal Link

参数

Name Type Required Description
tenant_id String
create_feed_post_params models::CreateFeedPostParams
broadcast_id String
sso String

响应

返回:CreateFeedPostPublic200Response

示例

create_feed_post_public 示例
Copy Copy
1
2let create_feed_post_params: models::CreateFeedPostParams = models::CreateFeedPostParams {
3 title: "Acme Product Launch".to_string(),
4 body: "We're excited to announce our new product line that will change the way teams collaborate.".to_string(),
5 slug: "news/product-launch".to_string(),
6 links: Some(vec![models::FeedPostLink { url: "https://acme.com/launch".to_string(), title: Some("Launch details".to_string()) }]),
7 media: Some(vec![models::FeedPostMediaItem { assets: Some(vec![models::FeedPostMediaItemAsset { url: "https://cdn.acme.com/images/launch.jpg".to_string(), mime_type: Some("image/jpeg".to_string()) }]), caption: Some("Hero image".to_string()) }]),
8 tags: Some(vec!["announcement".to_string(), "product".to_string()]),
9};
10
11let params: CreateFeedPostPublicParams = CreateFeedPostPublicParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_feed_post_params,
14 broadcast_id: Some("broadcast-2026-03-25".to_string()),
15 sso: Some("sso-token-xyz789".to_string()),
16};
17
18let response: CreateFeedPostPublic200Response = create_feed_post_public(&configuration, params).await?;
19

删除公开动态帖子 Internal Link

参数

名称 类型 必需 描述
tenant_id String
post_id String
broadcast_id String
sso String

响应

返回:DeleteFeedPostPublic200Response

示例

delete_feed_post_public 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteFeedPostPublicParams = DeleteFeedPostPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_id: "news/article-2026-03-25-12345".to_string(),
6 broadcast_id: Some("broadcast-9876".to_string()),
7 sso: Some("user-42-sso-token".to_string()),
8 };
9 let response: DeleteFeedPostPublic200Response = delete_feed_post_public(&configuration, params).await?;
10 Ok(())
11}
12

获取动态帖子列表 Internal Link

req tenantId afterId

参数

Name Type Required Description
tenant_id String
after_id String
limit i32
tags Vec

响应

返回: GetFeedPosts200Response

示例

get_feed_posts 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetFeedPostsParams = GetFeedPostsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_98765".to_string()),
6 limit: Some(20),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 };
9 let feed: GetFeedPosts200Response = get_feed_posts(&configuration, params).await?;
10 Ok(())
11}
12

获取公开动态帖子 Internal Link

req tenantId afterId

参数

名称 类型 必需 描述
tenant_id String
after_id String
limit i32
tags Vec
sso String
is_crawler bool
include_user_info bool

响应

返回: GetFeedPostsPublic200Response

示例

get_feed_posts_public 示例
Copy Copy
1
2async fn example() -> Result<GetFeedPostsPublic200Response, Error> {
3 let params: GetFeedPostsPublicParams = GetFeedPostsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_987654".to_string()),
6 limit: Some(25),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 sso: Some("sso-token-abc123".to_string()),
9 is_crawler: Some(false),
10 include_user_info: Some(true),
11 };
12 let response: GetFeedPostsPublic200Response = get_feed_posts_public(&configuration, params).await?;
13 Ok(response)
14}
15

获取动态帖子统计 Internal Link

参数

Name Type Required Description
tenant_id String
post_ids Vec
sso String

响应

返回:GetFeedPostsStats200Response

示例

get_feed_posts_stats 示例
Copy Copy
1
2async fn fetch_feed_stats() -> Result<(), Error> {
3 let params: GetFeedPostsStatsParams = GetFeedPostsStatsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: vec![
6 "news/article/2026/03/25/product-launch".to_string(),
7 "blog/product-updates/q1-2026".to_string(),
8 ],
9 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.examplepayload.signature".to_string()),
10 };
11 let stats: GetFeedPostsStats200Response = get_feed_posts_stats(&configuration, params).await?;
12 Ok(())
13}
14

获取用户公开反应 Internal Link

参数

名称 类型 必填 描述
tenant_id String
post_ids Vec
sso String

响应

返回:GetUserReactsPublic200Response

示例

get_user_reacts_public 示例
Copy Copy
1
2async fn run() -> Result<GetUserReactsPublic200Response, Error> {
3 let params: GetUserReactsPublicParams = GetUserReactsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: Some(vec![
6 "news/article-123".to_string(),
7 "blog/post-456".to_string(),
8 ]),
9 sso: Some("john.doe@acme.com".to_string()),
10 };
11 let response: GetUserReactsPublic200Response = get_user_reacts_public(&configuration, params).await?;
12 Ok(response)
13}
14

公开发表动态帖子反应 Internal Link

参数

名称 类型 必填 描述
tenant_id String
post_id String
react_body_params models::ReactBodyParams
is_undo bool
broadcast_id String
sso String

响应

返回:ReactFeedPostPublic200Response

示例

react_feed_post_public 示例
Copy Copy
1
2let params: ReactFeedPostPublicParams = ReactFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/world/2026-election".to_string(),
5 react_body_params: models::ReactBodyParams { reaction: "like".to_string() },
6 is_undo: Some(false),
7 broadcast_id: Some("broadcast-2026-03-25".to_string()),
8 sso: Some("sso-token-6f4e2b".to_string()),
9};
10
11let response: ReactFeedPostPublic200Response = react_feed_post_public(&configuration, params).await?;
12

更新动态帖子 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
feed_post models::FeedPost

响应

返回: FlagCommentPublic200Response

示例

update_feed_post 示例
Copy Copy
1
2async fn update_post_example() -> Result<(), Error> {
3 let params: UpdateFeedPostParams = UpdateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/rocket-launch-2026".to_string(),
6 feed_post: models::FeedPost {
7 title: Some("Rocket Launch Successful".to_string()),
8 body: Some("Acme Rockets launched the Atlas X at 10:00 UTC with no anomalies.".to_string()),
9 author: Some("Acme Newsroom".to_string()),
10 media: Some(vec![
11 models::FeedPostMediaItem {
12 url: Some("https://cdn.acme.com/images/launch.jpg".to_string()),
13 caption: Some("Moments before liftoff".to_string()),
14 asset: None
15 }
16 ]),
17 links: Some(vec![
18 models::FeedPostLink {
19 title: Some("Detailed Coverage".to_string()),
20 url: Some("https://news.acme.com/coverage/atlas-x-launch".to_string())
21 }
22 ]),
23 published: Some(true)
24 }
25 };
26 let response: FlagCommentPublic200Response = update_feed_post(&configuration, params).await?;
27 Ok(())
28}
29

公开更新动态帖子 Internal Link

参数

Name Type Required Description
tenant_id String
post_id String
update_feed_post_params models::UpdateFeedPostParams
broadcast_id String
sso String

响应

返回: CreateFeedPostPublic200Response

示例

update_feed_post_public 示例
Copy Copy
1
2let params: UpdateFeedPostPublicParams = UpdateFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/article-2026-03-25".to_string(),
5 update_feed_post_params: models::UpdateFeedPostParams {
6 title: "Acme Widget Launch".to_string(),
7 body: "Acme today launched the next-generation Widget with improved performance and battery life.".to_string(),
8 tags: vec!["product".to_string(), "launch".to_string()],
9 media: vec![
10 models::FeedPostMediaItem {
11 url: "https://cdn.acme.com/images/widget-launch.jpg".to_string(),
12 asset: Some(models::FeedPostMediaItemAsset {
13 mime_type: "image/jpeg".to_string(),
14 size: Some(142000),
15 }),
16 }
17 ],
18 links: vec![
19 models::FeedPostLink {
20 url: "https://acme.com/blog/widget-launch".to_string(),
21 title: Some("Read the full announcement".to_string()),
22 }
23 ],
24 },
25 broadcast_id: Some("broadcast-2026-03".to_string()),
26 sso: Some("sso-token-9f8e7d".to_string()),
27};
28
29let response: CreateFeedPostPublic200Response = update_feed_post_public(configuration, params).await?;
30

公开标记评论 Internal Link

参数

Name Type Required Description
tenant_id String
comment_id String
is_flagged bool
sso String

响应

返回: FlagCommentPublic200Response

示例

flag_comment_public 示例
Copy Copy
1
2async fn run_flag() -> Result<FlagCommentPublic200Response, Error> {
3 let params: FlagCommentPublicParams = FlagCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-8a7b6c".to_string(),
6 is_flagged: true,
7 sso: Some("sso-token-user-123".to_string()),
8 };
9 let response: FlagCommentPublic200Response = flag_comment_public(&configuration, params).await?;
10 Ok(response)
11}
12

添加话题标签 Internal Link

参数

Name Type Required Description
tenant_id String
create_hash_tag_body models::CreateHashTagBody

响应

返回: AddHashTag200Response

示例

add_hash_tag 示例
Copy Copy
1
2let params: AddHashTagParams = AddHashTagParams {
3 tenant_id: Some("acme-corp-tenant".to_string()),
4 create_hash_tag_body: Some(models::CreateHashTagBody {
5 tag: "breaking-news".to_string(),
6 display_name: Some("Breaking News".to_string()),
7 description: Some("Articles covering breaking news events".to_string()),
8 enabled: Some(true),
9 }),
10};
11
12let response: AddHashTag200Response = add_hash_tag(&configuration, params).await?;
13

批量添加话题标签 Internal Link

参数

名称 类型 必需 描述
tenant_id String
bulk_create_hash_tags_body models::BulkCreateHashTagsBody

响应

返回: AddHashTagsBulk200Response

示例

add_hash_tags_bulk 示例
Copy Copy
1
2async fn add_tags_example() -> Result<(), Error> {
3 let body = BulkCreateHashTagsBody {
4 tags: vec![
5 BulkCreateHashTagsBodyTagsInner {
6 tag: "news/article".to_string(),
7 path: "site/news".to_string(),
8 description: Some("Articles and press releases".to_string()),
9 is_active: Some(true),
10 custom_config: Some(CustomConfigParameters { score: Some(0.85) }),
11 },
12 BulkCreateHashTagsBodyTagsInner {
13 tag: "product/launch".to_string(),
14 path: "site/products".to_string(),
15 description: Some("New product launches".to_string()),
16 is_active: Some(true),
17 custom_config: Some(CustomConfigParameters { score: Some(0.95) }),
18 },
19 ],
20 };
21 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
22 tenant_id: Some("acme-corp-tenant".to_string()),
23 bulk_create_hash_tags_body: Some(body),
24 };
25 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
26 Ok(())
27}
28

删除话题标签 Internal Link

参数

Name Type Required Description
tag String
tenant_id String
delete_hash_tag_request models::DeleteHashTagRequest

响应

返回:FlagCommentPublic200Response

示例

delete_hash_tag 示例
Copy Copy
1
2async fn run_delete_tag(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params = DeleteHashTagParams {
4 tag: "news/world-climate".to_owned(),
5 tenant_id: Some("acme-corp-tenant".to_owned()),
6 delete_hash_tag_request: None,
7 };
8 let response: FlagCommentPublic200Response = delete_hash_tag(configuration, params).await?;
9 Ok(response)
10}
11

获取话题标签 Internal Link

参数

Name Type Required Description
tenant_id String
page f64

响应

返回: GetHashTags200Response

示例

get_hash_tags 示例
Copy Copy
1
2async fn fetch_hash_tags() -> Result<GetHashTags200Response, Error> {
3 let params: GetHashTagsParams = GetHashTagsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1.0),
6 };
7 let response: GetHashTags200Response = get_hash_tags(&configuration, params).await?;
8 Ok(response)
9}
10

部分更新话题标签 Internal Link

参数

名称 类型 必需 描述
tag String
tenant_id String
update_hash_tag_body models::UpdateHashTagBody

响应

返回:PatchHashTag200Response

示例

patch_hash_tag 示例
Copy Copy
1
2let params: PatchHashTagParams = PatchHashTagParams {
3 tag: "news/article".to_string(),
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 update_hash_tag_body: Some(models::UpdateHashTagBody {
6 label: Some("World News".to_string()),
7 description: Some("Articles related to world events.".to_string()),
8 enabled: Some(true),
9 }),
10};
11
12let response: PatchHashTag200Response = patch_hash_tag(&configuration, params).await?
13

创建版主 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_moderator_body models::CreateModeratorBody

响应

返回: CreateModerator200Response

示例

create_moderator 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 create_moderator_body: models::CreateModeratorBody {
6 username: String::from("jane.moderator"),
7 email: String::from("jane.moderator@acme.com"),
8 display_name: Some(String::from("Jane Moderator")),
9 sections: Some(vec![String::from("news/article"), String::from("forums/general")]),
10 active: Some(true),
11 notes: Some(String::from("Senior moderator, PST timezone")),
12 },
13 };
14 let response: CreateModerator200Response = create_moderator(&configuration, params).await?;
15 Ok(())
16}
17

删除版主 Internal Link

参数

Name Type Required Description
tenant_id String
id String
send_email String

响应

返回:FlagCommentPublic200Response

示例

delete_moderator 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteModeratorParams = DeleteModeratorParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("moderator-9876"),
6 send_email: Some(String::from("true")),
7 };
8
9 let response: FlagCommentPublic200Response = delete_moderator(&configuration, params).await?;
10 Ok(())
11}
12

获取版主 Internal Link

参数

Name Type Required Description
tenant_id String
id String

响应

返回: GetModerator200Response

示例

get_moderator 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-4521".to_string(),
6 include_permissions: Some(true),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

获取版主列表 Internal Link

参数

Name Type Required Description
tenant_id String
skip f64

响应

返回: GetModerators200Response

示例

get_moderators 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetModeratorsParams = GetModeratorsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let _moderators: GetModerators200Response = get_moderators(&configuration, params).await?;
8 Ok(())
9}
10

发送邀请 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String
from_name String

响应

返回: FlagCommentPublic200Response

示例

send_invite 示例
Copy Copy
1
2async fn send_invite_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendInviteParams = SendInviteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25-modern-rust".to_string(),
6 from_name: "Acme Newsroom".to_string(),
7 message: Some("Please join the discussion on this article.".to_string()),
8 };
9 let response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
10 Ok(response)
11}
12

更新版主 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String
update_moderator_body models::UpdateModeratorBody

响应

返回: FlagCommentPublic200Response

示例

update_moderator 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateModeratorParams = UpdateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-987".to_string(),
6 update_moderator_body: models::UpdateModeratorBody {
7 username: Some("jane.doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 role: Some("senior_moderator".to_string()),
10 active: Some(true),
11 notes: Some("Promoted after successful trial period".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
15 Ok(())
16}
17

删除通知计数 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: FlagCommentPublic200Response

示例

delete_notification_count 示例
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("notification-9876"),
6 user_id: Some(String::from("user-1234")),
7 };
8 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
9 Ok(response)
10}
11

获取缓存的通知计数 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String

响应

返回: GetCachedNotificationCount200Response

示例

get_cached_notification_count 示例
Copy Copy
1
2pub async fn example_get_cached_notification_count(configuration: &configuration::Configuration) -> Result<GetCachedNotificationCount200Response, Error> {
3 let params: GetCachedNotificationCountParams = GetCachedNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 };
7 let response: GetCachedNotificationCount200Response = get_cached_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

获取通知计数 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String
url_id String
from_comment_id String
viewed bool

响应

返回: GetNotificationCount200Response

示例

get_notification_count 示例
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-67890".to_string()),
6 url_id: Some("news/2026/03/25/election-updates".to_string()),
7 from_comment_id: Some("cmt_42".to_string()),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(())
12}
13

获取通知列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String
url_id String
from_comment_id String
viewed bool
skip f64

响应

返回: GetNotifications200Response

示例

get_notifications 示例
Copy Copy
1
2async fn fetch_notifications() -> Result<(), Error> {
3 let params: GetNotificationsParams = GetNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-12345".to_owned()),
6 url_id: Some("news/article/2026/03/25/major-update".to_owned()),
7 from_comment_id: Some("cmt-98765".to_owned()),
8 viewed: Some(false),
9 skip: Some(0.0),
10 };
11 let notifications: GetNotifications200Response = get_notifications(&configuration, params).await?;
12 Ok(())
13}
14

更新通知 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_notification_body models::UpdateNotificationBody
user_id String

响应

返回: FlagCommentPublic200Response

示例

update_notification 示例
Copy Copy
1
2let params: UpdateNotificationParams = UpdateNotificationParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "notif-12345".to_string(),
5 update_notification_body: models::UpdateNotificationBody {
6 name: "Article Comments Webhook".to_string(),
7 url: "https://hooks.acme-corp.com/article-comments".to_string(),
8 enabled: true,
9 events: vec!["comment.created".to_string(), "comment.flagged".to_string()],
10 },
11 user_id: Some("moderator-42".to_string()),
12};
13
14let response: FlagCommentPublic200Response = update_notification(&configuration, params).await?;
15

添加页面 Internal Link

参数

名称 类型 必填 描述
tenant_id String
create_api_page_data models::CreateApiPageData

响应

返回: AddPageApiResponse


删除页面 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: DeletePageApiResponse


通过 URLID 获取页面 Internal Link


参数

名称 类型 必需 描述
tenant_id String
url_id String

响应

返回: GetPageByUrlidApiResponse


获取页面列表 Internal Link

参数

名称 类型 是否必填 描述
tenant_id String

响应

返回: GetPagesApiResponse

部分更新页面 Internal Link


参数

名称 类型 必需 描述
tenant_id String
id String
update_api_page_data models::UpdateApiPageData

响应

返回: PatchPageApiResponse


删除待处理的 Webhook 事件 Internal Link

参数

Name Type Required Description
tenant_id String
id String

响应

返回: FlagCommentPublic200Response

示例

delete_pending_webhook_event 示例
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let audit_note: Option<String> = Some("removed duplicate webhook event".to_string());
4 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "9f8b7a6c-1234-4b8d-9c3a-0e1f2d3c4b5a".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
9 let _ = audit_note;
10 Ok(response)
11}
12

获取待处理的 Webhook 事件计数 Internal Link

参数

名称 类型 必需 描述
tenant_id String
comment_id String
external_id String
event_type String
domain String
attempt_count_gt f64

响应

返回: GetPendingWebhookEventCount200Response

示例

get_pending_webhook_event_count 示例
Copy Copy
1
2async fn fetch_pending_webhook_count(configuration: &configuration::Configuration) -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: Some(String::from("cmt-12345")),
6 external_id: Some(String::from("ext-67890")),
7 event_type: Some(String::from("comment_posted")),
8 domain: Some(String::from("news.example.com")),
9 attempt_count_gt: Some(3.0),
10 };
11 let response: GetPendingWebhookEventCount200Response = get_pending_webhook_event_count(configuration, params).await?;
12 Ok(response)
13}
14

获取待处理的 Webhook 事件列表 Internal Link


参数

名称 类型 必填 描述
tenant_id String
comment_id String
external_id String
event_type String
domain String
attempt_count_gt f64
skip f64

响应

返回:GetPendingWebhookEvents200Response

示例

get_pending_webhook_events 示例
Copy Copy
1
2async fn fetch_pending_webhook_events() -> Result<GetPendingWebhookEvents200Response, Error> {
3 let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-2026-04-01-001".to_string()),
6 external_id: Some("news/article-42".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(1.0),
10 skip: Some(0.0),
11 };
12 let response: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13 Ok(response)
14}
15

创建问题配置 Internal Link


参数

Name Type Required Description
tenant_id String
create_question_config_body models::CreateQuestionConfigBody

响应

返回: CreateQuestionConfig200Response

示例

create_question_config 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_config_body: models::CreateQuestionConfigBody {
6 slug: "news/article".to_string(),
7 title: "Reader satisfaction".to_string(),
8 description: Some("How satisfied are you with this article?".to_string()),
9 required: Some(false),
10 rendering_type: Some(QuestionRenderingType::Inline),
11 custom_options: Some(vec![
12 models::QuestionConfigCustomOptionsInner { value: "very_satisfied".to_string(), label: Some("Very satisfied".to_string()) },
13 models::QuestionConfigCustomOptionsInner { value: "unsatisfied".to_string(), label: Some("Unsatisfied".to_string()) },
14 ]),
15 },
16 };
17 let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
18 Ok(())
19}
20

删除问题配置 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: FlagCommentPublic200Response

示例

delete_question_config 示例
Copy Copy
1
2pub async fn run_delete_question_config() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-config-8742".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
8 Ok(response)
9}
10

获取问题配置 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: GetQuestionConfig200Response

示例

get_question_config 示例
Copy Copy
1
2async fn run_get_question_config() -> Result<GetQuestionConfig200Response, Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetQuestionConfigParams = GetQuestionConfigParams {
5 tenant_id: tenant.unwrap(),
6 id: "news/article/2026/03/25/space-launch".to_string(),
7 };
8 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
9 Ok(response)
10}
11

获取问题配置列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
skip f64

响应

返回:GetQuestionConfigs200Response

示例

get_question_configs 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetQuestionConfigsParams = GetQuestionConfigsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let response: GetQuestionConfigs200Response = get_question_configs(&configuration, params).await?;
8 println!("{:#?}", response);
9 Ok(())
10}
11

更新问题配置 Internal Link

参数

Name Type Required Description
tenant_id String
id String
update_question_config_body models::UpdateQuestionConfigBody

响应

返回: FlagCommentPublic200Response

示例

update_question_config 示例
Copy Copy
1
2let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "news/article-2026-03-readability".to_string(),
5 update_question_config_body: models::UpdateQuestionConfigBody {
6 question_text: Some("Was this article helpful?".to_string()),
7 required: Some(true),
8 rendering_type: Some(models::QuestionRenderingType::Inline),
9 custom_options: Some(vec![
10 models::QuestionConfigCustomOptionsInner { label: "Very helpful".to_string(), value: "very_helpful".to_string() },
11 models::QuestionConfigCustomOptionsInner { label: "Somewhat helpful".to_string(), value: "somewhat_helpful".to_string() },
12 models::QuestionConfigCustomOptionsInner { label: "Not helpful".to_string(), value: "not_helpful".to_string() },
13 ]),
14 when_save: Some(models::QuestionWhenSave::AskOnSave),
15 ..Default::default()
16 },
17};
18let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
19

创建问题结果 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_question_result_body models::CreateQuestionResultBody

响应

返回:CreateQuestionResult200Response

示例

create_question_result 示例
Copy Copy
1
2async fn run_create_question_result() -> Result<(), Error> {
3 let params: CreateQuestionResultParams = CreateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_result_body: models::CreateQuestionResultBody {
6 question_id: "article-123-comment-rating".to_string(),
7 user_id: Some("reader-456".to_string()),
8 result: Some("helpful".to_string()),
9 context: Some("news/article".to_string()),
10 submitted_at: Some("2026-03-25T12:34:56Z".to_string()),
11 },
12 };
13
14 let response: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
15 Ok(())
16}
17

删除问题结果 Internal Link


参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回:FlagCommentPublic200Response

示例

delete_question_result 示例
Copy Copy
1
2async fn run_delete_question_result() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "qres-news/article-2026-03-25-9a8b7c".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
8 let _response = response;
9 Ok(())
10}
11

获取问题结果 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String

响应

返回: GetQuestionResult200Response

示例

get_question_result 示例
Copy Copy
1
2async fn example_get_question_result() -> Result<GetQuestionResult200Response, Error> {
3 let params: GetQuestionResultParams = GetQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-12345".to_string(),
6 };
7 let _include_metadata: Option<bool> = Some(true);
8 let response: GetQuestionResult200Response = get_question_result(configuration, params).await?;
9 Ok(response)
10}
11

获取问题结果列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
url_id String
user_id String
start_date String
question_id String
question_ids String
skip f64

响应

返回: GetQuestionResults200Response

示例

get_question_results 示例
Copy Copy
1
2async fn run() -> Result<GetQuestionResults200Response, Error> {
3 let params: GetQuestionResultsParams = GetQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 url_id: Some("news/local/2026/03/25".to_owned()),
6 user_id: Some("user_12345".to_owned()),
7 start_date: Some("2026-01-01T00:00:00Z".to_owned()),
8 question_id: Some("q_789".to_owned()),
9 question_ids: Some("q_789,q_790".to_owned()),
10 skip: Some(10.0),
11 };
12 let response: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(response)
14}
15

更新问题结果 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_question_result_body models::UpdateQuestionResultBody

响应

返回: FlagCommentPublic200Response

示例

update_question_result 示例
Copy Copy
1
2async fn run_update_question_result() -> Result<(), Error> {
3 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/2026/03/25/12345".to_string(),
6 update_question_result_body: models::UpdateQuestionResultBody {
7 question_id: Some("q-987".to_string()),
8 result: Some(true),
9 reviewer_id: Some("moderator-7".to_string()),
10 notes: Some("Marked as resolved after editorial review".to_string()),
11 },
12 };
13 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
14 println!("update result: {:?}", response);
15 Ok(())
16}
17

聚合问题结果 Internal Link

参数

名称 类型 必需 描述
tenant_id String
question_id String
question_ids Vec
url_id String
time_bucket models::AggregateTimeBucket
start_date String
force_recalculate bool

响应

返回: AggregateQuestionResults200Response

示例

aggregate_question_results 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AggregateQuestionResultsParams = AggregateQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("satisfaction-8".to_string()),
6 question_ids: Some(vec!["satisfaction-8".to_string(), "recommendation-3".to_string()]),
7 url_id: Some("news/article/2026/ai-announce".to_string()),
8 time_bucket: Some(models::AggregateTimeBucket::Daily),
9 start_date: Some("2026-03-01T00:00:00Z".to_string()),
10 force_recalculate: Some(true),
11 };
12 let aggregation: AggregateQuestionResults200Response = aggregate_question_results(&configuration, params).await?;
13 Ok(())
14}
15

批量聚合问题结果 Internal Link

参数

名称 类型 必需 描述
tenant_id String
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest
force_recalculate bool

响应

返回: BulkAggregateQuestionResults200Response

示例

bulk_aggregate_question_results 示例
Copy Copy
1
2let params: BulkAggregateQuestionResultsParams = BulkAggregateQuestionResultsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 bulk_aggregate_question_results_request: models::BulkAggregateQuestionResultsRequest {
5 questions: vec![
6 models::BulkAggregateQuestionItem {
7 question_id: "news/article-2026-03-24-comments".to_string(),
8 include_subquestions: Some(true),
9 top_n: Some(5),
10 }
11 ],
12 time_bucket: models::AggregateTimeBucket::Daily,
13 start_time: "2026-03-01T00:00:00Z".to_string(),
14 end_time: "2026-03-24T23:59:59Z".to_string(),
15 },
16 force_recalculate: Some(true),
17};
18let response: BulkAggregateQuestionResults200Response = bulk_aggregate_question_results(&configuration, params).await?;
19

将评论与问题结果合并 Internal Link

参数

Name Type Required Description
tenant_id String
question_id String
question_ids Vec
url_id String
start_date String
force_recalculate bool
min_value f64
max_value f64
limit f64

响应

返回:CombineCommentsWithQuestionResults200Response

示例

combine_comments_with_question_results 示例
Copy Copy
1
2async fn run() -> Result<CombineCommentsWithQuestionResults200Response, Error> {
3 let params: CombineCommentsWithQuestionResultsParams = CombineCommentsWithQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("q-2026-product-satisfaction".to_string()),
6 question_ids: Some(vec![
7 "q-2026-product-satisfaction".to_string(),
8 "q-2026-support-rating".to_string(),
9 ]),
10 url_id: Some("news/product/launch-2026".to_string()),
11 start_date: Some("2026-03-01T00:00:00Z".to_string()),
12 force_recalculate: Some(true),
13 min_value: Some(1.0),
14 max_value: Some(5.0),
15 limit: Some(100.0),
16 };
17 let response: CombineCommentsWithQuestionResults200Response =
18 combine_comments_with_question_results(&configuration, params).await?;
19 Ok(response)
20}
21

添加单点登录用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_apisso_user_data models::CreateApissoUserData

响应

返回: AddSsoUserApiResponse

删除单点登录用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
delete_comments bool
comment_delete_mode String

响应

返回: DeleteSsoUserApiResponse


按电子邮件获取单点登录用户 Internal Link


参数

名称 类型 必需 描述
tenant_id String
email String

响应

返回: GetSsoUserByEmailApiResponse


按 ID 获取单点登录用户 Internal Link


参数

名称 类型 必需 说明
tenant_id String Yes
id String Yes

响应

返回: GetSsoUserByIdApiResponse


获取单点登录用户列表 Internal Link

参数

名称 类型 必填 描述
tenant_id String
skip i32

响应

返回:GetSsoUsers200Response


部分更新单点登录用户 Internal Link


参数

名称 类型 必需 描述
tenant_id String
id String
update_apisso_user_data models::UpdateApissoUserData
update_comments bool

响应

返回: PatchSsoUserApiResponse


替换/添加单点登录用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_apisso_user_data models::UpdateApissoUserData
update_comments bool

响应

返回: PutSsoUserApiResponse


创建订阅 Internal Link

参数

Name Type Required Description
tenant_id String
create_api_user_subscription_data models::CreateApiUserSubscriptionData

响应

返回:CreateSubscriptionApiResponse

示例

create_subscription 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateSubscriptionParams = CreateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_api_user_subscription_data: models::CreateApiUserSubscriptionData {
6 api_user_id: "api_user_9843".to_string(),
7 resource: "news/article".to_string(),
8 plan: Some("pro".to_string()),
9 start_at: Some("2026-03-01T12:00:00Z".to_string()),
10 metadata: Some(std::collections::HashMap::from([
11 ("source".to_string(), "signup_form".to_string()),
12 ("utm_campaign".to_string(), "spring_launch".to_string()),
13 ])),
14 active: Some(true),
15 },
16 };
17
18 let subscription_response: CreateSubscriptionApiResponse =
19 create_subscription(&configuration, params).await?;
20 Ok(())
21}
22

删除订阅 Internal Link


参数

名称 类型 必需 描述
tenant_id String
id String
user_id String

响应

返回: DeleteSubscriptionApiResponse


获取订阅列表 Internal Link


参数

名称 类型 必需 描述
tenant_id String
user_id String

响应

返回: GetSubscriptionsApiResponse

示例

get_subscriptions 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetSubscriptionsParams = GetSubscriptionsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-42@example.com".to_string()),
6 };
7 let subscriptions: GetSubscriptionsApiResponse = get_subscriptions(&configuration, params).await?;
8 let _ = subscriptions;
9 Ok(())
10}
11

更新订阅 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_api_user_subscription_data models::UpdateApiUserSubscriptionData
user_id String

响应

返回: UpdateSubscriptionApiResponse

示例

update_subscription 示例
Copy Copy
1
2async fn example_update_subscription() -> Result<(), Error> {
3 let params: UpdateSubscriptionParams = UpdateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "sub_8f9a2b".to_string(),
6 update_api_user_subscription_data: models::UpdateApiUserSubscriptionData {
7 plan: "newsletter-weekly".to_string(),
8 active: true,
9 renewal_period_days: Some(30),
10 },
11 user_id: Some("user_42".to_string()),
12 };
13 let response: UpdateSubscriptionApiResponse = update_subscription(&configuration, params).await?;
14 Ok(())
15}
16

获取租户每日使用情况 Internal Link

参数

Name Type Required Description
tenant_id String Yes
year_number f64 No
month_number f64 No
day_number f64 No
skip f64 No

响应

返回: GetTenantDailyUsages200Response

示例

get_tenant_daily_usages 示例
Copy Copy
1
2async fn example_get_usage() -> Result<GetTenantDailyUsages200Response, Error> {
3 let params = GetTenantDailyUsagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 year_number: Some(2026.0),
6 month_number: Some(3.0),
7 day_number: Some(25.0),
8 skip: Some(0.0),
9 };
10 let response = get_tenant_daily_usages(&configuration, params).await?;
11 Ok(response)
12}
13

创建租户套餐 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_tenant_package_body models::CreateTenantPackageBody

响应

返回: CreateTenantPackage200Response

示例

create_tenant_package 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantPackageParams = CreateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_package_body: models::CreateTenantPackageBody {
6 name: "Acme Standard Moderation".to_string(),
7 description: Some("Standard moderation package for news and blog sites".to_string()),
8 enabled: Some(true),
9 custom_config: Some(CustomConfigParameters { max_comment_length: Some(1000), require_moderation: Some(true) }),
10 gif_rating: Some(GifRating::PG13),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 tos: Some(TosConfig { require_acceptance: Some(true), tos_url: Some("https://acme.example.com/terms".to_string()) }),
13 },
14 };
15 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
16 Ok(())
17}
18

删除租户套餐 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: FlagCommentPublic200Response

示例

delete_tenant_package 示例
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-package-2026-03".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8 Ok(response)
9}
10

获取租户套餐 Internal Link

参数

名称 类型 必填 描述
tenant_id String
id String

响应

返回:GetTenantPackage200Response

示例

get_tenant_package 示例
Copy Copy
1
2async fn fetch_tenant_package() -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "package-basic-2026".to_string(),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let package: GetTenantPackage200Response = get_tenant_package(&configuration, params).await?;
9 Ok(package)
10}
11

获取租户套餐列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String Yes
skip f64 No

响应

返回: GetTenantPackages200Response

示例

get_tenant_packages 示例
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetTenantPackagesParams = GetTenantPackagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let packages: GetTenantPackages200Response = get_tenant_packages(&configuration, params).await?;
8 Ok(())
9}
10

替换租户套餐 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
replace_tenant_package_body models::ReplaceTenantPackageBody

响应

返回: FlagCommentPublic200Response

示例

replace_tenant_package 示例
Copy Copy
1
2async fn run_replace_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: ReplaceTenantPackageParams = ReplaceTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "enterprise-package-2026".to_string(),
6 replace_tenant_package_body: models::ReplaceTenantPackageBody {
7 name: "Acme Enterprise".to_string(),
8 plan: "enterprise".to_string(),
9 seats: Some(50),
10 allowed_domains: Some(vec![
11 "acme.com".to_string(),
12 "news.acme.com".to_string(),
13 ]),
14 },
15 };
16
17 let response: FlagCommentPublic200Response = replace_tenant_package(&configuration, params).await?;
18 Ok(response)
19}
20

更新租户套餐 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_tenant_package_body models::UpdateTenantPackageBody

响应

返回: FlagCommentPublic200Response

示例

update_tenant_package 示例
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pkg-professional-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: "Acme Professional".to_string(),
8 plan: "professional".to_string(),
9 enabled: Some(true),
10 api_status: Some(ApiStatus::Enabled),
11 custom_config: Some(CustomConfigParameters {
12 moderation_webhook: Some("https://acme.example.com/hooks/moderation".to_string()),
13 sso_security_level: Some(SsoSecurityLevel::Strict),
14 }),
15 tos_config: Some(TosConfig {
16 enabled: Some(true),
17 url: Some("https://acme.example.com/terms".to_string()),
18 }),
19 },
20 };
21 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
22 Ok(())
23}
24

创建租户用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_tenant_user_body models::CreateTenantUserBody

响应

返回: CreateTenantUser200Response

示例

create_tenant_user 示例
Copy Copy
1
2let params: CreateTenantUserParams = CreateTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_tenant_user_body: models::CreateTenantUserBody {
5 username: "jane.doe".to_string(),
6 email: "jane.doe@acme.com".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 roles: Some(vec!["reader".to_string(), "commenter".to_string()]),
9 locale: Some("en-US".to_string()),
10 is_verified: Some(true),
11 },
12};
13
14let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
15

删除租户用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
delete_comments String
comment_delete_mode String

响应

返回:FlagCommentPublic200Response

示例

delete_tenant_user 示例
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantUserParams = DeleteTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-9876".to_string(),
6 delete_comments: Some("true".to_string()),
7 comment_delete_mode: Some("permanent".to_string()),
8 };
9 let response: FlagCommentPublic200Response = delete_tenant_user(&configuration, params).await?;
10 Ok(response)
11}
12

获取租户用户 Internal Link

参数

Name 类型 必需 描述
tenant_id String
id String

响应

返回:GetTenantUser200Response

示例

get_tenant_user 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantUserParams = GetTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-9a4f2e".to_string(),
6 expand: Some(vec!["roles".to_string(), "preferences".to_string()]),
7 };
8 let user_response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

获取租户用户列表 Internal Link

参数

名称 类型 必填 描述
tenant_id String
skip f64

响应

返回:GetTenantUsers200Response

示例

get_tenant_users 示例
Copy Copy
1
2async fn example_get_tenant_users() -> Result<(), Error> {
3 let params: GetTenantUsersParams = GetTenantUsersParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let users: GetTenantUsers200Response = get_tenant_users(&configuration, params).await?;
8 let _users = users;
9 Ok(())
10}
11

替换租户用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
replace_tenant_user_body models::ReplaceTenantUserBody
update_comments String

响应

返回: FlagCommentPublic200Response

示例

replace_tenant_user 示例
Copy Copy
1
2let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "user-42".to_string(),
5 replace_tenant_user_body: models::ReplaceTenantUserBody {
6 user_id: "user-42".to_string(),
7 display_name: "Jane Doe".to_string(),
8 email: "jane.doe@acme.com".to_string(),
9 roles: vec!["moderator".to_string()],
10 },
11 update_comments: Some("true".to_string()),
12};
13let response: FlagCommentPublic200Response = replace_tenant_user(&configuration, params).await?
14

参数

名称 类型 必需 说明
tenant_id String
id String
redirect_url String

响应

返回:FlagCommentPublic200Response

示例

send_login_link 示例
Copy Copy
1
2async fn send_login_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendLoginLinkParams = SendLoginLinkParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("user-98765"),
6 redirect_url: Some(String::from("https://acme.example.com/dashboard")),
7 };
8 let response: FlagCommentPublic200Response = send_login_link(&configuration, params).await?;
9 Ok(response)
10}
11

更新租户用户 Internal Link

参数

Name Type Required Description
tenant_id String
id String
update_tenant_user_body models::UpdateTenantUserBody
update_comments String

响应

返回:FlagCommentPublic200Response

示例

update_tenant_user 示例
Copy Copy
1
2async fn run_update_tenant_user(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-7b9f".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 email: Some("jane.doe@acme.com".to_string()),
8 display_name: Some("Jane Doe".to_string()),
9 username: Some("jdoe".to_string()),
10 role: Some("moderator".to_string()),
11 },
12 update_comments: Some("Promoted to moderator to handle flagged comments".to_string()),
13 };
14 let response = update_tenant_user(configuration, params).await?;
15 Ok(response)
16}
17

创建租户 Internal Link

参数

名称 类型 必需 说明
tenant_id String
create_tenant_body models::CreateTenantBody

响应

返回:CreateTenant200Response

示例

create_tenant 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantParams = CreateTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme Corporation".to_string(),
7 primary_domain: Some("acme.example.com".to_string()),
8 admin_email: Some("admin@acme.example.com".to_string()),
9 api_domain_configuration: Some(models::ApiDomainConfiguration {
10 primary_domain: Some("acme.example.com".to_string()),
11 allowed_origins: Some(vec![
12 "https://acme.example.com".to_string(),
13 "https://www.acme.com".to_string()
14 ]),
15 ..Default::default()
16 }),
17 billing_info: Some(models::BillingInfo {
18 plan: "business".to_string(),
19 company_name: Some("Acme Corporation".to_string()),
20 contact_email: Some("billing@acme.example.com".to_string()),
21 ..Default::default()
22 }),
23 imported_sites: Some(vec![models::ImportedSiteType {
24 site_id: "news/site-1".to_string(),
25 origin: Some("https://news.acme.com".to_string()),
26 ..Default::default()
27 }]),
28 ..Default::default()
29 },
30 };
31 let response: CreateTenant200Response = create_tenant(&configuration, params).await?;
32 Ok(())
33}
34

删除租户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
sure String

响应

返回: FlagCommentPublic200Response

示例

delete_tenant 示例
Copy Copy
1
2let params: DeleteTenantParams = DeleteTenantParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 id: String::from("acme-corp-tenant-001"),
5 sure: Some(String::from("confirm-delete")),
6};
7let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
8

获取租户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: GetTenant200Response

示例

get_tenant 示例
Copy Copy
1
2async fn run_get_tenant() -> Result<GetTenant200Response, Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/site-42".to_string(),
6 expand: Some(vec!["domains".to_string(), "billing".to_string()]),
7 };
8 let tenant: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(tenant)
10}
11

获取租户列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
meta String
skip f64

响应

返回:GetTenants200Response

示例

get_tenants 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantsParams = GetTenantsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 meta: Some("news/article".to_string()),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 println!("{:#?}", response);
10 Ok(())
11}
12

更新租户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_tenant_body models::UpdateTenantBody

响应

返回:FlagCommentPublic200Response

示例

update_tenant 示例
Copy Copy
1
2let params: UpdateTenantParams = UpdateTenantParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "site-42".to_string(),
5 update_tenant_body: models::UpdateTenantBody {
6 name: Some("Acme Corporation".to_string()),
7 api_domain_configuration: Some(models::ApiDomainConfiguration {
8 primary_domain: Some("comments.acme.com".to_string()),
9 allowed_domains: Some(vec!["acme.com".to_string(), "www.acme.com".to_string()]),
10 }),
11 billing_info: Some(models::BillingInfo {
12 plan: Some("business".to_string()),
13 billing_contact_email: Some("billing@acme.com".to_string()),
14 }),
15 sso_security_level: Some(models::SsoSecurityLevel::Strict),
16 custom_config_parameters: Some(models::CustomConfigParameters {
17 max_comment_length: Some(2000),
18 enable_moderation_queue: Some(true),
19 }),
20 },
21};
22let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23

更改工单状态 Internal Link


参数

名称 类型 必需 描述
tenant_id String
user_id String
id String
change_ticket_state_body models::ChangeTicketStateBody

响应

返回: ChangeTicketState200Response

示例

change_ticket_state 示例
Copy Copy
1
2async fn run() -> Result<ChangeTicketState200Response, Error> {
3 let params: ChangeTicketStateParams = ChangeTicketStateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "agent_jdoe".to_string(),
6 id: "ticket-2026-03-25-001".to_string(),
7 change_ticket_state_body: models::ChangeTicketStateBody {
8 state: "closed".to_string(),
9 note: Some("Issue resolved after patch deployment".to_string()),
10 assignee_id: Some("agent_jdoe".to_string()),
11 priority: Some("low".to_string()),
12 },
13 };
14 let response: ChangeTicketState200Response = change_ticket_state(&configuration, params).await?;
15 Ok(response)
16}
17

创建工单 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String
create_ticket_body models::CreateTicketBody

响应

返回: CreateTicket200Response

示例

create_ticket 示例
Copy Copy
1
2async fn create_ticket_example() -> Result<CreateTicket200Response, Error> {
3 let params = CreateTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "user-12345".to_string(),
6 create_ticket_body: models::CreateTicketBody {
7 subject: "Moderation request: abusive comments".to_string(),
8 description: "Several abusive comments reported on the article 'Election 2026: Key Races'".to_string(),
9 priority: Some("high".to_string()),
10 tags: Some(vec!["moderation".to_string(), "priority-high".to_string()]),
11 reporter_email: Some("editor@news.example.com".to_string()),
12 source_url: Some("https://news.example.com/articles/election-2026-key-races".to_string()),
13 custom_fields: Some(std::collections::HashMap::from([
14 ("article_id".to_string(), "news-20260324-001".to_string())
15 ])),
16 },
17 };
18 let response: CreateTicket200Response = create_ticket(&configuration, params).await?;
19 Ok(response)
20}
21

获取工单 Internal Link

参数

Name Type Required Description
tenant_id String
id String
user_id String

响应

返回:GetTicket200Response

示例

get_ticket 示例
Copy Copy
1
2async fn example_get_ticket() -> Result<GetTicket200Response, Error> {
3 let params: GetTicketParams = GetTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "support/ticket-2026-03-25-12345".to_string(),
6 user_id: Some("user-67890".to_string()),
7 };
8 let ticket: GetTicket200Response = get_ticket(&configuration, params).await?;
9 Ok(ticket)
10}
11

获取工单列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String
state f64
skip f64
limit f64

响应

返回:GetTickets200Response

示例

get_tickets 示例
Copy Copy
1
2async fn example_get_tickets() -> Result<(), Error> {
3 let params: GetTicketsParams = GetTicketsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-9876".to_owned()),
6 state: Some(1.0),
7 skip: Some(0.0),
8 limit: Some(25.0),
9 };
10 let tickets: GetTickets200Response = get_tickets(configuration, params).await?;
11 Ok(())
12}
13

上传图片 Internal Link


上传并调整图片大小

参数

Name Type Required Description
tenant_id String
file std::path::PathBuf
size_preset models::SizePreset
url_id String

响应

返回: UploadImageResponse


按 ID 获取用户徽章进度 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: GetUserBadgeProgressById200Response

示例

get_user_badge_progress_by_id 示例
Copy Copy
1
2async fn example_get_badge_progress() -> Result<GetUserBadgeProgressById200Response, Error> {
3 let cfg: &configuration::Configuration = &configuration;
4 let params = GetUserBadgeProgressByIdParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "badge-007-community-builder".to_string(),
7 };
8 let response: GetUserBadgeProgressById200Response = get_user_badge_progress_by_id(cfg, params).await?;
9 Ok(response)
10}
11

按用户 ID 获取用户徽章进度 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String

响应

返回:GetUserBadgeProgressById200Response

示例

get_user_badge_progress_by_user_id 示例
Copy Copy
1
2async fn example() -> Result<GetUserBadgeProgressById200Response, Error> {
3 let cfg: &configuration::Configuration = &configuration;
4 let params: GetUserBadgeProgressByUserIdParams = GetUserBadgeProgressByUserIdParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 user_id: "journalist-9876".to_string(),
7 include_inactive: Some(false),
8 locale: Some("en-US".to_string()),
9 };
10 let response: GetUserBadgeProgressById200Response =
11 get_user_badge_progress_by_user_id(cfg, params).await?;
12 Ok(response)
13}
14

获取用户徽章进度列表 Internal Link

参数

名称 类型 必需 描述
tenant_id String
user_id String
limit f64
skip f64

响应

返回:GetUserBadgeProgressList200Response

示例

get_user_badge_progress_list 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgeProgressListParams = GetUserBadgeProgressListParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user_98765".to_string()),
6 limit: Some(25.0),
7 skip: Some(0.0),
8 };
9 let response: GetUserBadgeProgressList200Response =
10 get_user_badge_progress_list(&configuration, params).await?;
11 let _response = response;
12 Ok(())
13}
14

创建用户徽章 Internal Link

参数

名称 类型 必需 描述
tenant_id String
create_user_badge_params models::CreateUserBadgeParams

响应

返回: CreateUserBadge200Response

示例

create_user_badge 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateUserBadgeParams = CreateUserBadgeParams {
4 tenant_id: "acme-corp-tenant".into(),
5 create_user_badge_params: models::CreateUserBadgeParams {
6 name: "Top Contributor".into(),
7 description: Some("Awarded for sustained high-quality contributions".into()),
8 image_url: Some("https://cdn.acme.com/badges/top-contributor.png".into()),
9 criteria: Some("100 upvotes across articles and comments".into()),
10 is_active: Some(true),
11 tags: Some(vec!["community".into(), "milestone".into()]),
12 },
13 };
14 let response: CreateUserBadge200Response = create_user_badge(&configuration, params).await?;
15 Ok(())
16}
17

删除用户徽章 Internal Link

参数

Name Type Required Description
tenant_id String
id String

响应

返回: UpdateUserBadge200Response

示例

delete_user_badge 示例
Copy Copy
1
2async fn run_delete_badge() -> Result<UpdateUserBadge200Response, Error> {
3 let params: DeleteUserBadgeParams = DeleteUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "badge-7890".to_string(),
6 };
7 let response: UpdateUserBadge200Response = delete_user_badge(&configuration, params).await?;
8 Ok(response)
9}
10

获取用户徽章 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回:GetUserBadge200Response

示例

get_user_badge 示例
Copy Copy
1
2async fn fetch_user_badge() -> Result<GetUserBadge200Response, Error> {
3 let params = GetUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "verified-journalist-badge-001".to_string(),
6 locale: Some("en-US".to_string()),
7 };
8 let badge: GetUserBadge200Response = get_user_badge(&configuration, params).await?;
9 Ok(badge)
10}
11

获取用户徽章列表 Internal Link

参数

名称 类型 必填 描述
tenant_id String
user_id String
badge_id String
displayed_on_comments bool
limit f64
skip f64

响应

返回:GetUserBadges200Response

示例

get_user_badges 示例
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgesParams = GetUserBadgesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-9876")),
6 badge_id: Some(String::from("top-reviewer")),
7 displayed_on_comments: Some(true),
8 limit: Some(50.0),
9 skip: Some(0.0),
10 };
11 let response: GetUserBadges200Response = get_user_badges(&configuration, params).await?;
12 Ok(())
13}
14

更新用户徽章 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String
update_user_badge_params models::UpdateUserBadgeParams

响应

返回: UpdateUserBadge200Response

示例

update_user_badge 示例
Copy Copy
1
2let params: UpdateUserBadgeParams = UpdateUserBadgeParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "badge-verified-001".to_string(),
5 update_user_badge_params: models::UpdateUserBadgeParams {
6 name: Some("Verified Contributor".to_string()),
7 description: Some("Awarded for consistent, high-quality contributions".to_string()),
8 icon_url: Some("https://assets.acme.com/badges/verified.png".to_string()),
9 color_hex: Some("#1E90FF".to_string()),
10 min_posts: Some(100u32),
11 active: Some(true),
12 },
13};
14let response: UpdateUserBadge200Response = update_user_badge(&configuration, params).await?;
15

获取用户通知计数 Internal Link

参数

名称 类型 必需 描述
tenant_id String Yes
sso String No

响应

返回: GetUserNotificationCount200Response

示例

get_user_notification_count 示例
Copy Copy
1
2async fn example_user_notification_count() -> Result<(), Error> {
3 let params: GetUserNotificationCountParams = GetUserNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 sso: Some(String::from("sso-jwt-abc123")),
6 };
7 let _response: GetUserNotificationCount200Response =
8 get_user_notification_count(&configuration, params).await?;
9 Ok(())
10}
11

获取用户通知列表 Internal Link

参数

Name Type Required Description
tenant_id String
page_size i32
after_id String
include_context bool
after_created_at i64
unread_only bool
dm_only bool
no_dm bool
include_translations bool
sso String

响应

返回:GetUserNotifications200Response

示例

get_user_notifications 示例
Copy Copy
1
2let params = GetUserNotificationsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 page_size: Some(25),
5 after_id: Some("notif_98765".to_string()),
6 include_context: Some(true),
7 after_created_at: Some(1_681_500_000i64),
8 unread_only: Some(true),
9 dm_only: Some(false),
10 no_dm: Some(false),
11 include_translations: Some(true),
12 sso: Some("sso_user_token_ab12".to_string()),
13};
14let notifications: GetUserNotifications200Response = get_user_notifications(&configuration, params).await?;
15

重置用户通知计数 Internal Link

参数

名称 类型 必需 描述
tenant_id String
sso String

响应

返回: ResetUserNotifications200Response

示例

reset_user_notification_count 示例
Copy Copy
1
2async fn run_reset_user_notification_count() -> Result<ResetUserNotifications200Response, Error> {
3 let params: ResetUserNotificationCountParams = ResetUserNotificationCountParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 sso: Some("user-9876-token".to_string()),
6 };
7 let response: ResetUserNotifications200Response = reset_user_notification_count(&configuration, params).await?;
8 Ok(response)
9}
10

重置用户通知 Internal Link

参数

名称 类型 必需 描述
tenant_id String
after_id String
after_created_at i64
unread_only bool
dm_only bool
no_dm bool
sso String

响应

返回: ResetUserNotifications200Response

示例

reset_user_notifications 示例
Copy Copy
1
2async fn run_reset() -> Result<(), Error> {
3 let params: ResetUserNotificationsParams = ResetUserNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("notif_987654321".to_string()),
6 after_created_at: Some(1672531200),
7 unread_only: Some(true),
8 dm_only: Some(false),
9 no_dm: Some(false),
10 sso: Some("sso-enterprise".to_string()),
11 };
12 let resp: ResetUserNotifications200Response = reset_user_notifications(&configuration, params).await?;
13 let _ = resp;
14 Ok(())
15}
16

更新用户评论订阅状态(通知) Internal Link

启用或禁用针对特定评论的通知。

参数

Name Type Required Description
tenant_id String
notification_id String
opted_in_or_out String
comment_id String
sso String

响应

返回: UpdateUserNotificationStatus200Response

示例

update_user_notification_comment_subscription_status 示例
Copy Copy
1
2async fn example_update_user_notification_comment_subscription_status() -> Result<(), Error> {
3 let params: UpdateUserNotificationCommentSubscriptionStatusParams = UpdateUserNotificationCommentSubscriptionStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-03-25-4f2b".to_string(),
6 opted_in_or_out: "opted_out".to_string(),
7 comment_id: "cmt-98a7b6c5d4".to_string(),
8 sso: Some("sso-token-abc123".to_string()),
9 };
10 let response: UpdateUserNotificationStatus200Response =
11 update_user_notification_comment_subscription_status(&configuration, params).await?;
12 Ok(())
13}
14

更新用户页面订阅状态(通知) Internal Link


为页面启用或禁用通知。当用户订阅页面时,会为新的根评论创建通知,并且还

参数

名称 类型 必填 描述
tenant_id String
url_id String
url String
page_title String
subscribed_or_unsubscribed String
sso String

响应

返回: UpdateUserNotificationStatus200Response

示例

update_user_notification_page_subscription_status 示例
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params = UpdateUserNotificationPageSubscriptionStatusParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("article-12345"),
6 url: String::from("https://news.acme.com/articles/2026/03/25/advances-in-ai"),
7 page_title: String::from("Advances in AI: What to Expect in 2026"),
8 subscribed_or_unsubscribed: String::from("subscribed"),
9 sso: Some(String::from("user-jwt-xyz123")),
10 };
11 let response = update_user_notification_page_subscription_status(&configuration, params).await?;
12 Ok(response)
13}
14

更新用户通知状态 Internal Link

参数

名称 类型 必需 描述
tenant_id String
notification_id String
new_status String
sso String

响应

返回: UpdateUserNotificationStatus200Response

示例

update_user_notification_status 示例
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params: UpdateUserNotificationStatusParams = UpdateUserNotificationStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-04-01-7f3b".to_string(),
6 new_status: "read".to_string(),
7 sso: Some("sso-session-abcdef123456".to_string()),
8 };
9 let resp: UpdateUserNotificationStatus200Response =
10 update_user_notification_status(&configuration, params).await?;
11 Ok(resp)
12}
13

获取用户在线状态列表 Internal Link


参数

Name Type Required Description
tenant_id String
url_id_ws String
user_ids String

响应

返回: GetUserPresenceStatuses200Response

示例

get_user_presence_statuses 示例
Copy Copy
1
2async fn run() -> Result<GetUserPresenceStatuses200Response, Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let url_id_ws: String = "news/article".to_string();
5 let user_ids_opt: Option<String> = Some("user123,user456,user789".to_string());
6 let params = GetUserPresenceStatusesParams {
7 tenant_id,
8 url_id_ws,
9 user_ids: user_ids_opt.unwrap(),
10 };
11 let presence: GetUserPresenceStatuses200Response = get_user_presence_statuses(&configuration, params).await?;
12 Ok(presence)
13}
14

搜索用户 Internal Link

参数

Name Type Required Description
tenant_id String
url_id String
username_starts_with String
mention_group_ids Vec
sso String
search_section String

响应

Returns: SearchUsers200Response

示例

search_users 示例
Copy Copy
1
2async fn run_search() -> Result<SearchUsers200Response, Error> {
3 let params: SearchUsersParams = SearchUsersParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-25-launch"),
6 username_starts_with: Some(String::from("alex")),
7 mention_group_ids: Some(vec![String::from("team-marketing"), String::from("team-product")]),
8 sso: Some(String::from("okta")),
9 search_section: Some(String::from("comments")),
10 };
11 let search_result: SearchUsers200Response = search_users(&configuration, params).await?;
12 Ok(search_result)
13}
14

获取用户 Internal Link

参数

名称 类型 必需 描述
tenant_id String
id String

响应

返回: GetUser200Response

示例

get_user 示例
Copy Copy
1
2pub async fn run_get_user_example() -> Result<(), Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: tenant.unwrap(),
6 id: "user-9f8b3c".to_string(),
7 };
8 let user: GetUser200Response = get_user(&configuration, params).await?;
9 Ok(())
10}
11

创建投票 Internal Link

参数

Name Type Required Description
tenant_id String Yes
comment_id String Yes
direction String Yes
user_id String No
anon_user_id String No

返回

返回: VoteComment200Response

示例

create_vote 示例
Copy Copy
1
2async fn example_create_vote() -> Result<(), Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user-9876".to_string()),
8 anon_user_id: Some("anon-01-abcdef".to_string()),
9 };
10
11 let response: VoteComment200Response = create_vote(&configuration, params).await?;
12 println!("{:?}", response);
13 Ok(())
14}
15

删除投票 Internal Link

参数

Name Type Required Description
tenant_id String Yes
id String Yes
edit_key String No

响应

返回: DeleteCommentVote200Response

示例

delete_vote 示例
Copy Copy
1
2async fn delete_vote_example() -> Result<DeleteCommentVote200Response, Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "comment-98765".to_string(),
6 edit_key: Some("edit-4f2b9c".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(response)
10}
11

获取投票 Internal Link

参数

Name Type Required Description
tenant_id String
url_id String

响应

返回: GetVotes200Response

示例

get_votes 示例
Copy Copy
1
2async fn fetch_votes() -> Result<GetVotes200Response, Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/breaking-story".to_string(),
6 include_replies: Some(true),
7 };
8 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
9 Ok(votes)
10}
11

获取用户的投票 Internal Link


参数

名称 类型 必需 描述
tenant_id String
url_id String
user_id String
anon_user_id String

响应

返回: GetVotesForUser200Response

示例

get_votes_for_user 示例
Copy Copy
1
2async fn example_get_votes_for_user() -> Result<(), Error> {
3 let params: GetVotesForUserParams = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-fastcomments-launch"),
6 user_id: Some(String::from("user_12345")),
7 anon_user_id: Some(String::from("anon_9f2e7b")),
8 };
9 let votes: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(())
11}
12

需要帮助?

如果您在使用 Rust SDK 时遇到任何问题或有疑问,请:

贡献

欢迎贡献!请访问 GitHub 仓库 以查看贡献指南。