FastComments.com

FastComments Rust SDK

Questo è l'SDK ufficiale in Rust per FastComments.

SDK ufficiale in Rust per l'API di FastComments

Repository

Visualizza su GitHub

Installazione Internal Link

cargo add fastcomments-sdk

Lo SDK richiede l'edizione Rust 2021 o successiva.

Contenuto della libreria Internal Link

Lo SDK Rust di FastComments è composto da diversi moduli:

  • Client Module - Client API generato automaticamente per le REST APIs di FastComments

    • Definizioni di tipo complete per tutti i modelli API
    • Endpoint sia autenticati (DefaultApi) che pubblici (PublicApi)
    • Supporto completo per async/await con tokio
    • Vedi client/README.md per la documentazione dettagliata delle API
  • SSO Module - Utility Single Sign-On lato server

    • Generazione sicura di token per l'autenticazione degli utenti
    • Supporto per modalità SSO sia semplici che sicure
    • Firma dei token basata su HMAC-SHA256
  • Core Types - Definizioni di tipo condivise e utility

    • Modelli di commento e strutture di metadata
    • Configurazioni di utenti e tenant
    • Funzioni di aiuto per operazioni comuni

Avvio rapido Internal Link

Uso dell'API pubblica

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

#[tokio::main]
async fn main() {
    // Crea la configurazione API
    let config = Configuration::new();

    // Recupera i commenti per una pagina
    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),
    }
}

Uso dell'API autenticata

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

#[tokio::main]
async fn main() {
    // Crea la configurazione con la chiave API
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // Recupera i commenti usando l'API autenticata
    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),
    }
}

Uso di SSO per l'autenticazione

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

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

    // Crea i dati utente SSO sicuri (solo lato server!)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // ID utente
        "user@example.com".to_string(),   // Email
        "John Doe".to_string(),            // Nome utente
        "https://example.com/avatar.jpg".to_string(), // URL dell'avatar
    );

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

    println!("SSO Token: {}", token);
    // Passa questo token al tuo frontend per l'autenticazione
}

Problemi comuni Internal Link

401 Errori Non Autorizzati

Se ricevi errori 401 quando usi l'API autenticata:

  1. Controlla la tua API key: Assicurati di usare la API key corretta dalla dashboard di FastComments
  2. Verifica il tenant ID: Assicurati che il tenant ID corrisponda al tuo account
  3. Formato della API key: La API key deve essere passata nella Configuration:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

Problemi con i token SSO

Se i token SSO non funzionano:

  1. Usa la modalità sicura in produzione: Usa sempre FastCommentsSSO::new_secure() con la tua API key per la produzione
  2. Solo lato server: Genera i token SSO sul tuo server, non esporre mai la tua API key ai client
  3. Controlla i dati dell'utente: Assicurati che tutti i campi obbligatori (id, email, username) siano forniti

Errori del runtime asincrono

Lo SDK usa tokio per operazioni asincrone. Assicurati di:

  1. Aggiungi tokio alle tue dipendenze:

    [dependencies]
    tokio = { version = "1", features = ["full"] }
  2. Usa il runtime tokio:

    #[tokio::main]
    async fn main() {
     // Il tuo codice asincrono qui
    }

Note Internal Link

ID di broadcast

Vedrai che dovrai passare un broadcastId in alcune chiamate API. Quando ricevi eventi, riavrai questo ID, così saprai di ignorare l'evento se prevedi di applicare le modifiche in modo ottimistico sul client (cosa che probabilmente vorrai fare perché offre la migliore esperienza). Passa qui un UUID. L'ID dovrebbe essere abbastanza unico da non verificarsi due volte durante una sessione del browser.

aggregazione Internal Link

Aggrega documenti raggruppandoli (se viene fornito groupBy) e applicando più operazioni. Sono supportate diverse operazioni (es. sum, countDistinct, avg, ecc.).

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
aggregation_request models::AggregationRequest
parent_tenant_id String No
include_stats bool No

Risposta

Restituisce: AggregationResponse


ottieni_log_audit Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
limit f64 No
skip f64 No
order models::SortDir No
after f64 No
before f64 No

Risposta

Restituisce: GetAuditLogs200Response

Esempio

Esempio di 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

