FastComments.com

FastComments Rust SDK


Este é o SDK oficial em Rust para o FastComments.

SDK oficial em Rust para a API do FastComments

Repositório

Ver no GitHub


Instalação Internal Link

cargo add fastcomments-sdk

O SDK requer a edição Rust 2021 ou posterior.

Conteúdo da Biblioteca Internal Link

O FastComments Rust SDK consiste em vários módulos:

  • Client Module - Cliente de API gerado automaticamente para as APIs REST do FastComments

    • Definições de tipos completas para todos os modelos de API
    • Endpoints tanto autenticados (DefaultApi) quanto públicos (PublicApi)
    • Suporte completo a async/await com tokio
    • Veja client/README.md para documentação detalhada da API
  • SSO Module - Utilitários de Single Sign-On do lado do servidor

    • Geração segura de tokens para autenticação de usuários
    • Suporte tanto para modos SSO simples quanto seguros
    • Assinatura de tokens baseada em HMAC-SHA256
  • Core Types - Definições de tipos e utilitários compartilhados

    • Modelos de comentário e estruturas de metadados
    • Configurações de usuário e tenant
    • Funções auxiliares para operações comuns

Início Rápido Internal Link

Usando a API Pública

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

#[tokio::main]
async fn main() {
    // Criar configuração da API
    let config = Configuration::new();

    // Buscar comentários de uma página
    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),
    }
}

Usando a API Autenticada

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

#[tokio::main]
async fn main() {
    // Criar configuração com a chave da API
    let mut config = Configuration::new();
    config.api_key = Some(ApiKey {
        prefix: None,
        key: "your-api-key".to_string(),
    });

    // Buscar comentários usando a API autenticada
    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),
    }
}

Usando SSO para Autenticação

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

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

    // Criar dados de usuário SSO seguros (somente no servidor!)
    let user_data = SecureSSOUserData::new(
        "user-123".to_string(),           // ID do usuário
        "user@example.com".to_string(),   // E-mail
        "John Doe".to_string(),            // Nome de usuário
        "https://example.com/avatar.jpg".to_string(), // URL do avatar
    );

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

    println!("SSO Token: {}", token);
    // Envie este token para seu frontend para autenticação
}

Problemas Comuns Internal Link


Erros 401 — Não autorizado

Se você está recebendo erros 401 ao usar a API autenticada:

  1. Verifique sua chave de API: Certifique-se de que está usando a chave de API correta do painel do FastComments
  2. Verifique o tenant ID: Garanta que o tenant ID corresponda à sua conta
  3. Formato da chave de API: A chave de API deve ser passada na Configuration:
let mut config = Configuration::new();
config.api_key = Some(ApiKey {
    prefix: None,
    key: "YOUR_API_KEY".to_string(),
});

Problemas com Tokens SSO

Se os tokens SSO não estiverem funcionando:

  1. Use o modo seguro em produção: Sempre utilize FastCommentsSSO::new_secure() com sua chave de API em produção
  2. Somente no servidor: Gere os tokens SSO no seu servidor, nunca exponha sua chave de API para clientes
  3. Verifique os dados do usuário: Garanta que todos os campos obrigatórios (id, email, username) estejam fornecidos

Erros do runtime assíncrono

O SDK usa tokio para operações assíncronas. Certifique-se de:

  1. Adicione tokio às suas dependências:

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

    #[tokio::main]
    async fn main() {
     // Seu código assíncrono aqui
    }

Notas Internal Link

IDs de Transmissão

Você verá que deve passar um broadcastId em algumas chamadas de API. Quando você receber eventos, receberá esse ID de volta, para que saiba ignorar o evento se planejar aplicar alterações de forma otimista no cliente (o que você provavelmente desejará fazer, já que oferece a melhor experiência). Passe um UUID aqui. O ID deve ser suficientemente único para não ocorrer duas vezes em uma sessão do navegador.

agregar Internal Link

Agrega documentos agrupando-os (se groupBy for fornecido) e aplicando múltiplas operações. Diferentes operações (por exemplo sum, countDistinct, avg, etc.) são suportadas.

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
aggregation_request models::AggregationRequest Sim
parent_tenant_id String Não
include_stats bool Não

