FastComments.com

FastComments Rust SDK 문서


이것은 FastComments의 공식 Rust SDK입니다.

FastComments API를 위한 공식 Rust SDK

Repository

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 지원
    • 자세한 API 문서는 client/README.md를 참조하세요
  • SSO Module - 서버 측 싱글 사인온(SSO) 유틸리티

    • 사용자 인증을 위한 안전한 토큰 생성
    • 단순 및 보안 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 키 확인: FastComments 대시보드에 있는 올바른 API 키를 사용하고 있는지 확인하세요
  2. 테넌트 ID 확인: 테넌트 ID가 계정과 일치하는지 확인하세요
  3. API 키 형식: API 키는 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 키와 함께 사용하세요
  2. 서버 측에서만 생성: SSO 토큰은 서버에서 생성하고 API 키를 클라이언트에 노출하지 마세요
  3. 사용자 데이터 확인: 필요한 모든 필드 (id, email, username)가 제공되었는지 확인하세요

비동기 런타임 오류

SDK는 비동기 작업에 tokio를 사용합니다. 다음을 확인하세요:

  1. Add tokio to your dependencies:
[dependencies]
tokio = { version = "1", features = ["full"] }
  1. Use the tokio runtime:
#[tokio::main]
async fn main() {
    // 여기에 비동기 코드를 작성하세요
}

참고 Internal Link

브로드캐스트 ID

일부 API 호출에서 broadcastId를 전달해야 한다는 것을 보게 될 것입니다. 이벤트를 수신하면 이 ID를 되돌려 받으므로 클라이언트에서 변경을 낙관적으로 적용하려는 경우 이벤트를 무시해야 하는지 알 수 있습니다 (이는 아마도 가장 좋은 경험을 제공하므로 그렇게 하고 싶을 것입니다). 여기에 UUID를 전달하세요. 이 ID는 브라우저 세션 내에서 두 번 발생하지 않을 만큼 충분히 고유해야 합니다.

집계 Internal Link

문서를 그룹화(groupBy가 제공된 경우)하고 여러 연산을 적용하여 집계합니다. 다양한 연산(예: sum, countDistinct, avg 등)을 지원합니다.

매개변수

이름형식필수설명
tenant_idString
aggregation_requestmodels::AggregationRequest
parent_tenant_idString아니요
include_statsbool아니요

응답

반환: AggregationResponse


감사 로그 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString
limitf64아니오
skipf64아니오
ordermodels::SortDir아니오
afterf64아니오
beforef64아니오

응답

반환: 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_idString
comment_idString
public_block_from_comment_paramsmodels::PublicBlockFromCommentParams
ssoString아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString
public_block_from_comment_paramsmodels::PublicBlockFromCommentParams
ssoString아니요

응답

반환: 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_idString
comment_idsString
ssoString아니오

응답

반환: 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_idString
idString
block_from_comment_paramsmodels::BlockFromCommentParams
user_idString아니오
anon_user_idString아니오

응답

반환: 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_idString
url_idString
broadcast_idString
comment_datamodels::CommentData
session_idString아니오
ssoString아니오

응답

반환: 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_idString
idString
context_user_idString아니오
is_livebool아니오

응답

반환: 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

매개변수

이름형식필수설명
tenant_idString
comment_idString
broadcast_idString
edit_keyString아니요
ssoString아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString
vote_idString
url_idString
broadcast_idString
edit_keyString아니요
ssoString아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idStringYes
idStringYes
user_idStringNo
anon_user_idStringNo

응답

반환: 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_idString
idString

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString
edit_keyString아니오
ssoString아니오

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString
diri32
ssoString아니요

응답

반환: 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

매개변수

이름타입필수설명
tenant_idStringYes
pagei32No
limiti32No
skipi32No
as_treeboolNo
skip_childreni32No
limit_childreni32No
max_tree_depthi32No
url_idStringNo
user_idStringNo
anon_user_idStringNo
context_user_idStringNo
hash_tagStringNo
parent_idStringNo
directionmodels::SortDirectionsNo

응답

반환: 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

매개변수

