FastComments.com

FastComments Rust SDK


Това е официалният 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"] }
  2. Use the tokio runtime:

    #[tokio::main]
    async fn main() {
     // Вашият асинхронен код тук
    }

Бележки Internal Link

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

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

Агрегация Internal Link

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

Параметри

Име Тип Задължително Описание
tenant_id String Да
aggregation_request models::AggregationRequest Да
parent_tenant_id String Не
include_stats bool Не

Отговор

Връща: AggregationResponse


Получаване на одитни записи Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
limit f64 Не
skip f64 Не
order models::SortDir Не
after f64 Не
before f64 Не

Отговор

Връща: GetAuditLogs200Response


Блокиране от коментар (публично) Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Не

Отговор

Връща: BlockFromCommentPublic200Response

Разблокиране на коментар (публично) Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Не

Отговор

Връща: UnBlockCommentPublic200Response


Проверка на коментари за блокиране Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_ids String Да
sso String Не

Отговор

Връща: CheckedCommentsForBlocked200Response


Блокиране на потребител чрез коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
block_from_comment_params models::BlockFromCommentParams Да
user_id String Не
anon_user_id String Не

Отговор

Връща: BlockFromCommentPublic200Response


Създаване на публичен коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
broadcast_id String Да
comment_data models::CommentData Да
session_id String Не
sso String Не

Отговор

Връща: CreateCommentPublic200Response


Изтриване на коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
context_user_id String Не
is_live bool Не

Отговор

Връща: DeleteComment200Response


Изтриване на публичен коментар Internal Link

Параметри

Име Type Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
edit_key String Не
sso String Не

Отговор

Връща: DeleteCommentPublic200Response


Премахване на глас за коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
vote_id String Да
url_id String Да
broadcast_id String Да
edit_key String Не
sso String Не

Отговор

Връща: DeleteCommentVote200Response


Докладване на коментар Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: FlagComment200Response


Получаване на коментар Internal Link

Параметри

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

Отговор

Връща: GetComment200Response


Получаване на текст на коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
edit_key String Не
sso String Не

Отговор

Връща: GetCommentText200Response


Получаване на имена на потребители, гласували за коментара Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
dir i32 Да
sso String Не

Отговор

Връща: GetCommentVoteUserNames200Response


Получаване на коментари Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
page i32 Не
limit i32 Не
skip i32 Не
as_tree bool Не
skip_children i32 Не
limit_children i32 Не
max_tree_depth i32 Не
url_id String Не
user_id String Не
anon_user_id String Не
context_user_id String Не
hash_tag String Не
parent_id String Не
direction models::SortDirections Не

Отговор

Връща: GetComments200Response


Получаване на публични коментари Internal Link

req tenantId urlId

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
page i32 Не
direction models::SortDirections Не
sso String Не
skip i32 Не
skip_children i32 Не
limit i32 Не
limit_children i32 Не
count_children bool Не
fetch_page_for_comment_id String Не
include_config bool Не
count_all bool Не
includei10n bool Не
locale String Не
modules String Не
is_crawler bool Не
include_notification_count bool Не
as_tree bool Не
max_tree_depth i32 Не
use_full_translation_ids bool Не
parent_id String Не
search_text String Не
hash_tags Vec Не
user_id String Не
custom_config_str String Не
after_comment_id String Не
before_comment_id String Не

Отговор

Връща: GetCommentsPublic200Response

Заключване на коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: LockComment200Response


Закачване на коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: PinComment200Response


Запазване на коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_comment_params models::CreateCommentParams Да
is_live bool Не
do_spam_check bool Не
send_emails bool Не
populate_notifications bool Не

Отговор

Връща: SaveComment200Response


Масово запазване на коментари Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_comment_params Vecmodels::CreateCommentParams Да
is_live bool Не
do_spam_check bool Не
send_emails bool Не
populate_notifications bool Не

Отговор

Връща: Vec<models::SaveComment200Response>

Задаване на текст на коментар Internal Link

Параметри

Name Type Required Description
tenant_id String Да
comment_id String Да
broadcast_id String Да
comment_text_update_request models::CommentTextUpdateRequest Да
edit_key String Не
sso String Не

Отговор

Връща: SetCommentText200Response


Разблокиране на потребител чрез коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
un_block_from_comment_params models::UnBlockFromCommentParams Да
user_id String Не
anon_user_id String Не

Отговор

Връща: UnBlockCommentPublic200Response


Отмяна на докладване на коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: FlagComment200Response


Отключване на коментар Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: LockComment200Response


Премахване на закрепване на коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Не

Отговор

Връща: PinComment200Response


Актуализиране на коментар Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
body models::PickApiCommentPeriodUpdatableCommentFields Да
context_user_id String Не
do_spam_check bool Не
is_live bool Не

Отговор

Връща: FlagCommentPublic200Response


Гласуване за коментар Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
comment_id String Да
url_id String Да
broadcast_id String Да
vote_body_params models::VoteBodyParams Да
session_id String Не
sso String Не

Отговор

Връща: VoteComment200Response


Добавяне на конфигурация на домейн Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
add_domain_config_params models::AddDomainConfigParams Да

Отговор

Връща: AddDomainConfig200Response


Изтриване на конфигурация на домейн Internal Link

Параметри

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

Отговор

Връща: DeleteDomainConfig200Response


Получаване на конфигурация на домейн Internal Link

Параметри

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

Отговор

Връща: GetDomainConfig200Response


Получаване на конфигурации на домейни Internal Link


Параметри

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

Отговор

Връща: GetDomainConfigs200Response


Частично обновяване на конфигурация на домейн Internal Link

Параметри

Name Type Required Description
tenant_id String Да
domain_to_update String Да
patch_domain_config_params models::PatchDomainConfigParams Да

Отговор

Връща: GetDomainConfig200Response


