FastComments.com

SDK Rust de FastComments


Ceci est le SDK Rust officiel pour FastComments.

SDK Rust officiel pour l'API FastComments

Dépôt

Voir sur GitHub


Installation Internal Link

cargo add fastcomments-sdk

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

Contenu de la bibliothèque Internal Link

Le FastComments Rust SDK se compose de plusieurs modules :

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

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

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

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

Démarrage rapide Internal Link

Utilisation de l'API publique

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

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

    // Récupérer les commentaires d'une page
    let result = public_api::get_comments_public(
        &config,
        public_api::GetCommentsPublicParams {
            tenant_id: "your-tenant-id".to_string(),
            urlid: Some("page-url-id".to_string()),
            url: None,
            count_only: None,
            skip: None,
            limit: None,
            sort_dir: None,
            page: None,
            sso_hash: None,
            simple_sso_hash: None,
            has_no_comment: None,
            has_comment: None,
            comment_id_filter: None,
            child_ids: None,
            start_date_time: None,
            starts_with: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Found {} comments", response.comments.len());
            for comment in response.comments {
                println!("Comment: {:?}", comment);
            }
        }
        Err(e) => eprintln!("Error fetching comments: {:?}", e),
    }
}

Utilisation de l'API authentifiée

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

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

    // Récupérer les commentaires en utilisant l'API authentifiée
    let result = default_api::get_comments(
        &config,
        default_api::GetCommentsParams {
            tenant_id: "your-tenant-id".to_string(),
            skip: None,
            limit: None,
            sort_dir: None,
            urlid: Some("page-url-id".to_string()),
            url: None,
            is_spam: None,
            user_id: None,
            all_comments: None,
            for_moderation: None,
            parent_id: None,
            is_flagged: None,
            is_flagged_tag: None,
            is_by_verified: None,
            is_pinned: None,
            asc: None,
            include_imported: None,
            origin: None,
            tags: None,
        },
    )
    .await;

    match result {
        Ok(response) => {
            println!("Total comments: {}", response.count);
            for comment in response.comments {
                println!("Comment ID: {}, Text: {}", comment.id, comment.comment);
            }
        }
        Err(e) => eprintln!("Error: {:?}", e),
    }
}

Utilisation du SSO pour l'authentification

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

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

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

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

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

Problèmes courants Internal Link

401 Unauthorized Errors

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

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

SSO Token Issues

If SSO tokens aren't working:

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

Async Runtime Errors

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

  1. Add tokio to your dependencies:
[dependencies]
tokio = { version = "1", features = ["full"] }
  1. Use the tokio runtime:
#[tokio::main]
async fn main() {
    // Votre code asynchrone ici
}

Notes Internal Link

IDs de diffusion

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

agréger Internal Link

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

Paramètres

NomTypeRequisDescription
tenant_idStringOui
aggregation_requestmodels::AggregationRequestOui
parent_tenant_idStringNon
include_statsboolNon

Réponse

Renvoie: AggregationResponse


obtenir_journaux_d'audit Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
limitf64Non
skipf64Non
ordermodels::SortDirNon
afterf64Non
beforef64Non

Réponse

Renvoie: GetAuditLogs200Response

Exemple

Exemple de get_audit_logs
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetAuditLogsParams = GetAuditLogsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 limit: Some(100.0),
6 skip: Some(0.0),
7 order: Some(models::SortDir::Desc),
8 after: Some(1672531200.0),
9 before: Some(1675209600.0),
10 };
11 let response: GetAuditLogs200Response = get_audit_logs(&configuration, params).await?;
12 Ok(())
13}
14

bloquer_depuis_commentaire_public Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
public_block_from_comment_paramsmodels::PublicBlockFromCommentParamsOui
ssoStringNon

Réponse

Renvoie : BlockFromCommentPublic200Response

Exemple

Exemple de block_from_comment_public
Copy Copy
1
2pub async fn run_block_example() -> Result<(), Error> {
3 let params: BlockFromCommentPublicParams = BlockFromCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25-12345".to_string(),
6 public_block_from_comment_params: models::PublicBlockFromCommentParams {
7 reason: "Repeated promotional links".to_string(),
8 reporter_id: Some("reader-2048".to_string()),
9 permanent: Some(false),
10 },
11 sso: Some("sso:user:acme:2048".to_string()),
12 };
13 let response: BlockFromCommentPublic200Response = block_from_comment_public(&configuration, params).await?;
14 println!("{:#?}", response);
15 Ok(())
16}
17

débloquer_commentaire_public Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
public_block_from_comment_paramsmodels::PublicBlockFromCommentParamsOui
ssoStringNon

Réponse

Retourne: UnBlockCommentPublic200Response

Exemple

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

vérifier_commentaires_bloqués Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
comment_idsStringOui
ssoStringNon

Réponse

Renvoie: CheckedCommentsForBlocked200Response

Exemple

Exemple de checked_comments_for_blocked
Copy Copy
1
2async fn run_checked_comments() -> Result<CheckedCommentsForBlocked200Response, Error> {
3 let params: CheckedCommentsForBlockedParams = CheckedCommentsForBlockedParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_ids: "article-98765:12345,article-98765:67890".to_string(),
6 sso: Some("sso-uid-4821".to_string()),
7 };
8 let response: CheckedCommentsForBlocked200Response = checked_comments_for_blocked(&configuration, params).await?;
9 Ok(response)
10}
11

bloquer_utilisateur_depuis_commentaire Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
block_from_comment_paramsmodels::BlockFromCommentParamsOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie : BlockFromCommentPublic200Response

Exemple

Exemple de block_user_from_comment
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: BlockUserFromCommentParams = BlockUserFromCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25/comment-842".to_string(),
6 block_from_comment_params: models::BlockFromCommentParams {
7 reason: Some("Repeated promotional links".to_string()),
8 duration_minutes: Some(7_200),
9 notify_user: Some(true),
10 },
11 user_id: Some("user-9812".to_string()),
12 anon_user_id: None,
13 };
14 let response: BlockFromCommentPublic200Response = block_user_from_comment(&configuration, params).await?;
15 Ok(())
16}
17

créer_commentaire_public Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
url_idStringOui
broadcast_idStringOui
comment_datamodels::CommentDataOui
session_idStringNon
ssoStringNon

Réponse

Renvoie : CreateCommentPublic200Response

Exemple

Exemple de create_comment_public
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateCommentPublicParams = CreateCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/politics/2026-election-coverage".to_string(),
6 broadcast_id: "live-coverage-2026-03-25".to_string(),
7 comment_data: models::CommentData {
8 content: "Insightful piece — appreciate the depth of reporting.".to_string(),
9 author_name: Some("Jane Doe".to_string()),
10 author_email: Some("jane.doe@acme.com".to_string()),
11 is_anonymous: Some(false),
12 parent_id: None,
13 metadata: None,
14 },
15 session_id: Some("sess_6f7e8d9c".to_string()),
16 sso: Some("sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
17 };
18 let resp: CreateCommentPublic200Response = create_comment_public(&configuration, params).await?;
19 Ok(())
20}
21

supprimer_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
context_user_idStringNon
is_liveboolNon

Réponse

Renvoie : DeleteComment200Response

Exemple

Exemple de delete_comment
Copy Copy
1
2async fn run_delete_comment() -> Result<DeleteComment200Response, Error> {
3 let params: DeleteCommentParams = DeleteCommentParams {
4 tenant_id: "acme-newsroom".to_string(),
5 id: "news/article-2026/comments/abc123".to_string(),
6 context_user_id: Some("user-789".to_string()),
7 is_live: Some(true),
8 };
9 let response: DeleteComment200Response = delete_comment(&configuration, params).await?;
10 Ok(response)
11}
12

supprimer_commentaire_public Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
edit_keyStringNon
ssoStringNon

Réponse

Renvoie: DeleteCommentPublic200Response

Exemple

Exemple de delete_comment_public
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentPublicParams = DeleteCommentPublicParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: String::from("news/article/2026/03/interesting-story#cmt-67890"),
6 broadcast_id: String::from("news-article-12345"),
7 edit_key: Some(String::from("editkey-3f2b9a")),
8 sso: Some(String::from("sso-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")),
9 };
10 let response: DeleteCommentPublic200Response = delete_comment_public(&configuration, params).await?;
11 Ok(())
12}
13

supprimer_vote_commentaire Internal Link

Paramètres

NameTypeObligatoireDescription
tenant_idStringOui
comment_idStringOui
vote_idStringOui
url_idStringOui
broadcast_idStringOui
edit_keyStringNon
ssoStringNon

Réponse

Renvoie : DeleteCommentVote200Response

Exemple

Exemple de delete_comment_vote
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteCommentVoteParams = DeleteCommentVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 vote_id: "vote-67890".to_string(),
7 url_id: "news/world/article-2026".to_string(),
8 broadcast_id: "broadcast-1".to_string(),
9 edit_key: Some("editkey-abc123".to_string()),
10 sso: Some("sso-token-xyz".to_string()),
11 };
12 let response: DeleteCommentVote200Response = delete_comment_vote(&configuration, params).await?;
13 Ok(())
14}
15

signaler_commentaire Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie : FlagComment200Response

Exemple

Exemple de flag_comment
Copy Copy
1
2async fn run() -> Result<FlagComment200Response, Error> {
3 let params: FlagCommentParams = FlagCommentParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 id: "comment-20260325-842".to_string(),
6 user_id: Some("user-7b2f3d".to_string()),
7 anon_user_id: Some("anon-1a2b3c".to_string()),
8 };
9 let resp: FlagComment200Response = flag_comment(&configuration, params).await?;
10 Ok(resp)
11}
12

obtenir_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetComment200Response

Exemple

Exemple de get_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetCommentParams = GetCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345/comment-6789".to_string(),
6 };
7 let _response: GetComment200Response = get_comment(&configuration, params).await?;
8 Ok(())
9}
10

obtenir_texte_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
edit_keyStringNon
ssoStringNon

Réponse

Retourne : GetCommentText200Response

Exemple

Exemple de get_comment_text
Copy Copy
1
2pub async fn run() -> Result<GetCommentText200Response, Error> {
3 let params: GetCommentTextParams = GetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-98765".to_string(),
6 edit_key: Some("edit_4f3d2b9a".to_string()),
7 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9".to_string()),
8 };
9 let comment: GetCommentText200Response = get_comment_text(&configuration, params).await?;
10 Ok(comment)
11}
12

obtenir_noms_utilisateurs_vote_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
diri32Oui
ssoStringNon

Réponse

Renvoie: GetCommentVoteUserNames200Response

Exemple

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

