FastComments.com

FastComments SDK para Rust


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

NomeTipoObrigatórioDescrição
tenant_idStringSim
aggregation_requestmodels::AggregationRequestSim
parent_tenant_idStringNão
include_statsboolNão

Resposta

Retorna: AggregationResponse


obter_logs_de_auditoria Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
limitf64Não
skipf64Não
ordermodels::SortDirNão
afterf64Não
beforef64Nã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
public_block_from_comment_paramsmodels::PublicBlockFromCommentParamsSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
public_block_from_comment_paramsmodels::PublicBlockFromCommentParamsSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idsStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
block_from_comment_paramsmodels::BlockFromCommentParamsSim
user_idStringNão
anon_user_idStringNã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

NameTypeRequiredDescription
tenant_idStringSim
url_idStringSim
broadcast_idStringSim
comment_datamodels::CommentDataSim
session_idStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
context_user_idStringNão
is_liveboolNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
edit_keyStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
vote_idStringSim
url_idStringSim
broadcast_idStringSim
edit_keyStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
user_idStringNão
anon_user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
edit_keyStringNão
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
diri32Sim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
pagei32Não
limiti32Não
skipi32Não
as_treeboolNão
skip_childreni32Não
limit_childreni32Não
max_tree_depthi32Não
url_idStringNão
user_idStringNão
anon_user_idStringNão
context_user_idStringNão
hash_tagStringNão
parent_idStringNão
directionmodels::SortDirectionsNã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

NameTypeRequiredDescription
tenant_idStringSim
url_idStringSim
pagei32Não
directionmodels::SortDirectionsNão
ssoStringNão
skipi32Não
skip_childreni32Não
limiti32Não
limit_childreni32Não
count_childrenboolNão
fetch_page_for_comment_idStringNão
include_configboolNão
count_allboolNão
includei10nboolNão
localeStringNão
modulesStringNão
is_crawlerboolNão
include_notification_countboolNão
as_treeboolNão
max_tree_depthi32Não
use_full_translation_idsboolNão
parent_idStringNão
search_textStringNão
hash_tagsVecNão
user_idStringNão
custom_config_strStringNão
after_comment_idStringNão
before_comment_idStringNã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
create_comment_paramsmodels::CreateCommentParamsSim
is_liveboolNão
do_spam_checkboolNão
send_emailsboolNão
populate_notificationsboolNã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

NameTypeRequiredDescription
tenant_idStringYes
create_comment_paramsVecmodels::CreateCommentParamsYes
is_liveboolNo
do_spam_checkboolNo
send_emailsboolNo
populate_notificationsboolNo

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
comment_text_update_requestmodels::CommentTextUpdateRequestSim
edit_keyStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
un_block_from_comment_paramsmodels::UnBlockFromCommentParamsSim
user_idStringNão
anon_user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
user_idStringNão
anon_user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
broadcast_idStringSim
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
idStringSim
updatable_comment_paramsmodels::UpdatableCommentParamsSim
context_user_idStringNão
do_spam_checkboolNão
is_liveboolNã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
url_idStringSim
broadcast_idStringSim
vote_body_paramsmodels::VoteBodyParamsSim
session_idStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
add_domain_config_paramsmodels::AddDomainConfigParamsSim

Resposta

Retorna: AddDomainConfig200Response

excluir_configuração_de_domínio Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
domainStringSim

Resposta

Retorna: DeleteDomainConfig200Response


obter_configuração_de_domínio Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
domainStringSim

Resposta

Retorna: GetDomainConfig200Response


obter_configurações_de_domínio Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim

Resposta

Retorna: GetDomainConfigs200Response


atualizar_parcialmente_configuração_de_domínio Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
domain_to_updateStringSim
patch_domain_config_paramsmodels::PatchDomainConfigParamsSim

Resposta

Retorna: GetDomainConfig200Response


substituir_configuração_de_domínio Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
domain_to_updateStringSim
update_domain_config_paramsmodels::UpdateDomainConfigParamsSim

Resposta

Retorna: GetDomainConfig200Response

criar_modelo_de_email Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_email_template_bodymodels::CreateEmailTemplateBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
error_idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
skipf64Nã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

NameTypeRequiredDescription
tenant_idStringSim
skipf64Nã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