Заместване на конфигурация на домейн Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
domain_to_update String Да
update_domain_config_params models::UpdateDomainConfigParams Да

Отговор

Връща: GetDomainConfig200Response


Създаване на имейл шаблон Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_email_template_body models::CreateEmailTemplateBody Да

Отговор

Връща: CreateEmailTemplate200Response

Пример

create_email_template Пример
Copy Copy
1
2let params: CreateEmailTemplateParams = CreateEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_email_template_body: models::CreateEmailTemplateBody {
5 name: "New Comment Notification".to_string(),
6 subject: "New comment on your article".to_string(),
7 html_body: "<p>A new comment was posted on <strong>{article_title}</strong>.</p>".to_string(),
8 text_body: Some("A new comment was posted on {article_title}.".to_string()),
9 from_email: Some("no-reply@acme-news.com".to_string()),
10 enabled: Some(true),
11 },
12};
13let response: CreateEmailTemplate200Response = create_email_template(&configuration, params).await?;
14

Изтриване на имейл шаблон Internal Link

Параметри

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

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_email_template
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteEmailTemplateParams = DeleteEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_email_template(&configuration, params).await?;
8 Ok(response)
9}
10

Изтриване на грешка при рендиране на имейл шаблон Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
error_id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_email_template_render_error Пример
Copy Copy
1
2async fn delete_email_template_render_error_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteEmailTemplateRenderErrorParams = DeleteEmailTemplateRenderErrorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "marketing/newsletter/welcome-email".to_string(),
6 error_id: "render-err-2026-01-12-01".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_email_template_render_error(configuration, params).await?;
9 Ok(response)
10}
11

Получаване на имейл шаблон Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: GetEmailTemplate200Response

Пример

Пример за get_email_template
Copy Copy
1
2async fn fetch_template() -> Result<GetEmailTemplate200Response, Error> {
3 let params: GetEmailTemplateParams = GetEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
8 Ok(template)
9}
10

Получаване на дефиниции на имейл шаблони Internal Link

Параметри

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

Отговор

Връща: GetEmailTemplateDefinitions200Response

Пример

Пример за get_email_template_definitions
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let config: configuration::Configuration = configuration::Configuration::default();
4 let params: GetEmailTemplateDefinitionsParams = GetEmailTemplateDefinitionsParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 locale: Some("en-US".to_string()),
7 include_inactive: Some(false),
8 };
9 let resp: GetEmailTemplateDefinitions200Response = get_email_template_definitions(&config, params).await?;
10 let _definitions = resp;
11 Ok(())
12}
13

Получаване на грешки при рендиране на имейл шаблони Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
skip f64 Не

Отговор

Връща: GetEmailTemplateRenderErrors200Response

Пример

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

Получаване на имейл шаблони Internal Link

Параметри

Name Type Required Description
tenant_id String Да
skip f64 Не

Отговор

Връща: GetEmailTemplates200Response

Пример

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

Рендиране на имейл шаблон Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Yes
render_email_template_body models::RenderEmailTemplateBody Yes
locale String No

Отговор

Връща: RenderEmailTemplate200Response

Пример

Пример за render_email_template
Copy Copy
1
2let params: RenderEmailTemplateParams = RenderEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 render_email_template_body: models::RenderEmailTemplateBody {
5 template_id: "comment-notification".to_string(),
6 subject: Some("New comment on your article".to_string()),
7 placeholders: std::collections::HashMap::from([
8 ("article_title".to_string(), "Rust Gains Momentum in 2026".to_string()),
9 ("comment_author".to_string(), "Jane Doe".to_string()),
10 ("comment_snippet".to_string(), "Great insights — thanks for sharing!".to_string()),
11 ]),
12 },
13 locale: Some("en-US".to_string()),
14};
15let rendered: RenderEmailTemplate200Response = render_email_template(&configuration, params).await?;
16

Актуализиране на имейл шаблон Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_email_template_body models::UpdateEmailTemplateBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_email_template
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-template-001".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 name: Some("Welcome Template".to_string()),
8 subject: Some("Welcome to Acme News".to_string()),
9 body_html: Some("<p>Hi , welcome to Acme News!</p>".to_string()),
10 from_address: Some("no-reply@acme-news.com".to_string()),
11 reply_to: Some("support@acme-news.com".to_string()),
12 enabled: Some(true),
13 language: Some("en-US".to_string()),
14 custom_config: Some(models::CustomConfigParameters {
15 tracking_pixel_url: Some("https://acme-news.com/pixel".to_string()),
16 }),
17 },
18 };
19
20 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
21 let _ = response;
22 Ok(())
23}
24

Получаване на журнал на събитията Internal Link

req tenantId urlId userIdWS

Параметри

Име Тип Задължителен Описание
tenant_id String Да
url_id String Да
user_id_ws String Да
start_time i64 Да
end_time i64 Да

Отговор

Връща: GetEventLog200Response

Получаване на глобален журнал на събитията Internal Link

req tenantId urlId userIdWS

Параметри

Name Type Required Description
tenant_id String Да
url_id String Да
user_id_ws String Да
start_time i64 Да
end_time i64 Да

Отговор

Връща: GetEventLog200Response


Създаване на публикация в емисия Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Не
is_live bool Не
do_spam_check bool Не
skip_dup_check bool Не

Отговор

Връща: CreateFeedPost200Response


Създаване на публична публикация в емисия Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Не
sso String Не

Отговор

Връща: CreateFeedPostPublic200Response


Изтриване на публична публикация в емисия Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_id String Да
broadcast_id String Не
sso String Не

Отговор

Връща: DeleteFeedPostPublic200Response


Получаване на публикации в емисия Internal Link

req tenantId afterId

Параметри

Име Тип Задължително Описание
tenant_id String Да
after_id String Не
limit i32 Не
tags Vec Не

Отговор

Връща: GetFeedPosts200Response

Получаване на публични публикации в емисия Internal Link