이름타입필수설명
tenant_idString
url_idString
pagei32아니요
directionmodels::SortDirections아니요
ssoString아니요
skipi32아니요
skip_childreni32아니요
limiti32아니요
limit_childreni32아니요
count_childrenbool아니요
fetch_page_for_comment_idString아니요
include_configbool아니요
count_allbool아니요
includei10nbool아니요
localeString아니요
modulesString아니요
is_crawlerbool아니요
include_notification_countbool아니요
as_treebool아니요
max_tree_depthi32아니요
use_full_translation_idsbool아니요
parent_idString아니요
search_textString아니요
hash_tagsVec아니요
user_idString아니요
custom_config_strString아니요
after_comment_idString아니요
before_comment_idString아니요

응답

반환: 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_idString
comment_idString
broadcast_idString
ssoString아니오

응답

반환: 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_idString
comment_idString
broadcast_idString
ssoString아니요

응답

반환: 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

매개변수

이름TypeRequired설명
tenant_idString
create_comment_paramsmodels::CreateCommentParams
is_livebool아니요
do_spam_checkbool아니요
send_emailsbool아니요
populate_notificationsbool아니요

응답

반환: 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_idString
create_comment_paramsVecmodels::CreateCommentParams
is_livebool아니오
do_spam_checkbool아니오
send_emailsbool아니오
populate_notificationsbool아니오

응답

반환: 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_idString
comment_idString
broadcast_idString
comment_text_update_requestmodels::CommentTextUpdateRequest
edit_keyString아니오
ssoString아니오

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
idString
un_block_from_comment_paramsmodels::UnBlockFromCommentParams
user_idString아니오
anon_user_idString아니오

응답

반환: 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_idString
idString
user_idString아니요
anon_user_idString아니요

응답

반환: 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_idString
comment_idString
broadcast_idString
ssoString아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString
broadcast_idString
ssoString아니오

응답

반환: 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_idStringYes
idStringYes
updatable_comment_paramsmodels::UpdatableCommentParamsYes
context_user_idStringNo
do_spam_checkboolNo
is_liveboolNo

응답

반환: 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

매개변수

이름타입필수설명
tenant_idString
comment_idString
url_idString
broadcast_idString
vote_body_paramsmodels::VoteBodyParams
session_idString아니요
ssoString아니요

응답

반환: 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_idString
add_domain_config_paramsmodels::AddDomainConfigParams

응답

반환: AddDomainConfig200Response


도메인 설정 삭제 Internal Link

매개변수

이름유형필수설명
tenant_idString
domainString

응답

반환: DeleteDomainConfig200Response


도메인 설정 가져오기 Internal Link


매개변수

이름형식필수설명
tenant_idString
domainString

응답

반환: GetDomainConfig200Response


도메인 설정들 가져오기 Internal Link


매개변수

이름유형필수설명
tenant_idString

응답

반환: GetDomainConfigs200Response


도메인 설정 부분 업데이트 Internal Link


매개변수

이름형식필수설명
tenant_idString
domain_to_updateString
patch_domain_config_paramsmodels::PatchDomainConfigParams

응답

반환: GetDomainConfig200Response


도메인 설정 전체 교체 Internal Link


매개변수

이름유형필수설명
tenant_idString
domain_to_updateString
update_domain_config_paramsmodels::UpdateDomainConfigParams

응답

반환: GetDomainConfig200Response


이메일 템플릿 생성 Internal Link


매개변수

이름유형필수설명
tenant_idString
create_email_template_bodymodels::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_idString
idString

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
idString
error_idString

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
idString

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString

응답

반환: 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_idString
idString
skipf64아니오

응답

반환: 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_idString
skipf64아니요

응답

반환: 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_idString
render_email_template_bodymodels::RenderEmailTemplateBody
localeString아니오

응답

반환: RenderEmailTemplate200Response

예제

render_email_template 예제
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_idString
idString
update_email_template_bodymodels::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

매개변수

NameTypeRequiredDescription
tenant_idString
url_idString
user_id_wsString
start_timei64
end_timei64

응답

