FastComments.com

FastComments SDK per Rust

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"] }
  1. 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

NomeTipoObbligatorioDescrizione
tenant_idString
aggregation_requestmodels::AggregationRequest
parent_tenant_idStringNo
include_statsboolNo

Risposta

Restituisce: AggregationResponse


ottieni_log_audit Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
limitf64No
skipf64No
ordermodels::SortDirNo
afterf64No
beforef64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
public_block_from_comment_paramsmodels::PublicBlockFromCommentParams
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
public_block_from_comment_paramsmodels::PublicBlockFromCommentParams
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idsString
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
idString
block_from_comment_paramsmodels::BlockFromCommentParams
user_idStringNo
anon_user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
url_idString
broadcast_idString
comment_datamodels::CommentData
session_idStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
context_user_idStringNo
is_liveboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
broadcast_idString
edit_keyStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
vote_idString
url_idString
broadcast_idString
edit_keyStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
user_idStringNo
anon_user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
edit_keyStringNo
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
comment_idString
diri32
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
pagei32No
limiti32No
skipi32No
as_treeboolNo
skip_childreni32No
limit_childreni32No
max_tree_depthi32No
url_idStringNo
user_idStringNo
anon_user_idStringNo
context_user_idStringNo
hash_tagStringNo
parent_idStringNo
directionmodels::SortDirectionsNo

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

NomeTipoRichiestoDescrizione
tenant_idString
url_idString
pagei32No
directionmodels::SortDirectionsNo
ssoStringNo
skipi32No
skip_childreni32No
limiti32No
limit_childreni32No
count_childrenboolNo
fetch_page_for_comment_idStringNo
include_configboolNo
count_allboolNo
includei10nboolNo
localeStringNo
modulesStringNo
is_crawlerboolNo
include_notification_countboolNo
as_treeboolNo
max_tree_depthi32No
use_full_translation_idsboolNo
parent_idStringNo
search_textStringNo
hash_tagsVecNo
user_idStringNo
custom_config_strStringNo
after_comment_idStringNo
before_comment_idStringNo

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

NomeTypeObbligatorioDescrizione
tenant_idString
comment_idString
broadcast_idString
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
broadcast_idString
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
create_comment_paramsmodels::CreateCommentParams
is_liveboolNo
do_spam_checkboolNo
send_emailsboolNo
populate_notificationsboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_comment_paramsVecmodels::CreateCommentParams
is_liveboolNo
do_spam_checkboolNo
send_emailsboolNo
populate_notificationsboolNo

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

NameTypeRequiredDescription
tenant_idString
comment_idString
broadcast_idString
comment_text_update_requestmodels::CommentTextUpdateRequest
edit_keyStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
un_block_from_comment_paramsmodels::UnBlockFromCommentParams
user_idStringNo
anon_user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
user_idStringNo
anon_user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
broadcast_idString
ssoStringNo

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

NomeTipoRichiestoDescrizione
tenant_idString
comment_idString
broadcast_idString
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
updatable_comment_paramsmodels::UpdatableCommentParams
context_user_idStringNo
do_spam_checkboolNo
is_liveboolNo

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

NomeTipoRichiestoDescrizione
tenant_idString
comment_idString
url_idString
broadcast_idString
vote_body_paramsmodels::VoteBodyParams
session_idStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
add_domain_config_paramsmodels::AddDomainConfigParams

Risposta

Restituisce: AddDomainConfig200Response


elimina_config_dominio Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
domainString

Risposta

Restituisce: DeleteDomainConfig200Response

ottieni_config_dominio Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
domainString

Risposta

Restituisce: GetDomainConfig200Response


ottieni_configurazioni_dominio Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString

Risposta

Restituisce: GetDomainConfigs200Response

modifica_parziale_config_dominio Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
domain_to_updateString
patch_domain_config_paramsmodels::PatchDomainConfigParams

Risposta

Restituisce: GetDomainConfig200Response


sostituisci_config_dominio Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
domain_to_updateString
update_domain_config_paramsmodels::UpdateDomainConfigParams

Risposta

Restituisce: GetDomainConfig200Response


crea_modello_email Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
create_email_template_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idStringYes
idStringYes
error_idStringYes

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

NomeTipoRichiestoDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
skipf64No

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

NomeTipoRichiestoDescrizione
tenant_idString
render_email_template_bodymodels::RenderEmailTemplateBody
localeStringNo

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

NameTypeRequiredDescription
tenant_idString
idString
update_email_template_bodymodels::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