req tenantId afterId

Параметри

Name Type Required Description
tenant_id String Да
after_id String Не
limit i32 Не
tags Vec Не
sso String Не
is_crawler bool Не
include_user_info bool Не

Отговор

Връща: GetFeedPostsPublic200Response


Получаване на статистика за публикациите в емисията Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_ids Vec Да
sso String Не

Отговор

Връща: GetFeedPostsStats200Response


Получаване на публични реакции на потребители Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
post_ids Vec Не
sso String Не

Отговор

Връща: GetUserReactsPublic200Response


Реагиране на публикация в емисия (публично) Internal Link


Параметри

Name Type Required Description
tenant_id String Да
post_id String Да
react_body_params models::ReactBodyParams Да
is_undo bool Не
broadcast_id String Не
sso String Не

Отговор

Връща: ReactFeedPostPublic200Response


Актуализиране на публикация в емисия Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
feed_post models::FeedPost Да

Отговор

Връща: FlagCommentPublic200Response


Актуализиране на публична публикация в емисия Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
post_id String Да
update_feed_post_params models::UpdateFeedPostParams Да
broadcast_id String Не
sso String Не

Отговор

Връща: CreateFeedPostPublic200Response


Докладване на коментар (публично) Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
is_flagged bool Да
sso String Не

Отговор

Връща: FlagCommentPublic200Response


Добавяне на хаштаг Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Не
create_hash_tag_body models::CreateHashTagBody Не

Отговор

Връща: AddHashTag200Response

Пример

add_hash_tag Пример
Copy Copy
1
2async fn run_add_hash_tag(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: AddHashTagParams = AddHashTagParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 create_hash_tag_body: Some(models::CreateHashTagBody {
6 tag: "breaking-news".to_string(),
7 label: Some("Breaking News".to_string()),
8 visible: Some(true),
9 }),
10 };
11
12 let created: AddHashTag200Response = add_hash_tag(configuration, params).await?;
13 println!("{:#?}", created);
14 Ok(())
15}
16

Масово добавяне на хаштагове Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Не
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Не

Отговор

Връща: AddHashTagsBulk200Response

Пример

add_hash_tags_bulk Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 bulk_create_hash_tags_body: Some(models::BulkCreateHashTagsBody {
6 tags: vec![
7 models::BulkCreateHashTagsBodyTagsInner {
8 name: "news/article".to_string(),
9 path: "news/article".to_string(),
10 description: Some("Article tag for front page".to_string()),
11 enabled: Some(true),
12 },
13 ],
14 }),
15 };
16
17 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
18 Ok(())
19}
20

Изтриване на хаштаг Internal Link

Параметри

Име Тип Задължително Описание
tag String Да
tenant_id String Не
delete_hash_tag_request models::DeleteHashTagRequest Не

Отговор

Връща: FlagCommentPublic200Response

Пример

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

Получаване на хаштагове Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
page f64 Не

Отговор

Връща: GetHashTags200Response

Пример

Пример за get_hash_tags
Copy Copy
1
2async fn example_get_hash_tags() -> Result<GetHashTags200Response, Error> {
3 let params: GetHashTagsParams = GetHashTagsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1.0_f64),
6 };
7 let response: GetHashTags200Response = get_hash_tags(&configuration, params).await?;
8 Ok(response)
9}
10

Частично обновяване на хаштаг Internal Link

Параметри

Име Тип Задължително Описание
tag String Да
tenant_id String Не
update_hash_tag_body models::UpdateHashTagBody Не

Отговор

Връща: PatchHashTag200Response

Пример

patch_hash_tag Пример
Copy Copy
1
2async fn run_patch_hash_tag() -> Result<PatchHashTag200Response, Error> {
3 let params: PatchHashTagParams = PatchHashTagParams {
4 tag: "breaking-news".to_string(),
5 tenant_id: Some("acme-corp-tenant".to_string()),
6 update_hash_tag_body: Some(models::UpdateHashTagBody {
7 name: "Breaking News".to_string(),
8 description: "Posts about breaking news and urgent updates".to_string(),
9 synonyms: vec!["breaking".to_string(), "urgent".to_string()],
10 is_active: true,
11 }),
12 };
13 let response: PatchHashTag200Response = patch_hash_tag(&configuration, params).await?;
14 Ok(response)
15}
16

Създаване на модератор Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_moderator_body models::CreateModeratorBody Да

Отговор

Връща: CreateModerator200Response

Пример

Пример за create_moderator
Copy Copy
1
2async fn run_create_moderator() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 create_moderator_body: models::CreateModeratorBody {
6 email: "jane.doe@acme.com".to_owned(),
7 display_name: "Jane Doe".to_owned(),
8 role: Some("moderator".to_owned()),
9 active: Some(true),
10 notes: Some("Handles product and support forums".to_owned()),
11 permissions: Some(vec!["approve_comment".to_owned(), "delete_comment".to_owned()]),
12 },
13 };
14
15 let _response: CreateModerator200Response = create_moderator(&configuration, params).await?;
16 Ok(())
17}
18

Изтриване на модератор Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
send_email String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_moderator
Copy Copy
1
2async fn run(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteModeratorParams = DeleteModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-1234".to_string(),
6 send_email: Some("true".to_string()),
7 };
8 let response: FlagCommentPublic200Response = delete_moderator(configuration, params).await?;
9 Ok(response)
10}
11

Получаване на модератор Internal Link

Параметри

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

Отговор

Връща: GetModerator200Response

Пример

Пример за get_moderator
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetModeratorParams = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-42".to_string(),
6 include: Some(vec!["roles".to_string(), "recent_comments".to_string()]),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

Получаване на модератори Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetModerators200Response

Пример

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

Изпращане на покана Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
from_name String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

