FastComments.com

FastComments Rust SDK


Это официальный SDK на Rust для FastComments.

Официальный Rust SDK для API FastComments

Репозиторий

Просмотреть на GitHub


Установка Internal Link

cargo add fastcomments-sdk

SDK требует Rust 2021 edition или более поздней версии.

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

FastComments Rust SDK состоит из нескольких модулей:

  • Модуль клиента - Автогенерируемый API-клиент для FastComments REST APIs

    • Полные определения типов для всех моделей 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

Если при использовании аутентифицированного API вы получаете ошибки 401:

  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)

Ошибки асинхронного рантайма

SDK использует tokio для асинхронных операций. Убедитесь, что:

  1. Добавьте tokio в ваши зависимости:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. Используйте runtime tokio:

    #[tokio::main]
    async fn main() {
     // Ваш асинхронный код здесь
    }

Примечания Internal Link

Идентификаторы трансляции

Вы увидите, что в некоторых вызовах API нужно передавать broadcastId. Когда вы получаете события, этот идентификатор возвращается обратно, чтобы вы могли игнорировать событие, если планируете оптимистично применять изменения на клиенте (что вы, скорее всего, захотите сделать, так как это обеспечивает наилучший опыт). Передайте здесь UUID. Идентификатор должен быть достаточно уникальным, чтобы не встречаться дважды в одной сессии браузера.

aggregate Internal Link

Агрегирует документы, группируя их (если указан groupBy) и применяя несколько операций. Поддерживаются разные операции (например, sum, countDistinct, avg и т.д.).

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
aggregation_request models::AggregationRequest Да
parent_tenant_id String Нет
include_stats bool Нет

Ответ

Возвращает: AggregationResponse


get_audit_logs Internal Link

Parameters

Имя Тип Обязательно Описание
tenant_id String Да
limit f64 Нет
skip f64 Нет
order models::SortDir Нет
after f64 Нет
before f64 Нет

Ответ

Возвращает: GetAuditLogs200Response

Пример

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

block_from_comment_public Internal Link

Параметры

Name Type Required Description
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Нет

Ответ

Возвращает: BlockFromCommentPublic200Response

Пример

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

un_block_comment_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
public_block_from_comment_params models::PublicBlockFromCommentParams Да
sso String Нет

Ответ

Возвращает: UnBlockCommentPublic200Response

Пример

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

checked_comments_for_blocked Internal Link

Параметры

Name Type Required Description
tenant_id String Yes
comment_ids String Yes
sso String No

Ответ

Возвращает: 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_id String Да
id String Да
block_from_comment_params models::BlockFromCommentParams Да
user_id String Нет
anon_user_id String Нет

Ответ

Возвращает: BlockFromCommentPublic200Response

Пример

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

create_comment_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
url_id String Да
broadcast_id String Да
comment_data models::CommentData Да
session_id String Нет
sso String Нет

Ответ

Возвращает: CreateCommentPublic200Response

Пример

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

delete_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
context_user_id String Нет
is_live bool Нет

Ответ

Возвращает: DeleteComment200Response

Пример

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

delete_comment_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
edit_key String Нет
sso String Нет

Ответ

Возвращает: DeleteCommentPublic200Response

Пример

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

delete_comment_vote Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
vote_id String Да
url_id String Да
broadcast_id String Да
edit_key String Нет
sso String Нет

Ответ

Возвращает: DeleteCommentVote200Response

Пример

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

flag_comment Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
user_id String Нет
anon_user_id String Нет

Ответ

Возвращает: FlagComment200Response

Пример

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

get_comment Internal Link

Параметры

Имя Тип Обязательное Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetComment200Response

Пример

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

get_comment_text Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
edit_key String Нет
sso String Нет

Ответ

Возвращает: GetCommentText200Response

Пример

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

get_comment_vote_user_names Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
dir i32 Да
sso String Нет

Ответ