obtenir_commentaires Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
pagei32Non
limiti32Non
skipi32Non
as_treeboolNon
skip_childreni32Non
limit_childreni32Non
max_tree_depthi32Non
url_idStringNon
user_idStringNon
anon_user_idStringNon
context_user_idStringNon
hash_tagStringNon
parent_idStringNon
directionmodels::SortDirectionsNon

Réponse

Retourne: GetComments200Response

Exemple

Exemple de get_comments
Copy Copy
1
2async fn run_get_comments() -> Result<(), Error> {
3 let params: GetCommentsParams = GetCommentsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 page: Some(1),
6 limit: Some(25),
7 skip: Some(0),
8 as_tree: Some(true),
9 skip_children: Some(0),
10 limit_children: Some(5),
11 max_tree_depth: Some(3),
12 url_id: Some("news/article/technology/ai-ethics".to_string()),
13 user_id: Some("user_98765".to_string()),
14 anon_user_id: Some("anon_abc123".to_string()),
15 context_user_id: Some("moderator_12".to_string()),
16 hash_tag: Some("aiethics".to_string()),
17 parent_id: Some("comment_456".to_string()),
18 direction: None,
19 };
20 let comments: GetComments200Response = get_comments(&configuration, params).await?;
21 Ok(())
22}
23

obtenir_commentaires_publics Internal Link

req tenantId urlId

Paramètres

NomTypeRequisDescription
tenant_idStringOui
url_idStringOui
pagei32Non
directionmodels::SortDirectionsNon
ssoStringNon
skipi32Non
skip_childreni32Non
limiti32Non
limit_childreni32Non
count_childrenboolNon
fetch_page_for_comment_idStringNon
include_configboolNon
count_allboolNon
includei10nboolNon
localeStringNon
modulesStringNon
is_crawlerboolNon
include_notification_countboolNon
as_treeboolNon
max_tree_depthi32Non
use_full_translation_idsboolNon
parent_idStringNon
search_textStringNon
hash_tagsVecNon
user_idStringNon
custom_config_strStringNon
after_comment_idStringNon
before_comment_idStringNon

Réponse

Renvoie : GetCommentsPublic200Response

Exemple

Exemple de get_comments_public
Copy Copy
1
2async fn run() -> Result<GetCommentsPublic200Response, Error> {
3 let params: GetCommentsPublicParams = GetCommentsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/top-story".to_string(),
6 page: Some(1), direction: Some(models::SortDirections::Desc),
7 sso: None, skip: Some(0), skip_children: Some(0),
8 limit: Some(50), limit_children: Some(10), count_children: Some(true),
9 fetch_page_for_comment_id: None, include_config: Some(true), count_all: Some(false),
10 includei10n: Some(false), locale: Some("en-US".to_string()), modules: None,
11 is_crawler: Some(false), include_notification_count: Some(false), as_tree: Some(true),
12 max_tree_depth: Some(3), use_full_translation_ids: Some(false), parent_id: None,
13 search_text: Some("climate policy debate".to_string()), hash_tags: Some(vec!["breaking".to_string(), "policy".to_string()]),
14 user_id: None, custom_config_str: None, after_comment_id: None, before_comment_id: None,
15 };
16 let response: GetCommentsPublic200Response = get_comments_public(configuration, params).await?;
17 Ok(response)
18}
19

verrouiller_commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
ssoStringNon

Réponse

Retourne : LockComment200Response

Exemple

Exemple de lock_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: LockCommentParams = LockCommentParams {
4 tenant_id: String::from("acme-news-tenant"),
5 comment_id: String::from("cmt-20260325-789"),
6 broadcast_id: String::from("live/politics-debate-2026-03-25"),
7 sso: Some(String::from("sso-user-0a1b2c3d4e")),
8 };
9 let response: LockComment200Response = lock_comment(&configuration, params).await?;
10 Ok(())
11}
12

épingler_commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
ssoStringNon

Réponse

Retourne: PinComment200Response

Exemple

Exemple de pin_comment
Copy Copy
1
2let params: PinCommentParams = PinCommentParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: "cmt-987654321".to_string(),
5 broadcast_id: "news/article/2026-03-25".to_string(),
6 sso: Some("user-12345-ssotoken".to_string()),
7};
8let response: PinComment200Response = pin_comment(&configuration, params).await?;
9

enregistrer_commentaire Internal Link


Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
create_comment_paramsmodels::CreateCommentParamsOui
is_liveboolNon
do_spam_checkboolNon
send_emailsboolNon
populate_notificationsboolNon

Réponse

Retourne: SaveComment200Response

Exemple

Exemple de save_comment
Copy Copy
1
2let create_comment: models::CreateCommentParams = models::CreateCommentParams {
3 thread_key: "news/article/2026/03/25/budget-reform".to_string(),
4 body: "Great breakdown of the proposed changes — very informative and balanced.".to_string(),
5 user_name: Some("Jane Doe".to_string()),
6 user_email: Some("jane.doe@acme-corp.com".to_string()),
7 user_id: Some("user-9876".to_string()),
8 parent_id: None,
9};
10
11let save_params: SaveCommentParams = SaveCommentParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_comment_params: create_comment,
14 is_live: Some(true),
15 do_spam_check: Some(true),
16 send_emails: Some(false),
17 populate_notifications: Some(true),
18};
19
20let saved: SaveComment200Response = save_comment(&configuration, save_params).await?;
21

enregistrer_commentaires_en_masse Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
create_comment_paramsVecmodels::CreateCommentParamsOui
is_liveboolNon
do_spam_checkboolNon
send_emailsboolNon
populate_notificationsboolNon

Réponse

Retourne : Vec<models::SaveComment200Response>

Exemple

Exemple de save_comments_bulk
Copy Copy
1
2let params: SaveCommentsBulkParams = SaveCommentsBulkParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_comment_params: vec![
5 models::CreateCommentParams {
6 thread_id: "news/article-2026-election".to_string(),
7 text: "Insightful reporting — thanks for the coverage!".to_string(),
8 author_name: "Jane Doe".to_string(),
9 author_email: "jane.doe@example.com".to_string(),
10 },
11 models::CreateCommentParams {
12 thread_id: "news/article-2026-election".to_string(),
13 text: "I disagree with the premise of this piece.".to_string(),
14 author_name: "John Smith".to_string(),
15 author_email: "john.smith@example.org".to_string(),
16 },
17 ],
18 is_live: Some(true),
19 do_spam_check: Some(true),
20 send_emails: Some(false),
21 populate_notifications: Some(true),
22};
23let saved: Vec<models::SaveComment200Response> = save_comments_bulk(&configuration, params).await?;
24

définir_texte_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
comment_text_update_requestmodels::CommentTextUpdateRequestOui
edit_keyStringNon
ssoStringNon

Réponse

Renvoie: SetCommentText200Response

Exemple

Exemple de set_comment_text
Copy Copy
1
2async fn update_comment_text() -> Result<(), Error> {
3 let params: SetCommentTextParams = SetCommentTextParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/2026-03-25/comment-6789".to_string(),
6 broadcast_id: "comments-broadcast-main".to_string(),
7 comment_text_update_request: models::CommentTextUpdateRequest {
8 text: "Updated comment: thank you @jane_doe — here's an update about #rustlang".to_string(),
9 ..Default::default()
10 },
11 edit_key: Some("editkey-9f8e7d6c".to_string()),
12 sso: Some("sso-token-abc123".to_string()),
13 };
14 let result: SetCommentText200Response = set_comment_text(configuration, params).await?;
15 println!("set_comment_text result: {:?}", result);
16 Ok(())
17}
18

débloquer_utilisateur_depuis_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
un_block_from_comment_paramsmodels::UnBlockFromCommentParamsOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie: UnBlockCommentPublic200Response

Exemple

Exemple : un_block_user_from_comment
Copy Copy
1
2async fn run_unblock() -> Result<UnBlockCommentPublic200Response, Error> {
3 let unblock_body: models::UnBlockFromCommentParams = models::UnBlockFromCommentParams {
4 reason: Some(String::from("False positive - reviewed by moderator")),
5 moderator_id: Some(String::from("moderator-42")),
6 };
7 let params: UnBlockUserFromCommentParams = UnBlockUserFromCommentParams {
8 tenant_id: String::from("acme-corp-tenant"),
9 id: String::from("news/article/comments/abc123"),
10 un_block_from_comment_params: unblock_body,
11 user_id: Some(String::from("user-9876")),
12 anon_user_id: Some(String::from("anon-5f4d")),
13 };
14 let result: UnBlockCommentPublic200Response = un_block_user_from_comment(&configuration, params).await?;
15 Ok(result)
16}
17

annuler_signalement_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie: FlagComment200Response

Exemple

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

déverrouiller_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
ssoStringNon

Réponse

Retourne : LockComment200Response

Exemple

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

désépingler_commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
broadcast_idStringOui
ssoStringNon

Réponse

Renvoie : PinComment200Response

Exemple

Exemple de un_pin_comment
Copy Copy
1
2async fn run_unpin() -> Result<(), Error> {
3 let params: UnPinCommentParams = UnPinCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-20260325-7a9".to_string(),
6 broadcast_id: "news/homepage/launch-article".to_string(),
7 sso: Some("sso-jwt-user-0a1b2c3d".to_string()),
8 };
9 let response: PinComment200Response = un_pin_comment(&configuration, params).await?;
10 Ok(())
11}
12

mettre_à_jour_commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
updatable_comment_paramsmodels::UpdatableCommentParamsOui
context_user_idStringNon
do_spam_checkboolNon
is_liveboolNon

Réponse

Retourne : FlagCommentPublic200Response

Exemple

Exemple de update_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".into();
4 let comment_id: String = "news/article/12345-6789".into();
5 let context_user_id: String = "reader-42".into();
6
7 let updatable: models::UpdatableCommentParams = models::UpdatableCommentParams {
8 body: Some("Updated comment: I appreciate the clarification on this report.".into()),
9 is_edited: Some(true),
10 tags: Some(vec!["clarification".into(), "follow-up".into()]),
11 };
12
13 let params: UpdateCommentParams = UpdateCommentParams {
14 tenant_id,
15 id: comment_id,
16 updatable_comment_params: updatable,
17 context_user_id: Some(context_user_id),
18 do_spam_check: Some(true),
19 is_live: Some(false),
20 };
21
22 let response: FlagCommentPublic200Response = update_comment(&configuration, params).await?;
23 Ok(())
24}
25

voter_commentaire Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
comment_idStringOui
url_idStringOui
broadcast_idStringOui
vote_body_paramsmodels::VoteBodyParamsOui
session_idStringNon
ssoStringNon