send_invite Пример
Copy Copy
1
2let params: SendInviteParams = SendInviteParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "articles/2026/01/ai-news-12345".to_string(),
5 from_name: "Acme Newsroom".to_string(),
6 reply_to: Some("editorial@acme.com".to_string()),
7 message: Some("You have been invited to moderate comments on this article.".to_string()),
8};
9
10let invite_response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
11

Актуализиране на модератор Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_moderator_body models::UpdateModeratorBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_moderator
Copy Copy
1
2let params: UpdateModeratorParams = UpdateModeratorParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "moderator-12345".to_string(),
5 update_moderator_body: models::UpdateModeratorBody {
6 username: "jane.doe".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 is_active: Some(true),
10 permissions: Some(vec!["moderate_comments".to_string(), "view_reports".to_string()]),
11 },
12};
13let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
14

Изтриване на броя известия Internal Link

Параметри

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

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_notification_count
Copy Copy
1
2async fn run_delete_notification_count(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-9f8b7a6".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

Получаване на кеширания брой известия Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Yes
id String Yes

Отговор

Връща: GetCachedNotificationCount200Response

Пример

get_cached_notification_count Пример
Copy Copy
1
2async fn run_get_cached_notification_count() -> Result<(), Error> {
3 let params: GetCachedNotificationCountParams = GetCachedNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 };
7 let preferred_channel: Option<String> = Some("email".to_string());
8 let response: GetCachedNotificationCount200Response =
9 get_cached_notification_count(&configuration, params).await?;
10 Ok(())
11}
12

Получаване на брой известия Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не
url_id String Не
from_comment_id String Не
viewed bool Не

Отговор

Връща: GetNotificationCount200Response

Пример

Пример за get_notification_count
Copy Copy
1
2async fn example_get_notification_count() -> Result<GetNotificationCount200Response, Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-12345")),
6 url_id: Some(String::from("news/article/2026/product-launch")),
7 from_comment_id: Some(String::from("cmt-000987")),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(response)
12}
13

Получаване на известия Internal Link

Параметри

Name Type Required Description
tenant_id String Yes
user_id String No
url_id String No
from_comment_id String No
viewed bool No
skip f64 No

Отговор

Връща: GetNotifications200Response

Пример

get_notifications Пример
Copy Copy
1
2async fn fetch_notifications() -> Result<(), Error> {
3 let params: GetNotificationsParams = GetNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-1234".to_string()),
6 url_id: Some("news/politics/article-2026-01-12".to_string()),
7 from_comment_id: Some("cmt-98765".to_string()),
8 viewed: Some(false),
9 skip: Some(0.0),
10 };
11 let notifications: GetNotifications200Response = get_notifications(&configuration, params).await?;
12 let _ = notifications;
13 Ok(())
14}
15

Актуализиране на известие Internal Link

Параметри

Name Type Required Описание
tenant_id String Да
id String Да
update_notification_body models::UpdateNotificationBody Да
user_id String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_notification
Copy Copy
1
2pub async fn run_update_notification(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateNotificationParams = UpdateNotificationParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-67890".to_string(),
6 update_notification_body: models::UpdateNotificationBody {
7 title: Some("Flag Review Complete".to_string()),
8 message: Some("A moderator reviewed the flagged comment and marked it resolved.".to_string()),
9 resolved: Some(true),
10 channels: Some(vec!["email".to_string(), "in_app".to_string()]),
11 },
12 user_id: Some("moderator-007".to_string()),
13 };
14 let response: FlagCommentPublic200Response = update_notification(configuration, params).await?;
15 Ok(response)
16}
17

Добавяне на страница Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_api_page_data models::CreateApiPageData Да

Отговор

Връща: AddPageApiResponse


Изтриване на страница Internal Link

Параметри

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

Отговор

Връща: DeletePageApiResponse


Получаване на страница по URL идентификатор Internal Link


Параметри

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

Отговор

Връща: GetPageByUrlidApiResponse


Получаване на страници Internal Link

Параметри

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

Отговор

Връща: GetPagesApiResponse


Частично обновяване на страница Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_api_page_data models::UpdateApiPageData Да

Отговор

Връща: PatchPageApiResponse


Изтриване на чакащо уебхук събитие Internal Link

Параметри

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

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_pending_webhook_event Пример
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let event_id_opt: Option<String> = Some("webhook-event/news-article-2026-01-10-1234".to_string());
4 let event_id: String = event_id_opt.unwrap();
5 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
6 tenant_id: "acme-corp-tenant".to_string(),
7 id: event_id,
8 };
9 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
10 Ok(response)
11}
12

Получаване на брой чакащи уебхук събития Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Не
external_id String Не
event_type String Не
domain String Не
attempt_count_gt f64 Не

Отговор

Връща: GetPendingWebhookEventCount200Response

Пример

Пример за get_pending_webhook_event_count
Copy Copy
1
2async fn example() -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-12345".to_string()),
6 external_id: Some("news/article-98765".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(2.0),
10 };
11 let response: GetPendingWebhookEventCount200Response =
12 get_pending_webhook_event_count(&configuration, params).await?;
13 Ok(response)
14}
15

Получаване на чакащи уебхук събития Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Не
external_id String Не
event_type String Не
domain String Не
attempt_count_gt f64 Не
skip f64 Не

Отговор

Връща: GetPendingWebhookEvents200Response

Пример

get_pending_webhook_events Пример
Copy Copy
1
2let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: Some("cmt-12345".to_string()),
5 external_id: Some("article-98765".to_string()),
6 event_type: Some("comment.create".to_string()),
7 domain: Some("news.example.com".to_string()),
8 attempt_count_gt: Some(1.0),
9 skip: Some(0.0),
10};
11
12let pending: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13

Създаване на конфигурация на въпрос Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_question_config_body models::CreateQuestionConfigBody Да

Отговор

Връща: CreateQuestionConfig200Response

Пример