Возвращает: GetCommentVoteUserNames200Response

Пример

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

get_comments Internal Link

Parameters

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

Response

Возвращает: 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

Параметры

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

Ответ

Возвращает: GetCommentsPublic200Response

Пример

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

lock_comment Internal Link


Параметры

Имя Тип Обязательный Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Нет

Ответ

Возвращает: LockComment200Response

Пример

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

pin_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Нет

Ответ

Возвращает: PinComment200Response

Пример

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

save_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_comment_params models::CreateCommentParams Да
is_live bool Нет
do_spam_check bool Нет
send_emails bool Нет
populate_notifications bool Нет

Ответ

Возвращает: SaveComment200Response

Пример

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

save_comments_bulk Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_comment_params Vecmodels::CreateCommentParams Да
is_live bool Нет
do_spam_check bool Нет
send_emails bool Нет
populate_notifications bool Нет

Ответ

Возвращает: Vec<models::SaveComment200Response>

Пример

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

set_comment_text Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
comment_text_update_request models::CommentTextUpdateRequest Да
edit_key String Нет
sso String Нет

Ответ

Возвращает: SetCommentText200Response

Пример

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

un_block_user_from_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
un_block_from_comment_params models::UnBlockFromCommentParams Да
user_id String Нет
anon_user_id String Нет

Ответ

Возвращает: UnBlockCommentPublic200Response

Пример

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

un_flag_comment Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
user_id String Нет
anon_user_id String Нет

Ответ

Возвращает: FlagComment200Response

Пример

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

un_lock_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Нет

Ответ

Возвращает: LockComment200Response

Пример

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

un_pin_comment Internal Link

Параметры

Name Type Required Description
tenant_id String Да
comment_id String Да
broadcast_id String Да
sso String Нет

Ответ

Возвращает: PinComment200Response

Пример

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

update_comment Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
updatable_comment_params models::UpdatableCommentParams Да
context_user_id String Нет
do_spam_check bool Нет
is_live bool Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

vote_comment Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
url_id String Да
broadcast_id String Да
vote_body_params models::VoteBodyParams Да
session_id String Нет
sso String Нет

Ответ

Возвращает: VoteComment200Response

Пример

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

add_domain_config Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
add_domain_config_params models::AddDomainConfigParams Да

Ответ

Возвращает: AddDomainConfig200Response


delete_domain_config Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
domain String Да

Ответ

Возвращает: DeleteDomainConfig200Response


get_domain_config Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
domain String Да

Ответ

Возвращает: GetDomainConfig200Response


get_domain_configs Internal Link

Параметры

Name Type Required Description
tenant_id String Да

Ответ

Возвращает: GetDomainConfigs200Response


patch_domain_config Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
domain_to_update String Да
patch_domain_config_params models::PatchDomainConfigParams Да

Ответ

Возвращает: GetDomainConfig200Response


put_domain_config Internal Link

Параметры

Name Type Required Description
tenant_id String Да
domain_to_update String Да
update_domain_config_params models::UpdateDomainConfigParams Да

Ответ

Возвращает: GetDomainConfig200Response


create_email_template Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_email_template_body models::CreateEmailTemplateBody Да

Ответ

Возвращает: CreateEmailTemplate200Response

Пример

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

delete_email_template Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

delete_email_template_render_error Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
error_id String Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_email_template Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: 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

Параметры

Name Type Required Description
tenant_id String Обязательно

Ответ

Возвращает: GetEmailTemplateDefinitions200Response

Пример

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

get_email_template_render_errors Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
id String Да
skip f64 Нет

Ответ

Возвращает: GetEmailTemplateRenderErrors200Response

Пример

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

get_email_templates Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
skip f64 Нет

Ответ

Возвращает: GetEmailTemplates200Response

Пример

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

render_email_template Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
render_email_template_body models::RenderEmailTemplateBody Да
locale String Нет

Ответ

Возвращает: 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_id String Да
id String Да
update_email_template_body models::UpdateEmailTemplateBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_event_log Internal Link