Resposta

Retorna: AggregationResponse


obter_logs_de_auditoria Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
limit f64 Não
skip f64 Não
order models::SortDir Não
after f64 Não
before f64 Não

Resposta

Retorna: GetAuditLogs200Response

Exemplo

Exemplo 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

bloquear_por_comentário_público Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
public_block_from_comment_params models::PublicBlockFromCommentParams Sim
sso String Não

Resposta

Retorna: BlockFromCommentPublic200Response

Exemplo

Exemplo 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

desbloquear_comentário_público Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
public_block_from_comment_params models::PublicBlockFromCommentParams Sim
sso String Não

Resposta

Retorna: UnBlockCommentPublic200Response

Exemplo

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

comentários_verificados_para_bloqueio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_ids String Sim
sso String Não

Resposta

Retorna: CheckedCommentsForBlocked200Response

Exemplo

Exemplo 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

bloquear_usuario_por_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
block_from_comment_params models::BlockFromCommentParams Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: BlockFromCommentPublic200Response

Exemplo

Exemplo 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

criar_comentário_público Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
url_id String Sim
broadcast_id String Sim
comment_data models::CommentData Sim
session_id String Não
sso String Não

Resposta

Retorna: CreateCommentPublic200Response

Exemplo

Exemplo 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

excluir_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
context_user_id String Não
is_live bool Não

Resposta

Retorna: DeleteComment200Response

Exemplo

Exemplo 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

excluir_comentário_público Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
edit_key String Não
sso String Não

Resposta

Retorna: DeleteCommentPublic200Response

Exemplo

Exemplo 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

remover_voto_de_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
vote_id String Sim
url_id String Sim
broadcast_id String Sim
edit_key String Não
sso String Não

Resposta

Retorna: DeleteCommentVote200Response

Exemplo

Exemplo 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

denunciar_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: FlagComment200Response

Exemplo

Exemplo 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

obter_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetComment200Response

Exemplo

Exemplo 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

obter_texto_do_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
edit_key String Não
sso String Não

Resposta

Retorna: GetCommentText200Response

Exemplo

Exemplo 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

obter_nomes_de_usuários_dos_votos_do_comentário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
dir i32 Sim
sso String Não

Resposta

Retorna: GetCommentVoteUserNames200Response

Exemplo

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

obter_comentários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
page i32 Não
limit i32 Não
skip i32 Não
as_tree bool Não
skip_children i32 Não
limit_children i32 Não
max_tree_depth i32 Não
url_id String Não
user_id String Não
anon_user_id String Não
context_user_id String Não
hash_tag String Não
parent_id String Não
direction models::SortDirections Não

Resposta

Retorna: GetComments200Response

Exemplo

Exemplo 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

obter_comentários_públicos Internal Link

req tenantId urlId

Parâmetros

Name Type Required Description
tenant_id String Sim
url_id String Sim
page i32 Não
direction models::SortDirections Não
sso String Não
skip i32 Não
skip_children i32 Não
limit i32 Não
limit_children i32 Não
count_children bool Não
fetch_page_for_comment_id String Não
include_config bool Não
count_all bool Não
includei10n bool Não
locale String Não
modules String Não
is_crawler bool Não
include_notification_count bool Não
as_tree bool Não
max_tree_depth i32 Não
use_full_translation_ids bool Não
parent_id String Não
search_text String Não
hash_tags Vec Não
user_id String Não
custom_config_str String Não
after_comment_id String Não
before_comment_id String Não

Resposta

Retorna: GetCommentsPublic200Response

Exemplo

Exemplo 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

bloquear_comentário Internal Link


Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
sso String Não

Resposta

Retorna: LockComment200Response

Exemplo

lock_comment Exemplo
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

fixar_comentário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
sso String Não

Resposta

Retorna: PinComment200Response

Exemplo

Exemplo 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

salvar_comentário Internal Link


Parâmetros

Name Type Required Description
tenant_id String Sim
create_comment_params models::CreateCommentParams Sim
is_live bool Não
do_spam_check bool Não
send_emails bool Não
populate_notifications bool Não

Resposta

Retorna: SaveComment200Response