Пример за create_question_config
Copy Copy
1
2let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 create_question_config_body: models::CreateQuestionConfigBody {
5 key: String::from("article-usefulness"),
6 label: Some(String::from("Was this article useful?")),
7 description: Some(String::from("Help us improve by rating this article.")),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::MultipleChoice),
10 custom_options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { value: String::from("1"), label: Some(String::from("Not useful")) },
12 models::QuestionConfigCustomOptionsInner { value: String::from("3"), label: Some(String::from("Somewhat useful")) },
13 models::QuestionConfigCustomOptionsInner { value: String::from("5"), label: Some(String::from("Very useful")) },
14 ]),
15 enabled: Some(true),
16 },
17};
18let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
19

Изтриване на конфигурация на въпрос Internal Link

Параметри

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

Отговор

Връща: FlagCommentPublic200Response

Пример

delete_question_config Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-config-2025".to_string(),
6 force: Some(true),
7 };
8 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
9 Ok(())
10}
11

Получаване на конфигурация на въпрос Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: GetQuestionConfig200Response

Пример

Пример за get_question_config
Copy Copy
1
2async fn fetch_question_config() -> Result<(), Error> {
3 let tenant_env: Option<&str> = Some("prod");
4 let tenant_id: String = match tenant_env {
5 Some(env) => format!("acme-corp-tenant-{}", env),
6 None => "acme-corp-tenant".to_string(),
7 };
8 let params: GetQuestionConfigParams = GetQuestionConfigParams {
9 tenant_id,
10 id: "news/article/2026/01/12-politics".to_string(),
11 };
12 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
13 let _status: ApiStatus = response.0;
14 Ok(())
15}
16

Получаване на конфигурации на въпроси Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetQuestionConfigs200Response

Пример

Пример за get_question_configs
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetQuestionConfigsParams = GetQuestionConfigsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let response: GetQuestionConfigs200Response = get_question_configs(&configuration, params).await?;
8 let _cfgs: GetQuestionConfigs200Response = response;
9 Ok(())
10}
11

Актуализиране на конфигурация на въпрос Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_question_config_body models::UpdateQuestionConfigBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

update_question_config Пример
Copy Copy
1
2async fn run_update() -> Result<(), Error> {
3 let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article-2026-01-12"),
6 update_question_config_body: models::UpdateQuestionConfigBody {
7 question_text: String::from("Did you find this reporting accurate?"),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::Inline),
10 options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { id: String::from("opt-yes"), label: String::from("Yes"), value: String::from("yes") },
12 models::QuestionConfigCustomOptionsInner { id: String::from("opt-no"), label: String::from("No"), value: String::from("no") },
13 ]),
14 when_save: Some(models::QuestionWhenSave::OnSubmit),
15 },
16 };
17 let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
18 Ok(())
19}
20

Създаване на резултат от въпрос Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_question_result_body models::CreateQuestionResultBody Да

Отговор

Връща: CreateQuestionResult200Response

Пример

Пример за create_question_result
Copy Copy
1
2async fn run() -> 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: "feedback-article-2026".to_string(),
7 comment_id: Some("cmt-2026-001".to_string()),
8 user_id: Some("reader-007".to_string()),
9 answer: "yes".to_string(),
10 score: Some(4),
11 metadata: Some(std::collections::HashMap::from([(
12 "path".to_string(),
13 "news/politics/2026-election".to_string(),
14 )])),
15 anonymous: Some(false),
16 submitted_at: Some("2026-01-12T09:15:00Z".to_string()),
17 },
18 };
19
20 let created: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
21 Ok(())
22}
23

Изтриване на резултат от въпрос Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_question_result
Copy Copy
1
2async fn run_delete() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/12345/question/67890".to_string(),
6 dry_run: Some(false),
7 request_id: Some("req-20260112-7a3b".to_string()),
8 };
9 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
10 Ok(())
11}
12

Получаване на резултат от въпрос Internal Link

Параметри

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

Отговор

Връща: GetQuestionResult200Response

Пример

get_question_result Пример
Copy Copy
1
2async fn run() -> Result<GetQuestionResult200Response, Error> {
3 let include_metadata: Option<bool> = Some(true);
4 let params: GetQuestionResultParams = GetQuestionResultParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "news/article/2026/12345".to_string(),
7 };
8 let response: GetQuestionResult200Response = get_question_result(&configuration, params).await?;
9 Ok(response)
10}
11

Получаване на резултати от въпроси Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Не
user_id String Не
start_date String Не
question_id String Не
question_ids String Не
skip f64 Не

Отговор

Връща: GetQuestionResults200Response

Пример

Пример за get_question_results
Copy Copy
1
2async fn example_get_question_results() -> Result<(), Error> {
3 let params = GetQuestionResultsParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: Some(String::from("news/article/2026/01/12/breaking")),
6 user_id: Some(String::from("user-98765")),
7 start_date: Some(String::from("2025-12-01")),
8 question_id: Some(String::from("q-42")),
9 question_ids: Some(String::from("q-42,q-43")),
10 skip: Some(10.0),
11 };
12 let results: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(())
14}
15

Актуализиране на резултат от въпрос Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_question_result_body models::UpdateQuestionResultBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_question_result
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let body: models::UpdateQuestionResultBody = models::UpdateQuestionResultBody {
4 question_id: "q-12345".to_string(),
5 result: true,
6 comment: Some("Marked by moderator after review".to_string()),
7 };
8
9 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "news/article/98765".to_string(),
12 update_question_result_body: body,
13 };
14
15 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
16 println!("{:#?}", response);
17 Ok(())
18}
19

Агрегиране на резултати от въпроси Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
question_id String Не
question_ids Vec Не
url_id String Не
time_bucket models::AggregateTimeBucket Не
start_date String Не
force_recalculate bool Не

Отговор

Връща: AggregateQuestionResults200Response


Масово агрегиране на резултати от въпроси Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Да
force_recalculate bool Не

Отговор