blocca_da_commento_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
public_block_from_comment_params models::PublicBlockFromCommentParams
sso String No

Risposta

Restituisce: BlockFromCommentPublic200Response

Esempio

Esempio di 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

sblocca_commento_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
public_block_from_comment_params models::PublicBlockFromCommentParams
sso String No

Risposta

Restituisce: UnBlockCommentPublic200Response

Esempio

un_block_comment_public Esempio
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

controlla_commenti_bloccati Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_ids String
sso String No

Risposta

Restituisce: CheckedCommentsForBlocked200Response

Esempio

Esempio di 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

blocca_utente_da_commento Internal Link

Parametri

Name Type Required Description
tenant_id String
id String
block_from_comment_params models::BlockFromCommentParams
user_id String No
anon_user_id String No

Risposta

Restituisce: BlockFromCommentPublic200Response

Esempio

Esempio di 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

crea_commento_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id String
broadcast_id String
comment_data models::CommentData
session_id String No
sso String No

Risposta

Restituisce: CreateCommentPublic200Response

Esempio

Esempio di 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

elimina_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
context_user_id String No
is_live bool No

Risposta

Restituisce: DeleteComment200Response

Esempio

Esempio di 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

elimina_commento_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
broadcast_id String
edit_key String No
sso String No

Risposta

Restituisce: DeleteCommentPublic200Response

Esempio

Esempio di 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

elimina_voto_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
vote_id String
url_id String
broadcast_id String
edit_key String No
sso String No

Risposta

Restituisce: DeleteCommentVote200Response

Esempio

Esempio di 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

segnala_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
user_id String No
anon_user_id String No

Risposta

Restituisce: FlagComment200Response

Esempio

Esempio di 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

ottieni_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: GetComment200Response

Esempio

Esempio di 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

ottieni_testo_commento Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
edit_key String No
sso String No

Risposta

Restituisce: GetCommentText200Response

Esempio

Esempio di 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

ottieni_nomi_utenti_voto_commento Internal Link

Parametri

Name Type Required Description
tenant_id String
comment_id String
dir i32
sso String No

Risposta

Restituisce: GetCommentVoteUserNames200Response

Esempio

Esempio di 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

ottieni_commenti Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
page i32 No
limit i32 No
skip i32 No
as_tree bool No
skip_children i32 No
limit_children i32 No
max_tree_depth i32 No
url_id String No
user_id String No
anon_user_id String No
context_user_id String No
hash_tag String No
parent_id String No
direction models::SortDirections No

Risposta

Restituisce: GetComments200Response

Esempio

Esempio di 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

ottieni_commenti_pubblici Internal Link

req tenantId urlId

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
url_id String
page i32 No
direction models::SortDirections No
sso String No
skip i32 No
skip_children i32 No
limit i32 No
limit_children i32 No
count_children bool No
fetch_page_for_comment_id String No
include_config bool No
count_all bool No
includei10n bool No
locale String No
modules String No
is_crawler bool No
include_notification_count bool No
as_tree bool No
max_tree_depth i32 No
use_full_translation_ids bool No
parent_id String No
search_text String No
hash_tags Vec No
user_id String No
custom_config_str String No
after_comment_id String No
before_comment_id String No

Risposta

Restituisce: GetCommentsPublic200Response

Esempio

Esempio di 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

blocca_commento Internal Link

Parametri

Nome Type Obbligatorio Descrizione
tenant_id String
comment_id String
broadcast_id String
sso String No

Risposta

Restituisce: LockComment200Response

Esempio

Esempio di 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

fissa_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
broadcast_id String
sso String No

Risposta

Restituisce: PinComment200Response

Esempio

Esempio di 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

salva_commento Internal Link


Parametri

Name Type Required Description
tenant_id String
create_comment_params models::CreateCommentParams
is_live bool No
do_spam_check bool No
send_emails bool No
populate_notifications bool No

Risposta

Restituisce: SaveComment200Response

Esempio

Esempio di 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

salva_commenti_in_blocco Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_comment_params Vecmodels::CreateCommentParams
is_live bool No
do_spam_check bool No
send_emails bool No
populate_notifications bool No

Risposta

Restituisce: Vec<models::SaveComment200Response>

Esempio

Esempio di 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

imposta_testo_commento Internal Link

