FastComments.com

FastComments Rust SDK


Ceci est le SDK Rust officiel pour FastComments.

SDK Rust officiel pour l'API FastComments

Dépôt

Voir sur GitHub


Installation Internal Link

cargo add fastcomments-sdk

Le SDK nécessite l'édition Rust 2021 ou une version ultérieure.

Contenu de la bibliothèque Internal Link

Le FastComments Rust SDK se compose de plusieurs modules :

  • Client Module - Client d'API généré automatiquement pour les FastComments REST APIs

    • Définitions complètes des types pour tous les modèles d'API
    • Points de terminaison authentifiés (DefaultApi) et publics (PublicApi)
    • Prise en charge complète d'async/await avec tokio
    • Voir client/README.md pour la documentation détaillée de l'API
  • SSO Module - Utilitaires Single Sign-On côté serveur

    • Génération sécurisée de jetons pour l'authentification des utilisateurs
    • Prise en charge des modes SSO simple et sécurisé
    • Signature de jetons basée sur HMAC-SHA256
  • Core Types - Définitions de types et utilitaires partagés

    • Modèles de commentaires et structures de métadonnées
    • Configurations des utilisateurs et des locataires
    • Fonctions utilitaires pour les opérations courantes

Démarrage rapide Internal Link

Utilisation de l'API publique

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

#[tokio::main]
async fn main() {
    // Crée la configuration de l'API
    let config = Configuration::new();

    // Récupérer les commentaires d'une page
    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),
    }
}

Utilisation de l'API authentifiée

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

#[tokio::main]
async fn main() {
    // Créer la configuration avec la clé API
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // Récupérer les commentaires en utilisant l'API authentifiée
    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),
    }
}

Utilisation du SSO pour l'authentification

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

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

    // Créer les données utilisateur SSO sécurisées (côté serveur seulement !)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // ID de l'utilisateur
        "user@example.com".to_string(),   // Courriel
        "John Doe".to_string(),            // Nom d'utilisateur
        "https://example.com/avatar.jpg".to_string(), // URL de l'avatar
    );

    // Générer le jeton SSO
    let sso = FastCommentsSSO::new_secure(api_key, &user_data).unwrap();
    let token = sso.create_token().unwrap();

    println!("SSO Token: {}", token);
    // Transmettez ce jeton à votre frontend pour l'authentification
}

Problèmes courants Internal Link

401 Unauthorized Errors

If you're getting 401 errors when using the authenticated API:

  1. Vérifiez votre clé API : Assurez-vous d'utiliser la bonne clé API depuis votre FastComments dashboard
  2. Vérifiez l'ID du locataire : Assurez-vous que l'ID du locataire correspond à votre compte
  3. Format de la clé API : La clé API doit être fournie dans la Configuration :
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

SSO Token Issues

If SSO tokens aren't working:

  1. Utilisez le mode sécurisé en production : Utilisez toujours FastCommentsSSO::new_secure() avec votre clé API en production
  2. Côté serveur uniquement : Générez les jetons SSO sur votre serveur, n'exposez jamais votre clé API aux clients
  3. Vérifiez les données utilisateur : Assurez-vous que tous les champs requis (id, email, username) sont fournis

Async Runtime Errors

The SDK uses tokio for async operations. Make sure to:

  1. Add tokio to your dependencies:

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

    #[tokio::main]
    async fn main() {
     // Votre code asynchrone ici
    }

Notes Internal Link

IDs de diffusion

Vous verrez qu'il faut passer un broadcastId dans certains appels d'API. Quand vous recevrez des événements, vous obtiendrez ce même ID en retour, ce qui vous permet d'ignorer l'événement si vous prévoyez d'appliquer les changements de façon optimiste côté client (ce que vous voudrez probablement faire, car cela offre la meilleure expérience). Passez un UUID ici. L'ID doit être suffisamment unique pour ne pas apparaître deux fois lors d'une session de navigateur.

agréger Internal Link

Aggrège des documents en les regroupant (si groupBy est fourni) et en appliquant plusieurs opérations. Différentes opérations (p. ex. sum, countDistinct, avg, etc.) sont prises en charge.

Paramètres

Nom Type Requis Description
tenant_id String Oui
aggregation_request models::AggregationRequest Oui
parent_tenant_id String Non
include_stats bool Non

Réponse

Renvoie: AggregationResponse