NameTypeRequiredDescription
tenant_idString
url_idString
user_id_wsString
start_timei64
end_timei64

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

NomeTipoRichiestoDescrizione
tenant_idString
url_idString
user_id_wsString
start_timei64
end_timei64

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_feed_post_paramsmodels::CreateFeedPostParams
broadcast_idStringNo
is_liveboolNo
do_spam_checkboolNo
skip_dup_checkboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_feed_post_paramsmodels::CreateFeedPostParams
broadcast_idStringNo
ssoStringNo

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

NomeTipoRichiestoDescrizione
tenant_idString
post_idString
broadcast_idStringNo
ssoStringNo

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

NomeTipoRichiestoDescrizione
tenant_idString
after_idStringNo
limiti32No
tagsVecNo

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

NameTypeRequiredDescription
tenant_idString
after_idStringNo
limiti32No
tagsVecNo
ssoStringNo
is_crawlerboolNo
include_user_infoboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
post_idsVec
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
post_idsVecNo
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
post_idString
react_body_paramsmodels::ReactBodyParams
is_undoboolNo
broadcast_idStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
feed_postmodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
post_idString
update_feed_post_paramsmodels::UpdateFeedPostParams
broadcast_idStringNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
is_flaggedbool
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idStringNo
create_hash_tag_bodymodels::CreateHashTagBodyNo

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

NomeTipoObbligatorioDescrizione
tenant_idStringNo
bulk_create_hash_tags_bodymodels::BulkCreateHashTagsBodyNo

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

NomeTipoObbligatorioDescrizione
tagString
tenant_idStringNo
delete_hash_tag_requestmodels::DeleteHashTagRequestNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
pagef64No

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

NomeTipoObbligatorioDescrizione
tagString
tenant_idStringNo
update_hash_tag_bodymodels::UpdateHashTagBodyNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_moderator_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
send_emailStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idStringYes
idStringYes

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

NomeTipoObbligatorioDescrizione
tenant_idString
skipf64No

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

NameTypeRequiredDescription
tenant_idString
idString
from_nameString

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_moderator_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NameTypeObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
user_idStringNo
url_idStringNo
from_comment_idStringNo
viewedboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
user_idStringNo
url_idStringNo
from_comment_idStringNo
viewedboolNo
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_notification_bodymodels::UpdateNotificationBody
user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_api_page_datamodels::CreateApiPageData

Risposta

Restituisce: AddPageApiResponse


elimina_pagina Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
idString

Risposta

Restituisce: DeletePageApiResponse


ottieni_pagina_per_urlid Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
url_idString

Risposta

Restituisce: GetPageByUrlidApiResponse


ottieni_pagine Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString

Risposta

Restituisce: GetPagesApiResponse


modifica_parziale_pagina Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_api_page_datamodels::UpdateApiPageData

Risposta

Restituisce: PatchPageApiResponse


elimina_evento_webhook_in_sospeso Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idStringNo
external_idStringNo
event_typeStringNo
domainStringNo
attempt_count_gtf64No

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

NameTypeObbligatorioDescrizione
tenant_idString
comment_idStringNo
external_idStringNo
event_typeStringNo
domainStringNo
attempt_count_gtf64No
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_question_config_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_question_config_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idStringYes
create_question_result_bodymodels::CreateQuestionResultBodyYes

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

NomeTipoObbligatorioDescrizione
tenant_idStringYes
idStringYes

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NameTypeRequiredDescription
tenant_idString
url_idStringNo
user_idStringNo
start_dateStringNo
question_idStringNo
question_idsStringNo
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_question_result_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
question_idStringNo
question_idsVecNo
url_idStringNo
time_bucketmodels::AggregateTimeBucketNo
start_dateStringNo
force_recalculateboolNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
bulk_aggregate_question_results_requestmodels::BulkAggregateQuestionResultsRequest
force_recalculateboolNo

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

NameTypeObbligatorioDescrizione
tenant_idString
question_idStringNo
question_idsVecNo
url_idStringNo
start_dateStringNo
force_recalculateboolNo
min_valuef64No
max_valuef64No
limitf64No

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

NomeTipoRichiestoDescrizione
tenant_idString
create_apisso_user_datamodels::CreateApissoUserData

Risposta

Restituisce: AddSsoUserApiResponse


elimina_utente_sso Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
idString
delete_commentsboolNo
comment_delete_modeStringNo

Risposta

Restituisce: DeleteSsoUserApiResponse


ottieni_utente_sso_per_email Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
emailString

Risposta

Restituisce: GetSsoUserByEmailApiResponse


