FastComments.com

FastComments Rust SDK

To jest oficjalne SDK w języku Rust dla FastComments.

Oficjalne SDK Rust dla API FastComments

Repozytorium

Zobacz na GitHub


Instalacja Internal Link

cargo add fastcomments-sdk

SDK wymaga edycji Rust 2021 lub nowszej.

Zawartość biblioteki Internal Link


FastComments Rust SDK składa się z kilku modułów:

  • Moduł klienta - Automatycznie wygenerowany klient API dla interfejsów REST FastComments

    • Pełne definicje typów dla wszystkich modeli API
    • Zarówno uwierzytelnione (DefaultApi) i publiczne (PublicApi) punkty końcowe
    • Pełne wsparcie dla async/await z tokio
    • Zobacz client/README.md dla szczegółowej dokumentacji API
  • Moduł SSO - Narzędzia Single Sign-On po stronie serwera

    • Bezpieczne generowanie tokenów do uwierzytelniania użytkowników
    • Wsparcie zarówno dla prostych, jak i zabezpieczonych trybów SSO
    • Podpisywanie tokenów oparte na HMAC-SHA256
  • Typy podstawowe - Wspólne definicje typów i narzędzia

    • Modele komentarzy i struktury metadanych
    • Konfiguracje użytkowników i tenantów
    • Funkcje pomocnicze dla typowych operacji

Szybki start Internal Link

Korzystanie z publicznego API

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

#[tokio::main]
async fn main() {
    // Utwórz konfigurację API
    let config = Configuration::new();

    // Pobierz komentarze dla strony
    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),
    }
}

Korzystanie z uwierzytelnionego API

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

#[tokio::main]
async fn main() {
    // Utwórz konfigurację z kluczem API
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // Pobierz komentarze przy użyciu uwierzytelnionego 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),
    }
}

Korzystanie z SSO do uwierzytelniania

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

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

    // Utwórz bezpieczne dane użytkownika SSO (tylko po stronie serwera!)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // ID użytkownika
        "user@example.com".to_string(),   // Email
        "John Doe".to_string(),            // Nazwa użytkownika
        "https://example.com/avatar.jpg".to_string(), // URL avatara
    );

    // Wygeneruj token SSO
    let sso = FastCommentsSSO::new_secure(api_key, &user_data).unwrap();
    let token = sso.create_token().unwrap();

    println!("SSO Token: {}", token);
    // Przekaż ten token do frontendu w celu uwierzytelnienia
}

Typowe problemy Internal Link

401 — Błędy nieautoryzowane

Jeśli otrzymujesz błędy 401 podczas korzystania z uwierzytelnionego API:

  1. Sprawdź swój klucz API: Upewnij się, że używasz poprawnego klucza API z panelu FastComments
  2. Zweryfikuj tenant ID: Upewnij się, że tenant ID odpowiada Twojemu kontu
  3. Format klucza API: Klucz API powinien być przekazany w Configuration:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

Problemy z tokenami SSO

Jeśli tokeny SSO nie działają:

  1. Używaj trybu bezpiecznego w produkcji: Zawsze używaj FastCommentsSSO::new_secure() z Twoim kluczem API w środowisku produkcyjnym
  2. Tylko po stronie serwera: Generuj tokeny SSO na serwerze, nigdy nie ujawniaj klucza API klientom
  3. Sprawdź dane użytkownika: Upewnij się, że wszystkie wymagane pola (id, email, username) są dostarczone

Błędy środowiska uruchomieniowego asynchronicznego

SDK używa tokio do operacji asynchronicznych. Upewnij się, że:

  1. Dodaj tokio do swoich zależności:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. Użyj środowiska uruchomieniowego tokio:

    #[tokio::main]
    async fn main() {
     // Twój kod asynchroniczny tutaj
    }

Notatki Internal Link

Identyfikatory transmisji

Zauważysz, że w niektórych wywołaniach API trzeba przekazać broadcastId. Kiedy otrzymasz zdarzenia, otrzymasz z powrotem to ID, dzięki czemu będziesz wiedzieć, aby zignorować zdarzenie, jeśli planujesz optymistycznie zastosować zmiany po stronie klienta (czego prawdopodobnie będziesz chciał zrobić, ponieważ zapewnia to najlepsze doświadczenie). Przekaż tutaj UUID. ID powinno być na tyle unikalne, by nie pojawiło się dwa razy w sesji przeglądarki.