반환: 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_idString
url_idString
user_id_wsString
start_timei64
end_timei64

응답

반환: 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_idStringYes
create_feed_post_paramsmodels::CreateFeedPostParamsYes
broadcast_idStringNo
is_liveboolNo
do_spam_checkboolNo
skip_dup_checkboolNo

응답

반환: 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


매개변수

이름형식필수설명
tenant_idString
create_feed_post_paramsmodels::CreateFeedPostParams
broadcast_idString아니요
ssoString아니요

응답

반환: 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


매개변수

NameTypeRequiredDescription
tenant_idString
post_idString
broadcast_idString아니오
ssoString아니오

응답

반환: 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

Parameters

이름타입필수설명
tenant_idString
after_idString아니오
limiti32아니오
tagsVec아니오

응답

반환: 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

요청 tenantId afterId

매개변수

NameTypeRequiredDescription
tenant_idString
after_idString아니요
limiti32아니요
tagsVec아니요
ssoString아니요
is_crawlerbool아니요
include_user_infobool아니요

응답

반환: 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

매개변수

이름형식필수설명
tenant_idStringYes
post_idsVecYes
ssoStringNo

응답

반환: 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_idString
post_idsVec아니요
ssoString아니요

응답

반환: 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_idString
post_idString
react_body_paramsmodels::ReactBodyParams
is_undobool아니요
broadcast_idString아니요
ssoString아니요

응답

반환: 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_idString
idString
feed_postmodels::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

매개변수

이름유형필수설명
tenant_idString
post_idString
update_feed_post_paramsmodels::UpdateFeedPostParams
broadcast_idString아니오
ssoString아니오

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
comment_idString
is_flaggedbool
ssoString아니오

응답

반환: 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

매개변수

이름형식필수설명
tenant_idString아니요
create_hash_tag_bodymodels::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


매개변수

이름Type필수설명
tenant_idString아니오
bulk_create_hash_tags_bodymodels::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


매개변수

이름타입필수설명
tagStringYes
tenant_idStringNo
delete_hash_tag_requestmodels::DeleteHashTagRequestNo

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
pagef64아니요

응답

반환: 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

매개변수

이름형식필수설명
tagString
tenant_idString아니요
update_hash_tag_bodymodels::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_idString
create_moderator_bodymodels::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

매개변수

NameTypeRequiredDescription
tenant_idStringYes
idStringYes
send_emailStringNo

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
idString

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
skipf64아니오

응답

반환: 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_idString
idString
from_nameString

응답

반환: 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_idString
idString
update_moderator_bodymodels::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_idStringYes
idStringYes

응답

반환: 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_idString
idString

응답

반환: 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_idString
user_idString아니요
url_idString아니요
from_comment_idString아니요
viewedbool아니요

응답

반환: 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_idString
user_idString아니오
url_idString아니오
from_comment_idString아니오
viewedbool아니오
skipf64아니오

응답

반환: 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_idString
idString
update_notification_bodymodels::UpdateNotificationBody
user_idString아니요

응답

반환: 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_idString
create_api_page_datamodels::CreateApiPageData

응답

반환: AddPageApiResponse


페이지 삭제 Internal Link

매개변수

이름유형필수설명
tenant_idString
idString

응답

반환: DeletePageApiResponse

URL ID로 페이지 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString
url_idString

응답

반환: GetPageByUrlidApiResponse


페이지들 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString

응답

반환: GetPagesApiResponse


페이지 부분 업데이트 Internal Link

매개변수

이름형식필수설명
tenant_idString
idString
update_api_page_datamodels::UpdateApiPageData

응답

반환: PatchPageApiResponse


보류 중인 웹훅 이벤트 삭제 Internal Link


매개변수

이름형식필수설명
tenant_idString
idString

응답

반환: 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

보류 중인 웹훅 이벤트 수 가져오기 Internal Link

매개변수

NameTypeRequiredDescription
tenant_idString
comment_idString아니오
external_idString아니오
event_typeString아니오
domainString아니오
attempt_count_gtf64아니오

응답

반환: 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