Връща: BulkAggregateQuestionResults200Response


Комбиниране на коментари с резултати от въпроси Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
question_id String Не
question_ids Vec Не
url_id String Не
start_date String Не
force_recalculate bool Не
min_value f64 Не
max_value f64 Не
limit f64 Не

Отговор

Връща: CombineCommentsWithQuestionResults200Response


Добавяне на SSO потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_apisso_user_data models::CreateApissoUserData Да

Отговор

Връща: AddSsoUserApiResponse

Изтриване на SSO потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
delete_comments bool Не
comment_delete_mode String Не

Отговор

Връща: DeleteSsoUserApiResponse


Получаване на SSO потребител по имейл Internal Link

Параметри

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

Отговор

Връща: GetSsoUserByEmailApiResponse

Получаване на SSO потребител по ID Internal Link


Параметри

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

Отговор

Връща: GetSsoUserByIdApiResponse


Получаване на SSO потребители Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip i32 Не

Отговор

Връща: GetSsoUsers200Response


Частично обновяване на SSO потребител Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Не

Отговор

Връща: PatchSsoUserApiResponse

Заместване на SSO потребител Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Не

Отговор

Връща: PutSsoUserApiResponse


Създаване на абонамент Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_api_user_subscription_data models::CreateApiUserSubscriptionData Да

Отговор

Връща: CreateSubscriptionApiResponse


Изтриване на абонамент Internal Link


Параметри

Name Type Required Description
tenant_id String Да
id String Да
user_id String Не

Отговор

Връща: DeleteSubscriptionApiResponse


Получаване на абонаменти Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не

Отговор

Връща: GetSubscriptionsApiResponse


Получаване на дневна употреба на наемателя Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
year_number f64 Не
month_number f64 Не
day_number f64 Не
skip f64 Не

Отговор

Връща: GetTenantDailyUsages200Response

Пример

Пример за get_tenant_daily_usages
Copy Copy
1
2async fn example() -> Result<GetTenantDailyUsages200Response, Error> {
3 let params: GetTenantDailyUsagesParams = GetTenantDailyUsagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 year_number: Some(2024.0),
6 month_number: Some(9.0),
7 day_number: Some(15.0),
8 skip: Some(0.0),
9 };
10 let response: GetTenantDailyUsages200Response = get_tenant_daily_usages(&configuration, params).await?;
11 Ok(response)
12}
13

Създаване на пакет за наемател Internal Link

Параметри

Name Type Required Description
tenant_id String Да
create_tenant_package_body models::CreateTenantPackageBody Да

Отговор

Връща: CreateTenantPackage200Response

Пример

Пример за create_tenant_package
Copy Copy
1
2async fn run_create_package() -> 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 News Package".to_string(),
7 description: Some("Moderated comments for Acme News articles".to_string()),
8 plan: Some("standard".to_string()),
9 allow_gifs: Some(true),
10 gif_rating: Some(GifRating::GeneralAudience),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 sso_security_level: Some(SsoSecurityLevel::Strict),
13 custom_config: Some(CustomConfigParameters {
14 max_comment_length: Some(1000),
15 require_moderation: Some(true),
16 }),
17 },
18 };
19 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
20 let _package: TenantPackage = response.0;
21 Ok(())
22}
23

Изтриване на пакет на наемател Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_tenant_package
Copy Copy
1
2let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "pkg-news-comments-2025-01".to_string(),
5 cascade: Some(true),
6};
7let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8

Получаване на пакет на наемател Internal Link

Параметри

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

Отговор

Връща: GetTenantPackage200Response

Пример

Пример за get_tenant_package
Copy Copy
1
2async fn example_get_tenant_package(configuration: &configuration::Configuration) -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "premium-plan".to_string(),
6 include_details: Some(true),
7 };
8 let package: GetTenantPackage200Response = get_tenant_package(configuration, params).await?;
9 Ok(package)
10}
11

Получаване на пакети на наемателя Internal Link

Параметри

Name Type Required Description
tenant_id String Да
skip f64 Не

Отговор

Връща: GetTenantPackages200Response

Пример

Пример за get_tenant_packages
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantPackagesParams = GetTenantPackagesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 skip: Some(20.0),
6 };
7 let _packages: GetTenantPackages200Response = get_tenant_packages(&configuration, params).await?;
8 Ok(())
9}
10

Замяна на пакет на наемател Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
replace_tenant_package_body models::ReplaceTenantPackageBody Да

Връща

Връща: FlagCommentPublic200Response

Пример

Пример за replace_tenant_package
Copy Copy
1
2async fn run_replace_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: ReplaceTenantPackageParams = ReplaceTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "package-basic-2026".to_string(),
6 replace_tenant_package_body: models::ReplaceTenantPackageBody {
7 name: "Moderation Basic".to_string(),
8 description: Some("Standard moderation package for news sites".to_string()),
9 enabled: Some(true),
10 plan: Some("standard".to_string()),
11 custom_config_parameters: Some(models::CustomConfigParameters {
12 max_comment_length: Some(1000),
13 allow_images: Some(true),
14 }),
15 vote_style: Some(models::VoteStyle::Thumbs),
16 },
17 };
18 let response = replace_tenant_package(&configuration, params).await?;
19 Ok(response)
20}
21

Актуализиране на пакет на наемател Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_tenant_package_body models::UpdateTenantPackageBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant_package
Copy Copy
1
2async fn example_update_tenant_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pro-plan-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: Some("Pro Plan".to_string()),
8 description: Some("Priority support, custom branding, and advanced moderation tools".to_string()),
9 enabled: Some(true),
10 monthly_price_cents: Some(1999),
11 features: Some(vec![
12 "priority_support".to_string(),
13 "custom_branding".to_string(),
14 "advanced_moderation".to_string(),
15 ]),
16 },
17 };
18
19 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
20 Ok(response)
21}
22