obtenir_journaux_d'audit Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
limit f64 Non
skip f64 Non
order models::SortDir Non
after f64 Non
before f64 Non

Réponse

Renvoie: GetAuditLogs200Response

Exemple

Exemple de 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

bloquer_depuis_commentaire_public Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
public_block_from_comment_params models::PublicBlockFromCommentParams Oui
sso String Non

Réponse

Renvoie : BlockFromCommentPublic200Response

Exemple

Exemple de 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

débloquer_commentaire_public Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
public_block_from_comment_params models::PublicBlockFromCommentParams Oui
sso String Non

Réponse

Retourne: UnBlockCommentPublic200Response

Exemple

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

vérifier_commentaires_bloqués Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
comment_ids String Oui
sso String Non

Réponse

Renvoie: CheckedCommentsForBlocked200Response

Exemple

Exemple de 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

bloquer_utilisateur_depuis_commentaire Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
block_from_comment_params models::BlockFromCommentParams Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie : BlockFromCommentPublic200Response

Exemple

Exemple de 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

créer_commentaire_public Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Oui
broadcast_id String Oui
comment_data models::CommentData Oui
session_id String Non
sso String Non

Réponse

Renvoie : CreateCommentPublic200Response

Exemple

Exemple de 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

supprimer_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
context_user_id String Non
is_live bool Non

Réponse

Renvoie : DeleteComment200Response

Exemple

Exemple de 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

supprimer_commentaire_public Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
edit_key String Non
sso String Non

Réponse

Renvoie: DeleteCommentPublic200Response

Exemple

Exemple de 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

supprimer_vote_commentaire Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
comment_id String Oui
vote_id String Oui
url_id String Oui
broadcast_id String Oui
edit_key String Non
sso String Non

Réponse

Renvoie : DeleteCommentVote200Response

Exemple

Exemple de 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

signaler_commentaire Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie : FlagComment200Response

Exemple

Exemple de 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

obtenir_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetComment200Response

Exemple

Exemple de 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

obtenir_texte_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
edit_key String Non
sso String Non

Réponse

Retourne : GetCommentText200Response

Exemple

Exemple de 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

obtenir_noms_utilisateurs_vote_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
dir i32 Oui
sso String Non

Réponse

Renvoie: GetCommentVoteUserNames200Response

Exemple

get_comment_vote_user_names Exemple
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

obtenir_commentaires Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
page i32 Non
limit i32 Non
skip i32 Non
as_tree bool Non
skip_children i32 Non
limit_children i32 Non
max_tree_depth i32 Non
url_id String Non
user_id String Non
anon_user_id String Non
context_user_id String Non
hash_tag String Non
parent_id String Non
direction models::SortDirections Non

Réponse

Retourne: GetComments200Response

Exemple

Exemple de 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

obtenir_commentaires_publics Internal Link

req tenantId urlId

Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Oui
page i32 Non
direction models::SortDirections Non
sso String Non
skip i32 Non
skip_children i32 Non
limit i32 Non
limit_children i32 Non
count_children bool Non
fetch_page_for_comment_id String Non
include_config bool Non
count_all bool Non
includei10n bool Non
locale String Non
modules String Non
is_crawler bool Non
include_notification_count bool Non
as_tree bool Non
max_tree_depth i32 Non
use_full_translation_ids bool Non
parent_id String Non
search_text String Non
hash_tags Vec Non
user_id String Non
custom_config_str String Non
after_comment_id String Non
before_comment_id String Non

Réponse

Renvoie : GetCommentsPublic200Response

Exemple

Exemple de 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

verrouiller_commentaire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
sso String Non

Réponse

Retourne : LockComment200Response

Exemple

Exemple de 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

épingler_commentaire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
sso String Non

Réponse

Retourne: PinComment200Response

Exemple

Exemple de 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

enregistrer_commentaire Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
create_comment_params models::CreateCommentParams Oui
is_live bool Non
do_spam_check bool Non
send_emails bool Non
populate_notifications bool Non

Réponse

Retourne: SaveComment200Response

Exemple

Exemple de 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

enregistrer_commentaires_en_masse Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
create_comment_params Vecmodels::CreateCommentParams Oui
is_live bool Non
do_spam_check bool Non
send_emails bool Non
populate_notifications bool Non

Réponse

Retourne : Vec<models::SaveComment200Response>

Exemple

Exemple de 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