보류 중인 웹훅 이벤트들 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString
comment_idString아니오
external_idString아니오
event_typeString아니오
domainString아니오
attempt_count_gtf64아니오
skipf64아니오

응답

반환: 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

매개변수

이름형식필수설명
tenant_idString
create_question_config_bodymodels::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


매개변수

NameTypeRequiredDescription
tenant_idString
idString

응답

반환: 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_idString
idString

응답

반환: 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_idString
skipf64아니요

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
idString
update_question_config_bodymodels::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_idString
create_question_result_bodymodels::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_idStringYes
idStringYes

응답

반환: 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_idString
idString

응답

반환: 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_idString
url_idString아니오
user_idString아니오
start_dateString아니오
question_idString아니오
question_idsString아니오
skipf64아니오

응답

반환: 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


매개변수

NameTypeRequiredDescription
tenant_idString
idString
update_question_result_bodymodels::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_idString
question_idString아니오
question_idsVec아니오
url_idString아니오
time_bucketmodels::AggregateTimeBucket아니오
start_dateString아니오
force_recalculatebool아니오

응답

반환: 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_idString
bulk_aggregate_question_results_requestmodels::BulkAggregateQuestionResultsRequest
force_recalculatebool아니요

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
question_idString아니오
question_idsVec아니오
url_idString아니오
start_dateString아니오
force_recalculatebool아니오
min_valuef64아니오
max_valuef64아니오
limitf64아니오

응답

반환: 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

SSO 사용자 추가 Internal Link


매개변수

이름형식필수설명
tenant_idString
create_apisso_user_datamodels::CreateApissoUserData

응답

반환: AddSsoUserApiResponse


SSO 사용자 삭제 Internal Link


매개변수

이름형식필수설명
tenant_idString
idString
delete_commentsbool아니오
comment_delete_modeString아니오

응답

반환: DeleteSsoUserApiResponse


이메일로 SSO 사용자 가져오기 Internal Link

매개변수

이름타입필수설명
tenant_idString
emailString

응답

반환: GetSsoUserByEmailApiResponse


ID로 SSO 사용자 가져오기 Internal Link

매개변수

이름형식필수설명
tenant_idString
idString

응답

반환: GetSsoUserByIdApiResponse


SSO 사용자들 가져오기 Internal Link


매개변수

이름형식필수설명
tenant_idString
skipi32아니요

응답

반환: GetSsoUsers200Response


SSO 사용자 부분 업데이트 Internal Link


매개변수

이름유형필수설명
tenant_idString
idString
update_apisso_user_datamodels::UpdateApissoUserData
update_commentsbool아니오

응답

반환: PatchSsoUserApiResponse


SSO 사용자 전체 교체 Internal Link

매개변수

이름형식필수설명
tenant_idString
idString
update_apisso_user_datamodels::UpdateApissoUserData
update_commentsbool아니요

응답

반환: PutSsoUserApiResponse


구독 생성 Internal Link

매개변수

이름유형필수설명
tenant_idString
create_api_user_subscription_datamodels::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_idString
idString
user_idString아니오

응답

반환: DeleteSubscriptionApiResponse


구독들 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString
user_idString아니오

응답

반환: 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_idString
idString
update_api_user_subscription_datamodels::UpdateApiUserSubscriptionData
user_idString아니오

응답

반환: 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

매개변수

이름형식필수설명
tenant_idString
year_numberf64아니요
month_numberf64아니요
day_numberf64아니요
skipf64아니요

응답

반환: 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_idString
create_tenant_package_bodymodels::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_idStringYes
idStringYes

응답

반환: 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_idStringYes
idStringYes

응답

반환: 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_idString
skipf64아니요

응답

반환: 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_idString
idString
replace_tenant_package_bodymodels::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_idString
idString
update_tenant_package_bodymodels::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_idString
create_tenant_user_bodymodels::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

매개변수

NameTypeRequiredDescription
tenant_idString
idString
delete_commentsString아니오
comment_delete_modeString아니오

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
idString

응답

반환: 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_idString
skipf64아니오

응답