NameTypeRequiredDescription
tenant_idStringSim
render_email_template_bodymodels::RenderEmailTemplateBodySim
localeStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_email_template_bodymodels::UpdateEmailTemplateBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringSim
user_id_wsStringSim
start_timei64Sim
end_timei64Sim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringSim
user_id_wsStringSim
start_timei64Sim
end_timei64Sim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_feed_post_paramsmodels::CreateFeedPostParamsSim
broadcast_idStringNão
is_liveboolNão
do_spam_checkboolNão
skip_dup_checkboolNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_feed_post_paramsmodels::CreateFeedPostParamsSim
broadcast_idStringNão
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
post_idStringSim
broadcast_idStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
after_idStringNão
limiti32Não
tagsVecNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
after_idStringNão
limiti32Não
tagsVecNão
ssoStringNão
is_crawlerboolNão
include_user_infoboolNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
post_idsVecSim
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
post_idsVecNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
post_idStringSim
react_body_paramsmodels::ReactBodyParamsSim
is_undoboolNão
broadcast_idStringNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
feed_postmodels::FeedPostSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
post_idStringSim
update_feed_post_paramsmodels::UpdateFeedPostParamsSim
broadcast_idStringNão
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringSim
is_flaggedboolSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringNão
create_hash_tag_bodymodels::CreateHashTagBodyNã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

NomeTipoObrigatórioDescrição
tenant_idStringNão
bulk_create_hash_tags_bodymodels::BulkCreateHashTagsBodyNã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

NameTypeRequiredDescription
tagStringSim
tenant_idStringNão
delete_hash_tag_requestmodels::DeleteHashTagRequestNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
pagef64Nã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

NomeTipoObrigatórioDescrição
tagStringYes
tenant_idStringNo
update_hash_tag_bodymodels::UpdateHashTagBodyNo

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_moderator_bodymodels::CreateModeratorBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
send_emailStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
from_nameStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_moderator_bodymodels::UpdateModeratorBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNão
url_idStringNão
from_comment_idStringNão
viewedboolNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNão
url_idStringNão
from_comment_idStringNão
viewedboolNão
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_notification_bodymodels::UpdateNotificationBodySim
user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_api_page_datamodels::CreateApiPageDataSim

Resposta

Retorna: AddPageApiResponse


excluir_página Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

Resposta

Retorna: DeletePageApiResponse


obter_página_por_urlid Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringSim

Resposta

Retorna: GetPageByUrlidApiResponse


obter_páginas Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim

Resposta

Retorna: GetPagesApiResponse


atualizar_parcialmente_página Internal Link

Parâmetros

NameTypeRequiredDescription
tenant_idStringSim
idStringSim
update_api_page_datamodels::UpdateApiPageDataSim

Resposta

Retorna: PatchPageApiResponse


excluir_evento_de_webhook_pendente Internal Link

Parâmetros

NameTypeRequiredDescription
tenant_idStringSim
idStringSim

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

NameTypeRequiredDescription
tenant_idStringSim
comment_idStringNão
external_idStringNão
event_typeStringNão
domainStringNão
attempt_count_gtf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
comment_idStringNão
external_idStringNão
event_typeStringNão
domainStringNão
attempt_count_gtf64Não
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_question_config_bodymodels::CreateQuestionConfigBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_question_config_bodymodels::UpdateQuestionConfigBodySim

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

NameTypeRequiredDescription
tenant_idStringSim
create_question_result_bodymodels::CreateQuestionResultBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringNão
user_idStringNão
start_dateStringNão
question_idStringNão
question_idsStringNão
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_question_result_bodymodels::UpdateQuestionResultBodySim

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

NameTipoObrigatórioDescrição
tenant_idStringSim
question_idStringNão
question_idsVecNão
url_idStringNão
time_bucketmodels::AggregateTimeBucketNão
start_dateStringNão
force_recalculateboolNã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

NameTypeRequiredDescription
tenant_idStringSim
bulk_aggregate_question_results_requestmodels::BulkAggregateQuestionResultsRequestSim
force_recalculateboolNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
question_idStringNão
question_idsVecNão
url_idStringNão
start_dateStringNão
force_recalculateboolNão
min_valuef64Não
max_valuef64Não
limitf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_apisso_user_datamodels::CreateApissoUserDataSim

Resposta

Retorna: AddSsoUserApiResponse


excluir_usuário_sso Internal Link


Parâmetros

NameTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
delete_commentsboolNão
comment_delete_modeStringNão

Resposta

Retorna: DeleteSsoUserApiResponse


obter_usuário_sso_por_email Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
emailStringSim

Resposta

Retorna: GetSsoUserByEmailApiResponse


obter_usuário_sso_por_id Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