Parametri

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

Risposta

Restituisce: SetCommentText200Response

Esempio

Esempio di 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

sblocca_utente_da_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
un_block_from_comment_params models::UnBlockFromCommentParams
user_id String No
anon_user_id String No

Risposta

Restituisce: UnBlockCommentPublic200Response

Esempio

Esempio di 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

rimuovi_segnalazione_commento Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
user_id String No
anon_user_id String No

Risposta

Restituisce: FlagComment200Response

Esempio

un_flag_comment Esempio
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

sblocca_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
broadcast_id String
sso String No

Risposta

Restituisce: LockComment200Response

Esempio

un_lock_comment Esempio
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

rimuovi_pin_commento Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
comment_id String
broadcast_id String
sso String No

Risposta

Restituisce: PinComment200Response

Esempio

Esempio di 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

aggiorna_commento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
updatable_comment_params models::UpdatableCommentParams
context_user_id String No
do_spam_check bool No
is_live bool No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

vota_commento Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
comment_id String
url_id String
broadcast_id String
vote_body_params models::VoteBodyParams
session_id String No
sso String No

Risposta

Restituisce: VoteComment200Response

Esempio

Esempio di 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

aggiungi_config_dominio Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
add_domain_config_params models::AddDomainConfigParams

Risposta

Restituisce: AddDomainConfig200Response


elimina_config_dominio Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
domain String

Risposta

Restituisce: DeleteDomainConfig200Response

ottieni_config_dominio Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
domain String

Risposta

Restituisce: GetDomainConfig200Response


ottieni_configurazioni_dominio Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String

Risposta

Restituisce: GetDomainConfigs200Response

modifica_parziale_config_dominio Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
domain_to_update String
patch_domain_config_params models::PatchDomainConfigParams

Risposta

Restituisce: GetDomainConfig200Response


sostituisci_config_dominio Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
domain_to_update String
update_domain_config_params models::UpdateDomainConfigParams

Risposta

Restituisce: GetDomainConfig200Response


crea_modello_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_email_template_body models::CreateEmailTemplateBody

Risposta

Restituisce: CreateEmailTemplate200Response

Esempio

create_email_template Esempio
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

elimina_modello_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

delete_email_template Esempio
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

elimina_errore_render_modello_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String Yes
id String Yes
error_id String Yes

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

delete_email_template_render_error Esempio
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

ottieni_modello_email Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
id String

Risposta

Restituisce: GetEmailTemplate200Response

Esempio

Esempio 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

ottieni_definizioni_modello_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String

Risposta

Restituisce: GetEmailTemplateDefinitions200Response

Esempio

Esempio di 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

ottieni_errori_render_modello_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
skip f64 No

Risposta

Restituisce: GetEmailTemplateRenderErrors200Response

Esempio

Esempio di 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

ottieni_modelli_email Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
skip f64 No

Risposta

Restituisce: GetEmailTemplates200Response

Esempio

Esempio di 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

renderizza_modello_email Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
render_email_template_body models::RenderEmailTemplateBody
locale String No

Risposta

Restituisce: RenderEmailTemplate200Response

Esempio

Esempio di 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

aggiorna_modello_email Internal Link

Parametri

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

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_log_eventi Internal Link

req tenantId urlId userIdWS

Parametri

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

Risposta

Restituisce: GetEventLog200Response

Esempio

Esempio di 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

ottieni_log_eventi_globali Internal Link

req tenantId urlId userIdWS

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
url_id String
user_id_ws String
start_time i64
end_time i64

Risposta

Restituisce: GetEventLog200Response

Esempio

Esempio 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

crea_post_feed Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_feed_post_params models::CreateFeedPostParams
broadcast_id String No
is_live bool No
do_spam_check bool No
skip_dup_check bool No

Risposta

Restituisce: CreateFeedPost200Response

Esempio

Esempio di 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

crea_post_feed_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_feed_post_params models::CreateFeedPostParams
broadcast_id String No
sso String No

Risposta

Restituisce: CreateFeedPostPublic200Response

Esempio

Esempio di 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

elimina_post_feed_pubblico Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
post_id String
broadcast_id String No
sso String No

Risposta

Restituisce: DeleteFeedPostPublic200Response

Esempio

Esempio di 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

ottieni_post_feed Internal Link