ottieni_utente_sso_per_id Internal Link


Parametri

NomeTipoRichiestoDescrizione
tenant_idString
idString

Risposta

Restituisce: GetSsoUserByIdApiResponse


ottieni_utenti_sso Internal Link

Parametri

NameTipoObbligatorioDescrizione
tenant_idString
skipi32No

Risposta

Restituisce: GetSsoUsers200Response


modifica_parziale_utente_sso Internal Link


Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_apisso_user_datamodels::UpdateApissoUserData
update_commentsboolNo

Risposta

Restituisce: PatchSsoUserApiResponse


sostituisci_utente_sso Internal Link

Parametri

NomeTipoRichiestoDescrizione
tenant_idString
idString
update_apisso_user_datamodels::UpdateApissoUserData
update_commentsboolNo

Risposta

Restituisce: PutSsoUserApiResponse

crea_abbonamento Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
create_api_user_subscription_datamodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
user_idStringNo

Risposta

Restituisce: DeleteSubscriptionApiResponse


ottieni_abbonamenti Internal Link

Parametri

NomeTipoObbligatorioDescrizione
tenant_idString
user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_api_user_subscription_datamodels::UpdateApiUserSubscriptionData
user_idStringNo

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

NameTypeRequiredDescription
tenant_idString
year_numberf64No
month_numberf64No
day_numberf64No
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_tenant_package_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NameTypeRequiredDescription
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
replace_tenant_package_bodymodels::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

NomeTipoRichiestoDescrizione
tenant_idString
idString
update_tenant_package_bodymodels::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

NameTypeRequiredDescription
tenant_idString
create_tenant_user_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
delete_commentsStringNo
comment_delete_modeStringNo

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

NameTypeRequiredDescription
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
skipf64No

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

NameTypeObbligatorioDescrizione
tenant_idString
idString
replace_tenant_user_bodymodels::ReplaceTenantUserBody
update_commentsStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
redirect_urlStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_tenant_user_bodymodels::UpdateTenantUserBody
update_commentsStringNo

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

NomeTipoRichiestoDescrizione
tenant_idString
create_tenant_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
sureStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NameTypeRequiredDescription
tenant_idString
metaStringNo
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_tenant_bodymodels::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

NameTypeRequiredDescription
tenant_idString
user_idString
idString
change_ticket_state_bodymodels::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

NameTypeRequiredDescription
tenant_idString
user_idString
create_ticket_bodymodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
user_idStringNo

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

NomeTipoRichiestoDescrizione
tenant_idString
user_idStringNo
statef64No
skipf64No
limitf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
filestd::path::PathBuf
size_presetmodels::SizePresetNo
url_idStringNo

Risposta

Restituisce: UploadImageResponse


ottieni_avanzamento_badge_utente_per_id Internal Link

Parametri

NameTypeRequiredDescription
tenant_idString
idString

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

NomeTipoRichiestoDescrizione
tenant_idString
user_idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
user_idStringNo
limitf64No
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
create_user_badge_paramsmodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
idString

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

NameTypeRequiredDescription
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
user_idStringNo
badge_idStringNo
displayed_on_commentsboolNo
limitf64No
skipf64No

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
update_user_badge_paramsmodels::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

NomeTipoObbligatorioDescrizione
tenant_idString
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
page_sizei32No
after_idStringNo
include_contextboolNo
after_created_ati64No
unread_onlyboolNo
dm_onlyboolNo
no_dmboolNo
include_translationsboolNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
after_idStringNo
after_created_ati64No
unread_onlyboolNo
dm_onlyboolNo
no_dmboolNo
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
notification_idString
opted_in_or_outString
comment_idString
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
url_idString
urlString
page_titleString
subscribed_or_unsubscribedString
ssoStringNo

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

NameTypeRequiredDescription
tenant_idString
notification_idString
new_statusString
ssoStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
url_id_wsString
user_idsString

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

NomeTipoObbligatorioDescrizione
tenant_idString
url_idString
username_starts_withStringNo
mention_group_idsVecNo
ssoStringNo
search_sectionStringNo

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

NameTypeRequiredDescription
tenant_idString
idString

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

NomeTipoObbligatorioDescrizione
tenant_idString
comment_idString
directionString
user_idStringNo
anon_user_idStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
idString
edit_keyStringNo

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

NomeTipoObbligatorioDescrizione
tenant_idString
url_idString

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

NameTypeRequiredDescription
tenant_idString
url_idString
user_idStringNo
anon_user_idStringNo

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.