FastComments.com

FastComments SDK за Rust


Това е официалният Rust SDK за FastComments.

Официален Rust SDK за API на FastComments

Репозитория

Вижте в GitHub


Инсталация Internal Link

cargo add fastcomments-sdk

SDK изисква Rust от изданието 2021 или по-ново.

Съдържание на библиотеката Internal Link


FastComments Rust SDK се състои от няколко модула:

  • Клиентски модул - Автоматично генериран API клиент за FastComments REST API-та

    • Пълни дефиниции на типовете за всички API модели
    • Както автентикирани (DefaultApi), така и публични (PublicApi) крайни точки
    • Пълна поддръжка на async/await с tokio
    • Вижте client/README.md за подробна документация на API-то
  • SSO модул - Сървърни помощни средства за Single Sign-On

    • Сигурно генериране на токени за удостоверяване на потребители
    • Поддръжка както на прост, така и на защитен режим на SSO
    • Подписване на токени, базирано на HMAC-SHA256
  • Основни типове - Споделени дефиниции на типове и помощни средства

    • Модели за коментари и структури за метаданни
    • Конфигурации на потребители и наематели
    • Помощни функции за често срещани операции

Бърз старт 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(),           // Идентификатор на потребителя
        "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 Unauthorized грешки

Ако получавате грешки 401 при използване на автентикирано API:

  1. Проверете вашия API ключ: Уверете се, че използвате правилния API ключ от таблото за управление на FastComments
  2. Потвърдете tenant ID: Уверете се, че tenant 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) са предоставени

Грешки на асинхронния runtime

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

Идентификатори за излъчване

Ще видите, че трябва да подадете broadcastId в някои API извиквания. Когато получавате събития, ще получите този идентификатор обратно, така че да знаете да игнорирате събитието, ако възнамерявате да приложите промените оптимистично на клиента (което вероятно ще искате да направите, тъй като това предлага най-доброто преживяване). Подайте тук UUID. Идентификаторът трябва да е достатъчно уникален, за да не се появява два пъти в рамките на една сесия на браузъра.

aggregate Internal Link

Агрегира документи чрез групиране (ако е предоставен groupBy) и прилагане на множество операции. Поддържат се различни операции (напр. sum, countDistinct, avg и т.н.).

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
aggregation_requestmodels::AggregationRequestДа
parent_tenant_idStringНе
include_statsboolНе

Отговор

Връща: AggregationResponse


get_audit_logs 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

block_from_comment_public Internal Link

Параметри

NameTypeRequiredDescription
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

un_block_comment_public Internal Link

Параметри

ИмеТипЗадължителноОписание
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

checked_comments_for_blocked Internal Link

Параметри

NameTypeRequiredDescription
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

block_user_from_comment 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

create_comment_public 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

delete_comment 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

delete_comment_public 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

delete_comment_vote Internal Link

Параметри

ИмеТипЗадължителенОписание
tenant_idStringYes
comment_idStringYes
vote_idStringYes
url_idStringYes
broadcast_idStringYes
edit_keyStringNo
ssoStringNo

Отговор

Връща: 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

flag_comment Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа
user_idStringНе
anon_user_idStringНе

Отговор

Връща: 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

get_comment Internal Link

Параметри

NameTypeRequiredDescription
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

get_comment_text Internal Link


Параметри

ИмеТипЗадължителноОписание
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

get_comment_vote_user_names Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_comments Internal Link

Параметри

NameTypeЗадължителноОписание
tenant_idStringДа
pagei32Не
limiti32Не
skipi32Не
as_treeboolНе
skip_childreni32Не
limit_childreni32Не
max_tree_depthi32Не
url_idStringНе
user_idStringНе
anon_user_idStringНе
context_user_idStringНе
hash_tagStringНе
parent_idStringНе
directionmodels::SortDirectionsНе

Отговор

Връща: GetComments200Response

Пример

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

get_comments_public 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

lock_comment 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

pin_comment 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

save_comment Internal Link


Параметри

ИмеТипЗадължителноОписание
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

save_comments_bulk 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

set_comment_text Internal Link

Параметри

NameTypeRequiredDescription
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

un_block_user_from_comment 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

un_flag_comment 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

un_lock_comment 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

un_pin_comment Internal Link

Параметри

ИмеТипЗадължителноОписание
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

update_comment Internal Link

Параметри

ИмеТипЗадължителенОписание
tenant_idStringДа
idStringДа
updatable_comment_paramsmodels::UpdatableCommentParamsДа
context_user_idStringНе
do_spam_checkboolНе
is_liveboolНе

Отговор

Връща: 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