définir_texte_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
comment_text_update_request models::CommentTextUpdateRequest Oui
edit_key String Non
sso String Non

Réponse

Renvoie: SetCommentText200Response

Exemple

Exemple de 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

débloquer_utilisateur_depuis_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
un_block_from_comment_params models::UnBlockFromCommentParams Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie: UnBlockCommentPublic200Response

Exemple

Exemple : 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

annuler_signalement_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie: FlagComment200Response

Exemple

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

déverrouiller_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
sso String Non

Réponse

Retourne : LockComment200Response

Exemple

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

désépingler_commentaire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
broadcast_id String Oui
sso String Non

Réponse

Renvoie : PinComment200Response

Exemple

Exemple de 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

mettre_à_jour_commentaire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
updatable_comment_params models::UpdatableCommentParams Oui
context_user_id String Non
do_spam_check bool Non
is_live bool Non

Réponse

Retourne : FlagCommentPublic200Response

Exemple

Exemple de 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

voter_commentaire Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
comment_id String Oui
url_id String Oui
broadcast_id String Oui
vote_body_params models::VoteBodyParams Oui
session_id String Non
sso String Non

Réponse

Retourne: VoteComment200Response

Exemple

Exemple de 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

ajouter_configuration_domaine Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
add_domain_config_params models::AddDomainConfigParams Oui

Réponse

Renvoie: AddDomainConfig200Response


supprimer_configuration_domaine Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
domain String Oui

Réponse

Renvoie : DeleteDomainConfig200Response


obtenir_configuration_domaine Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
domain String Oui

Réponse

Renvoie: GetDomainConfig200Response


obtenir_configurations_de_domaine Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui

Réponse

Renvoie: GetDomainConfigs200Response


modifier_partiellement_configuration_domaine Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
domain_to_update String Oui
patch_domain_config_params models::PatchDomainConfigParams Oui

Réponse

Renvoie : GetDomainConfig200Response


remplacer_configuration_domaine Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
domain_to_update String Oui
update_domain_config_params models::UpdateDomainConfigParams Oui

Réponse

Renvoie : GetDomainConfig200Response


créer_modèle_de_courriel Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_email_template_body models::CreateEmailTemplateBody Oui

Réponse

Retourne : CreateEmailTemplate200Response

Exemple

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

supprimer_modèle_de_courriel Internal Link

Paramètres

Name Type Required Description
tenant_id Chaîne Oui
id Chaîne Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

supprimer_erreur_rendu_modèle_courriel Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
error_id String Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

obtenir_modèle_de_courriel Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetEmailTemplate200Response

Exemple

Exemple de 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

obtenir_définitions_des_modèles_de_courriel Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui

Réponse

Renvoie : GetEmailTemplateDefinitions200Response

Exemple

Exemple de 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

obtenir_erreurs_rendu_modèles_courriel Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
skip f64 Non

Réponse

Renvoie : GetEmailTemplateRenderErrors200Response

Exemple

Exemple de 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

obtenir_modèles_de_courriel Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip f64 Non

Réponse

Retourne : GetEmailTemplates200Response

Exemple

Exemple de 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

générer_modèle_de_courriel Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
render_email_template_body models::RenderEmailTemplateBody Oui
locale String Non

Réponse

Renvoie : RenderEmailTemplate200Response

Exemple

Exemple de 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

mettre_à_jour_modèle_de_courriel Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_email_template_body models::UpdateEmailTemplateBody Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_journal_d'événements Internal Link

req tenantId urlId userIdWS

Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Oui
user_id_ws String Oui
start_time i64 Oui
end_time i64 Oui

Réponse

Renvoie : GetEventLog200Response

Exemple

Exemple de 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

obtenir_journal_d'événements_global Internal Link


req tenantId urlId userIdWS

Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Oui
user_id_ws String Oui
start_time i64 Oui
end_time i64 Oui

Réponse

Retourne : GetEventLog200Response

Exemple

Exemple de 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

créer_publication_de_flux Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
create_feed_post_params models::CreateFeedPostParams Oui
broadcast_id String Non
is_live bool Non
do_spam_check bool Non
skip_dup_check bool Non

Réponse

Retourne: CreateFeedPost200Response

Exemple

Exemple de 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

créer_publication_de_flux_publique Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
create_feed_post_params models::CreateFeedPostParams Oui
broadcast_id String Non
sso String Non

Réponse