Agregacja Internal Link


Agreguje dokumenty przez grupowanie ich (jeśli podano groupBy) i stosowanie wielu operacji. Obsługiwane są różne operacje (np. sum, countDistinct, avg itd.).

Parametry

Name Type Wymagane Opis
tenant_id String Tak
aggregation_request models::AggregationRequest Tak
parent_tenant_id String Nie
include_stats bool Nie

Odpowiedź

Zwraca: AggregationResponse


Pobierz dzienniki audytu Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
limit f64 Nie
skip f64 Nie
order models::SortDir Nie
after f64 Nie
before f64 Nie

Odpowiedź

Zwraca: GetAuditLogs200Response


Zablokuj z komentarza (publiczne) Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
public_block_from_comment_params models::PublicBlockFromCommentParams Tak
sso String Nie

Odpowiedź

Zwraca: BlockFromCommentPublic200Response


Odblokuj komentarz (publiczne) Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
public_block_from_comment_params models::PublicBlockFromCommentParams Tak
sso String Nie

Odpowiedź

Zwraca: UnBlockCommentPublic200Response


Sprawdź zablokowane komentarze Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_ids String Tak
sso String Nie

Odpowiedź

Zwraca: CheckedCommentsForBlocked200Response


Zablokuj użytkownika z komentarza Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
block_from_comment_params models::BlockFromCommentParams Tak
user_id String Nie
anon_user_id String Nie

Odpowiedź

Zwraca: BlockFromCommentPublic200Response


Utwórz komentarz (publiczny) Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
url_id String Tak
broadcast_id String Tak
comment_data models::CommentData Tak
session_id String Nie
sso String Nie

Odpowiedź

Zwraca: CreateCommentPublic200Response


Usuń komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
context_user_id String Nie
is_live bool Nie

Odpowiedź

Zwraca: DeleteComment200Response


Usuń komentarz (publiczny) Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
edit_key String Nie
sso String Nie

Odpowiedź

Zwraca: DeleteCommentPublic200Response


Usuń głos komentarza Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
vote_id String Tak
url_id String Tak
broadcast_id String Tak
edit_key String Nie
sso String Nie

Odpowiedź

Zwraca: DeleteCommentVote200Response


Zgłoś komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
user_id String Nie
anon_user_id String Nie

Odpowiedź

Zwraca: FlagComment200Response


Pobierz komentarz Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetComment200Response


Pobierz treść komentarza Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
edit_key String Nie
sso String Nie

Odpowiedź

Zwraca: GetCommentText200Response


Pobierz nazwy użytkowników głosujących na komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
dir i32 Tak
sso String Nie

Odpowiedź

Zwraca: GetCommentVoteUserNames200Response

Pobierz komentarze Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
page i32 Nie
limit i32 Nie
skip i32 Nie
as_tree bool Nie
skip_children i32 Nie
limit_children i32 Nie
max_tree_depth i32 Nie
url_id String Nie
user_id String Nie
anon_user_id String Nie
context_user_id String Nie
hash_tag String Nie
parent_id String Nie
direction models::SortDirections Nie

Odpowiedź

Zwraca: GetComments200Response


Pobierz komentarze (publiczne) Internal Link

req tenantId urlId

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
page i32 Nie
direction models::SortDirections Nie
sso String Nie
skip i32 Nie
skip_children i32 Nie
limit i32 Nie
limit_children i32 Nie
count_children bool Nie
fetch_page_for_comment_id String Nie
include_config bool Nie
count_all bool Nie
includei10n bool Nie
locale String Nie
modules String Nie
is_crawler bool Nie
include_notification_count bool Nie
as_tree bool Nie
max_tree_depth i32 Nie
use_full_translation_ids bool Nie
parent_id String Nie
search_text String Nie
hash_tags Vec Nie
user_id String Nie
custom_config_str String Nie
after_comment_id String Nie
before_comment_id String Nie

Odpowiedź

Zwraca: GetCommentsPublic200Response

Zablokuj komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
sso String Nie

Odpowiedź

Zwraca: LockComment200Response


Przypnij komentarz Internal Link


Parameters

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
sso String Nie

Response

Zwraca: PinComment200Response


Zapisz komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_comment_params models::CreateCommentParams Tak
is_live bool Nie
do_spam_check bool Nie
send_emails bool Nie
populate_notifications bool Nie

