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 SDK Rust de FastComments se compose de plusieurs modules :

  • Client Module - Client API généré automatiquement pour les API REST de FastComments

    • Définitions de types complètes pour tous les modèles d'API
    • Points de terminaison à la fois 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 des jetons basée sur HMAC-SHA256
  • Core Types - Définitions de types partagées et utilitaires

    • 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éer 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 de 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 uniquement !)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // ID utilisateur
        "user@example.com".to_string(),   // Adresse e-mail
        "John Doe".to_string(),            // Nom d'utilisateur
        "https://example.com/avatar.jpg".to_string(), // URL de l'avatar
    );

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

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

Problèmes courants Internal Link

401 Unauthorized Errors

Si vous obtenez des erreurs 401 lorsque vous utilisez l'API authentifiée :

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

SSO Token Issues

Si les jetons SSO ne fonctionnent pas :

  1. Utilisez le mode sécurisé en production : Toujours utiliser FastCommentsSSO::new_secure() avec votre clé API pour la 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

Le SDK utilise tokio pour les opérations asynchrones. Assurez-vous de :

  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


Identifiants de diffusion

Vous verrez que vous devez passer un broadcastId dans certains appels d'API. Lorsque vous recevez des événements, vous récupérerez cet ID, ce qui vous permet d'ignorer l'événement si vous prévoyez d'appliquer les modifications de manière optimiste côté client