Renvoie: CreateFeedPostPublic200Response

Exemple

Exemple de 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

supprimer_publication_de_flux_publique Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
post_id String Oui
broadcast_id String Non
sso String Non

Response

Renvoie : DeleteFeedPostPublic200Response

Exemple

Exemple de 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

obtenir_publications_de_flux Internal Link

req tenantId afterId

Paramètres

Nom Type Requis Description
tenant_id String Oui
after_id String Non
limit i32 Non
tags Vec Non

Réponse

Renvoie : GetFeedPosts200Response

Exemple

Exemple de 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

obtenir_publications_de_flux_publiques Internal Link

req tenantId afterId

Paramètres

Nom Type Requis Description
tenant_id String Oui
after_id String Non
limit i32 Non
tags Vec Non
sso String Non
is_crawler bool Non
include_user_info bool Non

Réponse

Renvoie : GetFeedPostsPublic200Response

Exemple

Exemple de 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

obtenir_statistiques_publications_de_flux Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
post_ids Vec Oui
sso String Non

Réponse

Retourne: GetFeedPostsStats200Response

Exemple

Exemple de 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

obtenir_réactions_utilisateur_publiques Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
post_ids Vec Non
sso String Non

Réponse

Retourne: GetUserReactsPublic200Response

Exemple

Exemple de 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

réagir_publication_de_flux_publique Internal Link


Paramètres

Name Type Requis Description
tenant_id String Oui
post_id String Oui
react_body_params models::ReactBodyParams Oui
is_undo bool Non
broadcast_id String Non
sso String Non

Réponse

Renvoie : ReactFeedPostPublic200Response

Exemple

Exemple de 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

mettre_à_jour_publication_de_flux Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
feed_post models::FeedPost Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple 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

mettre_à_jour_publication_de_flux_publique Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
post_id String Oui
update_feed_post_params models::UpdateFeedPostParams Oui
broadcast_id String Non
sso String Non

Réponse

Renvoie: CreateFeedPostPublic200Response

Exemple

Exemple pour 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

signaler_commentaire_public Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui
comment_id String Oui
is_flagged bool Oui
sso String Non

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

ajouter_mot_clic Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Non
create_hash_tag_body models::CreateHashTagBody Non

Réponse

Renvoie : AddHashTag200Response

Exemple

Exemple pour 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

ajouter_mots_clic_en_masse Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Non
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Non

Réponse

Renvoie: AddHashTagsBulk200Response

Exemple

Exemple de 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

supprimer_mot_clic Internal Link

Paramètres

Nom Type Requis Description
tag String Oui
tenant_id String Non
delete_hash_tag_request models::DeleteHashTagRequest Non

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_mots_clic Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
page f64 Non

Réponse

Renvoie : GetHashTags200Response

Exemple

Exemple de 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

modifier_partiellement_mot_clic Internal Link

Paramètres

Nom Type Obligatoire Description
tag String Oui
tenant_id String Non
update_hash_tag_body models::UpdateHashTagBody Non

Réponse

Renvoie : PatchHashTag200Response

Exemple

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

créer_modérateur Internal Link


Paramètres

Name Type Requis Description
tenant_id String Oui
create_moderator_body models::CreateModeratorBody Oui

Réponse

Renvoie : CreateModerator200Response

Exemple

Exemple de 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

supprimer_modérateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
send_email String Non

Réponse

Retourne: FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_modérateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetModerator200Response

Exemple

Exemple de 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

obtenir_modérateurs Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip f64 Non

Réponse

Renvoie : GetModerators200Response

Exemple

Exemple de 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

envoyer_invitation Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
from_name String Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

mettre_à_jour_modérateur Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
update_moderator_body models::UpdateModeratorBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple 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

supprimer_nombre_de_notifications Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_nombre_de_notifications_en_cache Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Retourne: GetCachedNotificationCount200Response

Exemple

Exemple 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

obtenir_nombre_de_notifications Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
user_id String Non
url_id String Non
from_comment_id String Non
viewed bool Non

Réponse

Renvoie: GetNotificationCount200Response

Exemple

Exemple de 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

obtenir_notifications Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
user_id String Non
url_id String Non
from_comment_id String Non
viewed bool Non
skip f64 Non

Réponse

Renvoie : GetNotifications200Response

Exemple

Exemple de 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

mettre_à_jour_notification Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_notification_body models::UpdateNotificationBody Oui
user_id String Non

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