Odpowiedź

Zwraca: SaveComment200Response


Zapisz komentarze masowo Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_comment_params Vecmodels::CreateCommentParams Tak
is_live bool Nie
do_spam_check bool Nie
send_emails bool Nie
populate_notifications bool Nie

Odpowiedź

Zwraca: Vec<models::SaveComment200Response>


Ustaw treść komentarza Internal Link


Parametry

Name Type Required Description
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
comment_text_update_request models::CommentTextUpdateRequest Tak
edit_key String Nie
sso String Nie

Odpowiedź

Zwraca: SetCommentText200Response


Odblokuj użytkownika z komentarza Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
un_block_from_comment_params models::UnBlockFromCommentParams Tak
user_id String Nie
anon_user_id String Nie

Odpowiedź

Zwraca: UnBlockCommentPublic200Response


Cofnij zgłoszenie komentarza Internal Link

Parametry

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

Odpowiedź

Zwraca: FlagComment200Response


Odblokuj komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
sso String Nie

Odpowiedź

Zwraca: LockComment200Response


Odepnij komentarz Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
broadcast_id String Tak
sso String Nie

Odpowiedź

Zwraca: PinComment200Response


Aktualizuj komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
body models::PickApiCommentPeriodUpdatableCommentFields Tak
context_user_id String Nie
do_spam_check bool Nie
is_live bool Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Oddaj głos na komentarz Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
url_id String Tak
broadcast_id String Tak
vote_body_params models::VoteBodyParams Tak
session_id String Nie
sso String Nie

Odpowiedź

Zwraca: VoteComment200Response


Dodaj konfigurację domeny Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
add_domain_config_params models::AddDomainConfigParams Tak

Odpowiedź

Zwraca: AddDomainConfig200Response


Usuń konfigurację domeny Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
domain String Tak

Odpowiedź

Zwraca: DeleteDomainConfig200Response


Pobierz konfigurację domeny Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
domain String Tak

Odpowiedź

Zwraca: GetDomainConfig200Response


Pobierz konfiguracje domen Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak

Odpowiedź

Zwraca: GetDomainConfigs200Response

Zaktualizuj częściowo konfigurację domeny Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
domain_to_update String Tak
patch_domain_config_params models::PatchDomainConfigParams Tak

Odpowiedź

Zwraca: GetDomainConfig200Response


Zastąp konfigurację domeny Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
domain_to_update String Tak
update_domain_config_params models::UpdateDomainConfigParams Tak

Odpowiedź

Zwraca: GetDomainConfig200Response


Utwórz szablon e-mail Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_email_template_body models::CreateEmailTemplateBody Tak

Odpowiedź

Zwraca: CreateEmailTemplate200Response

Przykład

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

Usuń szablon e-mail Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Usuń błąd renderowania szablonu e-mail Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
error_id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz szablon e-mail Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetEmailTemplate200Response

Przykład

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

Pobierz definicje szablonów e-mail Internal Link

Parametry

Name Type Required Description
tenant_id String Tak

Odpowiedź

Zwraca: GetEmailTemplateDefinitions200Response

Przykład

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

Pobierz błędy renderowania szablonów e-mail Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetEmailTemplateRenderErrors200Response

Przykład

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

Pobierz szablony e-mail Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetEmailTemplates200Response

Przykład

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

Wyrenderuj szablon e-mail Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
render_email_template_body models::RenderEmailTemplateBody Tak
locale String Nie

Odpowiedź

Zwraca: RenderEmailTemplate200Response

Przykład

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

Aktualizuj szablon e-mail Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak
update_email_template_body models::UpdateEmailTemplateBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz dziennik zdarzeń Internal Link


req tenantId urlId userIdWS

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
user_id_ws String Tak
start_time i64 Tak
end_time i64 Tak

Odpowiedź

Zwraca: GetEventLog200Response


Pobierz globalny dziennik zdarzeń Internal Link

req tenantId urlId userIdWS

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
user_id_ws String Tak
start_time i64 Tak
end_time i64 Tak

Odpowiedź

Zwraca: GetEventLog200Response


Utwórz wpis w kanale Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_feed_post_params models::CreateFeedPostParams Tak
broadcast_id String Nie
is_live bool Nie
do_spam_check bool Nie
skip_dup_check bool Nie

Odpowiedź

Zwraca: CreateFeedPost200Response