Réponse

Retourne: VoteComment200Response

Exemple

Exemple de vote_comment
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: VoteCommentParams = VoteCommentParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "cmt-12345".to_string(),
6 url_id: "news/politics/2026-election".to_string(),
7 broadcast_id: "broadcast-nytimes-001".to_string(),
8 vote_body_params: models::VoteBodyParams { ..Default::default() },
9 session_id: Some("sess-9f8e7d".to_string()),
10 sso: Some("user-42@example.com".to_string()),
11 };
12 let response: VoteComment200Response = vote_comment(&configuration, params).await?;
13 Ok(())
14}
15

ajouter_configuration_domaine Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
add_domain_config_paramsmodels::AddDomainConfigParamsOui

Réponse

Renvoie: AddDomainConfig200Response


supprimer_configuration_domaine Internal Link


Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
domainStringOui

Réponse

Renvoie : DeleteDomainConfig200Response


obtenir_configuration_domaine Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
domainStringOui

Réponse

Renvoie: GetDomainConfig200Response


obtenir_configurations_de_domaine Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui

Réponse

Renvoie: GetDomainConfigs200Response


modifier_partiellement_configuration_domaine Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
domain_to_updateStringOui
patch_domain_config_paramsmodels::PatchDomainConfigParamsOui

Réponse

Renvoie : GetDomainConfig200Response


remplacer_configuration_domaine Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
domain_to_updateStringOui
update_domain_config_paramsmodels::UpdateDomainConfigParamsOui

Réponse

Renvoie : GetDomainConfig200Response


créer_modèle_de_courriel Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_email_template_bodymodels::CreateEmailTemplateBodyOui

Réponse

Retourne : CreateEmailTemplate200Response

Exemple

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

supprimer_modèle_de_courriel Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idChaîneOui
idChaîneOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

supprimer_erreur_rendu_modèle_courriel Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
error_idStringOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

obtenir_modèle_de_courriel Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetEmailTemplate200Response

Exemple

Exemple de get_email_template
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let template_id: String = "welcome-new-subscriber".to_string();
5 let params: GetEmailTemplateParams = GetEmailTemplateParams {
6 tenant_id,
7 id: template_id,
8 locale: Some("en-US".to_string()),
9 };
10 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
11 let _ = template;
12 Ok(())
13}
14

obtenir_définitions_des_modèles_de_courriel Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui

Réponse

Renvoie : GetEmailTemplateDefinitions200Response

Exemple

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

obtenir_erreurs_rendu_modèles_courriel Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
skipf64Non

Réponse

Renvoie : GetEmailTemplateRenderErrors200Response

Exemple

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

obtenir_modèles_de_courriel Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
skipf64Non

Réponse

Retourne : GetEmailTemplates200Response

Exemple

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

générer_modèle_de_courriel Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
render_email_template_bodymodels::RenderEmailTemplateBodyOui
localeStringNon

Réponse

Renvoie : RenderEmailTemplate200Response

Exemple

Exemple de render_email_template
Copy Copy
1
2async fn example(configuration: &configuration::Configuration) -> Result<RenderEmailTemplate200Response, Error> {
3 let body = models::RenderEmailTemplateBody {
4 template_key: "welcome_email".to_string(),
5 subject: "Welcome to Acme News".to_string(),
6 from_address: "noreply@acme.com".to_string(),
7 placeholders: std::collections::HashMap::from([
8 ("user_name".to_string(), "Jane Doe".to_string()),
9 ("article_title".to_string(), "Breaking News: Rust Adoption Soars".to_string()),
10 ]),
11 };
12 let params = RenderEmailTemplateParams {
13 tenant_id: "acme-corp-tenant".to_string(),
14 render_email_template_body: body,
15 locale: Some("en-US".to_string()),
16 };
17 let rendered: RenderEmailTemplate200Response = render_email_template(configuration, params).await?;
18 Ok(rendered)
19}
20

mettre_à_jour_modèle_de_courriel Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_email_template_bodymodels::UpdateEmailTemplateBodyOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de update_email_template
Copy Copy
1
2async fn example_update_email_template() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 subject: "Welcome to Acme News".to_string(),
8 html_body: "<h1>Welcome, \{{user_name}}</h1><p>Thanks for joining Acme.</p>".to_string(),
9 plain_body: Some("Welcome, \{{user_name}}!\nThanks for joining Acme.".to_string()),
10 enabled: Some(true),
11 from_name: Some("Acme Support <support@acme.com>".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
15 Ok(response)
16}
17

obtenir_journal_d'événements Internal Link

req tenantId urlId userIdWS

Paramètres

NomTypeRequisDescription
tenant_idStringOui
url_idStringOui
user_id_wsStringOui
start_timei64Oui
end_timei64Oui

Réponse

Renvoie : GetEventLog200Response

Exemple

Exemple de get_event_log
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetEventLogParams = GetEventLogParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article-2023-01-01".to_string(),
6 user_id_ws: "user-12345-ws".to_string(),
7 start_time: 1672531200i64,
8 end_time: 1672617599i64,
9 include_details: Some(true),
10 };
11 let response: GetEventLog200Response = get_event_log(&configuration, params).await?;
12 Ok(())
13}
14

obtenir_journal_d'événements_global Internal Link


req tenantId urlId userIdWS

Paramètres

NomTypeRequisDescription
tenant_idStringOui
url_idStringOui
user_id_wsStringOui
start_timei64Oui
end_timei64Oui

Réponse

Retourne : GetEventLog200Response

Exemple

Exemple de get_global_event_log
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let include_deleted: Option<bool> = Some(false);
4 let params: GetGlobalEventLogParams = GetGlobalEventLogParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 url_id: "news/article-123".to_string(),
7 user_id_ws: "user-789-ws".to_string(),
8 start_time: 1711411200i64,
9 end_time: 1711497599i64,
10 };
11 let response: GetEventLog200Response = get_global_event_log(&configuration, params).await?;
12 let _include_deleted = include_deleted;
13 Ok(())
14}
15

créer_publication_de_flux Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
create_feed_post_paramsmodels::CreateFeedPostParamsOui
broadcast_idStringNon
is_liveboolNon
do_spam_checkboolNon
skip_dup_checkboolNon

Réponse

Retourne: CreateFeedPost200Response

Exemple

Exemple de create_feed_post
Copy Copy
1
2async fn create_post_example() -> Result<CreateFeedPost200Response, Error> {
3 let params = CreateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_feed_post_params: models::CreateFeedPostParams {
6 title: Some("Downtown Datacenter Outage".to_string()),
7 body: Some("Investigating a partial outage affecting login and API endpoints.".to_string()),
8 author_id: Some("ops-team".to_string()),
9 ..Default::default()
10 },
11 broadcast_id: Some("status-broadcast-2026-03-25".to_string()),
12 is_live: Some(true),
13 do_spam_check: Some(true),
14 skip_dup_check: Some(false),
15 };
16 let response: CreateFeedPost200Response = create_feed_post(&configuration, params).await?;
17 Ok(response)
18}
19

créer_publication_de_flux_publique Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
create_feed_post_paramsmodels::CreateFeedPostParamsOui
broadcast_idStringNon
ssoStringNon

Réponse

Renvoie: CreateFeedPostPublic200Response

Exemple

Exemple de create_feed_post_public
Copy Copy
1
2let create_feed_post_params: models::CreateFeedPostParams = models::CreateFeedPostParams {
3 title: "Acme Product Launch".to_string(),
4 body: "We're excited to announce our new product line that will change the way teams collaborate.".to_string(),
5 slug: "news/product-launch".to_string(),
6 links: Some(vec![models::FeedPostLink { url: "https://acme.com/launch".to_string(), title: Some("Launch details".to_string()) }]),
7 media: Some(vec![models::FeedPostMediaItem { assets: Some(vec![models::FeedPostMediaItemAsset { url: "https://cdn.acme.com/images/launch.jpg".to_string(), mime_type: Some("image/jpeg".to_string()) }]), caption: Some("Hero image".to_string()) }]),
8 tags: Some(vec!["announcement".to_string(), "product".to_string()]),
9};
10
11let params: CreateFeedPostPublicParams = CreateFeedPostPublicParams {
12 tenant_id: "acme-corp-tenant".to_string(),
13 create_feed_post_params,
14 broadcast_id: Some("broadcast-2026-03-25".to_string()),
15 sso: Some("sso-token-xyz789".to_string()),
16};
17
18let response: CreateFeedPostPublic200Response = create_feed_post_public(&configuration, params).await?;
19

supprimer_publication_de_flux_publique Internal Link

Paramètres

NameTypeObligatoireDescription
tenant_idStringOui
post_idStringOui
broadcast_idStringNon
ssoStringNon

Response

Renvoie : DeleteFeedPostPublic200Response

Exemple

Exemple de delete_feed_post_public
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteFeedPostPublicParams = DeleteFeedPostPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_id: "news/article-2026-03-25-12345".to_string(),
6 broadcast_id: Some("broadcast-9876".to_string()),
7 sso: Some("user-42-sso-token".to_string()),
8 };
9 let response: DeleteFeedPostPublic200Response = delete_feed_post_public(&configuration, params).await?;
10 Ok(())
11}
12

obtenir_publications_de_flux Internal Link

req tenantId afterId

Paramètres

NomTypeRequisDescription
tenant_idStringOui
after_idStringNon
limiti32Non
tagsVecNon

Réponse

Renvoie : GetFeedPosts200Response

Exemple

Exemple de get_feed_posts
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetFeedPostsParams = GetFeedPostsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_98765".to_string()),
6 limit: Some(20),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 };
9 let feed: GetFeedPosts200Response = get_feed_posts(&configuration, params).await?;
10 Ok(())
11}
12

obtenir_publications_de_flux_publiques Internal Link

req tenantId afterId

Paramètres

NomTypeRequisDescription
tenant_idStringOui
after_idStringNon
limiti32Non
tagsVecNon
ssoStringNon
is_crawlerboolNon
include_user_infoboolNon

Réponse

Renvoie : GetFeedPostsPublic200Response

Exemple

Exemple de get_feed_posts_public
Copy Copy
1
2async fn example() -> Result<GetFeedPostsPublic200Response, Error> {
3 let params: GetFeedPostsPublicParams = GetFeedPostsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 after_id: Some("post_987654".to_string()),
6 limit: Some(25),
7 tags: Some(vec!["news".to_string(), "technology".to_string()]),
8 sso: Some("sso-token-abc123".to_string()),
9 is_crawler: Some(false),
10 include_user_info: Some(true),
11 };
12 let response: GetFeedPostsPublic200Response = get_feed_posts_public(&configuration, params).await?;
13 Ok(response)
14}
15