Exemplo

Exemplo 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

salvar_comentários_em_lote Internal Link

Parâmetros

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

Resposta

Retorna: Vec<models::SaveComment200Response>

Exemplo

Exemplo 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

definir_texto_do_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
comment_text_update_request models::CommentTextUpdateRequest Sim
edit_key String Não
sso String Não

Resposta

Retorna: SetCommentText200Response

Exemplo

Exemplo 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

desbloquear_usuario_por_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
un_block_from_comment_params models::UnBlockFromCommentParams Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: UnBlockCommentPublic200Response

Exemplo

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

remover_denúncia_de_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: FlagComment200Response

Exemplo

Exemplo 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

desbloquear_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
sso String Não

Resposta

Retorna: LockComment200Response

Exemplo

Exemplo 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

desfixar_comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
broadcast_id String Sim
sso String Não

Resposta

Retorna: PinComment200Response

Exemplo

un_pin_comment Exemplo
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

atualizar_comentário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
updatable_comment_params models::UpdatableCommentParams Sim
context_user_id String Não
do_spam_check bool Não
is_live bool Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

votar_em_comentário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
url_id String Sim
broadcast_id String Sim
vote_body_params models::VoteBodyParams Sim
session_id String Não
sso String Não

Resposta

Retorna: VoteComment200Response

Exemplo

Exemplo 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

adicionar_configuração_de_domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
add_domain_config_params models::AddDomainConfigParams Sim

Resposta

Retorna: AddDomainConfig200Response

excluir_configuração_de_domínio Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
domain String Sim

Resposta

Retorna: DeleteDomainConfig200Response


obter_configuração_de_domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
domain String Sim

Resposta

Retorna: GetDomainConfig200Response


obter_configurações_de_domínio Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim

Resposta

Retorna: GetDomainConfigs200Response


atualizar_parcialmente_configuração_de_domínio Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
domain_to_update String Sim
patch_domain_config_params models::PatchDomainConfigParams Sim

Resposta

Retorna: GetDomainConfig200Response


substituir_configuração_de_domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
domain_to_update String Sim
update_domain_config_params models::UpdateDomainConfigParams Sim

Resposta

Retorna: GetDomainConfig200Response

criar_modelo_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_email_template_body models::CreateEmailTemplateBody Sim

Resposta

Retorna: CreateEmailTemplate200Response

Exemplo

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

excluir_modelo_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

excluir_erro_de_renderização_do_modelo_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
error_id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_modelo_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetEmailTemplate200Response

Exemplo

Exemplo 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

obter_definições_de_modelos_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim

Resposta

Retorna: GetEmailTemplateDefinitions200Response

Exemplo

Exemplo 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

obter_erros_de_renderização_dos_modelos_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
skip f64 Não

Resposta

Retorna: GetEmailTemplateRenderErrors200Response

Exemplo

Exemplo 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

obter_modelos_de_email Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
skip f64 Não

Resposta

Retorna: GetEmailTemplates200Response

Exemplo

Exemplo 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

renderizar_modelo_de_email Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
render_email_template_body models::RenderEmailTemplateBody Sim
locale String Não

Response

Retorna: RenderEmailTemplate200Response

Exemplo

Exemplo 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

atualizar_modelo_de_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_email_template_body models::UpdateEmailTemplateBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_log_de_eventos Internal Link

req tenantId urlId userIdWS

Parameters

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
user_id_ws String Sim
start_time i64 Sim
end_time i64 Sim

Resposta

Retorna: GetEventLog200Response

Exemplo

Exemplo 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

obter_log_de_eventos_global Internal Link

req tenantId urlId userIdWS

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
user_id_ws String Sim
start_time i64 Sim
end_time i64 Sim

Resposta

Retorna: GetEventLog200Response

Exemplo

Exemplo 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

criar_postagem_no_feed Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_feed_post_params models::CreateFeedPostParams Sim
broadcast_id String Não
is_live bool Não
do_spam_check bool Não
skip_dup_check bool Não

Resposta

Retorna: CreateFeedPost200Response

Exemplo

Exemplo 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

criar_postagem_no_feed_pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_feed_post_params models::CreateFeedPostParams Sim
broadcast_id String Não
sso String Não