Utwórz wpis w kanale (publiczny) Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_feed_post_params models::CreateFeedPostParams Tak
broadcast_id String Nie
sso String Nie

Odpowiedź

Zwraca: CreateFeedPostPublic200Response


Usuń wpis w kanale (publiczny) Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
post_id String Tak
broadcast_id String Nie
sso String Nie

Odpowiedź

Zwraca: DeleteFeedPostPublic200Response


Pobierz wpisy kanału Internal Link


req tenantId afterId

Parametry

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

Odpowiedź

Zwraca: GetFeedPosts200Response


Pobierz wpisy kanału (publiczne) Internal Link

req tenantId afterId

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
after_id String Nie
limit i32 Nie
tags Vec Nie
sso String Nie
is_crawler bool Nie
include_user_info bool Nie

Odpowiedź

Zwraca: GetFeedPostsPublic200Response

Pobierz statystyki wpisów kanału Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
post_ids Vec Tak
sso String Nie

Odpowiedź

Zwraca: GetFeedPostsStats200Response


Pobierz reakcje użytkowników (publiczne) Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
post_ids Vec Nie
sso String Nie

Odpowiedź

Zwraca: GetUserReactsPublic200Response


Zareaguj na wpis w kanale (publiczne) Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
post_id String Tak
react_body_params models::ReactBodyParams Tak
is_undo bool Nie
broadcast_id String Nie
sso String Nie

Odpowiedź

Zwraca: ReactFeedPostPublic200Response


Aktualizuj wpis w kanale Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
feed_post models::FeedPost Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response


Aktualizuj wpis w kanale (publiczny) Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
post_id String Tak
update_feed_post_params models::UpdateFeedPostParams Tak
broadcast_id String Nie
sso String Nie

Odpowiedź

Zwraca: CreateFeedPostPublic200Response


Zgłoś komentarz (publiczne) Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
is_flagged bool Tak
sso String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Dodaj hashtag Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Nie
create_hash_tag_body models::CreateHashTagBody Nie

Odpowiedź

Zwraca: AddHashTag200Response

Przykład

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

Dodaj hashtagi masowo Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Nie
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Nie

Odpowiedź

Zwraca: AddHashTagsBulk200Response

Przykład

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

Usuń hashtag Internal Link

Parametry

Nazwa Typ Wymagane Opis
tag String Tak
tenant_id String Nie
delete_hash_tag_request models::DeleteHashTagRequest Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz hashtagi Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
page f64 Nie

Odpowiedź

Zwraca: GetHashTags200Response

Przykład

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

Zaktualizuj częściowo hashtag Internal Link

Parametry

Name Type Required Description
tag String Tak
tenant_id String Nie
update_hash_tag_body models::UpdateHashTagBody Nie

Odpowiedź

Zwraca: PatchHashTag200Response

Przykład

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

Utwórz moderatora Internal Link

Parameters

Name Type Required Description
tenant_id String Tak
create_moderator_body models::CreateModeratorBody Tak

Odpowiedź

Zwraca: CreateModerator200Response

Przykład

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

Usuń moderatora Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
id String Tak
send_email String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz moderatora Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetModerator200Response

Przykład

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

Pobierz moderatorów Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetModerators200Response

Przykład

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

Wyślij zaproszenie Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
from_name String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Aktualizuj moderatora Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak
update_moderator_body models::UpdateModeratorBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Usuń licznik powiadomień Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz zbuforowaną liczbę powiadomień Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetCachedNotificationCount200Response

Przykład

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

Pobierz liczbę powiadomień Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
user_id String Nie
url_id String Nie
from_comment_id String Nie
viewed bool Nie

Odpowiedź

Zwraca: GetNotificationCount200Response

Przykład

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

Pobierz powiadomienia Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Yes
user_id String No
url_id String No
from_comment_id String No
viewed bool No
skip f64 No

Odpowiedź

Zwraca: GetNotifications200Response

Przykład

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

Aktualizuj powiadomienie Internal Link

Parameters

Name Type Required Description
tenant_id String Tak
id String Tak
update_notification_body models::UpdateNotificationBody Tak
user_id String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Dodaj stronę Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_api_page_data models::CreateApiPageData Tak

Odpowiedź

Zwraca: AddPageApiResponse


Usuń stronę Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: DeletePageApiResponse


Pobierz stronę po identyfikatorze URL Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak

Odpowiedź