obtenir_statistiques_publications_de_flux Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
post_idsVecOui
ssoStringNon

Réponse

Retourne: GetFeedPostsStats200Response

Exemple

Exemple de get_feed_posts_stats
Copy Copy
1
2async fn fetch_feed_stats() -> Result<(), Error> {
3 let params: GetFeedPostsStatsParams = GetFeedPostsStatsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: vec![
6 "news/article/2026/03/25/product-launch".to_string(),
7 "blog/product-updates/q1-2026".to_string(),
8 ],
9 sso: Some("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.examplepayload.signature".to_string()),
10 };
11 let stats: GetFeedPostsStats200Response = get_feed_posts_stats(&configuration, params).await?;
12 Ok(())
13}
14

obtenir_réactions_utilisateur_publiques Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
post_idsVecNon
ssoStringNon

Réponse

Retourne: GetUserReactsPublic200Response

Exemple

Exemple de get_user_reacts_public
Copy Copy
1
2async fn run() -> Result<GetUserReactsPublic200Response, Error> {
3 let params: GetUserReactsPublicParams = GetUserReactsPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 post_ids: Some(vec![
6 "news/article-123".to_string(),
7 "blog/post-456".to_string(),
8 ]),
9 sso: Some("john.doe@acme.com".to_string()),
10 };
11 let response: GetUserReactsPublic200Response = get_user_reacts_public(&configuration, params).await?;
12 Ok(response)
13}
14

réagir_publication_de_flux_publique Internal Link


Paramètres

NameTypeRequisDescription
tenant_idStringOui
post_idStringOui
react_body_paramsmodels::ReactBodyParamsOui
is_undoboolNon
broadcast_idStringNon
ssoStringNon

Réponse

Renvoie : ReactFeedPostPublic200Response

Exemple

Exemple de react_feed_post_public
Copy Copy
1
2let params: ReactFeedPostPublicParams = ReactFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/world/2026-election".to_string(),
5 react_body_params: models::ReactBodyParams { reaction: "like".to_string() },
6 is_undo: Some(false),
7 broadcast_id: Some("broadcast-2026-03-25".to_string()),
8 sso: Some("sso-token-6f4e2b".to_string()),
9};
10
11let response: ReactFeedPostPublic200Response = react_feed_post_public(&configuration, params).await?;
12

mettre_à_jour_publication_de_flux Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui
feed_postmodels::FeedPostOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple update_feed_post
Copy Copy
1
2async fn update_post_example() -> Result<(), Error> {
3 let params: UpdateFeedPostParams = UpdateFeedPostParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/rocket-launch-2026".to_string(),
6 feed_post: models::FeedPost {
7 title: Some("Rocket Launch Successful".to_string()),
8 body: Some("Acme Rockets launched the Atlas X at 10:00 UTC with no anomalies.".to_string()),
9 author: Some("Acme Newsroom".to_string()),
10 media: Some(vec![
11 models::FeedPostMediaItem {
12 url: Some("https://cdn.acme.com/images/launch.jpg".to_string()),
13 caption: Some("Moments before liftoff".to_string()),
14 asset: None
15 }
16 ]),
17 links: Some(vec![
18 models::FeedPostLink {
19 title: Some("Detailed Coverage".to_string()),
20 url: Some("https://news.acme.com/coverage/atlas-x-launch".to_string())
21 }
22 ]),
23 published: Some(true)
24 }
25 };
26 let response: FlagCommentPublic200Response = update_feed_post(&configuration, params).await?;
27 Ok(())
28}
29

mettre_à_jour_publication_de_flux_publique Internal Link

Paramètres

NameTypeObligatoireDescription
tenant_idStringOui
post_idStringOui
update_feed_post_paramsmodels::UpdateFeedPostParamsOui
broadcast_idStringNon
ssoStringNon

Réponse

Renvoie: CreateFeedPostPublic200Response

Exemple

Exemple pour update_feed_post_public
Copy Copy
1
2let params: UpdateFeedPostPublicParams = UpdateFeedPostPublicParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 post_id: "news/article-2026-03-25".to_string(),
5 update_feed_post_params: models::UpdateFeedPostParams {
6 title: "Acme Widget Launch".to_string(),
7 body: "Acme today launched the next-generation Widget with improved performance and battery life.".to_string(),
8 tags: vec!["product".to_string(), "launch".to_string()],
9 media: vec![
10 models::FeedPostMediaItem {
11 url: "https://cdn.acme.com/images/widget-launch.jpg".to_string(),
12 asset: Some(models::FeedPostMediaItemAsset {
13 mime_type: "image/jpeg".to_string(),
14 size: Some(142000),
15 }),
16 }
17 ],
18 links: vec![
19 models::FeedPostLink {
20 url: "https://acme.com/blog/widget-launch".to_string(),
21 title: Some("Read the full announcement".to_string()),
22 }
23 ],
24 },
25 broadcast_id: Some("broadcast-2026-03".to_string()),
26 sso: Some("sso-token-9f8e7d".to_string()),
27};
28
29let response: CreateFeedPostPublic200Response = update_feed_post_public(configuration, params).await?;
30

signaler_commentaire_public Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringOui
comment_idStringOui
is_flaggedboolOui
ssoStringNon

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de flag_comment_public
Copy Copy
1
2async fn run_flag() -> Result<FlagCommentPublic200Response, Error> {
3 let params: FlagCommentPublicParams = FlagCommentPublicParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article-2026-03-25-8a7b6c".to_string(),
6 is_flagged: true,
7 sso: Some("sso-token-user-123".to_string()),
8 };
9 let response: FlagCommentPublic200Response = flag_comment_public(&configuration, params).await?;
10 Ok(response)
11}
12

ajouter_mot_clic Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringNon
create_hash_tag_bodymodels::CreateHashTagBodyNon

Réponse

Renvoie : AddHashTag200Response

Exemple

Exemple pour add_hash_tag
Copy Copy
1
2let params: AddHashTagParams = AddHashTagParams {
3 tenant_id: Some("acme-corp-tenant".to_string()),
4 create_hash_tag_body: Some(models::CreateHashTagBody {
5 tag: "breaking-news".to_string(),
6 display_name: Some("Breaking News".to_string()),
7 description: Some("Articles covering breaking news events".to_string()),
8 enabled: Some(true),
9 }),
10};
11
12let response: AddHashTag200Response = add_hash_tag(&configuration, params).await?;
13

ajouter_mots_clic_en_masse Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringNon
bulk_create_hash_tags_bodymodels::BulkCreateHashTagsBodyNon

Réponse

Renvoie: AddHashTagsBulk200Response

Exemple

Exemple de add_hash_tags_bulk
Copy Copy
1
2async fn add_tags_example() -> Result<(), Error> {
3 let body = BulkCreateHashTagsBody {
4 tags: vec![
5 BulkCreateHashTagsBodyTagsInner {
6 tag: "news/article".to_string(),
7 path: "site/news".to_string(),
8 description: Some("Articles and press releases".to_string()),
9 is_active: Some(true),
10 custom_config: Some(CustomConfigParameters { score: Some(0.85) }),
11 },
12 BulkCreateHashTagsBodyTagsInner {
13 tag: "product/launch".to_string(),
14 path: "site/products".to_string(),
15 description: Some("New product launches".to_string()),
16 is_active: Some(true),
17 custom_config: Some(CustomConfigParameters { score: Some(0.95) }),
18 },
19 ],
20 };
21 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
22 tenant_id: Some("acme-corp-tenant".to_string()),
23 bulk_create_hash_tags_body: Some(body),
24 };
25 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
26 Ok(())
27}
28

supprimer_mot_clic Internal Link

Paramètres

NomTypeRequisDescription
tagStringOui
tenant_idStringNon
delete_hash_tag_requestmodels::DeleteHashTagRequestNon

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de delete_hash_tag
Copy Copy
1
2async fn run_delete_tag(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params = DeleteHashTagParams {
4 tag: "news/world-climate".to_owned(),
5 tenant_id: Some("acme-corp-tenant".to_owned()),
6 delete_hash_tag_request: None,
7 };
8 let response: FlagCommentPublic200Response = delete_hash_tag(configuration, params).await?;
9 Ok(response)
10}
11

obtenir_mots_clic Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
pagef64Non

Réponse

Renvoie : GetHashTags200Response

Exemple

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

modifier_partiellement_mot_clic Internal Link

Paramètres

NomTypeObligatoireDescription
tagStringOui
tenant_idStringNon
update_hash_tag_bodymodels::UpdateHashTagBodyNon

Réponse

Renvoie : PatchHashTag200Response

Exemple

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

créer_modérateur Internal Link


Paramètres

NameTypeRequisDescription
tenant_idStringOui
create_moderator_bodymodels::CreateModeratorBodyOui

Réponse

Renvoie : CreateModerator200Response

Exemple

Exemple de create_moderator
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 create_moderator_body: models::CreateModeratorBody {
6 username: String::from("jane.moderator"),
7 email: String::from("jane.moderator@acme.com"),
8 display_name: Some(String::from("Jane Moderator")),
9 sections: Some(vec![String::from("news/article"), String::from("forums/general")]),
10 active: Some(true),
11 notes: Some(String::from("Senior moderator, PST timezone")),
12 },
13 };
14 let response: CreateModerator200Response = create_moderator(&configuration, params).await?;
15 Ok(())
16}
17

supprimer_modérateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
send_emailStringNon

Réponse

Retourne: FlagCommentPublic200Response

Exemple

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

obtenir_modérateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetModerator200Response

Exemple

Exemple de get_moderator
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-4521".to_string(),
6 include_permissions: Some(true),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

obtenir_modérateurs Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
skipf64Non

Réponse

Renvoie : GetModerators200Response

Exemple

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

envoyer_invitation Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
from_nameStringOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de send_invite
Copy Copy
1
2async fn send_invite_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: SendInviteParams = SendInviteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-2026-03-25-modern-rust".to_string(),
6 from_name: "Acme Newsroom".to_string(),
7 message: Some("Please join the discussion on this article.".to_string()),
8 };
9 let response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
10 Ok(response)
11}
12

mettre_à_jour_modérateur Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
update_moderator_bodymodels::UpdateModeratorBodyOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple update_moderator
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateModeratorParams = UpdateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-987".to_string(),
6 update_moderator_body: models::UpdateModeratorBody {
7 username: Some("jane.doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 role: Some("senior_moderator".to_string()),
10 active: Some(true),
11 notes: Some("Promoted after successful trial period".to_string()),
12 },
13 };
14 let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
15 Ok(())
16}
17