Resposta

Retorna: CreateFeedPostPublic200Response

Exemplo

Exemplo 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

excluir_postagem_no_feed_pública Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
post_id String Sim
broadcast_id String Não
sso String Não

Resposta

Retorna: DeleteFeedPostPublic200Response

Exemplo

Exemplo 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

obter_postagens_do_feed Internal Link

req tenantId afterId

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
after_id String Não
limit i32 Não
tags Vec Não

Resposta

Retorna: GetFeedPosts200Response

Exemplo

Exemplo 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

obter_postagens_do_feed_públicas Internal Link

req tenantId afterId

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
after_id String Não
limit i32 Não
tags Vec Não
sso String Não
is_crawler bool Não
include_user_info bool Não

Resposta

Retorna: GetFeedPostsPublic200Response

Exemplo

Exemplo 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

obter_estatísticas_das_postagens_do_feed Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
post_ids Vec Sim
sso String Não

Resposta

Retorna: GetFeedPostsStats200Response

Exemplo

Exemplo 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

obter_reações_de_usuário_públicas Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
post_ids Vec Não
sso String Não

Resposta

Retorna: GetUserReactsPublic200Response

Exemplo

Exemplo 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

reagir_a_postagem_do_feed_pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
post_id String Sim
react_body_params models::ReactBodyParams Sim
is_undo bool Não
broadcast_id String Não
sso String Não

Resposta

Retorna: ReactFeedPostPublic200Response

Exemplo

Exemplo 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

atualizar_postagem_do_feed Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
feed_post models::FeedPost Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

atualizar_postagem_do_feed_pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
post_id String Sim
update_feed_post_params models::UpdateFeedPostParams Sim
broadcast_id String Não
sso String Não

Resposta

Retorna: CreateFeedPostPublic200Response

Exemplo

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

denunciar_comentário_público Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Sim
is_flagged bool Sim
sso String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

adicionar_hashtag Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Não
create_hash_tag_body models::CreateHashTagBody Não

Resposta

Retorna: AddHashTag200Response

Exemplo

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

adicionar_hashtags_em_lote Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Não
bulk_create_hash_tags_body models::BulkCreateHashTagsBody Não

Resposta

Retorna: AddHashTagsBulk200Response

Exemplo

Exemplo 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

excluir_hashtag Internal Link

Parâmetros

Name Type Required Description
tag String Sim
tenant_id String Não
delete_hash_tag_request models::DeleteHashTagRequest Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_hashtags Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
page f64 Não

Resposta

Retorna: GetHashTags200Response

Exemplo

Exemplo 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

atualizar_parcialmente_hashtag Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tag String Yes
tenant_id String No
update_hash_tag_body models::UpdateHashTagBody No

Resposta

Retorna: PatchHashTag200Response

Exemplo

Exemplo 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

criar_moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_moderator_body models::CreateModeratorBody Sim

Resposta

Retorna: CreateModerator200Response

Exemplo

Exemplo 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

excluir_moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
send_email String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

delete_moderator Exemplo
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

obter_moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetModerator200Response

Exemplo

Exemplo 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

obter_moderadores Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
skip f64 Não

Resposta

Retorna: GetModerators200Response

Exemplo

Exemplo 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

enviar_convite Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
from_name String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

atualizar_moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_moderator_body models::UpdateModeratorBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

excluir_contagem_de_notificações Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_contagem_de_notificações_em_cache Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetCachedNotificationCount200Response

Exemplo

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

obter_contagem_de_notificações Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não
url_id String Não
from_comment_id String Não
viewed bool Não

Resposta

Retorna: GetNotificationCount200Response

Exemplo

Exemplo 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

obter_notificações Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não
url_id String Não
from_comment_id String Não
viewed bool Não
skip f64 Não

Resposta

Retorna: GetNotifications200Response

Exemplo

Exemplo 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

atualizar_notificação Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_notification_body models::UpdateNotificationBody Sim
user_id String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

adicionar_página Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_api_page_data models::CreateApiPageData Sim

Resposta

Retorna: AddPageApiResponse


excluir_página Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: DeletePageApiResponse


obter_página_por_urlid Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim

Resposta

Retorna: GetPageByUrlidApiResponse


obter_páginas Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim

Resposta

Retorna: GetPagesApiResponse


atualizar_parcialmente_página Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
update_api_page_data models::UpdateApiPageData Sim

Resposta

Retorna: PatchPageApiResponse


excluir_evento_de_webhook_pendente Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_contagem_de_eventos_de_webhook_pendentes Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
comment_id String Não
external_id String Não
event_type String Não
domain String Não
attempt_count_gt f64 Não

Resposta

Retorna: GetPendingWebhookEventCount200Response

Exemplo

Exemplo 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

obter_eventos_de_webhook_pendentes Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Não
external_id String Não
event_type String Não
domain String Não
attempt_count_gt f64 Não
skip f64 Não

Resposta

Retorna: GetPendingWebhookEvents200Response

Exemplo

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

criar_configuração_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_question_config_body models::CreateQuestionConfigBody Sim

Response

Retorna: CreateQuestionConfig200Response

Exemplo

Exemplo 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

excluir_configuração_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_configuração_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetQuestionConfig200Response

Exemplo

Exemplo 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

obter_configurações_de_perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
skip f64 Não

Resposta

Retorna: GetQuestionConfigs200Response

Exemplo

Exemplo 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

atualizar_configuração_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_question_config_body models::UpdateQuestionConfigBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

criar_resultado_de_pergunta Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
create_question_result_body models::CreateQuestionResultBody Sim

Resposta

Retorna: CreateQuestionResult200Response

Exemplo

Exemplo 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

excluir_resultado_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_resultado_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetQuestionResult200Response

Exemplo

Exemplo 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

obter_resultados_de_perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Não
user_id String Não
start_date String Não
question_id String Não
question_ids String Não
skip f64 Não

Resposta

Retorna: GetQuestionResults200Response

Exemplo

Exemplo 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

atualizar_resultado_de_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_question_result_body models::UpdateQuestionResultBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

agregar_resultados_de_perguntas Internal Link

Parâmetros

Name Tipo Obrigatório Descrição
tenant_id String Sim
question_id String Não
question_ids Vec Não
url_id String Não
time_bucket models::AggregateTimeBucket Não
start_date String Não
force_recalculate bool Não

Resposta

Retorna: AggregateQuestionResults200Response

Exemplo

aggregate_question_results Exemplo
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

agregar_resultados_de_perguntas_em_lote Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Sim
force_recalculate bool Não

Resposta

Retorna: BulkAggregateQuestionResults200Response

Exemplo

Exemplo 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

combinar_comentários_com_resultados_de_perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
question_id String Não
question_ids Vec Não
url_id String Não
start_date String Não
force_recalculate bool Não
min_value f64 Não
max_value f64 Não
limit f64 Não

Resposta

Retorna: CombineCommentsWithQuestionResults200Response

Exemplo

Exemplo 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

adicionar_usuário_sso Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_apisso_user_data models::CreateApissoUserData Sim

Resposta

Retorna: AddSsoUserApiResponse


excluir_usuário_sso Internal Link


Parâmetros

Name Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
delete_comments bool Não
comment_delete_mode String Não

Resposta

Retorna: DeleteSsoUserApiResponse


obter_usuário_sso_por_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
email String Sim

Resposta

Retorna: GetSsoUserByEmailApiResponse


obter_usuário_sso_por_id Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetSsoUserByIdApiResponse


obter_usuários_sso Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
skip i32 Não

Resposta

Retorna: GetSsoUsers200Response


atualizar_parcialmente_usuário_sso Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_apisso_user_data models::UpdateApissoUserData Sim
update_comments bool Não

Resposta

Retorna: PatchSsoUserApiResponse

substituir_usuário_sso Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_apisso_user_data models::UpdateApissoUserData Sim
update_comments bool Não

Resposta

Retorna: PutSsoUserApiResponse


criar_assinatura Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_api_user_subscription_data models::CreateApiUserSubscriptionData Sim

Resposta

Retorna: CreateSubscriptionApiResponse

Exemplo

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

excluir_assinatura Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
user_id String Não

Resposta

Retorna: DeleteSubscriptionApiResponse