req tenantId urlId userIdWS

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
url_id String Да
user_id_ws String Да
start_time i64 Да
end_time i64 Да

Ответ

Возвращает: GetEventLog200Response

Пример

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

get_global_event_log 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

Пример

Пример 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_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Нет
is_live bool Нет
do_spam_check bool Нет
skip_dup_check bool Нет

Ответ

Возвращает: CreateFeedPost200Response

Пример

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

create_feed_post_public Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
create_feed_post_params models::CreateFeedPostParams Да
broadcast_id String Нет
sso String Нет

Ответ

Возвращает: CreateFeedPostPublic200Response

Пример

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

delete_feed_post_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
post_id String Да
broadcast_id String Нет
sso String Нет

Ответ

Возвращает: DeleteFeedPostPublic200Response

Пример

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

get_feed_posts Internal Link

req tenantId afterId

Параметры

Name Type Required Description
tenant_id String Да
after_id String Нет
limit i32 Нет
tags Vec Нет

Ответ

Возвращает: GetFeedPosts200Response

Пример

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

get_feed_posts_public Internal Link


req tenantId afterId

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
after_id String Нет
limit i32 Нет
tags Vec Нет
sso String Нет
is_crawler bool Нет
include_user_info bool Нет

Ответ

Возвращает: GetFeedPostsPublic200Response

Пример

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

get_feed_posts_stats Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
post_ids Vec Да
sso String Нет

Ответ

Возвращает: GetFeedPostsStats200Response

Пример

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

get_user_reacts_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
post_ids Vec Нет
sso String Нет

Ответ

Возвращает: GetUserReactsPublic200Response

Пример

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

react_feed_post_public 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

Пример

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

Параметры

Name Type Required Description
tenant_id String Да
id String Да
feed_post models::FeedPost Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

update_feed_post_public Internal Link

Параметры

Name Type Обязательно Описание
tenant_id String Да
post_id String Да
update_feed_post_params models::UpdateFeedPostParams Да
broadcast_id String Нет
sso String Нет

Ответ

Возвращает: CreateFeedPostPublic200Response

Пример

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

flag_comment_public Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Да
is_flagged bool Да
sso String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

add_hash_tag Internal Link

Parameters

Имя Тип Обязательно Описание
tenant_id String Нет
create_hash_tag_body models::CreateHashTagBody Нет

Response

Возвращает: 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

Параметры

Имя Тип Обязательно Описание
tenant_id String Нет
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Нет

Ответ

Возвращает: AddHashTagsBulk200Response

Пример

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

delete_hash_tag Internal Link

Параметры

Name Type Required Description
tag String Да
tenant_id String Нет
delete_hash_tag_request models::DeleteHashTagRequest Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_hash_tags Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
page f64 Нет

Ответ

Возвращает: GetHashTags200Response

Пример

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

patch_hash_tag Internal Link

Параметры

Имя Тип Обязательно Описание
tag String Да
tenant_id String Нет
update_hash_tag_body models::UpdateHashTagBody Нет

Ответ

Возвращает: PatchHashTag200Response

Пример

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

create_moderator Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_moderator_body models::CreateModeratorBody Да

Ответ

Возвращает: CreateModerator200Response

Пример

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

delete_moderator Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
send_email String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_moderator Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetModerator200Response

Пример

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

get_moderators Internal Link

Параметры

Имя Type Обязательно Описание
tenant_id String Да
skip f64 Нет

Ответ

Возвращает: GetModerators200Response

Пример

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

send_invite Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
from_name String Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

update_moderator Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_moderator_body models::UpdateModeratorBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

delete_notification_count Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_cached_notification_count Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetCachedNotificationCount200Response

Пример

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

get_notification_count Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
user_id String Нет
url_id String Нет
from_comment_id String Нет
viewed bool Нет

Ответ

Возвращает: GetNotificationCount200Response

Пример

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