Създаване на потребител на наемателя Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_tenant_user_body models::CreateTenantUserBody Да

Отговор

Връща: CreateTenantUser200Response

Пример

Пример за create_tenant_user
Copy Copy
1
2let create_tenant_user_body: models::CreateTenantUserBody = models::CreateTenantUserBody {
3 email: "jane.doe@acme.com".to_string(),
4 display_name: Some("Jane Doe".to_string()),
5 role: Some("moderator".to_string()),
6 external_id: Some("acme-12345".to_string()),
7 subscribed_to_digest: Some(false),
8};
9let params: CreateTenantUserParams = CreateTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 create_tenant_user_body,
12};
13let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
14

Изтриване на потребител на наемателя Internal Link

Параметри

Name Type Required Description
tenant_id String Да
id String Да
delete_comments String Не
comment_delete_mode String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за delete_tenant_user
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantUserParams = DeleteTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-12345".to_string(),
6 delete_comments: Some("true".to_string()),
7 comment_delete_mode: Some("cascade".to_string()),
8 };
9 let resp: FlagCommentPublic200Response = delete_tenant_user(&configuration, params).await?;
10 Ok(resp)
11}
12

Получаване на потребител на наемателя Internal Link

Параметри

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

Отговор

Връща: GetTenantUser200Response

Пример

Пример за get_tenant_user
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantUserParams = GetTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-7a3f2b".to_string(),
6 };
7 let include_related: Option<String> = Some("roles,preferences".to_string());
8 let response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 Ok(())
10}
11

Получаване на потребители на наемателя Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
skip f64 Не

Отговор

Връща: GetTenantUsers200Response

Пример

Пример get_tenant_users
Copy Copy
1
2async fn fetch_tenant_users() -> Result<GetTenantUsers200Response, Error> {
3 let params: GetTenantUsersParams = GetTenantUsersParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(10.0),
6 };
7 let response: GetTenantUsers200Response = get_tenant_users(&configuration, params).await?;
8 Ok(response)
9}
10

Замяна на потребител на наемателя Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
replace_tenant_user_body models::ReplaceTenantUserBody Да
update_comments String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

replace_tenant_user Пример
Copy Copy
1
2let cfg: &configuration::Configuration = &configuration;
3let replace_tenant_user_body: models::ReplaceTenantUserBody = models::ReplaceTenantUserBody {
4 external_id: Some("acct-834".to_string()),
5 email: Some("jane.doe@acme-news.com".to_string()),
6 display_name: Some("Jane Doe".to_string()),
7 role: Some("moderator".to_string()),
8};
9let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "user-834".to_string(),
12 replace_tenant_user_body,
13 update_comments: Some("true".to_string()),
14};
15let resp: FlagCommentPublic200Response = replace_tenant_user(cfg, params).await?;
16

Параметри

Name Type Required Description
tenant_id String Да
id String Да
redirect_url String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

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

Актуализиране на потребител на наемателя Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_tenant_user_body models::UpdateTenantUserBody Да
update_comments String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant_user
Copy Copy
1
2async fn update_user_example(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-78b2".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 username: "jdoe".to_string(),
8 display_name: "John Doe".to_string(),
9 email: "john.doe@acme.com".to_string(),
10 roles: vec!["moderator".to_string()],
11 suspended: false,
12 },
13 update_comments: Some("Promoted to moderator for community moderation".to_string()),
14 };
15 let response: FlagCommentPublic200Response = update_tenant_user(configuration, params).await?;
16 println!("updated user response status: {:?}", response);
17 Ok(())
18}
19

Създаване на наемател Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
create_tenant_body models::CreateTenantBody Да

Отговор

Връща: CreateTenant200Response

Пример

create_tenant Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantParams = CreateTenantParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme News".to_string(),
7 domain: Some("news.acme.com".to_string()),
8 api_domain_configuration: Some(models::ApiDomainConfiguration {
9 domain: "api.news.acme.com".to_string(),
10 enforce_https: true,
11 }),
12 billing_info: Some(models::BillingInfo {
13 contact_email: "billing@acme.com".to_string(),
14 plan_id: "pro_monthly".to_string(),
15 }),
16 imported_site_type: Some(models::ImportedSiteType::Articles),
17 ..Default::default()
18 },
19 };
20
21 let created: CreateTenant200Response = create_tenant(&configuration, params).await?;
22 Ok(())
23}
24

Изтриване на наемател Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
sure String Не

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример delete_tenant
Copy Copy
1
2async fn example_delete_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantParams = DeleteTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 sure: Some("confirm".to_string()),
7 };
8 let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
9 Ok(response)
10}
11

Получаване на наемател Internal Link

Параметри

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

Отговор

Връща: GetTenant200Response

Пример

Пример за get_tenant
Copy Copy
1
2async fn run_get_tenant() -> Result<(), Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article"),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let tenant_response: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(())
10}
11

Получаване на наематели Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
meta String Не
skip f64 Не

Отговор

Връща: GetTenants200Response

Пример

get_tenants Пример
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantsParams = GetTenantsParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 meta: Some(String::from("include=domains,settings")),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 Ok(())
10}
11

Актуализиране на наемател Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_tenant_body models::UpdateTenantBody Да

Отговор

Връща: FlagCommentPublic200Response

Пример

Пример за update_tenant
Copy Copy
1
2async fn run_update_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantParams = UpdateTenantParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 id: "site-42".to_owned(),
6 update_tenant_body: models::UpdateTenantBody {
7 name: Some("Acme Corporation".to_string()),
8 default_site: Some("news/article".to_string()),
9 allowed_origins: Some(vec![
10 "https://www.acme.com".to_string(),
11 "https://blog.acme.com".to_string(),
12 ]),
13 invite_only: Some(false),
14 api_domain_configuration: Some(ApiDomainConfiguration {
15 domain: "comments.acme.com".to_string(),
16 secure: Some(true),
17 ..Default::default()
18 }),
19 ..Default::default()
20 },
21 };
22 let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23 Ok(response)
24}
25