req tenantId afterId

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
after_id String No
limit i32 No
tags Vec No

Risposta

Restituisce: GetFeedPosts200Response

Esempio

Esempio di 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

ottieni_post_feed_pubblici Internal Link

req tenantId afterId

Parametri

Name Type Required Description
tenant_id String
after_id String No
limit i32 No
tags Vec No
sso String No
is_crawler bool No
include_user_info bool No

Risposta

Restituisce: GetFeedPostsPublic200Response

Esempio

Esempio di 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

ottieni_statistiche_post_feed Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
post_ids Vec
sso String No

Risposta

Restituisce: GetFeedPostsStats200Response

Esempio

Esempio di 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

ottieni_reazioni_utente_pubbliche Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
post_ids Vec No
sso String No

Risposta

Restituisce: GetUserReactsPublic200Response

Esempio

Esempio di 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

reagisci_post_feed_pubblico Internal Link

Parametri

Name Type Required Description
tenant_id String
post_id String
react_body_params models::ReactBodyParams
is_undo bool No
broadcast_id String No
sso String No

Risposta

Restituisce: ReactFeedPostPublic200Response

Esempio

Esempio di 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

aggiorna_post_feed Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
feed_post models::FeedPost

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

aggiorna_post_feed_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
post_id String
update_feed_post_params models::UpdateFeedPostParams
broadcast_id String No
sso String No

Risposta

Restituisce: CreateFeedPostPublic200Response

Esempio

Esempio di 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

segnala_commento_pubblico Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
is_flagged bool
sso String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

aggiungi_hashtag Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String No
create_hash_tag_body models::CreateHashTagBody No

Risposta

Restituisce: AddHashTag200Response

Esempio

Esempio di 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

aggiungi_hashtag_in_blocco Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String No
bulk_create_hash_tags_body models::BulkCreateHashTagsBody No

Risposta

Restituisce: AddHashTagsBulk200Response

Esempio

Esempio 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

elimina_hashtag Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tag String
tenant_id String No
delete_hash_tag_request models::DeleteHashTagRequest No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_hashtag Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
page f64 No

Risposta

Restituisce: GetHashTags200Response

Esempio

Esempio di 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

modifica_parziale_hashtag Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tag String
tenant_id String No
update_hash_tag_body models::UpdateHashTagBody No

Risposta

Restituisce: PatchHashTag200Response

Esempio

patch_hash_tag Esempio
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

crea_moderatore Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_moderator_body models::CreateModeratorBody

Risposta

Restituisce: CreateModerator200Response

Esempio

Esempio di 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

elimina_moderatore Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
send_email String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_moderatore Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String Yes
id String Yes

Risposta

Restituisce: GetModerator200Response

Esempio

Esempio di 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

ottieni_moderatori Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
skip f64 No

Risposta

Restituisce: GetModerators200Response

Esempio

Esempio di 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

invia_invito Internal Link

Parametri

Name Type Required Description
tenant_id String
id String
from_name String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio 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

aggiorna_moderatore Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_moderator_body models::UpdateModeratorBody

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

elimina_conteggio_notifiche Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_conteggio_notifiche_cache Internal Link

Parametri

Name Type Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: GetCachedNotificationCount200Response

Esempio

Esempio di 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

ottieni_conteggio_notifiche Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
user_id String No
url_id String No
from_comment_id String No
viewed bool No

Risposta

Restituisce: GetNotificationCount200Response

Esempio

Esempio di 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

ottieni_notifiche Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
user_id String No
url_id String No
from_comment_id String No
viewed bool No
skip f64 No

Risposta

Restituisce: GetNotifications200Response

Esempio

Esempio di 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

aggiorna_notifica Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_notification_body models::UpdateNotificationBody
user_id String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

aggiungi_pagina Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_api_page_data models::CreateApiPageData

Risposta

Restituisce: AddPageApiResponse


elimina_pagina Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: DeletePageApiResponse


ottieni_pagina_per_urlid Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id String

Risposta

Restituisce: GetPageByUrlidApiResponse


ottieni_pagine Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String

Risposta

Restituisce: GetPagesApiResponse


modifica_parziale_pagina Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_api_page_data models::UpdateApiPageData

Risposta

Restituisce: PatchPageApiResponse