obter_assinaturas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não

Resposta

Retorna: GetSubscriptionsApiResponse

Exemplo

get_subscriptions Exemplo
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

atualizar_assinatura Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_api_user_subscription_data models::UpdateApiUserSubscriptionData Sim
user_id String Não

Resposta

Retorna: UpdateSubscriptionApiResponse

Exemplo

Exemplo 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

obter_usos_diários_do_locatário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
year_number f64 Não
month_number f64 Não
day_number f64 Não
skip f64 Não

Resposta

Retorna: GetTenantDailyUsages200Response

Exemplo

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

criar_pacote_do_locatário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
create_tenant_package_body models::CreateTenantPackageBody Sim

Resposta

Retorna: CreateTenantPackage200Response

Exemplo

Exemplo 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

excluir_pacote_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_pacote_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetTenantPackage200Response

Exemplo

Exemplo 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

obter_pacotes_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
skip f64 Não

Resposta

Retorna: GetTenantPackages200Response

Exemplo

Exemplo 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

substituir_pacote_do_locatário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
replace_tenant_package_body models::ReplaceTenantPackageBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

atualizar_pacote_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_tenant_package_body models::UpdateTenantPackageBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

update_tenant_package Exemplo
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

criar_usuário_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_tenant_user_body models::CreateTenantUserBody Sim

Resposta

Retorna: CreateTenantUser200Response

Exemplo

Exemplo 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

excluir_usuário_do_locatário Internal Link

Parâmetros

Name Type Obrigatório Descrição
tenant_id String Sim
id String Sim
delete_comments String Não
comment_delete_mode String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_usuário_do_locatário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Yes
id String Yes

Resposta

Retorna: GetTenantUser200Response

Exemplo

Exemplo 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

obter_usuários_do_locatário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
skip f64 Não

Resposta

Retorna: GetTenantUsers200Response

Exemplo

Exemplo 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

substituir_usuário_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
replace_tenant_user_body models::ReplaceTenantUserBody Sim
update_comments String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

replace_tenant_user Exemplo
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

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
redirect_url String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

atualizar_usuário_do_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_tenant_user_body models::UpdateTenantUserBody Sim
update_comments String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

criar_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_tenant_body models::CreateTenantBody Sim

Resposta

Retorna: CreateTenant200Response

Exemplo

Exemplo 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

excluir_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
sure String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo 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

obter_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetTenant200Response

Exemplo

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

obter_locatários Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
meta String Não
skip f64 Não

Resposta

Retorna: GetTenants200Response

Exemplo

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

atualizar_locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_tenant_body models::UpdateTenantBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

alterar_estado_do_ticket Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Sim
id String Sim
change_ticket_state_body models::ChangeTicketStateBody Sim

Resposta

Retorna: ChangeTicketState200Response

Exemplo

Exemplo 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

criar_ticket Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Sim
create_ticket_body models::CreateTicketBody Sim

Resposta

Retorna: CreateTicket200Response

Exemplo

Exemplo 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

obter_ticket Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
user_id String Não

Resposta

Retorna: GetTicket200Response

Exemplo

Exemplo 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

obter_tickets Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não
state f64 Não
skip f64 Não
limit f64 Não

Resposta

Retorna: GetTickets200Response

Exemplo

Exemplo 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

fazer_upload_de_imagem Internal Link


Enviar e redimensionar uma imagem

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
file std::path::PathBuf Sim
size_preset models::SizePreset Não
url_id String Não

Resposta

Retorna: UploadImageResponse


obter_progresso_de_insígnia_do_usuário_por_id Internal Link

Parâmetros

Name Type Required Description
tenant_id String Yes
id String Yes

Resposta

Retorna: GetUserBadgeProgressById200Response

Exemplo

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

obter_progresso_de_insígnia_por_id_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Sim

Resposta

Retorna: GetUserBadgeProgressById200Response

Exemplo

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

obter_lista_de_progresso_de_insígnias_do_usuário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não
limit f64 Não
skip f64 Não

Resposta

Retorna: GetUserBadgeProgressList200Response

Exemplo

get_user_badge_progress_list Exemplo
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