supprimer_nombre_de_notifications Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de delete_notification_count
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("notification-9876"),
6 user_id: Some(String::from("user-1234")),
7 };
8 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
9 Ok(response)
10}
11

obtenir_nombre_de_notifications_en_cache Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Retourne: GetCachedNotificationCount200Response

Exemple

Exemple get_cached_notification_count
Copy Copy
1
2pub async fn example_get_cached_notification_count(configuration: &configuration::Configuration) -> Result<GetCachedNotificationCount200Response, Error> {
3 let params: GetCachedNotificationCountParams = GetCachedNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 };
7 let response: GetCachedNotificationCount200Response = get_cached_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

obtenir_nombre_de_notifications Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
user_idStringNon
url_idStringNon
from_comment_idStringNon
viewedboolNon

Réponse

Renvoie: GetNotificationCount200Response

Exemple

Exemple de get_notification_count
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-67890".to_string()),
6 url_id: Some("news/2026/03/25/election-updates".to_string()),
7 from_comment_id: Some("cmt_42".to_string()),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(())
12}
13

obtenir_notifications Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
user_idStringNon
url_idStringNon
from_comment_idStringNon
viewedboolNon
skipf64Non

Réponse

Renvoie : GetNotifications200Response

Exemple

Exemple de get_notifications
Copy Copy
1
2async fn fetch_notifications() -> Result<(), Error> {
3 let params: GetNotificationsParams = GetNotificationsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-12345".to_owned()),
6 url_id: Some("news/article/2026/03/25/major-update".to_owned()),
7 from_comment_id: Some("cmt-98765".to_owned()),
8 viewed: Some(false),
9 skip: Some(0.0),
10 };
11 let notifications: GetNotifications200Response = get_notifications(&configuration, params).await?;
12 Ok(())
13}
14

mettre_à_jour_notification Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_notification_bodymodels::UpdateNotificationBodyOui
user_idStringNon

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de update_notification
Copy Copy
1
2let params: UpdateNotificationParams = UpdateNotificationParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "notif-12345".to_string(),
5 update_notification_body: models::UpdateNotificationBody {
6 name: "Article Comments Webhook".to_string(),
7 url: "https://hooks.acme-corp.com/article-comments".to_string(),
8 enabled: true,
9 events: vec!["comment.created".to_string(), "comment.flagged".to_string()],
10 },
11 user_id: Some("moderator-42".to_string()),
12};
13
14let response: FlagCommentPublic200Response = update_notification(&configuration, params).await?;
15

ajouter_page Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_api_page_datamodels::CreateApiPageDataOui

Réponse

Retourne: AddPageApiResponse


supprimer_page Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Retourne : DeletePageApiResponse


obtenir_page_par_urlid Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
url_idStringOui

Réponse

Retourne: GetPageByUrlidApiResponse


obtenir_pages Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringOui

Réponse

Renvoie: GetPagesApiResponse


modifier_partiellement_page Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_api_page_datamodels::UpdateApiPageDataOui

Réponse

Renvoie: PatchPageApiResponse

supprimer_événement_webhook_en_attente Internal Link


Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de delete_pending_webhook_event
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let audit_note: Option<String> = Some("removed duplicate webhook event".to_string());
4 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
5 tenant_id: "acme-corp-tenant".to_string(),
6 id: "9f8b7a6c-1234-4b8d-9c3a-0e1f2d3c4b5a".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
9 let _ = audit_note;
10 Ok(response)
11}
12

obtenir_nombre_événements_webhook_en_attente Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
comment_idStringNon
external_idStringNon
event_typeStringNon
domainStringNon
attempt_count_gtf64Non

Réponse

Renvoie : GetPendingWebhookEventCount200Response

Exemple

Exemple de get_pending_webhook_event_count
Copy Copy
1
2async fn fetch_pending_webhook_count(configuration: &configuration::Configuration) -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 comment_id: Some(String::from("cmt-12345")),
6 external_id: Some(String::from("ext-67890")),
7 event_type: Some(String::from("comment_posted")),
8 domain: Some(String::from("news.example.com")),
9 attempt_count_gt: Some(3.0),
10 };
11 let response: GetPendingWebhookEventCount200Response = get_pending_webhook_event_count(configuration, params).await?;
12 Ok(response)
13}
14

obtenir_événements_webhook_en_attente Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
comment_idStringNon
external_idStringNon
event_typeStringNon
domainStringNon
attempt_count_gtf64Non
skipf64Non

Réponse

Retourne : GetPendingWebhookEvents200Response

Exemple

Exemple get_pending_webhook_events
Copy Copy
1
2async fn fetch_pending_webhook_events() -> Result<GetPendingWebhookEvents200Response, Error> {
3 let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-2026-04-01-001".to_string()),
6 external_id: Some("news/article-42".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(1.0),
10 skip: Some(0.0),
11 };
12 let response: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13 Ok(response)
14}
15

créer_configuration_de_question Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_question_config_bodymodels::CreateQuestionConfigBodyOui

Réponse

Renvoie : CreateQuestionConfig200Response

Exemple

Exemple de create_question_config
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_config_body: models::CreateQuestionConfigBody {
6 slug: "news/article".to_string(),
7 title: "Reader satisfaction".to_string(),
8 description: Some("How satisfied are you with this article?".to_string()),
9 required: Some(false),
10 rendering_type: Some(QuestionRenderingType::Inline),
11 custom_options: Some(vec![
12 models::QuestionConfigCustomOptionsInner { value: "very_satisfied".to_string(), label: Some("Very satisfied".to_string()) },
13 models::QuestionConfigCustomOptionsInner { value: "unsatisfied".to_string(), label: Some("Unsatisfied".to_string()) },
14 ]),
15 },
16 };
17 let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
18 Ok(())
19}
20

supprimer_configuration_de_question Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de delete_question_config
Copy Copy
1
2pub async fn run_delete_question_config() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-config-8742".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
8 Ok(response)
9}
10

obtenir_configuration_de_question Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie: GetQuestionConfig200Response

Exemple

Exemple de get_question_config
Copy Copy
1
2async fn run_get_question_config() -> Result<GetQuestionConfig200Response, Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetQuestionConfigParams = GetQuestionConfigParams {
5 tenant_id: tenant.unwrap(),
6 id: "news/article/2026/03/25/space-launch".to_string(),
7 };
8 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
9 Ok(response)
10}
11

obtenir_configurations_de_question Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
skipf64Non

Réponse

Retourne: GetQuestionConfigs200Response

Exemple

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

mettre_à_jour_configuration_de_question Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_question_config_bodymodels::UpdateQuestionConfigBodyOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de update_question_config
Copy Copy
1
2let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "news/article-2026-03-readability".to_string(),
5 update_question_config_body: models::UpdateQuestionConfigBody {
6 question_text: Some("Was this article helpful?".to_string()),
7 required: Some(true),
8 rendering_type: Some(models::QuestionRenderingType::Inline),
9 custom_options: Some(vec![
10 models::QuestionConfigCustomOptionsInner { label: "Very helpful".to_string(), value: "very_helpful".to_string() },
11 models::QuestionConfigCustomOptionsInner { label: "Somewhat helpful".to_string(), value: "somewhat_helpful".to_string() },
12 models::QuestionConfigCustomOptionsInner { label: "Not helpful".to_string(), value: "not_helpful".to_string() },
13 ]),
14 when_save: Some(models::QuestionWhenSave::AskOnSave),
15 ..Default::default()
16 },
17};
18let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
19

créer_résultat_de_question Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
create_question_result_bodymodels::CreateQuestionResultBodyOui

Réponse

Renvoie : CreateQuestionResult200Response

Exemple

Exemple de create_question_result
Copy Copy
1
2async fn run_create_question_result() -> Result<(), Error> {
3 let params: CreateQuestionResultParams = CreateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_question_result_body: models::CreateQuestionResultBody {
6 question_id: "article-123-comment-rating".to_string(),
7 user_id: Some("reader-456".to_string()),
8 result: Some("helpful".to_string()),
9 context: Some("news/article".to_string()),
10 submitted_at: Some("2026-03-25T12:34:56Z".to_string()),
11 },
12 };
13
14 let response: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
15 Ok(())
16}
17

supprimer_résultat_de_question Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de delete_question_result
Copy Copy
1
2async fn run_delete_question_result() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "qres-news/article-2026-03-25-9a8b7c".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
8 let _response = response;
9 Ok(())
10}
11

obtenir_résultat_de_question Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie: GetQuestionResult200Response

Exemple

Exemple de get_question_result
Copy Copy
1
2async fn example_get_question_result() -> Result<GetQuestionResult200Response, Error> {
3 let params: GetQuestionResultParams = GetQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "question-12345".to_string(),
6 };
7 let _include_metadata: Option<bool> = Some(true);
8 let response: GetQuestionResult200Response = get_question_result(configuration, params).await?;
9 Ok(response)
10}
11

obtenir_résultats_de_question Internal Link


Paramètres

NomTypeRequisDescription
tenant_idStringOui
url_idStringNon
user_idStringNon
start_dateStringNon
question_idStringNon
question_idsStringNon
skipf64Non

Réponse

Renvoie: GetQuestionResults200Response

Exemple

Exemple de get_question_results
Copy Copy
1
2async fn run() -> Result<GetQuestionResults200Response, Error> {
3 let params: GetQuestionResultsParams = GetQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 url_id: Some("news/local/2026/03/25".to_owned()),
6 user_id: Some("user_12345".to_owned()),
7 start_date: Some("2026-01-01T00:00:00Z".to_owned()),
8 question_id: Some("q_789".to_owned()),
9 question_ids: Some("q_789,q_790".to_owned()),
10 skip: Some(10.0),
11 };
12 let response: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(response)
14}
15

mettre_à_jour_résultat_de_question Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
update_question_result_bodymodels::UpdateQuestionResultBodyOui

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de update_question_result
Copy Copy
1
2async fn run_update_question_result() -> Result<(), Error> {
3 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/2026/03/25/12345".to_string(),
6 update_question_result_body: models::UpdateQuestionResultBody {
7 question_id: Some("q-987".to_string()),
8 result: Some(true),
9 reviewer_id: Some("moderator-7".to_string()),
10 notes: Some("Marked as resolved after editorial review".to_string()),
11 },
12 };
13 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
14 println!("update result: {:?}", response);
15 Ok(())
16}
17

agréger_résultats_de_question Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
question_idStringNon
question_idsVecNon
url_idStringNon
time_bucketmodels::AggregateTimeBucketNon
start_dateStringNon
force_recalculateboolNon

Réponse