Zwraca: GetPageByUrlidApiResponse


Pobierz strony Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak

Odpowiedź

Zwraca: GetPagesApiResponse


Zaktualizuj częściowo stronę Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_api_page_data models::UpdateApiPageData Tak

Odpowiedź

Zwraca: PatchPageApiResponse


Usuń oczekujące zdarzenie webhook Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Yes
id String Yes

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz liczbę oczekujących zdarzeń webhook Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
comment_id String Nie
external_id String Nie
event_type String Nie
domain String Nie
attempt_count_gt f64 Nie

Odpowiedź

Zwraca: GetPendingWebhookEventCount200Response

Przykład

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

Pobierz oczekujące zdarzenia webhook Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Nie
external_id String Nie
event_type String Nie
domain String Nie
attempt_count_gt f64 Nie
skip f64 Nie

Odpowiedź

Zwraca: GetPendingWebhookEvents200Response

Przykład

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

Utwórz konfigurację pytania Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
create_question_config_body models::CreateQuestionConfigBody Tak

Odpowiedź

Zwraca: CreateQuestionConfig200Response

Przykład

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

Usuń konfigurację pytania Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz konfigurację pytania Internal Link

Parametry

Name Type Required Description
tenant_id String Yes
id String Yes

Odpowiedź

Zwraca: GetQuestionConfig200Response

Przykład

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

Pobierz konfiguracje pytań Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetQuestionConfigs200Response

Przykład

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

Aktualizuj konfigurację pytania Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_question_config_body models::UpdateQuestionConfigBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Utwórz wynik pytania Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_question_result_body models::CreateQuestionResultBody Tak

Odpowiedź

Zwraca: CreateQuestionResult200Response

Przykład

Przykład create_question_result
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateQuestionResultParams = CreateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_result_body: models::CreateQuestionResultBody {
6 question_id: "feedback-article-2026".to_string(),
7 comment_id: Some("cmt-2026-001".to_string()),
8 user_id: Some("reader-007".to_string()),
9 answer: "yes".to_string(),
10 score: Some(4),
11 metadata: Some(std::collections::HashMap::from([(
12 "path".to_string(),
13 "news/politics/2026-election".to_string(),
14 )])),
15 anonymous: Some(false),
16 submitted_at: Some("2026-01-12T09:15:00Z".to_string()),
17 },
18 };
19
20 let created: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
21 Ok(())
22}
23

Usuń wynik pytania Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz wynik pytania Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Yes
id String Yes

Odpowiedź

Zwraca: GetQuestionResult200Response

Przykład

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

Pobierz wyniki pytań Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
url_id String Nie
user_id String Nie
start_date String Nie
question_id String Nie
question_ids String Nie
skip f64 Nie

Odpowiedź

Zwraca: GetQuestionResults200Response

Przykład

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

Aktualizuj wynik pytania Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_question_result_body models::UpdateQuestionResultBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Agreguj wyniki pytań Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
question_id String Nie
question_ids Vec Nie
url_id String Nie
time_bucket models::AggregateTimeBucket Nie
start_date String Nie
force_recalculate bool Nie

Odpowiedź

Zwraca: AggregateQuestionResults200Response


Masowa agregacja wyników pytań Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Tak
force_recalculate bool Nie

Odpowiedź

Zwraca: BulkAggregateQuestionResults200Response


Połącz komentarze z wynikami pytań Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
question_id String Nie
question_ids Vec Nie
url_id String Nie
start_date String Nie
force_recalculate bool Nie
min_value f64 Nie
max_value f64 Nie
limit f64 Nie

Odpowiedź

Zwraca: CombineCommentsWithQuestionResults200Response


Dodaj użytkownika SSO Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_apisso_user_data models::CreateApissoUserData Tak

Odpowiedź

Zwraca: AddSsoUserApiResponse

Usuń użytkownika SSO Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
delete_comments bool Nie
comment_delete_mode String Nie

Odpowiedź

Zwraca: DeleteSsoUserApiResponse


Pobierz użytkownika SSO po e-mailu Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
email String Tak

Odpowiedź

Zwraca: GetSsoUserByEmailApiResponse


Pobierz użytkownika SSO po identyfikatorze Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetSsoUserByIdApiResponse


Pobierz użytkowników SSO Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
skip i32 Nie

Odpowiedź

Zwraca: GetSsoUsers200Response


Zaktualizuj częściowo użytkownika SSO Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_apisso_user_data models::UpdateApissoUserData Tak
update_comments bool Nie