ajouter_page Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui
create_api_page_data models::CreateApiPageData Oui

Réponse

Retourne: AddPageApiResponse


supprimer_page Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Retourne : DeletePageApiResponse


obtenir_page_par_urlid Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
url_id String Oui

Réponse

Retourne: GetPageByUrlidApiResponse


obtenir_pages Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui

Réponse

Renvoie: GetPagesApiResponse


modifier_partiellement_page Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_api_page_data models::UpdateApiPageData Oui

Réponse

Renvoie: PatchPageApiResponse

supprimer_événement_webhook_en_attente Internal Link


Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_nombre_événements_webhook_en_attente Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
comment_id String Non
external_id String Non
event_type String Non
domain String Non
attempt_count_gt f64 Non

Réponse

Renvoie : GetPendingWebhookEventCount200Response

Exemple

Exemple de 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

obtenir_événements_webhook_en_attente Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
comment_id String Non
external_id String Non
event_type String Non
domain String Non
attempt_count_gt f64 Non
skip f64 Non

Réponse

Retourne : GetPendingWebhookEvents200Response

Exemple

Exemple 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

créer_configuration_de_question Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_question_config_body models::CreateQuestionConfigBody Oui

Réponse

Renvoie : CreateQuestionConfig200Response

Exemple

Exemple de 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

supprimer_configuration_de_question Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_configuration_de_question Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: GetQuestionConfig200Response

Exemple

Exemple de 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

obtenir_configurations_de_question Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip f64 Non

Réponse

Retourne: GetQuestionConfigs200Response

Exemple

Exemple de 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

mettre_à_jour_configuration_de_question Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_question_config_body models::UpdateQuestionConfigBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

créer_résultat_de_question Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
create_question_result_body models::CreateQuestionResultBody Oui

Réponse

Renvoie : CreateQuestionResult200Response

Exemple

Exemple de 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

supprimer_résultat_de_question Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_résultat_de_question Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: GetQuestionResult200Response

Exemple

Exemple de 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

obtenir_résultats_de_question Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Non
user_id String Non
start_date String Non
question_id String Non
question_ids String Non
skip f64 Non

Réponse

Renvoie: GetQuestionResults200Response

Exemple

Exemple de 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

mettre_à_jour_résultat_de_question Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
update_question_result_body models::UpdateQuestionResultBody Oui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de 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

agréger_résultats_de_question Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
question_id String Non
question_ids Vec Non
url_id String Non
time_bucket models::AggregateTimeBucket Non
start_date String Non
force_recalculate bool Non

Réponse

Renvoie : AggregateQuestionResults200Response

Exemple

Exemple 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

agréger_résultats_de_question_en_masse Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Oui
force_recalculate bool Non

Réponse

Renvoie : BulkAggregateQuestionResults200Response

Exemple

Exemple de 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

combiner_commentaires_avec_résultats_de_question Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
question_id String Non
question_ids Vec Non
url_id String Non
start_date String Non
force_recalculate bool Non
min_value f64 Non
max_value f64 Non
limit f64 Non

Réponse

Renvoie: CombineCommentsWithQuestionResults200Response

Exemple

Exemple de 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

ajouter_utilisateur_SSO Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_apisso_user_data models::CreateApissoUserData Oui

Réponse

Retourne : AddSsoUserApiResponse


supprimer_utilisateur_SSO Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
delete_comments bool Non
comment_delete_mode String Non

Réponse

Renvoie : DeleteSsoUserApiResponse


obtenir_utilisateur_SSO_par_courriel Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
email String Oui

Réponse

Renvoie : GetSsoUserByEmailApiResponse


obtenir_utilisateur_SSO_par_id Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Retourne : GetSsoUserByIdApiResponse


obtenir_utilisateurs_SSO Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip i32 Non

Réponse

Renvoie : GetSsoUsers200Response

modifier_partiellement_utilisateur_SSO Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
update_apisso_user_data models::UpdateApissoUserData Oui
update_comments bool Non

Réponse

Renvoie: PatchSsoUserApiResponse


remplacer_utilisateur_SSO Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
update_apisso_user_data models::UpdateApissoUserData Oui
update_comments bool Non

Réponse

Renvoie : PutSsoUserApiResponse


créer_abonnement Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
create_api_user_subscription_data models::CreateApiUserSubscriptionData Oui

Réponse

Renvoie : CreateSubscriptionApiResponse