elimina_evento_webhook_in_sospeso Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_conteggio_eventi_webhook_in_sospeso Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String No
external_id String No
event_type String No
domain String No
attempt_count_gt f64 No

Risposta

Restituisce: GetPendingWebhookEventCount200Response

Esempio

Esempio di 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

ottieni_eventi_webhook_in_sospeso Internal Link

Parametri

Name Type Obbligatorio Descrizione
tenant_id String
comment_id String No
external_id String No
event_type String No
domain String No
attempt_count_gt f64 No
skip f64 No

Risposta

Restituisce: GetPendingWebhookEvents200Response

Esempio

Esempio di 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

crea_config_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_question_config_body models::CreateQuestionConfigBody

Response

Restituisce: CreateQuestionConfig200Response

Esempio

Esempio 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

elimina_config_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_config_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: GetQuestionConfig200Response

Esempio

Esempio di 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

ottieni_configurazioni_domande Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
skip f64 No

Risposta

Restituisce: GetQuestionConfigs200Response

Esempio

Esempio di 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

aggiorna_config_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_question_config_body models::UpdateQuestionConfigBody

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

crea_risultato_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String Yes
create_question_result_body models::CreateQuestionResultBody Yes

Risposta

Restituisce: CreateQuestionResult200Response

Esempio

Esempio di 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

elimina_risultato_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String Yes
id String Yes

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_risultato_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: GetQuestionResult200Response

Esempio

Esempio di 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

ottieni_risultati_domande Internal Link


Parametri

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

Risposta

Restituisce: GetQuestionResults200Response

Esempio

Esempio di 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

aggiorna_risultato_domanda Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_question_result_body models::UpdateQuestionResultBody

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

aggregazione_risultati_domande Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
question_id String No
question_ids Vec No
url_id String No
time_bucket models::AggregateTimeBucket No
start_date String No
force_recalculate bool No

Risposta

Restituisce: AggregateQuestionResults200Response

Esempio

Esempio di 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

aggregazione_in_blocco_risultati_domande Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest
force_recalculate bool No

Risposta

Restituisce: BulkAggregateQuestionResults200Response

Esempio

Esempio di 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

combina_commenti_con_risultati_domande Internal Link

Parametri

Name Type Obbligatorio Descrizione
tenant_id String
question_id String No
question_ids Vec No
url_id String No
start_date String No
force_recalculate bool No
min_value f64 No
max_value f64 No
limit f64 No

Risposta

Restituisce: CombineCommentsWithQuestionResults200Response

Esempio

Esempio di 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

aggiungi_utente_sso Internal Link


Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
create_apisso_user_data models::CreateApissoUserData

Risposta

Restituisce: AddSsoUserApiResponse


elimina_utente_sso Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
delete_comments bool No
comment_delete_mode String No

Risposta

Restituisce: DeleteSsoUserApiResponse


ottieni_utente_sso_per_email Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
email String

Risposta

Restituisce: GetSsoUserByEmailApiResponse


ottieni_utente_sso_per_id Internal Link


Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
id String

Risposta

Restituisce: GetSsoUserByIdApiResponse


ottieni_utenti_sso Internal Link

Parametri

Name Tipo Obbligatorio Descrizione
tenant_id String
skip i32 No

Risposta

Restituisce: GetSsoUsers200Response


modifica_parziale_utente_sso Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_apisso_user_data models::UpdateApissoUserData
update_comments bool No

Risposta

Restituisce: PatchSsoUserApiResponse


sostituisci_utente_sso Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
id String
update_apisso_user_data models::UpdateApissoUserData
update_comments bool No

Risposta

Restituisce: PutSsoUserApiResponse

crea_abbonamento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_api_user_subscription_data models::CreateApiUserSubscriptionData

Risposta

Restituisce: CreateSubscriptionApiResponse

Esempio

Esempio di 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

elimina_abbonamento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
user_id String No

Risposta

Restituisce: DeleteSubscriptionApiResponse


ottieni_abbonamenti Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
user_id String No

Risposta

Restituisce: GetSubscriptionsApiResponse

Esempio

Esempio di 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

aggiorna_abbonamento Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_api_user_subscription_data models::UpdateApiUserSubscriptionData
user_id String No

Risposta

Restituisce: UpdateSubscriptionApiResponse

Esempio

Esempio di 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