get_notifications Internal Link

Параметры

Name Type Required Description
tenant_id String Да
user_id String Нет
url_id String Нет
from_comment_id String Нет
viewed bool Нет
skip f64 Нет

Ответ

Возвращает: GetNotifications200Response

Пример

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

update_notification Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_notification_body models::UpdateNotificationBody Да
user_id String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

add_page Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_api_page_data models::CreateApiPageData Да

Ответ

Возвращает: AddPageApiResponse


delete_page Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: DeletePageApiResponse


get_page_by_urlid Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
url_id String Да

Ответ

Возвращает: GetPageByUrlidApiResponse

get_pages Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да

Ответ

Возвращает: GetPagesApiResponse


patch_page Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_api_page_data models::UpdateApiPageData Да

Ответ

Возвращает: PatchPageApiResponse


delete_pending_webhook_event Internal Link

Параметры

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

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_pending_webhook_event_count Internal Link

Параметры

Name Type Required Description
tenant_id String Да
comment_id String Нет
external_id String Нет
event_type String Нет
domain String Нет
attempt_count_gt f64 Нет

Ответ

Возвращает: GetPendingWebhookEventCount200Response

Пример

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

get_pending_webhook_events Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
comment_id String Нет
external_id String Нет
event_type String Нет
domain String Нет
attempt_count_gt f64 Нет
skip f64 Нет

Ответ

Возвращает: GetPendingWebhookEvents200Response

Пример

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

create_question_config Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_question_config_body models::CreateQuestionConfigBody Да

Ответ

Возвращает: CreateQuestionConfig200Response

Пример

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

delete_question_config Internal Link


Параметры

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

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_question_config Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetQuestionConfig200Response

Пример

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

get_question_configs Internal Link

Параметры

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

Ответ

Возвращает: GetQuestionConfigs200Response

Пример

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

update_question_config Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_question_config_body models::UpdateQuestionConfigBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

create_question_result Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_question_result_body models::CreateQuestionResultBody Да

Ответ

Возвращает: CreateQuestionResult200Response

Пример

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

delete_question_result Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_question_result Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetQuestionResult200Response

Пример

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

get_question_results Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
url_id String Нет
user_id String Нет
start_date String Нет
question_id String Нет
question_ids String Нет
skip f64 Нет

Ответ

Возвращает: GetQuestionResults200Response

Пример

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

update_question_result Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_question_result_body models::UpdateQuestionResultBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

aggregate_question_results Internal Link

Параметры

Name Type Required Description
tenant_id String Да
question_id String Нет
question_ids Vec Нет
url_id String Нет
time_bucket models::AggregateTimeBucket Нет
start_date String Нет
force_recalculate bool Нет

Ответ

Возвращает: AggregateQuestionResults200Response

Пример

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

bulk_aggregate_question_results Internal Link

Параметры

Name Type Required Description
tenant_id String Да
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Да
force_recalculate bool Нет

Ответ

Возвращает: BulkAggregateQuestionResults200Response

Пример

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

combine_comments_with_question_results 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

Пример

Пример 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_id String Да
create_apisso_user_data models::CreateApissoUserData Да

Ответ

Возвращает: AddSsoUserApiResponse


delete_sso_user Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Yes
id String Yes
delete_comments bool No
comment_delete_mode String No

Ответ

Возвращает: DeleteSsoUserApiResponse


get_sso_user_by_email Internal Link

Параметры

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

Ответ

Возвращает: GetSsoUserByEmailApiResponse


get_sso_user_by_id Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetSsoUserByIdApiResponse


get_sso_users Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
skip i32 Нет

Ответ

Возвращает: GetSsoUsers200Response

patch_sso_user Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Нет

Ответ

Возвращает: PatchSsoUserApiResponse


put_sso_user Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_apisso_user_data models::UpdateApissoUserData Да
update_comments bool Нет

Ответ

Возвращает: PutSsoUserApiResponse


create_subscription Internal Link