Качване на изображение Internal Link

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

Параметри

Name Type Required Description
tenant_id String Да
file std::path::PathBuf Да
size_preset models::SizePreset Не
url_id String Не

Отговор

Връща: UploadImageResponse


Получаване на прогрес на значка по ID Internal Link


Параметри

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

Отговор

Връща: GetUserBadgeProgressById200Response


Получаване на прогрес на значка по потребителско ID Internal Link

Параметри

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

Отговор

Връща: GetUserBadgeProgressById200Response


Получаване на списък с прогрес на значки за потребителя Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
user_id String Не
limit f64 Не
skip f64 Не

Отговор

Връща: GetUserBadgeProgressList200Response


Създаване на значка за потребител Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
create_user_badge_params models::CreateUserBadgeParams Да

Отговор

Връща: CreateUserBadge200Response


Изтриване на значка на потребител Internal Link

Параметри

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

Отговор

Връща: UpdateUserBadge200Response


Получаване на значка на потребител Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
id String Да

Отговор

Връща: GetUserBadge200Response


Получаване на значки на потребител Internal Link

Параметри

Name Type Задължително Описание
tenant_id String Да
user_id String Не
badge_id String Не
displayed_on_comments bool Не
limit f64 Не
skip f64 Не

Отговор

Връща: GetUserBadges200Response


Актуализиране на значка на потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
id String Да
update_user_badge_params models::UpdateUserBadgeParams Да

Отговор

Връща: UpdateUserBadge200Response


Получаване на брой известия на потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
sso String Не

Отговор

Връща: GetUserNotificationCount200Response

Получаване на известия на потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
page_size i32 Не
after_id String Не
include_context bool Не
after_created_at i64 Не
unread_only bool Не
dm_only bool Не
no_dm bool Не
include_translations bool Не
sso String Не

Отговор

Връща: GetUserNotifications200Response


Нулиране на броя известия на потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
sso String Не

Отговор

Връща: ResetUserNotifications200Response


Нулиране на известия на потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
after_id String Не
after_created_at i64 Не
unread_only bool Не
dm_only bool Не
no_dm bool Не
sso String Не

Отговор

Връща: ResetUserNotifications200Response


Актуализиране на статус на абонамент за коментари на потребител Internal Link

Активиране или деактивиране на известия за конкретен коментар.

Параметри

Име Тип Задължително Описание
tenant_id String Да
notification_id String Да
opted_in_or_out String Да
comment_id String Да
sso String Не

Отговор

Връща: UpdateUserNotificationStatus200Response

Актуализиране на статус на абонамент за страница на потребител Internal Link


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

Параметри

Name Type Required Description
tenant_id String Да
url_id String Да
url String Да
page_title String Да
subscribed_or_unsubscribed String Да
sso String Не

Отговор

Връща: UpdateUserNotificationStatus200Response


Актуализиране на статус на известие за потребител Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
notification_id String Да
new_status String Да
sso String Не

Отговор

Връща: UpdateUserNotificationStatus200Response


Получаване на статуси на присъствие на потребители Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id_ws String Да
user_ids String Да

Отговор

Връща: GetUserPresenceStatuses200Response


Търсене на потребители Internal Link


Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
username_starts_with String Да
mention_group_ids Vec Не
sso String Не

Отговор

Връща: SearchUsers200Response


Получаване на потребител Internal Link

Параметри

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

Отговор

Връща: GetUser200Response

Пример

get_user Пример
Copy Copy
1
2async fn run_get_user() -> Result<(), Error> {
3 let maybe_id: Option<String> = Some("user-6412".to_owned());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: "acme-corp-tenant".to_owned(),
6 id: maybe_id.unwrap(),
7 };
8 let user_response: GetUser200Response = get_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

Създаване на глас Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
comment_id String Да
direction String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: VoteComment200Response

Пример

create_vote Пример
Copy Copy
1
2async fn run_vote() -> Result<VoteComment200Response, Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/2026/01/12/local-election-12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user_9876".to_string()),
8 anon_user_id: None,
9 };
10 let response: VoteComment200Response = create_vote(&configuration, params).await?;
11 Ok(response)
12}
13

Изтриване на глас Internal Link

Параметри

Име Тип Задължителен Описание
tenant_id String Да
id String Да
edit_key String Не

Отговор

Връща: DeleteCommentVote200Response

Пример

Пример за delete_vote
Copy Copy
1
2async fn run_delete_vote() -> Result<(), Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/67890/comment/12345".to_string(),
6 edit_key: Some("user-editkey-7f3b".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(())
10}
11

Получаване на гласове Internal Link

Параметри

Name Type Required Description
tenant_id String Да
url_id String Да

Отговор

Връща: GetVotes200Response

Пример

get_votes Пример
Copy Copy
1
2async fn fetch_votes_example() -> Result<(), Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article/2026-01-12/housing-market"),
6 };
7 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
8 let _ = votes;
9 Ok(())
10}
11

Получаване на гласове за потребител Internal Link

Параметри

Име Тип Задължително Описание
tenant_id String Да
url_id String Да
user_id String Не
anon_user_id String Не

Отговор

Връща: GetVotesForUser200Response

Пример

Пример за get_votes_for_user
Copy Copy
1
2async fn fetch_votes() -> Result<GetVotesForUser200Response, Error> {
3 let params = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/2026/01/12/breaking-tech"),
6 user_id: Some(String::from("user-78a3")),
7 anon_user_id: Some(String::from("anon-4f2b")),
8 };
9 let response: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(response)
11}
12

Нужда от помощ?

Ако срещнете проблеми или имате въпроси относно Rust SDK, моля:

Принос

Приносите са добре дошли! Моля, посетете репозитория на GitHub за насоки за приноса.