Renvoie : AggregateQuestionResults200Response

Exemple

Exemple aggregate_question_results
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AggregateQuestionResultsParams = AggregateQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("satisfaction-8".to_string()),
6 question_ids: Some(vec!["satisfaction-8".to_string(), "recommendation-3".to_string()]),
7 url_id: Some("news/article/2026/ai-announce".to_string()),
8 time_bucket: Some(models::AggregateTimeBucket::Daily),
9 start_date: Some("2026-03-01T00:00:00Z".to_string()),
10 force_recalculate: Some(true),
11 };
12 let aggregation: AggregateQuestionResults200Response = aggregate_question_results(&configuration, params).await?;
13 Ok(())
14}
15

agréger_résultats_de_question_en_masse Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
bulk_aggregate_question_results_requestmodels::BulkAggregateQuestionResultsRequestOui
force_recalculateboolNon

Réponse

Renvoie : BulkAggregateQuestionResults200Response

Exemple

Exemple de bulk_aggregate_question_results
Copy Copy
1
2let params: BulkAggregateQuestionResultsParams = BulkAggregateQuestionResultsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 bulk_aggregate_question_results_request: models::BulkAggregateQuestionResultsRequest {
5 questions: vec![
6 models::BulkAggregateQuestionItem {
7 question_id: "news/article-2026-03-24-comments".to_string(),
8 include_subquestions: Some(true),
9 top_n: Some(5),
10 }
11 ],
12 time_bucket: models::AggregateTimeBucket::Daily,
13 start_time: "2026-03-01T00:00:00Z".to_string(),
14 end_time: "2026-03-24T23:59:59Z".to_string(),
15 },
16 force_recalculate: Some(true),
17};
18let response: BulkAggregateQuestionResults200Response = bulk_aggregate_question_results(&configuration, params).await?;
19

combiner_commentaires_avec_résultats_de_question Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
question_idStringNon
question_idsVecNon
url_idStringNon
start_dateStringNon
force_recalculateboolNon
min_valuef64Non
max_valuef64Non
limitf64Non

Réponse

Renvoie: CombineCommentsWithQuestionResults200Response

Exemple

Exemple de combine_comments_with_question_results
Copy Copy
1
2async fn run() -> Result<CombineCommentsWithQuestionResults200Response, Error> {
3 let params: CombineCommentsWithQuestionResultsParams = CombineCommentsWithQuestionResultsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 question_id: Some("q-2026-product-satisfaction".to_string()),
6 question_ids: Some(vec![
7 "q-2026-product-satisfaction".to_string(),
8 "q-2026-support-rating".to_string(),
9 ]),
10 url_id: Some("news/product/launch-2026".to_string()),
11 start_date: Some("2026-03-01T00:00:00Z".to_string()),
12 force_recalculate: Some(true),
13 min_value: Some(1.0),
14 max_value: Some(5.0),
15 limit: Some(100.0),
16 };
17 let response: CombineCommentsWithQuestionResults200Response =
18 combine_comments_with_question_results(&configuration, params).await?;
19 Ok(response)
20}
21

ajouter_utilisateur_SSO Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_apisso_user_datamodels::CreateApissoUserDataOui

Réponse

Retourne : AddSsoUserApiResponse


supprimer_utilisateur_SSO Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
delete_commentsboolNon
comment_delete_modeStringNon

Réponse

Renvoie : DeleteSsoUserApiResponse


obtenir_utilisateur_SSO_par_courriel Internal Link


Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
emailStringOui

Réponse

Renvoie : GetSsoUserByEmailApiResponse


obtenir_utilisateur_SSO_par_id Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui

Réponse

Retourne : GetSsoUserByIdApiResponse


obtenir_utilisateurs_SSO Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
skipi32Non

Réponse

Renvoie : GetSsoUsers200Response

modifier_partiellement_utilisateur_SSO Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
update_apisso_user_datamodels::UpdateApissoUserDataOui
update_commentsboolNon

Réponse

Renvoie: PatchSsoUserApiResponse


remplacer_utilisateur_SSO Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
update_apisso_user_datamodels::UpdateApissoUserDataOui
update_commentsboolNon

Réponse

Renvoie : PutSsoUserApiResponse


créer_abonnement Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
create_api_user_subscription_datamodels::CreateApiUserSubscriptionDataOui

Réponse

Renvoie : CreateSubscriptionApiResponse

Exemple

Exemple pour create_subscription
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateSubscriptionParams = CreateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_api_user_subscription_data: models::CreateApiUserSubscriptionData {
6 api_user_id: "api_user_9843".to_string(),
7 resource: "news/article".to_string(),
8 plan: Some("pro".to_string()),
9 start_at: Some("2026-03-01T12:00:00Z".to_string()),
10 metadata: Some(std::collections::HashMap::from([
11 ("source".to_string(), "signup_form".to_string()),
12 ("utm_campaign".to_string(), "spring_launch".to_string()),
13 ])),
14 active: Some(true),
15 },
16 };
17
18 let subscription_response: CreateSubscriptionApiResponse =
19 create_subscription(&configuration, params).await?;
20 Ok(())
21}
22

supprimer_abonnement Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
user_idStringNon

Réponse

Renvoie: DeleteSubscriptionApiResponse


obtenir_abonnements Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
user_idStringNon

Réponse

Renvoie: GetSubscriptionsApiResponse

Exemple

Exemple de get_subscriptions
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetSubscriptionsParams = GetSubscriptionsParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user-42@example.com".to_string()),
6 };
7 let subscriptions: GetSubscriptionsApiResponse = get_subscriptions(&configuration, params).await?;
8 let _ = subscriptions;
9 Ok(())
10}
11

mettre_à_jour_abonnement Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_api_user_subscription_datamodels::UpdateApiUserSubscriptionDataOui
user_idStringNon

Réponse

Renvoie : UpdateSubscriptionApiResponse

Exemple

Exemple de update_subscription
Copy Copy
1
2async fn example_update_subscription() -> Result<(), Error> {
3 let params: UpdateSubscriptionParams = UpdateSubscriptionParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "sub_8f9a2b".to_string(),
6 update_api_user_subscription_data: models::UpdateApiUserSubscriptionData {
7 plan: "newsletter-weekly".to_string(),
8 active: true,
9 renewal_period_days: Some(30),
10 },
11 user_id: Some("user_42".to_string()),
12 };
13 let response: UpdateSubscriptionApiResponse = update_subscription(&configuration, params).await?;
14 Ok(())
15}
16

obtenir_utilisations_journalières_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
year_numberf64Non
month_numberf64Non
day_numberf64Non
skipf64Non

Réponse

Renvoie : GetTenantDailyUsages200Response

Exemple

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

créer_forfait_locataire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_tenant_package_bodymodels::CreateTenantPackageBodyOui

Réponse

Renvoie : CreateTenantPackage200Response

Exemple

Exemple de create_tenant_package
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantPackageParams = CreateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_package_body: models::CreateTenantPackageBody {
6 name: "Acme Standard Moderation".to_string(),
7 description: Some("Standard moderation package for news and blog sites".to_string()),
8 enabled: Some(true),
9 custom_config: Some(CustomConfigParameters { max_comment_length: Some(1000), require_moderation: Some(true) }),
10 gif_rating: Some(GifRating::PG13),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 tos: Some(TosConfig { require_acceptance: Some(true), tos_url: Some("https://acme.example.com/terms".to_string()) }),
13 },
14 };
15 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
16 Ok(())
17}
18

supprimer_forfait_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple de delete_tenant_package
Copy Copy
1
2async fn run_delete() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-package-2026-03".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8 Ok(response)
9}
10

obtenir_forfait_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetTenantPackage200Response

Exemple

Exemple de get_tenant_package
Copy Copy
1
2async fn fetch_tenant_package() -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "package-basic-2026".to_string(),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let package: GetTenantPackage200Response = get_tenant_package(&configuration, params).await?;
9 Ok(package)
10}
11

obtenir_forfaits_locataire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
skipf64Non

Réponse

Renvoie : GetTenantPackages200Response

Exemple

Exemple de get_tenant_packages
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetTenantPackagesParams = GetTenantPackagesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let packages: GetTenantPackages200Response = get_tenant_packages(&configuration, params).await?;
8 Ok(())
9}
10

remplacer_forfait_locataire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
replace_tenant_package_bodymodels::ReplaceTenantPackageBodyOui

Réponse

Retourne: FlagCommentPublic200Response

Exemple

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

mettre_à_jour_forfait_locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui
update_tenant_package_bodymodels::UpdateTenantPackageBodyOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple pour update_tenant_package
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pkg-professional-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: "Acme Professional".to_string(),
8 plan: "professional".to_string(),
9 enabled: Some(true),
10 api_status: Some(ApiStatus::Enabled),
11 custom_config: Some(CustomConfigParameters {
12 moderation_webhook: Some("https://acme.example.com/hooks/moderation".to_string()),
13 sso_security_level: Some(SsoSecurityLevel::Strict),
14 }),
15 tos_config: Some(TosConfig {
16 enabled: Some(true),
17 url: Some("https://acme.example.com/terms".to_string()),
18 }),
19 },
20 };
21 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
22 Ok(())
23}
24

créer_utilisateur_locataire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_tenant_user_bodymodels::CreateTenantUserBodyOui

Réponse

Renvoie: CreateTenantUser200Response

Exemple

Exemple de create_tenant_user
Copy Copy
1
2let params: CreateTenantUserParams = CreateTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_tenant_user_body: models::CreateTenantUserBody {
5 username: "jane.doe".to_string(),
6 email: "jane.doe@acme.com".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 roles: Some(vec!["reader".to_string(), "commenter".to_string()]),
9 locale: Some("en-US".to_string()),
10 is_verified: Some(true),
11 },
12};
13
14let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
15

supprimer_utilisateur_locataire Internal Link


Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
delete_commentsStringNon
comment_delete_modeStringNon

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

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

obtenir_utilisateur_locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui

Response

Retourne: GetTenantUser200Response

Exemple

Exemple de get_tenant_user
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantUserParams = GetTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-9a4f2e".to_string(),
6 expand: Some(vec!["roles".to_string(), "preferences".to_string()]),
7 };
8 let user_response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

obtenir_utilisateurs_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
skipf64Non

Réponse

Retourne : GetTenantUsers200Response

Exemple

Exemple de get_tenant_users
Copy Copy
1
2async fn example_get_tenant_users() -> Result<(), Error> {
3 let params: GetTenantUsersParams = GetTenantUsersParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 skip: Some(20.0),
6 };
7 let users: GetTenantUsers200Response = get_tenant_users(&configuration, params).await?;
8 let _users = users;
9 Ok(())
10}
11