Параметры

Name Type Required Description
tenant_id String Да
create_api_user_subscription_data models::CreateApiUserSubscriptionData Да

Ответ

Возвращает: CreateSubscriptionApiResponse

Пример

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

delete_subscription Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
user_id String Нет

Ответ

Возвращает: DeleteSubscriptionApiResponse


get_subscriptions Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
user_id String Нет

Ответ

Возвращает: GetSubscriptionsApiResponse

Пример

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

update_subscription Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_api_user_subscription_data models::UpdateApiUserSubscriptionData Да
user_id String Нет

Ответ

Возвращает: UpdateSubscriptionApiResponse

Пример

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

get_tenant_daily_usages Internal Link

Параметры

Name Type Required Description
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_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

Параметры

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

Ответ

Возвращает: CreateTenantPackage200Response

Пример

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

delete_tenant_package Internal Link

Параметры

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

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_tenant_package Internal Link

Параметры

Name Type Required Description
tenant_id String Yes
id String Yes

Response

Возвращает: 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_id String Да
skip f64 Нет

Ответ

Возвращает: 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_id String Да
id String Да
replace_tenant_package_body models::ReplaceTenantPackageBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

update_tenant_package Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
update_tenant_package_body models::UpdateTenantPackageBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

create_tenant_user Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
create_tenant_user_body models::CreateTenantUserBody Да

Ответ

Возвращает: CreateTenantUser200Response

Пример

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

delete_tenant_user 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-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_id String Yes
id String Yes

Ответ

Возвращает: 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

Параметры

Name Тип Обязательно Описание
tenant_id String Да
skip f64 Нет

Ответ

Возвращает: GetTenantUsers200Response

Пример

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

replace_tenant_user Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
id String Да
replace_tenant_user_body models::ReplaceTenantUserBody Да
update_comments String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

Параметры

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

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

update_tenant_user Internal Link

Параметры

Name Type Обязательно Description
tenant_id String Да
id String Да
update_tenant_user_body models::UpdateTenantUserBody Да
update_comments String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

create_tenant Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Yes
create_tenant_body models::CreateTenantBody Yes

Ответ

Возвращает: 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_id String Да
id String Да
sure String Нет

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

get_tenant Internal Link

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetTenant200Response

Пример

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

get_tenants Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Yes
meta String No
skip f64 No

Ответ

Возвращает: 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_id String Да
id String Да
update_tenant_body models::UpdateTenantBody Да

Ответ

Возвращает: FlagCommentPublic200Response

Пример

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

change_ticket_state Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
user_id String Да
id String Да
change_ticket_state_body models::ChangeTicketStateBody Да

Ответ

Возвращает: ChangeTicketState200Response

Пример

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

create_ticket Internal Link

Параметры

Name Type Required Description
tenant_id String Да
user_id String Да
create_ticket_body models::CreateTicketBody Да

Ответ

Возвращает: CreateTicket200Response

Пример

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

get_ticket Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да
user_id String Нет

Ответ

Возвращает: GetTicket200Response

Пример

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

get_tickets Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
user_id String Нет
state f64 Нет
skip f64 Нет
limit f64 Нет

Ответ

Возвращает: GetTickets200Response

Пример

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

upload_image Internal Link

Загрузить и изменить размер изображения

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
file std::path::PathBuf Да
size_preset models::SizePreset Нет
url_id String Нет

Ответ

Возвращает: UploadImageResponse

get_user_badge_progress_by_id Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: GetUserBadgeProgressById200Response

Пример

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

get_user_badge_progress_by_user_id Internal Link


Параметры

Имя Тип Обязательно Описание
tenant_id String Да
user_id String Да

Ответ

Возвращает: GetUserBadgeProgressById200Response

Пример

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

get_user_badge_progress_list Internal Link

Параметры

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

Ответ

Возвращает: GetUserBadgeProgressList200Response

Пример

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

create_user_badge Internal Link