Odpowiedź

Zwraca: PatchSsoUserApiResponse


Zastąp użytkownika SSO Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_apisso_user_data models::UpdateApissoUserData Tak
update_comments bool Nie

Odpowiedź

Zwraca: PutSsoUserApiResponse


Utwórz subskrypcję Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_api_user_subscription_data models::CreateApiUserSubscriptionData Tak

Odpowiedź

Zwraca: CreateSubscriptionApiResponse

Usuń subskrypcję Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
user_id String Nie

Odpowiedź

Zwraca: DeleteSubscriptionApiResponse


Pobierz subskrypcje Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
user_id String Nie

Odpowiedź

Zwraca: GetSubscriptionsApiResponse


Pobierz dzienne użycie najemcy Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
year_number f64 Nie
month_number f64 Nie
day_number f64 Nie
skip f64 Nie

Odpowiedź

Zwraca: GetTenantDailyUsages200Response

Przykład

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

Utwórz pakiet najemcy Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_tenant_package_body models::CreateTenantPackageBody Tak

Odpowiedź

Zwraca: CreateTenantPackage200Response

Przykład

Przykład create_tenant_package
Copy Copy
1
2async fn run_create_package() -> Result<(), Error> {
3 let params: CreateTenantPackageParams = CreateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_package_body: models::CreateTenantPackageBody {
6 name: "Acme News Package".to_string(),
7 description: Some("Moderated comments for Acme News articles".to_string()),
8 plan: Some("standard".to_string()),
9 allow_gifs: Some(true),
10 gif_rating: Some(GifRating::GeneralAudience),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 sso_security_level: Some(SsoSecurityLevel::Strict),
13 custom_config: Some(CustomConfigParameters {
14 max_comment_length: Some(1000),
15 require_moderation: Some(true),
16 }),
17 },
18 };
19 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
20 let _package: TenantPackage = response.0;
21 Ok(())
22}
23

Usuń pakiet najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz pakiet najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetTenantPackage200Response

Przykład

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

Pobierz pakiety najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetTenantPackages200Response

Przykład

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

Zastąp pakiet najemcy Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
replace_tenant_package_body models::ReplaceTenantPackageBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Aktualizuj pakiet najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_tenant_package_body models::UpdateTenantPackageBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Utwórz użytkownika najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_tenant_user_body models::CreateTenantUserBody Tak

Odpowiedź

Zwraca: CreateTenantUser200Response

Przykład

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

Usuń użytkownika najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
delete_comments String Nie
comment_delete_mode String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz użytkownika najemcy Internal Link


Parametry

Name Type Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetTenantUser200Response

Przykład

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

Pobierz użytkowników najemcy Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
skip f64 Nie

Odpowiedź

Zwraca: GetTenantUsers200Response

Przykład

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

Zastąp użytkownika najemcy Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
id String Tak
replace_tenant_user_body models::ReplaceTenantUserBody Tak
update_comments String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak
redirect_url String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Aktualizuj użytkownika najemcy Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_tenant_user_body models::UpdateTenantUserBody Tak
update_comments String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Utwórz najemcę Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_tenant_body models::CreateTenantBody Tak

Odpowiedź

Zwraca: CreateTenant200Response

Przykład

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

Usuń najemcę Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
id String Tak
sure String Nie

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Pobierz najemcę Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetTenant200Response

Przykład

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

Pobierz najemców Internal Link

Parameters

Name Type Required Description
tenant_id String Tak
meta String Nie
skip f64 Nie

Odpowiedź

Zwraca: GetTenants200Response

Przykład

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

Aktualizuj najemcę Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
id String Tak
update_tenant_body models::UpdateTenantBody Tak

Odpowiedź

Zwraca: FlagCommentPublic200Response

Przykład

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

Prześlij obraz Internal Link


Prześlij i zmień rozmiar obrazu

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
file std::path::PathBuf Tak
size_preset models::SizePreset Nie
url_id String Nie

Odpowiedź

Zwraca: UploadImageResponse


Pobierz postęp odznaki użytkownika po ID Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetUserBadgeProgressById200Response


Pobierz postęp odznaki użytkownika po ID użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
user_id String Tak

Odpowiedź

Zwraca: GetUserBadgeProgressById200Response


Pobierz listę postępów odznak użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
user_id String Nie
limit f64 Nie
skip f64 Nie