remplacer_utilisateur_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui
replace_tenant_user_bodymodels::ReplaceTenantUserBodyOui
update_commentsStringNon

Réponse

Retourne: FlagCommentPublic200Response

Exemple

Exemple pour replace_tenant_user
Copy Copy
1
2let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "user-42".to_string(),
5 replace_tenant_user_body: models::ReplaceTenantUserBody {
6 user_id: "user-42".to_string(),
7 display_name: "Jane Doe".to_string(),
8 email: "jane.doe@acme.com".to_string(),
9 roles: vec!["moderator".to_string()],
10 },
11 update_comments: Some("true".to_string()),
12};
13let response: FlagCommentPublic200Response = replace_tenant_user(&configuration, params).await?
14

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui
redirect_urlStringNon

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

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

mettre_à_jour_utilisateur_locataire Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
update_tenant_user_bodymodels::UpdateTenantUserBodyOui
update_commentsStringNon

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de update_tenant_user
Copy Copy
1
2async fn run_update_tenant_user(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-7b9f".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 email: Some("jane.doe@acme.com".to_string()),
8 display_name: Some("Jane Doe".to_string()),
9 username: Some("jdoe".to_string()),
10 role: Some("moderator".to_string()),
11 },
12 update_comments: Some("Promoted to moderator to handle flagged comments".to_string()),
13 };
14 let response = update_tenant_user(configuration, params).await?;
15 Ok(response)
16}
17

créer_locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
create_tenant_bodymodels::CreateTenantBodyOui

Réponse

Retourne: CreateTenant200Response

Exemple

Exemple de create_tenant
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantParams = CreateTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme Corporation".to_string(),
7 primary_domain: Some("acme.example.com".to_string()),
8 admin_email: Some("admin@acme.example.com".to_string()),
9 api_domain_configuration: Some(models::ApiDomainConfiguration {
10 primary_domain: Some("acme.example.com".to_string()),
11 allowed_origins: Some(vec![
12 "https://acme.example.com".to_string(),
13 "https://www.acme.com".to_string()
14 ]),
15 ..Default::default()
16 }),
17 billing_info: Some(models::BillingInfo {
18 plan: "business".to_string(),
19 company_name: Some("Acme Corporation".to_string()),
20 contact_email: Some("billing@acme.example.com".to_string()),
21 ..Default::default()
22 }),
23 imported_sites: Some(vec![models::ImportedSiteType {
24 site_id: "news/site-1".to_string(),
25 origin: Some("https://news.acme.com".to_string()),
26 ..Default::default()
27 }]),
28 ..Default::default()
29 },
30 };
31 let response: CreateTenant200Response = create_tenant(&configuration, params).await?;
32 Ok(())
33}
34

supprimer_locataire Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
sureStringNon

Réponse

Renvoie: FlagCommentPublic200Response

Exemple

Exemple de delete_tenant
Copy Copy
1
2let params: DeleteTenantParams = DeleteTenantParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 id: String::from("acme-corp-tenant-001"),
5 sure: Some(String::from("confirm-delete")),
6};
7let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
8

obtenir_locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Retourne : GetTenant200Response

Exemple

Exemple get_tenant
Copy Copy
1
2async fn run_get_tenant() -> Result<GetTenant200Response, Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/site-42".to_string(),
6 expand: Some(vec!["domains".to_string(), "billing".to_string()]),
7 };
8 let tenant: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(tenant)
10}
11

obtenir_locataires Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
metaStringNon
skipf64Non

Réponse

Retourne: GetTenants200Response

Exemple

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

mettre_à_jour_locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui
update_tenant_bodymodels::UpdateTenantBodyOui

Réponse

Renvoie : FlagCommentPublic200Response

Exemple

Exemple pour update_tenant
Copy Copy
1
2let params: UpdateTenantParams = UpdateTenantParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "site-42".to_string(),
5 update_tenant_body: models::UpdateTenantBody {
6 name: Some("Acme Corporation".to_string()),
7 api_domain_configuration: Some(models::ApiDomainConfiguration {
8 primary_domain: Some("comments.acme.com".to_string()),
9 allowed_domains: Some(vec!["acme.com".to_string(), "www.acme.com".to_string()]),
10 }),
11 billing_info: Some(models::BillingInfo {
12 plan: Some("business".to_string()),
13 billing_contact_email: Some("billing@acme.com".to_string()),
14 }),
15 sso_security_level: Some(models::SsoSecurityLevel::Strict),
16 custom_config_parameters: Some(models::CustomConfigParameters {
17 max_comment_length: Some(2000),
18 enable_moderation_queue: Some(true),
19 }),
20 },
21};
22let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23

changer_état_ticket Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
user_idStringOui
idStringOui
change_ticket_state_bodymodels::ChangeTicketStateBodyOui

Réponse

Renvoie : ChangeTicketState200Response

Exemple

Exemple de change_ticket_state
Copy Copy
1
2async fn run() -> Result<ChangeTicketState200Response, Error> {
3 let params: ChangeTicketStateParams = ChangeTicketStateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "agent_jdoe".to_string(),
6 id: "ticket-2026-03-25-001".to_string(),
7 change_ticket_state_body: models::ChangeTicketStateBody {
8 state: "closed".to_string(),
9 note: Some("Issue resolved after patch deployment".to_string()),
10 assignee_id: Some("agent_jdoe".to_string()),
11 priority: Some("low".to_string()),
12 },
13 };
14 let response: ChangeTicketState200Response = change_ticket_state(&configuration, params).await?;
15 Ok(response)
16}
17

créer_ticket Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
user_idStringOui
create_ticket_bodymodels::CreateTicketBodyOui

Réponse

Renvoie: CreateTicket200Response

Exemple

Exemple de create_ticket
Copy Copy
1
2async fn create_ticket_example() -> Result<CreateTicket200Response, Error> {
3 let params = CreateTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: "user-12345".to_string(),
6 create_ticket_body: models::CreateTicketBody {
7 subject: "Moderation request: abusive comments".to_string(),
8 description: "Several abusive comments reported on the article 'Election 2026: Key Races'".to_string(),
9 priority: Some("high".to_string()),
10 tags: Some(vec!["moderation".to_string(), "priority-high".to_string()]),
11 reporter_email: Some("editor@news.example.com".to_string()),
12 source_url: Some("https://news.example.com/articles/election-2026-key-races".to_string()),
13 custom_fields: Some(std::collections::HashMap::from([
14 ("article_id".to_string(), "news-20260324-001".to_string())
15 ])),
16 },
17 };
18 let response: CreateTicket200Response = create_ticket(&configuration, params).await?;
19 Ok(response)
20}
21

obtenir_ticket Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
idStringOui
user_idStringNon

Réponse

Renvoie : GetTicket200Response

Exemple

Exemple de get_ticket
Copy Copy
1
2async fn example_get_ticket() -> Result<GetTicket200Response, Error> {
3 let params: GetTicketParams = GetTicketParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "support/ticket-2026-03-25-12345".to_string(),
6 user_id: Some("user-67890".to_string()),
7 };
8 let ticket: GetTicket200Response = get_ticket(&configuration, params).await?;
9 Ok(ticket)
10}
11

obtenir_tickets Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
user_idStringNon
statef64Non
skipf64Non
limitf64Non

Réponse

Retourne : GetTickets200Response

Exemple

Exemple de get_tickets
Copy Copy
1
2async fn example_get_tickets() -> Result<(), Error> {
3 let params: GetTicketsParams = GetTicketsParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 user_id: Some("user-9876".to_owned()),
6 state: Some(1.0),
7 skip: Some(0.0),
8 limit: Some(25.0),
9 };
10 let tickets: GetTickets200Response = get_tickets(configuration, params).await?;
11 Ok(())
12}
13

téléverser_image Internal Link


Téléverser et redimensionner une image

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
filestd::path::PathBufOui
size_presetmodels::SizePresetNon
url_idStringNon

Réponse

Renvoie: UploadImageResponse


obtenir_progression_badge_utilisateur_par_id Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetUserBadgeProgressById200Response

Exemple

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

obtenir_progression_badge_par_id_utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
user_idStringOui

Réponse

Renvoie: GetUserBadgeProgressById200Response

Exemple

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

obtenir_liste_progression_badge_utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
user_idStringNon
limitf64Non
skipf64Non

Réponse

Renvoie : GetUserBadgeProgressList200Response

Exemple

Exemple de get_user_badge_progress_list
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgeProgressListParams = GetUserBadgeProgressListParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 user_id: Some("user_98765".to_string()),
6 limit: Some(25.0),
7 skip: Some(0.0),
8 };
9 let response: GetUserBadgeProgressList200Response =
10 get_user_badge_progress_list(&configuration, params).await?;
11 let _response = response;
12 Ok(())
13}
14

créer_badge_utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
create_user_badge_paramsmodels::CreateUserBadgeParamsOui

Réponse

Renvoie : CreateUserBadge200Response

Exemple

Exemple de create_user_badge
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateUserBadgeParams = CreateUserBadgeParams {
4 tenant_id: "acme-corp-tenant".into(),
5 create_user_badge_params: models::CreateUserBadgeParams {
6 name: "Top Contributor".into(),
7 description: Some("Awarded for sustained high-quality contributions".into()),
8 image_url: Some("https://cdn.acme.com/badges/top-contributor.png".into()),
9 criteria: Some("100 upvotes across articles and comments".into()),
10 is_active: Some(true),
11 tags: Some(vec!["community".into(), "milestone".into()]),
12 },
13 };
14 let response: CreateUserBadge200Response = create_user_badge(&configuration, params).await?;
15 Ok(())
16}
17

supprimer_badge_utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : UpdateUserBadge200Response

Exemple

Exemple de delete_user_badge
Copy Copy
1
2async fn run_delete_badge() -> Result<UpdateUserBadge200Response, Error> {
3 let params: DeleteUserBadgeParams = DeleteUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "badge-7890".to_string(),
6 };
7 let response: UpdateUserBadge200Response = delete_user_badge(&configuration, params).await?;
8 Ok(response)
9}
10

obtenir_badge_utilisateur Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetUserBadge200Response

Exemple

Exemple de get_user_badge
Copy Copy
1
2async fn fetch_user_badge() -> Result<GetUserBadge200Response, Error> {
3 let params = GetUserBadgeParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "verified-journalist-badge-001".to_string(),
6 locale: Some("en-US".to_string()),
7 };
8 let badge: GetUserBadge200Response = get_user_badge(&configuration, params).await?;
9 Ok(badge)
10}
11