(ce que vous souhaiterez 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 au cours d'une même session du navigateur.

agréger Internal Link

Agrège les documents en les groupant (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 Obligatoire Description
tenant_id String Oui
aggregation_request models::AggregationRequest Oui
parent_tenant_id String Non
include_stats bool Non

Réponse

Retourne : AggregationResponse


obtenir les journaux d'audit Internal Link

Paramètres

Name 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

Retourne : 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 un commentaire (public) Internal Link

Paramètres

Nom Type Obligatoire 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 le commentaire (public) Internal Link


Paramètres

Name 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 : 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 les commentaires bloqués Internal Link


Paramètres

Name Type Requis 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 l'utilisateur depuis un commentaire Internal Link

Paramètres

Nom 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 un commentaire (public) Internal Link

Paramètres

Name 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 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 un commentaire Internal Link

Paramètres

Nom Type Obligatoire 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 un commentaire (public) Internal Link

Paramètres

Name Type Required 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 le vote sur un commentaire Internal Link

Paramètres

Name Type Requis 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

Retourne : 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 un 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 un 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 le texte du 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

Renvoie : GetCommentText200Response

Exemple

Exemple 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 les noms d'utilisateur des votes sur le 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

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

obtenir des commentaires Internal Link


Paramètres

Nom Type Requis 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

Renvoie : 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 des commentaires (publics) Internal Link

req tenantId urlId

Paramètres

Name Type Obligatoire 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 un 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 un 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

Renvoie : 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 un 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

Renvoie : 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 des commentaires en lot Internal Link

Paramètres

Nom 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 le texte du commentaire Internal Link

Paramètres

Name 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

Retourne : SetCommentText200Response

Exemple

Exemple 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 l'utilisateur depuis un 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 de 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 le signalement du commentaire Internal Link

Paramètres

Name Type Required 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 un 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 un commentaire Internal Link

Paramètres

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

Réponse

Retourne : 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 un 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 pour un commentaire Internal Link

Paramètres

Nom 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

Renvoie : VoteComment200Response

Exemple

vote_comment Exemple
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 une configuration de 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 une configuration de domaine Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
domain String Oui

Réponse

Renvoie: DeleteDomainConfig200Response


obtenir la configuration de domaine Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
domain String Oui

Réponse

Renvoie : GetDomainConfig200Response


obtenir les configurations de domaine Internal Link


Paramètres

Nom Type Requis Description
tenant_id String Oui

Réponse

Renvoie: GetDomainConfigs200Response


mettre à jour partiellement la configuration de 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

Retourne: GetDomainConfig200Response


remplacer la configuration de 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 un modèle d'e-mail Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
create_email_template_body models::CreateEmailTemplateBody Oui

Réponse

Renvoie : CreateEmailTemplate200Response

Exemple

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

supprimer un modèle d'e-mail Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String 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 une erreur de rendu de modèle d'e-mail Internal Link

Paramètres

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

Réponse

Retourne: 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 un modèle d'e-mail Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Retourne : GetEmailTemplate200Response

Exemple

Exemple 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 les définitions de modèles d'e-mail Internal Link

Paramètres

Nom Type Requis 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 les erreurs de rendu des modèles d'e-mail Internal Link

Paramètres

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

Réponse

Renvoie : GetEmailTemplateRenderErrors200Response

Exemple

Exemple 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 les modèles d'e-mail 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 un modèle d'e-mail 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 un modèle d'e-mail Internal Link

Paramètres

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

Réponse

Retourne : 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 le journal d'événements Internal Link

req tenantId urlId userIdWS

Paramètres

Name Type Required 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 le journal d'événements global Internal Link

req tenantId urlId userIdWS

Paramètres

Name Type Obligatoire 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

get_global_event_log Exemple
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 une publication Internal Link

Paramètres

Nom Type Requis 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

Renvoie: 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 une publication (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

Retourne: 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 une publication (publique) Internal Link


Paramètres

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

Réponse

Retourne: DeleteFeedPostPublic200Response

Exemple

Exemple 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 les publications Internal Link

req tenantId afterId

Paramètres

Nom Type Obligatoire 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 les publications (publiques) Internal Link

req tenantId afterId

Paramètres

Nom Type Obligatoire 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 les statistiques des publications Internal Link

Paramètres

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

Réponse

Renvoie: 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 les réactions des utilisateurs (public) Internal Link

Paramètres

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

Réponse

Renvoie: 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 à une publication (publique) Internal Link

Paramètres

Nom Type Obligatoire 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 une publication Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
feed_post models::FeedPost Oui

Réponse

Retourne: FlagCommentPublic200Response

Exemple

Exemple pour 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 une publication (publique) Internal Link

Paramètres

Nom Type Requis 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

Retourne : CreateFeedPostPublic200Response

Exemple

Exemple de 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 un commentaire (public) Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
comment_id String Oui
is_flagged bool Oui
sso String Non

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple 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 un hashtag Internal Link

Paramètres

Name Type Required Description
tenant_id String Non
create_hash_tag_body models::CreateHashTagBody Non

Réponse

Renvoie : AddHashTag200Response

Exemple

Exemple 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 des hashtags en masse Internal Link


Paramètres

Name Type Obligatoire Description
tenant_id String Non
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Non

Réponse

Renvoie : AddHashTagsBulk200Response

Exemple

Exemple 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 un hashtag 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 les hashtags 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

mettre à jour partiellement un hashtag 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 un 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 un modérateur Internal Link

Paramètres

Name 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 un modérateur Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: GetModerator200Response

Exemple

Exemple pour 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 les modérateurs Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
skip f64 Non

Réponse

Renvoie : GetModerators200Response

Exemple

Exemple 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 une invitation Internal Link

Paramètres

Nom Type Obligatoire 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 un modérateur Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
update_moderator_body models::UpdateModeratorBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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 le nombre de notifications Internal Link

Paramètres

Nom Type Obligatoire 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 le nombre de notifications mis en cache Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: GetCachedNotificationCount200Response

Exemple

Exemple de 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 le nombre de notifications Internal Link

Paramètres

Name Type Required 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 les 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 une notification Internal Link


Paramètres

Name Type Required Description
tenant_id String Yes
id String Yes
update_notification_body models::UpdateNotificationBody Yes
user_id String No

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 une page Internal Link

Paramètres

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

Réponse

Renvoie: AddPageApiResponse

supprimer une page Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : DeletePageApiResponse


obtenir la page par URLID Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
url_id String Oui

Réponse

Retourne: GetPageByUrlidApiResponse


obtenir les pages Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui

Réponse

Renvoie: GetPagesApiResponse


mettre à jour partiellement une page Internal Link


Paramètres

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

Réponse

Retourne : PatchPageApiResponse


supprimer un é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 le nombre d'é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

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 les é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
skip f64 Non

Réponse

Renvoie : GetPendingWebhookEvents200Response

Exemple

Exemple de 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 une configuration de question Internal Link

Paramètres

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

Réponse

Retourne: 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 une configuration 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_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 la 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 les configurations de questions Internal Link

Paramètres

Name Type Obligatoire Description
tenant_id String Oui
skip f64 Non

Réponse

Renvoie : 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 la configuration de question Internal Link

Paramètres

Nom Type Obligatoire 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 un résultat de question Internal Link

Paramètres

Name Type Required 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 un 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 un résultat de question Internal Link

Paramètres

Name Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetQuestionResult200Response

Exemple

Exemple 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 les résultats des questions 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 un 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 les résultats des questions 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 de 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égation en masse des résultats des questions 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 les commentaires avec les résultats des questions Internal Link

Paramètres

Nom Type Obligatoire 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

Retourne: 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 un utilisateur SSO Internal Link

Paramètres

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

Réponse

Renvoie: AddSsoUserApiResponse

supprimer un utilisateur SSO Internal Link

Paramètres

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

Réponse

Renvoie: DeleteSsoUserApiResponse


obtenir l'utilisateur SSO par e-mail Internal Link


Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
email String Oui

Réponse

Renvoie : GetSsoUserByEmailApiResponse


obtenir l'utilisateur SSO par ID Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Renvoie: GetSsoUserByIdApiResponse


obtenir les utilisateurs SSO Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
skip i32 Non

Réponse

Renvoie : GetSsoUsers200Response


mettre à jour partiellement un 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 : PatchSsoUserApiResponse


remplacer un utilisateur SSO Internal Link

Paramètres

Nom Type Requis 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 un abonnement Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
create_api_user_subscription_data models::CreateApiUserSubscriptionData Oui

Réponse

Retourne : CreateSubscriptionApiResponse

Exemple

Exemple de 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 un abonnement Internal Link

Paramètres

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

Réponse

Retourne: DeleteSubscriptionApiResponse


obtenir les abonnements Internal Link

Paramètres

Nom Type Obligatoire 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 un abonnement Internal Link

Paramètres

Nom Type Obligatoire 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 les utilisations quotidiennes du locataire Internal Link

Paramètres

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

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

créer un forfait pour le 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 un forfait du locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Retourne : 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 le forfait du locataire Internal Link

Paramètres

Nom Type Requis 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 les forfaits du locataire Internal Link

Paramètres

Name Type Required 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 le forfait du 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

Renvoie : FlagCommentPublic200Response

Exemple

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

mettre à jour le forfait du locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui
update_tenant_package_body models::UpdateTenantPackageBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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 un utilisateur du locataire Internal Link

Paramètres

Nom Type Obligatoire 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 un utilisateur du locataire Internal Link

Paramètres

Name 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 l'utilisateur du locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : 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 les utilisateurs du locataire Internal Link

Paramètres

Name Type Required 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 l'utilisateur du locataire Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
id String Oui
replace_tenant_user_body models::ReplaceTenantUserBody Oui
update_comments String Non

Réponse

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

Nom Type Requis 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 l'utilisateur du locataire Internal Link

Paramètres

Nom Type Obligatoire 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 un locataire Internal Link

Paramètres

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

Réponse

Renvoie : 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 un locataire Internal Link

Paramètres

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

Réponse

Retourne: 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 le locataire Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Renvoie : GetTenant200Response

Exemple

Exemple pour 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 les locataires Internal Link

Paramètres

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

Réponse

Renvoie : GetTenants200Response

Exemple

Exemple de get_tenants
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantsParams = GetTenantsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 meta: Some("news/article".to_string()),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 println!("{:#?}", response);
10 Ok(())
11}
12

mettre à jour le locataire Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui
update_tenant_body models::UpdateTenantBody Oui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de 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 l'état du ticket Internal Link

Paramètres

Name Type Requis 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 un ticket Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
user_id String Oui
create_ticket_body models::CreateTicketBody Oui

Réponse

Retourne : 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 un ticket Internal Link

Paramètres

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

Réponse

Renvoie : GetTicket200Response

Exemple

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

Renvoie : 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 une image Internal Link

Téléverser et redimensionner une image

Paramètres

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

Réponse

Renvoie: UploadImageResponse


obtenir la progression du badge utilisateur par ID Internal Link

Paramètres

Nom Type Obligatoire Description
tenant_id String Oui
id String Oui

Réponse

Retourne: GetUserBadgeProgressById200Response

Exemple

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

obtenir la progression du badge utilisateur par ID utilisateur Internal Link

Paramètres

Name Type Required Description
tenant_id String Oui
user_id String Oui

Réponse

Renvoie: GetUserBadgeProgressById200Response

Exemple

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

obtenir la liste de progression des badges 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 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 un badge utilisateur Internal Link

Paramètres

Nom Type Obligatoire 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 un badge utilisateur Internal Link

Paramètres

Nom Type Requis 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 un badge utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
id String Oui

Réponse

Retourne: GetUserBadge200Response

Exemple

get_user_badge Exemple
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 les badges utilisateur Internal Link


Paramètres

Nom Type Obligatoire 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 un 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

Retourne: UpdateUserBadge200Response

Exemple

Exemple de 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 le nombre de notifications utilisateur Internal Link

Paramètres

Nom Type Requis Description
tenant_id String Oui
sso String Non

Réponse

Renvoie : 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 les 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 le nombre de 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 les notifications utilisateur Internal Link

Paramètres

Nom Type Requis 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 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 le statut d'abonnement aux commentaires de notification utilisateur Internal Link

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

Paramètres

Name Type Required Description
tenant_id String Oui
notification_id String Oui
opted_in_or_out String Oui
comment_id String Oui
sso String Non

Réponse

Renvoie : 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 le statut d'abonnement aux pages de notification utilisateur Internal Link

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

Paramètres

Nom Type Requis Description
tenant_id String Oui
url_id String Oui
url String Oui
page_title String Oui
subscribed_or_unsubscribed String Oui
sso String Non

Réponse

Renvoie : UpdateUserNotificationStatus200Response

Exemple

Exemple de 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 le statut de notification utilisateur Internal Link


Paramètres

Nom Type Requis 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 les statuts de présence utilisateur Internal Link

Paramètres

Nom Type Requis 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 des utilisateurs Internal Link

Paramètres

Nom Type Obligatoire 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 un utilisateur Internal Link

Paramètres

Nom Type Requis 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 un vote Internal Link

Paramètres

Nom Type Requis 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 un vote Internal Link

Paramètres

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

Réponse

Renvoie : 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 les votes Internal Link

Paramètres

Name Type Required 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 les votes pour un utilisateur Internal Link

Paramètres

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

Réponse

Retourne : GetVotesForUser200Response

Exemple

get_votes_for_user Exemple
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 Rust SDK, veuillez :

Contribuer

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