Resposta

Retorna: GetSsoUserByIdApiResponse


obter_usuários_sso Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
skipi32Não

Resposta

Retorna: GetSsoUsers200Response


atualizar_parcialmente_usuário_sso Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_apisso_user_datamodels::UpdateApissoUserDataSim
update_commentsboolNão

Resposta

Retorna: PatchSsoUserApiResponse

substituir_usuário_sso Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_apisso_user_datamodels::UpdateApissoUserDataSim
update_commentsboolNão

Resposta

Retorna: PutSsoUserApiResponse


criar_assinatura Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_api_user_subscription_datamodels::CreateApiUserSubscriptionDataSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
user_idStringNão

Resposta

Retorna: DeleteSubscriptionApiResponse


obter_assinaturas Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_api_user_subscription_datamodels::UpdateApiUserSubscriptionDataSim
user_idStringNã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

NameTypeRequiredDescription
tenant_idStringSim
year_numberf64Não
month_numberf64Não
day_numberf64Não
skipf64Nã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

NameTypeRequiredDescription
tenant_idStringSim
create_tenant_package_bodymodels::CreateTenantPackageBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
replace_tenant_package_bodymodels::ReplaceTenantPackageBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_tenant_package_bodymodels::UpdateTenantPackageBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_tenant_user_bodymodels::CreateTenantUserBodySim

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

NameTypeObrigatórioDescrição
tenant_idStringSim
idStringSim
delete_commentsStringNão
comment_delete_modeStringNã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

NameTypeRequiredDescription
tenant_idStringYes
idStringYes

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

NameTypeRequiredDescription
tenant_idStringSim
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
replace_tenant_user_bodymodels::ReplaceTenantUserBodySim
update_commentsStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
redirect_urlStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_tenant_user_bodymodels::UpdateTenantUserBodySim
update_commentsStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_tenant_bodymodels::CreateTenantBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
sureStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NameTypeRequiredDescription
tenant_idStringSim
metaStringNão
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
update_tenant_bodymodels::UpdateTenantBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringSim
idStringSim
change_ticket_state_bodymodels::ChangeTicketStateBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringSim
create_ticket_bodymodels::CreateTicketBodySim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim
user_idStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNão
statef64Não
skipf64Não
limitf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
filestd::path::PathBufSim
size_presetmodels::SizePresetNão
url_idStringNão

Resposta

Retorna: UploadImageResponse


obter_progresso_de_insígnia_do_usuário_por_id Internal Link

Parâmetros

NameTypeRequiredDescription
tenant_idStringYes
idStringYes

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNão
limitf64Não
skipf64Nã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
create_user_badge_paramsmodels::CreateUserBadgeParamsSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
idStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
user_idStringNão
badge_idStringNão
displayed_on_commentsboolNão
limitf64Não
skipf64Nã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

NameTypeRequiredDescription
tenant_idStringSim
idStringSim
update_user_badge_paramsmodels::UpdateUserBadgeParamsSim

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

NameTypeRequiredDescription
tenant_idStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
page_sizei32Não
after_idStringNão
include_contextboolNão
after_created_ati64Não
unread_onlyboolNão
dm_onlyboolNão
no_dmboolNão
include_translationsboolNão
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
after_idStringNão
after_created_ati64Não
unread_onlyboolNão
dm_onlyboolNão
no_dmboolNão
ssoStringNã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

NameTypeRequiredDescription
tenant_idStringSim
notification_idStringSim
opted_in_or_outStringSim
comment_idStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringSim
urlStringSim
page_titleStringSim
subscribed_or_unsubscribedStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
notification_idStringSim
new_statusStringSim
ssoStringNã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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_id_wsStringSim
user_idsStringSim

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

NomeTipoObrigatórioDescrição
tenant_idStringSim
url_idStringSim
username_starts_withStringNão
mention_group_idsVecNão
ssoStringNão
search_sectionStringNã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

NameTypeRequiredDescription
tenant_idStringSim
idStringSim

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

NameTypeObrigatórioDescrição
tenant_idStringSim
comment_idStringSim
directionStringSim
user_idStringNão
anon_user_idStringNã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

NameTypeObrigatórioDescrição
tenant_idStringSim
idStringSim
edit_keyStringNã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

NameTypeRequiredDescription
tenant_idStringSim
url_idStringSim

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

NameTypeObrigatórioDescription
tenant_idStringSim
url_idStringSim
user_idStringNão
anon_user_idStringNã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.