criar_insígnia_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_user_badge_params models::CreateUserBadgeParams Sim

Resposta

Retorna: CreateUserBadge200Response

Exemplo

Exemplo 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

excluir_insígnia_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: UpdateUserBadge200Response

Exemplo

Exemplo 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

obter_insígnia_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim

Resposta

Retorna: GetUserBadge200Response

Exemplo

Exemplo 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

obter_insígnias_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
user_id String Não
badge_id String Não
displayed_on_comments bool Não
limit f64 Não
skip f64 Não

Resposta

Retorna: GetUserBadges200Response

Exemplo

Exemplo 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

atualizar_insígnia_do_usuário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
update_user_badge_params models::UpdateUserBadgeParams Sim

Resposta

Retorna: UpdateUserBadge200Response

Exemplo

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

obter_contagem_de_notificações_do_usuário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
sso String Não

Resposta

Retorna: GetUserNotificationCount200Response

Exemplo

Exemplo 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

obter_notificações_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
page_size i32 Não
after_id String Não
include_context bool Não
after_created_at i64 Não
unread_only bool Não
dm_only bool Não
no_dm bool Não
include_translations bool Não
sso String Não

Resposta

Retorna: GetUserNotifications200Response

Exemplo

Exemplo 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

redefinir_contagem_de_notificações_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
sso String Não

Resposta

Retorna: ResetUserNotifications200Response

Exemplo

reset_user_notification_count Exemplo
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

redefinir_notificações_do_usuário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
after_id String Não
after_created_at i64 Não
unread_only bool Não
dm_only bool Não
no_dm bool Não
sso String Não

Resposta

Retorna: ResetUserNotifications200Response

Exemplo

Exemplo 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

atualizar_status_de_assinatura_de_notificações_de_comentários_do_usuário Internal Link

Ativar ou desativar notificações para um comentário específico.

Parâmetros

Name Type Required Description
tenant_id String Sim
notification_id String Sim
opted_in_or_out String Sim
comment_id String Sim
sso String Não

Resposta

Retorna: UpdateUserNotificationStatus200Response

Exemplo

Exemplo 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

atualizar_status_de_assinatura_de_notificações_de_página_do_usuário Internal Link

Ativar ou desativar notificações para uma página. Quando os usuários estão inscritos em uma página, notificações são criadas para novos comentários raiz, e também

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
url String Sim
page_title String Sim
subscribed_or_unsubscribed String Sim
sso String Não

Resposta

Retorna: UpdateUserNotificationStatus200Response

Exemplo

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

atualizar_status_de_notificação_do_usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
notification_id String Sim
new_status String Sim
sso String Não

Resposta

Retorna: UpdateUserNotificationStatus200Response

Exemplo

update_user_notification_status Exemplo
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

obter_status_de_presença_de_usuários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id_ws String Sim
user_ids String Sim

Resposta

Retorna: GetUserPresenceStatuses200Response

Exemplo

Exemplo 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

buscar_usuários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
username_starts_with String Não
mention_group_ids Vec Não
sso String Não
search_section String Não

Resposta

Retorna: SearchUsers200Response

Exemplo

Exemplo 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

obter_usuário Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim

Resposta

Retorna: GetUser200Response

Exemplo

Exemplo 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

criar_voto Internal Link

Parâmetros

Name Type Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
direction String Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: VoteComment200Response

Exemplo

Exemplo 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

excluir_voto Internal Link

Parâmetros

Name Type Obrigatório Descrição
tenant_id String Sim
id String Sim
edit_key String Não

Resposta

Retorna: DeleteCommentVote200Response

Exemplo

Exemplo 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

obter_votos Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
url_id String Sim

Resposta

Retorna: GetVotes200Response

Exemplo

Exemplo 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

obter_votos_do_usuário Internal Link

Parâmetros

Name Type Obrigatório Description
tenant_id String Sim
url_id String Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: GetVotesForUser200Response

Exemplo

Exemplo 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

Precisa de ajuda?

Se você encontrar qualquer problema ou tiver dúvidas sobre o SDK Rust, por favor:

Contribuindo

Contribuições são bem-vindas! Por favor, visite o repositório do GitHub para obter as diretrizes de contribuição.