vote_comment 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

add_domain_config Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
add_domain_config_paramsmodels::AddDomainConfigParamsДа

Отговор

Връща: AddDomainConfig200Response


delete_domain_config Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
domainStringДа

Отговор

Връща: DeleteDomainConfig200Response


get_domain_config Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
domainStringДа

Отговор

Връща: GetDomainConfig200Response


get_domain_configs Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа

Отговор

Връща: GetDomainConfigs200Response


patch_domain_config Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringДа
domain_to_updateStringДа
patch_domain_config_paramsmodels::PatchDomainConfigParamsДа

Отговор

Връща: GetDomainConfig200Response


put_domain_config Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
domain_to_updateStringДа
update_domain_config_paramsmodels::UpdateDomainConfigParamsДа

Отговор

Връща: GetDomainConfig200Response


create_email_template Internal Link

Параметри

NameTypeRequiredDescription
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

delete_email_template 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

delete_email_template_render_error Internal Link

Параметри

NameTypeRequiredDescription
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

get_email_template Internal Link


Параметри

ИмеТипЗадължителноОписание
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

get_email_template_definitions Internal Link

Parameters

ИмеТипЗадължителноОписание
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

get_email_template_render_errors Internal Link

Parameters

NameTypeRequiredDescription
tenant_idStringДа
idStringДа
skipf64Не

Response

Връща: GetEmailTemplateRenderErrors200Response

Example

Пример за 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

get_email_templates 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

render_email_template 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

update_email_template 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

get_event_log Internal Link

req tenantId urlId userIdWS

Параметри

ИмеТипЗадължителноОписание
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

get_global_event_log 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

create_feed_post Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
create_feed_post_paramsmodels::CreateFeedPostParamsДа
broadcast_idStringНе
is_liveboolНе
do_spam_checkboolНе
skip_dup_checkboolНе

Отговор

Връща: 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

create_feed_post_public 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

delete_feed_post_public Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_feed_posts Internal Link

req tenantId afterId

Параметри

ИмеТипЗадължителноОписание
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

get_feed_posts_public Internal Link

req tenantId afterId

Параметри

ИмеТипЗадължителноОписание
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

get_feed_posts_stats Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
post_idsVecДа
ssoStringНе

Отговор

Връща: 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

get_user_reacts_public 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

react_feed_post_public 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

update_feed_post 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

update_feed_post_public Internal Link

Параметри

NameTypeRequiredDescription
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

flag_comment_public 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

add_hash_tag Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringNo
create_hash_tag_bodymodels::CreateHashTagBodyNo

Отговор

Връща: 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

add_hash_tags_bulk Internal Link

Параметри

NameTypeRequiredDescription
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

delete_hash_tag Internal Link

Параметри

NameTypeRequiredDescription
tagStringДа
tenant_idStringНе
delete_hash_tag_requestmodels::DeleteHashTagRequestНе

Отговор

Връща: FlagCommentPublic200Response

Пример

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

get_hash_tags 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

patch_hash_tag 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

create_moderator Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringYes
create_moderator_bodymodels::CreateModeratorBodyYes

Отговор

Връща: 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

delete_moderator Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа
send_emailStringНе

Отговор

Връща: 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

get_moderator 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

get_moderators 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

send_invite Internal Link

Параметри

NameTypeRequiredDescription
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

update_moderator 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

delete_notification_count Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа

Отговор

Връща: 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

get_cached_notification_count Internal Link

Параметри

NameTypeЗадължителноОписание
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

get_notification_count Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringYes
user_idStringNo
url_idStringNo
from_comment_idStringNo
viewedboolNo

Отговор

Връща: 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

get_notifications 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

update_notification Internal Link

Параметри

NameTypeRequiredDescription
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

add_page Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
create_api_page_datamodels::CreateApiPageDataДа

Отговор

Връща: AddPageApiResponse


delete_page Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа

Отговор

Връща: DeletePageApiResponse


get_page_by_urlid Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
url_idStringДа

Отговор

Връща: GetPageByUrlidApiResponse


get_pages Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа

Отговор

Връща: GetPagesApiResponse


patch_page Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа
update_api_page_datamodels::UpdateApiPageDataДа

Отговор

Връща: PatchPageApiResponse


delete_pending_webhook_event Internal Link

Параметри

NameTypeRequiredDescription
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

get_pending_webhook_event_count Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_pending_webhook_events 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

create_question_config 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

delete_question_config Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_question_config 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

get_question_configs 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

update_question_config 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

create_question_result 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

delete_question_result Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа

Отговор

Връща: 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

get_question_result 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

get_question_results 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

update_question_result 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