ottieni_utilizzi_giornalieri_tenant Internal Link

Parametri

Name Type Required Description
tenant_id String
year_number f64 No
month_number f64 No
day_number f64 No
skip f64 No

Risposta

Restituisce: GetTenantDailyUsages200Response

Esempio

Esempio di 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

crea_pacchetto_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_tenant_package_body models::CreateTenantPackageBody

Risposta

Restituisce: CreateTenantPackage200Response

Esempio

Esempio di 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

elimina_pacchetto_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_pacchetto_tenant Internal Link

Parametri

Name Type Required Description
tenant_id String
id String

Risposta

Restituisce: GetTenantPackage200Response

Esempio

Esempio di 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

ottieni_pacchetti_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
skip f64 No

Risposta

Restituisce: GetTenantPackages200Response

Esempio

Esempio di 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

sostituisci_pacchetto_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
replace_tenant_package_body models::ReplaceTenantPackageBody

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

aggiorna_pacchetto_tenant Internal Link

Parameters

Nome Tipo Richiesto Descrizione
tenant_id String
id String
update_tenant_package_body models::UpdateTenantPackageBody

Response

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

crea_utente_tenant Internal Link

Parametri

Name Type Required Description
tenant_id String
create_tenant_user_body models::CreateTenantUserBody

Risposta

Restituisce: CreateTenantUser200Response

Esempio

Esempio di 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

elimina_utente_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
delete_comments String No
comment_delete_mode String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_utente_tenant Internal Link

Parametri

Name Type Required Description
tenant_id String
id String

Risposta

Restituisce: GetTenantUser200Response

Esempio

Esempio di 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

ottieni_utenti_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
skip f64 No

Risposta

Restituisce: GetTenantUsers200Response

Esempio

Esempio di 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

sostituisci_utente_tenant Internal Link

Parametri

Name Type Obbligatorio Descrizione
tenant_id String
id String
replace_tenant_user_body models::ReplaceTenantUserBody
update_comments String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
redirect_url String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

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

aggiorna_utente_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_tenant_user_body models::UpdateTenantUserBody
update_comments String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

crea_tenant Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
create_tenant_body models::CreateTenantBody

Risposta

Restituisce: CreateTenant200Response

Esempio

Esempio di 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

elimina_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
sure String No

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

ottieni_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: GetTenant200Response

Esempio

Esempio di 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

ottieni_tenant Internal Link

Parametri

Name Type Required Description
tenant_id String
meta String No
skip f64 No

Risposta

Restituisce: GetTenants200Response

Esempio

Esempio di 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

aggiorna_tenant Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_tenant_body models::UpdateTenantBody

Risposta

Restituisce: FlagCommentPublic200Response

Esempio

Esempio di 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

cambia_stato_ticket Internal Link

Parametri

Name Type Required Description
tenant_id String
user_id String
id String
change_ticket_state_body models::ChangeTicketStateBody

Risposta

Restituisce: ChangeTicketState200Response

Esempio

Esempio di 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

crea_ticket Internal Link

Parametri

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

Risposta

Restituisce: CreateTicket200Response

Esempio

Esempio di 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

ottieni_ticket Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
user_id String No

Risposta

Restituisce: GetTicket200Response

Esempio

Esempio di 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

ottieni_ticket Internal Link


Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
user_id String No
state f64 No
skip f64 No
limit f64 No

Risposta

Restituisce: GetTickets200Response

Esempio

Esempio di 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

carica_immagine Internal Link


Carica e ridimensiona un'immagine

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
file std::path::PathBuf
size_preset models::SizePreset No
url_id String No

Risposta

Restituisce: UploadImageResponse


ottieni_avanzamento_badge_utente_per_id Internal Link

Parametri

Name Type Required Description
tenant_id String
id String

Risposta

Restituisce: GetUserBadgeProgressById200Response

Esempio

get_user_badge_progress_by_id Esempio
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

ottieni_avanzamento_badge_utente_per_id_utente Internal Link

Parametri

Nome Tipo Richiesto Descrizione
tenant_id String
user_id String

Risposta

Restituisce: GetUserBadgeProgressById200Response

Esempio

get_user_badge_progress_by_user_id Esempio
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

ottieni_lista_avanzamenti_badge_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
user_id String No
limit f64 No
skip f64 No