반환: 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_idString
idString
replace_tenant_user_bodymodels::ReplaceTenantUserBody
update_commentsString아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
idString
redirect_urlString아니오

응답

반환: FlagCommentPublic200Response

예제

send_login_link Example
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

매개변수

이름형식필수설명
tenant_idString
idString
update_tenant_user_bodymodels::UpdateTenantUserBody
update_commentsString아니요

응답

반환: 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_idStringYes
create_tenant_bodymodels::CreateTenantBodyYes

응답

반환: 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_idString
idString
sureString아니요

응답

반환: 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

매개변수

이름Type필수설명
tenant_idString
idString

응답

반환: 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_idString
metaString아니오
skipf64아니오

응답

반환: 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


매개변수

NameTypeRequiredDescription
tenant_idString
idString
update_tenant_bodymodels::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_idString
user_idString
idString
change_ticket_state_bodymodels::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_idString
user_idString
create_ticket_bodymodels::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

매개변수

이름형식필수설명
tenant_idString
idString
user_idString아니요

응답

반환: 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_idString
user_idString아니요
statef64아니요
skipf64아니요
limitf64아니요

응답

반환: 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

이미지 업로드 및 크기 조정

매개변수

이름형식필수설명
tenant_idString
filestd::path::PathBuf
size_presetmodels::SizePreset아니오
url_idString아니오

응답

반환: UploadImageResponse

ID로 사용자 배지 진행도 가져오기 Internal Link

매개변수

이름유형필수설명
tenant_idString
idString

응답

반환: 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_idString
user_idString

응답

반환값: 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_idString
user_idString아니오
limitf64아니오
skipf64아니오

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
create_user_badge_paramsmodels::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

매개변수

이름형식필수설명
tenant_idString
idString

응답

반환: 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_idString
idString

응답

반환: 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_idString
user_idString아니요
badge_idString아니요
displayed_on_commentsbool아니요
limitf64아니요
skipf64아니요

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
idString
update_user_badge_paramsmodels::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


매개변수

NameTypeRequiredDescription
tenant_idString
ssoString아니요

응답

반환: 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


매개변수

이름타입필수설명
tenant_idString
page_sizei32아니오
after_idString아니오
include_contextbool아니오
after_created_ati64아니오
unread_onlybool아니오
dm_onlybool아니오
no_dmbool아니오
include_translationsbool아니오
ssoString아니오

응답

반환: 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

매개변수

NameTypeRequiredDescription
tenant_idString
ssoString아니오

응답

반환: 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_idString
after_idString아니요
after_created_ati64아니요
unread_onlybool아니요
dm_onlybool아니요
no_dmbool아니요
ssoString아니요

응답

반환: 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

특정 댓글에 대한 알림을 활성화하거나 비활성화합니다.

매개변수

이름유형필수설명
tenant_idString
notification_idString
opted_in_or_outString
comment_idString
ssoString아니오

응답

반환: 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

페이지에 대한 알림을 활성화하거나 비활성화합니다. 사용자가 페이지를 구독하면 새 루트 댓글에 대해 알림이 생성되며, 또한

매개변수

NameTypeRequiredDescription
tenant_idString
url_idString
urlString
page_titleString
subscribed_or_unsubscribedString
ssoString아니요

응답

반환: 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_idString
notification_idString
new_statusString
ssoString아니오

응답

반환: 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

매개변수

이름형식필수설명
tenant_idString
url_id_wsString
user_idsString

응답

반환: 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


매개변수

NameTypeRequiredDescription
tenant_idString
url_idString
username_starts_withString아니오
mention_group_idsVec아니오
ssoString아니오
search_sectionString아니오

응답

반환: 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_idString
idString

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
comment_idString
directionString
user_idString아니오
anon_user_idString아니오

응답

반환: 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

매개변수

이름타입필수설명
tenant_idString
idString
edit_keyString아니오

응답

반환: 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

매개변수

이름유형필수설명
tenant_idString
url_idString

응답

반환: 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_idString
url_idString
user_idString아니요
anon_user_idString아니요

응답

반환: 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 저장소를 확인하세요.