aggregate_question_results Internal Link

Параметри

NameTypeЗадължителноОписание
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

bulk_aggregate_question_results 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

combine_comments_with_question_results 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

add_sso_user Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
create_apisso_user_datamodels::CreateApissoUserDataДа

Отговор

Връща: AddSsoUserApiResponse

delete_sso_user Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа
delete_commentsboolНе
comment_delete_modeStringНе

Отговор

Връща: DeleteSsoUserApiResponse


get_sso_user_by_email Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
emailStringДа

Отговор

Връща: GetSsoUserByEmailApiResponse

get_sso_user_by_id Internal Link


Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа

Отговор

Връща: GetSsoUserByIdApiResponse


get_sso_users Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
skipi32Не

Отговор

Връща: GetSsoUsers200Response


patch_sso_user Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringДа
idStringДа
update_apisso_user_datamodels::UpdateApissoUserDataДа
update_commentsboolНе

Отговор

Връща: PatchSsoUserApiResponse

put_sso_user Internal Link

Параметри

NameTypeЗадължителноОписание
tenant_idStringДа
idStringДа
update_apisso_user_datamodels::UpdateApissoUserDataДа
update_commentsboolНе

Отговор

Връща: PutSsoUserApiResponse


create_subscription 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

delete_subscription Internal Link


Параметри

NameTypeRequiredDescription
tenant_idStringДа
idStringДа
user_idStringНе

Отговор

Връща: DeleteSubscriptionApiResponse


get_subscriptions 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

update_subscription 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

get_tenant_daily_usages 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

create_tenant_package 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

delete_tenant_package Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringДа
idStringДа

Отговор

Връща: 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

get_tenant_package Internal Link

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа

Отговор

Връща: 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

get_tenant_packages 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

replace_tenant_package 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

update_tenant_package Internal Link

Параметри

NameTypeRequiredDescription
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

create_tenant_user Internal Link

Параметри

NameTypeRequiredDescription
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

delete_tenant_user Internal Link


Параметри

ИмеТипЗадължителноОписание
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

get_tenant_user 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

get_tenant_users Internal Link

Параметри

NameTypeRequiredDescription
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

replace_tenant_user 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

Параметри

ИмеТипЗадължителноОписание
tenant_idStringДа
idStringДа
redirect_urlStringНе

Отговор

Връща: FlagCommentPublic200Response

Пример

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

update_tenant_user 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

create_tenant Internal Link

Параметри

NameTypeRequiredDescription
tenant_idStringДа
create_tenant_bodymodels::CreateTenantBodyДа

Отговор

Връща: CreateTenant200Response

Пример

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

delete_tenant 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

get_tenant Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_tenants 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

update_tenant Internal Link

Параметри

ИмеТипЗадължителноОписание
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

change_ticket_state 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

create_ticket 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

get_ticket 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

get_tickets Internal Link

Параметри

NameTypeЗадължителноОписание
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

upload_image Internal Link

Качване и оразмеряване на изображение

Параметри

NameTypeRequiredDescription
tenant_idStringДа
filestd::path::PathBufДа
size_presetmodels::SizePresetНе
url_idStringНе

Отговор

Връща: UploadImageResponse


get_user_badge_progress_by_id Internal Link

Параметри

NameTypeRequiredDescription
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

get_user_badge_progress_by_user_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

get_user_badge_progress_list 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

create_user_badge Internal Link

Параметри

ИмеТипЗадължителноОписание
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

delete_user_badge 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

get_user_badge 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

get_user_badges 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

update_user_badge Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_user_notification_count Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_user_notifications Internal Link

Параметри

NameTypeRequiredDescription
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

reset_user_notification_count Internal Link

Параметри

ИмеТипЗадължителноОписание
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

reset_user_notifications 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

update_user_notification_comment_subscription_status Internal Link

Включване или изключване на известия за конкретен коментар.

Параметри

ИмеТипЗадължителноОписание
tenant_idStringYes
notification_idStringYes
opted_in_or_outStringYes
comment_idStringYes
ssoStringNo

Отговор

Връща: 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

update_user_notification_page_subscription_status Internal Link


Активиране или деактивиране на известия за страница. Когато потребителите са абонирани за страница, се създават известия за нови коренни коментари, и също

Параметри

ИмеТипЗадължителноОписание
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

update_user_notification_status Internal Link

Параметри

ИмеTypeЗадължителноОписание
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

get_user_presence_statuses 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

search_users Internal Link

Параметри

ИмеТипЗадължителноОписание
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

get_user 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

create_vote 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

delete_vote 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

get_votes 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

get_votes_for_user 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 за насоки за приноса.