Параметры

Name Type Required Description
tenant_id String Да
create_user_badge_params models::CreateUserBadgeParams Да

Ответ

Возвращает: CreateUserBadge200Response

Пример

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

delete_user_badge Internal Link

Параметры

Имя Тип Обязательно Описание
tenant_id String Да
id String Да

Ответ

Возвращает: UpdateUserBadge200Response

Пример

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

get_user_badge Internal Link

Параметры

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

Ответ

Возвращает: GetUserBadge200Response

Пример

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

get_user_badges Internal Link

Параметры

Name Type Required Description
tenant_id String Да
user_id String Нет
badge_id String Нет
displayed_on_comments bool Нет
limit f64 Нет
skip f64 Нет

Ответ

Возвращает: GetUserBadges200Response

Пример

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

update_user_badge Internal Link

Параметры

Name Type Required Description
tenant_id String Да
id String Да
update_user_badge_params models::UpdateUserBadgeParams Да

Ответ

Возвращает: UpdateUserBadge200Response

Пример

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

get_user_notification_count Internal Link

Параметры

Name Type Обязательный Описание
tenant_id String Да
sso String Нет

Ответ

Возвращает: 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

Параметры

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

Ответ

Возвращает: 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_id String Да
sso String Нет

Ответ

Возвращает: ResetUserNotifications200Response

Пример

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

reset_user_notifications Internal Link


Параметры

Name Тип Обязательно Описание
tenant_id String Да
after_id String Нет
after_created_at i64 Нет
unread_only bool Нет
dm_only bool Нет
no_dm bool Нет
sso String Нет

Ответ

Возвращает: ResetUserNotifications200Response

Пример

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

update_user_notification_comment_subscription_status Internal Link


Включение или отключение уведомлений для конкретного комментария.

Параметры

Имя Тип Обязательный Описание
tenant_id String Да
notification_id String Да
opted_in_or_out String Да
comment_id String Да
sso String Нет

Ответ

Возвращает: UpdateUserNotificationStatus200Response

Пример

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

update_user_notification_page_subscription_status Internal Link

Включить или отключить уведомления для страницы. Когда пользователи подписаны на страницу, создаются уведомления для новых корневых комментариев, а также

Параметры

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

Ответ

Возвращает: UpdateUserNotificationStatus200Response

Пример

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

update_user_notification_status Internal Link

Параметры

Name Type Обязательно Описание
tenant_id String Да
notification_id String Да
new_status String Да
sso String Нет

Ответ

Возвращает: UpdateUserNotificationStatus200Response

Пример

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

get_user_presence_statuses Internal Link

Параметры

Name Type Required Description
tenant_id String Да
url_id_ws String Да
user_ids String Да

Ответ

Возвращает: GetUserPresenceStatuses200Response

Пример

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

search_users Internal Link

Параметры

Name Type Required Description
tenant_id String Да
url_id String Да
username_starts_with String Нет
mention_group_ids Vec Нет
sso String Нет
search_section String Нет

Ответ

Возвращает: 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


Параметры

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

Ответ

Возвращает: GetUser200Response

Пример

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

create_vote Internal Link

Параметры

Name Type Required Description
tenant_id String Да
comment_id String Да
direction String Да
user_id String Нет
anon_user_id String Нет

Ответ

Возвращает: 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_id String Yes
id String Yes
edit_key String No

Ответ

Возвращает: DeleteCommentVote200Response

Пример

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

get_votes Internal Link

Параметры

Name Type Required Description
tenant_id String Yes
url_id String Yes

Ответ

Возвращает: 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

Параметры

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

Ответ

Возвращает: GetVotesForUser200Response

Пример

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

Нужна помощь?

Если у вас возникнут какие-либо проблемы или вопросы по Rust SDK, пожалуйста:

Участие

Вклады приветствуются! Пожалуйста, посетите репозиторий на GitHub для инструкций по участию.