Response

Restituisce: GetUserBadgeProgressList200Response

Esempio

Esempio 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

crea_badge_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
create_user_badge_params models::CreateUserBadgeParams

Risposta

Restituisce: CreateUserBadge200Response

Esempio

Esempio di 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

elimina_badge_utente Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String

Risposta

Restituisce: UpdateUserBadge200Response

Esempio

Esempio di 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

ottieni_badge_utente Internal Link

Parametri

Name Type Required Description
tenant_id String
id String

Risposta

Restituisce: GetUserBadge200Response

Esempio

Esempio di 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

ottieni_badge_utenti Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
user_id String No
badge_id String No
displayed_on_comments bool No
limit f64 No
skip f64 No

Risposta

Restituisce: GetUserBadges200Response

Esempio

Esempio di 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

aggiorna_badge_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
update_user_badge_params models::UpdateUserBadgeParams

Risposta

Restituisce: UpdateUserBadge200Response

Esempio

Esempio di 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

ottieni_conteggio_notifiche_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
sso String No

Risposta

Restituisce: GetUserNotificationCount200Response

Esempio

Esempio di 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

ottieni_notifiche_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
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

Risposta

Restituisce: GetUserNotifications200Response

Esempio

Esempio di 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

azzera_conteggio_notifiche_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
sso String No

Risposta

Restituisce: ResetUserNotifications200Response

Esempio

Esempio di 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

azzera_notifiche_utente Internal Link

Parameters

Name Type Required Description
tenant_id String
after_id String No
after_created_at i64 No
unread_only bool No
dm_only bool No
no_dm bool No
sso String No

Risposta

Restituisce: ResetUserNotifications200Response

Esempio

reset_user_notifications Esempio
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

aggiorna_stato_iscrizione_commento_notifica_utente Internal Link

Abilita o disabilita le notifiche per un commento specifico.

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
notification_id String
opted_in_or_out String
comment_id String
sso String No

Risposta

Restituisce: UpdateUserNotificationStatus200Response

Esempio

Esempio di 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

aggiorna_stato_iscrizione_pagina_notifica_utente Internal Link

Abilita o disabilita le notifiche per una pagina. Quando gli utenti sono iscritti a una pagina, vengono create notifiche per nuovi commenti principali, e anche

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id String
url String
page_title String
subscribed_or_unsubscribed String
sso String No

Risposta

Restituisce: UpdateUserNotificationStatus200Response

Esempio

Esempio di 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

aggiorna_stato_notifica_utente Internal Link

Parametri

Name Type Required Description
tenant_id String
notification_id String
new_status String
sso String No

Risposta

Restituisce: UpdateUserNotificationStatus200Response

Esempio

Esempio di 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

ottieni_stati_presenza_utente Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id_ws String
user_ids String

Risposta

Restituisce: GetUserPresenceStatuses200Response

Esempio

Esempio di 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

cerca_utenti Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id String
username_starts_with String No
mention_group_ids Vec No
sso String No
search_section String No

Risposta

Restituisce: SearchUsers200Response

Esempio

Esempio di 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

ottieni_utente Internal Link

Parametri

Name Type Required Description
tenant_id String
id String

Risposta

Restituisce: GetUser200Response

Esempio

Esempio di 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

crea_voto Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
comment_id String
direction String
user_id String No
anon_user_id String No

Risposta

Restituisce: VoteComment200Response

Esempio

Esempio di 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

elimina_voto Internal Link


Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
id String
edit_key String No

Risposta

Restituisce: DeleteCommentVote200Response

Esempio

Esempio di 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

ottieni_voti Internal Link

Parametri

Nome Tipo Obbligatorio Descrizione
tenant_id String
url_id String

Risposta

Restituisce: GetVotes200Response

Esempio

Esempio 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

ottieni_voti_per_utente Internal Link

Parametri

Name Type Required Description
tenant_id String
url_id String
user_id String No
anon_user_id String No

Risposta

Restituisce: GetVotesForUser200Response

Esempio

Esempio di 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

Hai bisogno di aiuto?

Se riscontri problemi o hai domande sul SDK Rust, per favore:

Contribuire

I contributi sono benvenuti! Visita il repository GitHub per le linee guida sui contributi.