obtenir_badges_utilisateur Internal Link

Paramètres

NameTypeRequisDescription
tenant_idStringOui
user_idStringNon
badge_idStringNon
displayed_on_commentsboolNon
limitf64Non
skipf64Non

Réponse

Renvoie: GetUserBadges200Response

Exemple

Exemple de get_user_badges
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetUserBadgesParams = GetUserBadgesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-9876")),
6 badge_id: Some(String::from("top-reviewer")),
7 displayed_on_comments: Some(true),
8 limit: Some(50.0),
9 skip: Some(0.0),
10 };
11 let response: GetUserBadges200Response = get_user_badges(&configuration, params).await?;
12 Ok(())
13}
14

mettre_à_jour_badge_utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
idStringOui
update_user_badge_paramsmodels::UpdateUserBadgeParamsOui

Réponse

Renvoie : UpdateUserBadge200Response

Exemple

Exemple update_user_badge
Copy Copy
1
2let params: UpdateUserBadgeParams = UpdateUserBadgeParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "badge-verified-001".to_string(),
5 update_user_badge_params: models::UpdateUserBadgeParams {
6 name: Some("Verified Contributor".to_string()),
7 description: Some("Awarded for consistent, high-quality contributions".to_string()),
8 icon_url: Some("https://assets.acme.com/badges/verified.png".to_string()),
9 color_hex: Some("#1E90FF".to_string()),
10 min_posts: Some(100u32),
11 active: Some(true),
12 },
13};
14let response: UpdateUserBadge200Response = update_user_badge(&configuration, params).await?;
15

obtenir_nombre_notifications_utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
ssoStringNon

Réponse

Retourne : GetUserNotificationCount200Response

Exemple

Exemple de get_user_notification_count
Copy Copy
1
2async fn example_user_notification_count() -> Result<(), Error> {
3 let params: GetUserNotificationCountParams = GetUserNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 sso: Some(String::from("sso-jwt-abc123")),
6 };
7 let _response: GetUserNotificationCount200Response =
8 get_user_notification_count(&configuration, params).await?;
9 Ok(())
10}
11

obtenir_notifications_utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenant_idStringOui
page_sizei32Non
after_idStringNon
include_contextboolNon
after_created_ati64Non
unread_onlyboolNon
dm_onlyboolNon
no_dmboolNon
include_translationsboolNon
ssoStringNon

Réponse

Renvoie : GetUserNotifications200Response

Exemple

Exemple de get_user_notifications
Copy Copy
1
2let params = GetUserNotificationsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 page_size: Some(25),
5 after_id: Some("notif_98765".to_string()),
6 include_context: Some(true),
7 after_created_at: Some(1_681_500_000i64),
8 unread_only: Some(true),
9 dm_only: Some(false),
10 no_dm: Some(false),
11 include_translations: Some(true),
12 sso: Some("sso_user_token_ab12".to_string()),
13};
14let notifications: GetUserNotifications200Response = get_user_notifications(&configuration, params).await?;
15

réinitialiser_nombre_notifications_utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
ssoStringNon

Réponse

Renvoie: ResetUserNotifications200Response

Exemple

Exemple de reset_user_notification_count
Copy Copy
1
2async fn run_reset_user_notification_count() -> Result<ResetUserNotifications200Response, Error> {
3 let params: ResetUserNotificationCountParams = ResetUserNotificationCountParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 sso: Some("user-9876-token".to_string()),
6 };
7 let response: ResetUserNotifications200Response = reset_user_notification_count(&configuration, params).await?;
8 Ok(response)
9}
10

réinitialiser_notifications_utilisateur Internal Link


Paramètres

NameTypeObligatoireDescription
tenant_idStringOui
after_idStringNon
after_created_ati64Non
unread_onlyboolNon
dm_onlyboolNon
no_dmboolNon
ssoStringNon

Réponse

Renvoie : ResetUserNotifications200Response

Exemple

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

mettre_à_jour_statut_abonnement_commentaires_notification_utilisateur Internal Link

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

Paramètres

NomTypeRequisDescription
tenant_idStringOui
notification_idStringOui
opted_in_or_outStringOui
comment_idStringOui
ssoStringNon

Réponse

Retourne : UpdateUserNotificationStatus200Response

Exemple

Exemple de update_user_notification_comment_subscription_status
Copy Copy
1
2async fn example_update_user_notification_comment_subscription_status() -> Result<(), Error> {
3 let params: UpdateUserNotificationCommentSubscriptionStatusParams = UpdateUserNotificationCommentSubscriptionStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-03-25-4f2b".to_string(),
6 opted_in_or_out: "opted_out".to_string(),
7 comment_id: "cmt-98a7b6c5d4".to_string(),
8 sso: Some("sso-token-abc123".to_string()),
9 };
10 let response: UpdateUserNotificationStatus200Response =
11 update_user_notification_comment_subscription_status(&configuration, params).await?;
12 Ok(())
13}
14

mettre_à_jour_statut_abonnement_page_notification_utilisateur Internal Link


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

Paramètres

NameTypeRequiredDescription
tenant_idStringYes
url_idStringYes
urlStringYes
page_titleStringYes
subscribed_or_unsubscribedStringYes
ssoStringNo

Réponse

Retourne: UpdateUserNotificationStatus200Response

Exemple

Exemple pour update_user_notification_page_subscription_status
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params = UpdateUserNotificationPageSubscriptionStatusParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("article-12345"),
6 url: String::from("https://news.acme.com/articles/2026/03/25/advances-in-ai"),
7 page_title: String::from("Advances in AI: What to Expect in 2026"),
8 subscribed_or_unsubscribed: String::from("subscribed"),
9 sso: Some(String::from("user-jwt-xyz123")),
10 };
11 let response = update_user_notification_page_subscription_status(&configuration, params).await?;
12 Ok(response)
13}
14

mettre_à_jour_statut_notification_utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
notification_idStringOui
new_statusStringOui
ssoStringNon

Réponse

Renvoie: UpdateUserNotificationStatus200Response

Exemple

Exemple de update_user_notification_status
Copy Copy
1
2async fn run() -> Result<UpdateUserNotificationStatus200Response, Error> {
3 let params: UpdateUserNotificationStatusParams = UpdateUserNotificationStatusParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 notification_id: "notif-2026-04-01-7f3b".to_string(),
6 new_status: "read".to_string(),
7 sso: Some("sso-session-abcdef123456".to_string()),
8 };
9 let resp: UpdateUserNotificationStatus200Response =
10 update_user_notification_status(&configuration, params).await?;
11 Ok(resp)
12}
13

obtenir_statuts_de_présence_utilisateur Internal Link


Paramètres

NameTypeRequiredDescription
tenant_idStringOui
url_id_wsStringOui
user_idsStringOui

Réponse

Renvoie : GetUserPresenceStatuses200Response

Exemple

Exemple de get_user_presence_statuses
Copy Copy
1
2async fn run() -> Result<GetUserPresenceStatuses200Response, Error> {
3 let tenant_id: String = "acme-corp-tenant".to_string();
4 let url_id_ws: String = "news/article".to_string();
5 let user_ids_opt: Option<String> = Some("user123,user456,user789".to_string());
6 let params = GetUserPresenceStatusesParams {
7 tenant_id,
8 url_id_ws,
9 user_ids: user_ids_opt.unwrap(),
10 };
11 let presence: GetUserPresenceStatuses200Response = get_user_presence_statuses(&configuration, params).await?;
12 Ok(presence)
13}
14

rechercher_utilisateurs Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
url_idStringOui
username_starts_withStringNon
mention_group_idsVecNon
ssoStringNon
search_sectionStringNon

Réponse

Renvoie : SearchUsers200Response

Exemple

Exemple de search_users
Copy Copy
1
2async fn run_search() -> Result<SearchUsers200Response, Error> {
3 let params: SearchUsersParams = SearchUsersParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-25-launch"),
6 username_starts_with: Some(String::from("alex")),
7 mention_group_ids: Some(vec![String::from("team-marketing"), String::from("team-product")]),
8 sso: Some(String::from("okta")),
9 search_section: Some(String::from("comments")),
10 };
11 let search_result: SearchUsers200Response = search_users(&configuration, params).await?;
12 Ok(search_result)
13}
14

obtenir_utilisateur Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui

Réponse

Renvoie : GetUser200Response

Exemple

Exemple de get_user
Copy Copy
1
2pub async fn run_get_user_example() -> Result<(), Error> {
3 let tenant: Option<String> = Some("acme-corp-tenant".to_string());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: tenant.unwrap(),
6 id: "user-9f8b3c".to_string(),
7 };
8 let user: GetUser200Response = get_user(&configuration, params).await?;
9 Ok(())
10}
11

créer_vote Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
comment_idStringOui
directionStringOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie: VoteComment200Response

Exemple

Exemple de create_vote
Copy Copy
1
2async fn example_create_vote() -> Result<(), Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/article/12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user-9876".to_string()),
8 anon_user_id: Some("anon-01-abcdef".to_string()),
9 };
10
11 let response: VoteComment200Response = create_vote(&configuration, params).await?;
12 println!("{:?}", response);
13 Ok(())
14}
15

supprimer_vote Internal Link

Paramètres

NameTypeRequiredDescription
tenant_idStringOui
idStringOui
edit_keyStringNon

Response

Retourne : DeleteCommentVote200Response

Exemple

Exemple de delete_vote
Copy Copy
1
2async fn delete_vote_example() -> Result<DeleteCommentVote200Response, Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "comment-98765".to_string(),
6 edit_key: Some("edit-4f2b9c".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(response)
10}
11

obtenir_votes Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
url_idStringOui

Réponse

Renvoie : GetVotes200Response

Exemple

Exemple de get_votes
Copy Copy
1
2async fn fetch_votes() -> Result<GetVotes200Response, Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 url_id: "news/article/2026/03/25/breaking-story".to_string(),
6 include_replies: Some(true),
7 };
8 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
9 Ok(votes)
10}
11

obtenir_votes_pour_utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenant_idStringOui
url_idStringOui
user_idStringNon
anon_user_idStringNon

Réponse

Renvoie : GetVotesForUser200Response

Exemple

Exemple de get_votes_for_user
Copy Copy
1
2async fn example_get_votes_for_user() -> Result<(), Error> {
3 let params: GetVotesForUserParams = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article-2026-03-fastcomments-launch"),
6 user_id: Some(String::from("user_12345")),
7 anon_user_id: Some(String::from("anon_9f2e7b")),
8 };
9 let votes: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(())
11}
12

Besoin d'aide ?

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

Contribuer

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