Exemple

Exemple pour 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

supprimer_abonnement Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
user_id String Non

Réponse

Renvoie: DeleteSubscriptionApiResponse


obtenir_abonnements Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
user_id String Non

Réponse

Renvoie: GetSubscriptionsApiResponse

Exemple

Exemple de 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

mettre_à_jour_abonnement Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_api_user_subscription_data models::UpdateApiUserSubscriptionData Oui
user_id String Non

Réponse

Renvoie : UpdateSubscriptionApiResponse

Exemple

Exemple de 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

obtenir_utilisations_journalières_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
year_number f64 Non
month_number f64 Non
day_number f64 Non
skip f64 Non

Réponse

Renvoie : GetTenantDailyUsages200Response

Exemple

get_tenant_daily_usages Exemple
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

créer_forfait_locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_tenant_package_body models::CreateTenantPackageBody Oui

Réponse

Renvoie : CreateTenantPackage200Response

Exemple

Exemple de 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

supprimer_forfait_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_forfait_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetTenantPackage200Response

Exemple

Exemple de 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

obtenir_forfaits_locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip f64 Non

Réponse

Renvoie : GetTenantPackages200Response

Exemple

Exemple de 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

remplacer_forfait_locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
replace_tenant_package_body models::ReplaceTenantPackageBody Oui

Réponse

Retourne: FlagCommentPublic200Response

Exemple

replace_tenant_package Exemple
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

mettre_à_jour_forfait_locataire Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
update_tenant_package_body models::UpdateTenantPackageBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple pour 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

créer_utilisateur_locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_tenant_user_body models::CreateTenantUserBody Oui

Réponse

Renvoie: CreateTenantUser200Response

Exemple

Exemple de 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

supprimer_utilisateur_locataire Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
delete_comments String Non
comment_delete_mode String Non

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_utilisateur_locataire Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Response

Retourne: GetTenantUser200Response

Exemple

Exemple de 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

obtenir_utilisateurs_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
skip f64 Non

Réponse

Retourne : GetTenantUsers200Response

Exemple

Exemple de 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

remplacer_utilisateur_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
replace_tenant_user_body models::ReplaceTenantUserBody Oui
update_comments String Non

Réponse

Retourne: FlagCommentPublic200Response

Exemple

Exemple pour 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

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
redirect_url String Non

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

mettre_à_jour_utilisateur_locataire Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
update_tenant_user_body models::UpdateTenantUserBody Oui
update_comments String Non

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de 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

créer_locataire Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
create_tenant_body models::CreateTenantBody Oui

Réponse

Retourne: CreateTenant200Response

Exemple

Exemple de 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

supprimer_locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
sure String Non

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de 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

obtenir_locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Retourne : GetTenant200Response

Exemple

Exemple 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

obtenir_locataires Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
meta String Non
skip f64 Non

Réponse

Retourne: GetTenants200Response

Exemple

get_tenants Exemple
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

mettre_à_jour_locataire Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
update_tenant_body models::UpdateTenantBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple pour 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

changer_état_ticket Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
user_id String Oui
id String Oui
change_ticket_state_body models::ChangeTicketStateBody Oui

Réponse

Renvoie : ChangeTicketState200Response

Exemple

Exemple de 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

créer_ticket Internal Link

Paramètres

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

Réponse

Renvoie: CreateTicket200Response

Exemple

Exemple de 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

obtenir_ticket Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui
user_id String Non

Réponse

Renvoie : GetTicket200Response

Exemple

Exemple de 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

obtenir_tickets Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
user_id String Non
state f64 Non
skip f64 Non
limit f64 Non

Réponse

Retourne : GetTickets200Response

Exemple

Exemple de 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

téléverser_image Internal Link


Téléverser et redimensionner une image

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
file std::path::PathBuf Oui
size_preset models::SizePreset Non
url_id String Non

Réponse

Renvoie: UploadImageResponse


obtenir_progression_badge_utilisateur_par_id Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetUserBadgeProgressById200Response

Exemple

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

obtenir_progression_badge_par_id_utilisateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
user_id String Oui

Réponse

Renvoie: GetUserBadgeProgressById200Response

Exemple

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

obtenir_liste_progression_badge_utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
user_id String Non
limit f64 Non
skip f64 Non

Réponse

Renvoie : GetUserBadgeProgressList200Response

Exemple