Odpowiedź

Zwraca: GetUserBadgeProgressList200Response


Utwórz odznakę użytkownika Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
create_user_badge_params models::CreateUserBadgeParams Tak

Odpowiedź

Zwraca: CreateUserBadge200Response


Usuń odznakę użytkownika Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: UpdateUserBadge200Response


Pobierz odznakę użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetUserBadge200Response

Pobierz odznaki użytkownika Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
user_id String Nie
badge_id String Nie
displayed_on_comments bool Nie
limit f64 Nie
skip f64 Nie

Odpowiedź

Zwraca: GetUserBadges200Response


Aktualizuj odznakę użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
update_user_badge_params models::UpdateUserBadgeParams Tak

Odpowiedź

Zwraca: UpdateUserBadge200Response


Pobierz liczbę powiadomień użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
sso String Nie

Odpowiedź

Zwraca: GetUserNotificationCount200Response


Pobierz powiadomienia użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
page_size i32 Nie
after_id String Nie
include_context bool Nie
after_created_at i64 Nie
unread_only bool Nie
dm_only bool Nie
no_dm bool Nie
include_translations bool Nie
sso String Nie

Odpowiedź

Zwraca: GetUserNotifications200Response


Zresetuj licznik powiadomień użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
sso String Nie

Odpowiedź

Zwraca: ResetUserNotifications200Response


Zresetuj powiadomienia użytkownika Internal Link

Parametry

Name Type Wymagane Opis
tenant_id String Tak
after_id String Nie
after_created_at i64 Nie
unread_only bool Nie
dm_only bool Nie
no_dm bool Nie
sso String Nie

Odpowiedź

Zwraca: ResetUserNotifications200Response


Aktualizuj status subskrypcji powiadomień o komentarzach użytkownika Internal Link

Włącz lub wyłącz powiadomienia dla konkretnego komentarza.

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
notification_id String Tak
opted_in_or_out String Tak
comment_id String Tak
sso String Nie

Odpowiedź

Zwraca: UpdateUserNotificationStatus200Response


Aktualizuj status subskrypcji powiadomień o stronie użytkownika Internal Link

Włącz lub wyłącz powiadomienia dla strony. Gdy użytkownicy subskrybują stronę, tworzone są powiadomienia o nowych komentarzach głównych, i także

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
url String Tak
page_title String Tak
subscribed_or_unsubscribed String Tak
sso String Nie

Odpowiedź

Zwraca: UpdateUserNotificationStatus200Response


Aktualizuj status powiadomienia użytkownika Internal Link


Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
notification_id String Tak
new_status String Tak
sso String Nie

Odpowiedź

Zwraca: UpdateUserNotificationStatus200Response


Pobierz statusy obecności użytkowników Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id_ws String Tak
user_ids String Tak

Odpowiedź

Zwraca: GetUserPresenceStatuses200Response


Wyszukaj użytkowników Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
username_starts_with String Tak
mention_group_ids Vec Nie
sso String Nie

Odpowiedź

Zwraca: SearchUsers200Response


Pobierz użytkownika Internal Link

Parametry

Name Type Wymagane Description
tenant_id String Tak
id String Tak

Odpowiedź

Zwraca: GetUser200Response

Przykład

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

Utwórz głos Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
comment_id String Tak
direction String Tak
user_id String Nie
anon_user_id String Nie

Odpowiedź

Zwraca: VoteComment200Response

Przykład

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

Usuń głos Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
id String Tak
edit_key String Nie

Odpowiedź

Zwraca: DeleteCommentVote200Response

Przykład

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

Pobierz głosy Internal Link

Parametry

Name Type Required Description
tenant_id String Tak
url_id String Tak

Odpowiedź

Zwraca: GetVotes200Response

Przykład

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

Pobierz głosy dla użytkownika Internal Link

Parametry

Nazwa Typ Wymagane Opis
tenant_id String Tak
url_id String Tak
user_id String Nie
anon_user_id String Nie

Odpowiedź

Zwraca: GetVotesForUser200Response

Przykład

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

Potrzebujesz pomocy?

Jeśli napotkasz jakiekolwiek problemy lub masz pytania dotyczące SDK dla Rust, prosimy:

Wkład

Wkład jest mile widziany! Odwiedź repozytorium na GitHubie po wytyczne dotyczące wkładu.