Exemple de 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

créer_badge_utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_user_badge_params models::CreateUserBadgeParams Oui

Réponse

Renvoie : CreateUserBadge200Response

Exemple

Exemple de 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

supprimer_badge_utilisateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : UpdateUserBadge200Response

Exemple

Exemple de 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

obtenir_badge_utilisateur Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetUserBadge200Response

Exemple

Exemple de 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

obtenir_badges_utilisateur Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
user_id String Non
badge_id String Non
displayed_on_comments bool Non
limit f64 Non
skip f64 Non

Réponse

Renvoie: GetUserBadges200Response

Exemple

Exemple de 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

mettre_à_jour_badge_utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_user_badge_params models::UpdateUserBadgeParams Oui

Réponse

Renvoie : UpdateUserBadge200Response

Exemple

Exemple 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

obtenir_nombre_notifications_utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
sso String Non

Réponse

Retourne : GetUserNotificationCount200Response

Exemple

Exemple de 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

obtenir_notifications_utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
page_size i32 Non
after_id String Non
include_context bool Non
after_created_at i64 Non
unread_only bool Non
dm_only bool Non
no_dm bool Non
include_translations bool Non
sso String Non

Réponse

Renvoie : GetUserNotifications200Response

Exemple

Exemple de 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

réinitialiser_nombre_notifications_utilisateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
sso String Non

Réponse

Renvoie: ResetUserNotifications200Response

Exemple

Exemple de 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

réinitialiser_notifications_utilisateur Internal Link


Paramètres

Name Type Obligatoire Description
tenant_id String Oui
after_id String Non
after_created_at i64 Non
unread_only bool Non
dm_only bool Non
no_dm bool Non
sso String Non

Réponse

Renvoie : ResetUserNotifications200Response

Exemple

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

mettre_à_jour_statut_abonnement_commentaires_notification_utilisateur Internal Link

Activer ou désactiver les notifications pour un commentaire spécifique.

Paramètres

Nom Type Requis Description
tenant_id String Oui
notification_id String Oui
opted_in_or_out String Oui
comment_id String Oui
sso String Non

Réponse

Retourne : UpdateUserNotificationStatus200Response

Exemple

Exemple de 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

mettre_à_jour_statut_abonnement_page_notification_utilisateur Internal Link


Activer ou désactiver les notifications pour une page. Lorsque des utilisateurs sont abonnés à une page, des notifications sont créées pour les nouveaux commentaires racine, et aussi

Paramètres

Name Type Required Description
tenant_id String Yes
url_id String Yes
url String Yes
page_title String Yes
subscribed_or_unsubscribed String Yes
sso String No

Réponse

Retourne: UpdateUserNotificationStatus200Response

Exemple

Exemple pour 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

mettre_à_jour_statut_notification_utilisateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
notification_id String Oui
new_status String Oui
sso String Non

Réponse

Renvoie: UpdateUserNotificationStatus200Response

Exemple

Exemple de 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

obtenir_statuts_de_présence_utilisateur Internal Link


Paramètres

Name Type Required Description
tenant_id String Oui
url_id_ws String Oui
user_ids String Oui

Réponse

Renvoie : GetUserPresenceStatuses200Response

Exemple

Exemple de 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

rechercher_utilisateurs Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
url_id String Oui
username_starts_with String Non
mention_group_ids Vec Non
sso String Non
search_section String Non

Réponse

Renvoie : SearchUsers200Response

Exemple

Exemple de 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

obtenir_utilisateur Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetUser200Response

Exemple

Exemple de 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

créer_vote Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
comment_id String Oui
direction String Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie: VoteComment200Response

Exemple

Exemple de 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

supprimer_vote Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
edit_key String Non

Response

Retourne : DeleteCommentVote200Response

Exemple

Exemple de 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

obtenir_votes Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
url_id String Oui

Réponse

Renvoie : GetVotes200Response

Exemple

Exemple de 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

obtenir_votes_pour_utilisateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
url_id String Oui
user_id String Non
anon_user_id String Non

Réponse

Renvoie : GetVotesForUser200Response

Exemple

Exemple de 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

Besoin d'aide ?

Si vous rencontrez des problèmes ou avez des questions concernant le SDK Rust, veuillez :

Contribuer

Les contributions sont les bienvenues ! Veuillez consulter le dépôt GitHub pour les consignes de contribution.