FastComments.com

FastComments Rust SDK


Este é o SDK oficial em Rust para o FastComments.

SDK oficial em Rust para a API do FastComments

Repositório

Ver no GitHub


Instalação Internal Link

cargo add fastcomments-sdk

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

Conteúdo da Biblioteca Internal Link

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

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

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

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

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

Início Rápido Internal Link

Usando a API Pública

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

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

    // Buscar comentários de uma página
    let result = public_api::get_comments_public(
        &config,
        public_api::GetCommentsPublicParams {
            tenant_id: "your-tenant-id".to_string(),
            urlid: Some("page-url-id".to_string()),
            url: None,
            count_only: None,
            skip: None,
            limit: None,
            sort_dir: None,
            page: None,
            sso_hash: None,
            simple_sso_hash: None,
            has_no_comment: None,
            has_comment: None,
            comment_id_filter: None,
            child_ids: None,
            start_date_time: None,
            starts_with: None,
        },
    )
    .await;

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

Usando a API Autenticada

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

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

    // Buscar comentários usando a API autenticada
    let result = default_api::get_comments(
        &config,
        default_api::GetCommentsParams {
            tenant_id: "your-tenant-id".to_string(),
            skip: None,
            limit: None,
            sort_dir: None,
            urlid: Some("page-url-id".to_string()),
            url: None,
            is_spam: None,
            user_id: None,
            all_comments: None,
            for_moderation: None,
            parent_id: None,
            is_flagged: None,
            is_flagged_tag: None,
            is_by_verified: None,
            is_pinned: None,
            asc: None,
            include_imported: None,
            origin: None,
            tags: None,
        },
    )
    .await;

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

Usando SSO para Autenticação

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

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

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

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

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

Problemas Comuns Internal Link


Erros 401 — Não autorizado

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

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

Problemas com Tokens SSO

Se os tokens SSO não estiverem funcionando:

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

Erros do runtime assíncrono

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

  1. Adicione tokio às suas dependências:

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

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

Notas Internal Link

IDs de Transmissão

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

agregar Internal Link

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

Parâmetros

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

Resposta

Retorna: AggregationResponse


obter_registros_auditoria Internal Link

Parâmetros

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

Resposta

Retorna: GetAuditLogs200Response


bloquear_por_comentario Internal Link

Parâmetros

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

Resposta

Retorna: BlockFromCommentPublic200Response


desbloquear_comentario_publico Internal Link

Parâmetros

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

Resposta

Retorna: UnBlockCommentPublic200Response


comentarios_verificados_para_bloqueio Internal Link

Parâmetros

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

Resposta

Retorna: CheckedCommentsForBlocked200Response

bloquear_usuario_por_comentario Internal Link


Parâmetros

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

Resposta

Retorna: BlockFromCommentPublic200Response


criar_comentario_publico Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
broadcast_id String Sim
comment_data models::CommentData Sim
session_id String Não
sso String Não

Resposta

Retorna: CreateCommentPublic200Response

excluir_comentario Internal Link


Parâmetros

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

Resposta

Retorna: DeleteComment200Response


excluir_comentario_publico Internal Link

Parâmetros

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

Resposta

Retorna: DeleteCommentPublic200Response


excluir_voto_comentario Internal Link

Parâmetros

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

Resposta

Retorna: DeleteCommentVote200Response

denunciar_comentario Internal Link

Parâmetros

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

Resposta

Retorna: FlagComment200Response


obter_comentario Internal Link


Parameters

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

Resposta

Retorna: GetComment200Response


obter_texto_comentario Internal Link


Parâmetros

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

Resposta

Retorna: GetCommentText200Response


obter_nomes_usuarios_voto_comentario Internal Link


Parâmetros

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

Resposta

Retorna: GetCommentVoteUserNames200Response


obter_comentarios Internal Link

Parâmetros

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

Resposta

Retorna: GetComments200Response

obter_comentarios_publicos Internal Link

req tenantId urlId

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
url_id String Sim
page i32 Não
direction models::SortDirections Não
sso String Não
skip i32 Não
skip_children i32 Não
limit i32 Não
limit_children i32 Não
count_children bool Não
fetch_page_for_comment_id String Não
include_config bool Não
count_all bool Não
includei10n bool Não
locale String Não
modules String Não
is_crawler bool Não
include_notification_count bool Não
as_tree bool Não
max_tree_depth i32 Não
use_full_translation_ids bool Não
parent_id String Não
search_text String Não
hash_tags Vec Não
user_id String Não
custom_config_str String Não
after_comment_id String Não
before_comment_id String Não

Resposta

Retorna: GetCommentsPublic200Response

travar_comentario Internal Link

Parâmetros

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

Resposta

Retorna: LockComment200Response


fixar_comentario Internal Link

Parâmetros

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

Resposta

Retorna: PinComment200Response

salvar_comentario Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_comment_params models::CreateCommentParams Sim
is_live bool Não
do_spam_check bool Não
send_emails bool Não
populate_notifications bool Não

Resposta

Retorna: SaveComment200Response


salvar_comentarios_em_lote Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_comment_params Vecmodels::CreateCommentParams Sim
is_live bool Não
do_spam_check bool Não
send_emails bool Não
populate_notifications bool Não

Resposta

Retorna: Vec<models::SaveComment200Response>


definir_texto_comentario Internal Link

Parâmetros

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

Resposta

Retorna: SetCommentText200Response


desbloquear_usuario_por_comentario Internal Link


Parâmetros

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

Resposta

Retorna: UnBlockCommentPublic200Response


remover_denuncia_comentario Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
user_id String Não
anon_user_id String Não

Resposta

Retorna: FlagComment200Response


destravar_comentario Internal Link

Parâmetros

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

Resposta

Retorna: LockComment200Response

desafixar_comentario Internal Link

Parâmetros

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

Resposta

Retorna: PinComment200Response

atualizar_comentario Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
body models::PickApiCommentPeriodUpdatableCommentFields Sim
context_user_id String Não
do_spam_check bool Não
is_live bool Não

Resposta

Retorna: FlagCommentPublic200Response


votar_comentario Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
comment_id String Sim
url_id String Sim
broadcast_id String Sim
vote_body_params models::VoteBodyParams Sim
session_id String Não
sso String Não

Resposta

Retorna: VoteComment200Response


adicionar_configuracao_dominio Internal Link

Parâmetros

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

Resposta

Retorna: AddDomainConfig200Response

excluir_configuracao_dominio Internal Link


Parâmetros

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

Resposta

Retorna: DeleteDomainConfig200Response


obter_configuracao_dominio Internal Link

Parâmetros

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

Resposta

Retorna: GetDomainConfig200Response


obter_configuracoes_dominio Internal Link


Parâmetros

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

Resposta

Retorna: GetDomainConfigs200Response


atualizar_parcial_configuracao_dominio Internal Link


Parâmetros

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

Resposta

Retorna: GetDomainConfig200Response


substituir_configuracao_dominio Internal Link

Parâmetros

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

Resposta

Retorna: GetDomainConfig200Response

criar_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: CreateEmailTemplate200Response

Exemplo

Exemplo de create_email_template
Copy Copy
1
2let params: CreateEmailTemplateParams = CreateEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 create_email_template_body: models::CreateEmailTemplateBody {
5 name: "New Comment Notification".to_string(),
6 subject: "New comment on your article".to_string(),
7 html_body: "<p>A new comment was posted on <strong>{article_title}</strong>.</p>".to_string(),
8 text_body: Some("A new comment was posted on {article_title}.".to_string()),
9 from_email: Some("no-reply@acme-news.com".to_string()),
10 enabled: Some(true),
11 },
12};
13let response: CreateEmailTemplate200Response = create_email_template(&configuration, params).await?;
14

excluir_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

excluir_erro_renderizacao_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_email_template_render_error
Copy Copy
1
2async fn delete_email_template_render_error_example() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteEmailTemplateRenderErrorParams = DeleteEmailTemplateRenderErrorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "marketing/newsletter/welcome-email".to_string(),
6 error_id: "render-err-2026-01-12-01".to_string(),
7 };
8 let response: FlagCommentPublic200Response = delete_email_template_render_error(configuration, params).await?;
9 Ok(response)
10}
11

obter_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: GetEmailTemplate200Response

Exemplo

Exemplo de get_email_template
Copy Copy
1
2async fn fetch_template() -> Result<GetEmailTemplate200Response, Error> {
3 let params: GetEmailTemplateParams = GetEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-email-template".to_string(),
6 };
7 let template: GetEmailTemplate200Response = get_email_template(&configuration, params).await?;
8 Ok(template)
9}
10

obter_definicoes_modelo_email Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim

Resposta

Retorna: GetEmailTemplateDefinitions200Response

Exemplo

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

obter_erros_renderizacao_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: GetEmailTemplateRenderErrors200Response

Exemplo

Exemplo de get_email_template_render_errors
Copy Copy
1
2async fn example_call() -> 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_email Internal Link

Parâmetros

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

Resposta

Retorna: GetEmailTemplates200Response

Exemplo

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

renderizar_modelo_email Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
render_email_template_body models::RenderEmailTemplateBody Sim
locale String Não

Resposta

Retorna: RenderEmailTemplate200Response

Exemplo

Exemplo de render_email_template
Copy Copy
1
2let params: RenderEmailTemplateParams = RenderEmailTemplateParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 render_email_template_body: models::RenderEmailTemplateBody {
5 template_id: "comment-notification".to_string(),
6 subject: Some("New comment on your article".to_string()),
7 placeholders: std::collections::HashMap::from([
8 ("article_title".to_string(), "Rust Gains Momentum in 2026".to_string()),
9 ("comment_author".to_string(), "Jane Doe".to_string()),
10 ("comment_snippet".to_string(), "Great insights — thanks for sharing!".to_string()),
11 ]),
12 },
13 locale: Some("en-US".to_string()),
14};
15let rendered: RenderEmailTemplate200Response = render_email_template(&configuration, params).await?;
16

atualizar_modelo_email Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_email_template
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: UpdateEmailTemplateParams = UpdateEmailTemplateParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "welcome-template-001".to_string(),
6 update_email_template_body: models::UpdateEmailTemplateBody {
7 name: Some("Welcome Template".to_string()),
8 subject: Some("Welcome to Acme News".to_string()),
9 body_html: Some("<p>Hi , welcome to Acme News!</p>".to_string()),
10 from_address: Some("no-reply@acme-news.com".to_string()),
11 reply_to: Some("support@acme-news.com".to_string()),
12 enabled: Some(true),
13 language: Some("en-US".to_string()),
14 custom_config: Some(models::CustomConfigParameters {
15 tracking_pixel_url: Some("https://acme-news.com/pixel".to_string()),
16 }),
17 },
18 };
19
20 let response: FlagCommentPublic200Response = update_email_template(&configuration, params).await?;
21 let _ = response;
22 Ok(())
23}
24

obter_registro_eventos Internal Link

req tenantId urlId userIdWS

Parâmetros

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

Resposta

Retorna: GetEventLog200Response

obter_registro_eventos_global Internal Link

req tenantId urlId userIdWS

Parâmetros

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

Resposta

Retorna: GetEventLog200Response

criar_postagem_feed Internal Link

Parâmetros

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

Resposta

Retorna: CreateFeedPost200Response


criar_postagem_feed_publica Internal Link

Parâmetros

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

Resposta

Retorna: CreateFeedPostPublic200Response

excluir_postagem_feed_publica Internal Link

Parâmetros

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

Resposta

Retorna: DeleteFeedPostPublic200Response


obter_postagens_feed Internal Link

req tenantId afterId

Parâmetros

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

Resposta

Retorna: GetFeedPosts200Response

obter_postagens_feed_publicas Internal Link

req tenantId afterId

Parâmetros

Name Type Required Description
tenant_id String Sim
after_id String Não
limit i32 Não
tags Vec Não
sso String Não
is_crawler bool Não
include_user_info bool Não

Resposta

Retorna: GetFeedPostsPublic200Response

obter_estatisticas_postagens_feed Internal Link

Parâmetros

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

Resposta

Retorna: GetFeedPostsStats200Response


obter_reacoes_usuario_publicas Internal Link

Parâmetros

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

Resposta

Retorna: GetUserReactsPublic200Response


reagir_postagem_feed_publica Internal Link


Parâmetros

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

Resposta

Retorna: ReactFeedPostPublic200Response


atualizar_postagem_feed Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response


atualizar_postagem_feed_publica Internal Link

Parâmetros

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

Resposta

Retorna: CreateFeedPostPublic200Response


denunciar_comentario_publico Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response


adicionar_hashtag Internal Link

Parâmetros

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

Resposta

Retorna: AddHashTag200Response

Exemplo

Exemplo de add_hash_tag
Copy Copy
1
2async fn run_add_hash_tag(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: AddHashTagParams = AddHashTagParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 create_hash_tag_body: Some(models::CreateHashTagBody {
6 tag: "breaking-news".to_string(),
7 label: Some("Breaking News".to_string()),
8 visible: Some(true),
9 }),
10 };
11
12 let created: AddHashTag200Response = add_hash_tag(configuration, params).await?;
13 println!("{:#?}", created);
14 Ok(())
15}
16

adicionar_hashtags_em_lote Internal Link

Parâmetros

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

Resposta

Retorna: AddHashTagsBulk200Response

Exemplo

add_hash_tags_bulk Exemplo
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: AddHashTagsBulkParams = AddHashTagsBulkParams {
4 tenant_id: Some("acme-corp-tenant".to_string()),
5 bulk_create_hash_tags_body: Some(models::BulkCreateHashTagsBody {
6 tags: vec![
7 models::BulkCreateHashTagsBodyTagsInner {
8 name: "news/article".to_string(),
9 path: "news/article".to_string(),
10 description: Some("Article tag for front page".to_string()),
11 enabled: Some(true),
12 },
13 ],
14 }),
15 };
16
17 let response: AddHashTagsBulk200Response = add_hash_tags_bulk(&configuration, params).await?;
18 Ok(())
19}
20

excluir_hashtag Internal Link

Parâmetros

Name Type Obrigatório Descrição
tag String Sim
tenant_id String Não
delete_hash_tag_request models::DeleteHashTagRequest Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_hash_tag
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteHashTagParams = DeleteHashTagParams {
4 tag: "news/politics".to_string(),
5 tenant_id: Some("acme-corp-tenant".to_string()),
6 delete_hash_tag_request: Some(models::DeleteHashTagRequest::default()),
7 };
8 let response: FlagCommentPublic200Response = delete_hash_tag(&configuration, params).await?;
9 Ok(())
10}
11

obter_hashtags Internal Link

Parâmetros

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

Resposta

Retorna: GetHashTags200Response

Exemplo

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

atualizar_parcial_hashtag Internal Link

Parâmetros

Name Type Required Description
tag String Sim
tenant_id String Não
update_hash_tag_body models::UpdateHashTagBody Não

Resposta

Retorna: PatchHashTag200Response

Exemplo

Exemplo de patch_hash_tag
Copy Copy
1
2async fn run_patch_hash_tag() -> Result<PatchHashTag200Response, Error> {
3 let params: PatchHashTagParams = PatchHashTagParams {
4 tag: "breaking-news".to_string(),
5 tenant_id: Some("acme-corp-tenant".to_string()),
6 update_hash_tag_body: Some(models::UpdateHashTagBody {
7 name: "Breaking News".to_string(),
8 description: "Posts about breaking news and urgent updates".to_string(),
9 synonyms: vec!["breaking".to_string(), "urgent".to_string()],
10 is_active: true,
11 }),
12 };
13 let response: PatchHashTag200Response = patch_hash_tag(&configuration, params).await?;
14 Ok(response)
15}
16

criar_moderador Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
create_moderator_body models::CreateModeratorBody Sim

Resposta

Retorna: CreateModerator200Response

Exemplo

Exemplo de create_moderator
Copy Copy
1
2async fn run_create_moderator() -> Result<(), Error> {
3 let params: CreateModeratorParams = CreateModeratorParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 create_moderator_body: models::CreateModeratorBody {
6 email: "jane.doe@acme.com".to_owned(),
7 display_name: "Jane Doe".to_owned(),
8 role: Some("moderator".to_owned()),
9 active: Some(true),
10 notes: Some("Handles product and support forums".to_owned()),
11 permissions: Some(vec!["approve_comment".to_owned(), "delete_comment".to_owned()]),
12 },
13 };
14
15 let _response: CreateModerator200Response = create_moderator(&configuration, params).await?;
16 Ok(())
17}
18

excluir_moderador Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

obter_moderador Internal Link

Parâmetros

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

Resposta

Retorna: GetModerator200Response

Exemplo

Exemplo de get_moderator
Copy Copy
1
2async fn example() -> Result<(), Error> {
3 let params: GetModeratorParams = GetModeratorParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "moderator-42".to_string(),
6 include: Some(vec!["roles".to_string(), "recent_comments".to_string()]),
7 };
8 let moderator: GetModerator200Response = get_moderator(&configuration, params).await?;
9 println!("{:#?}", moderator);
10 Ok(())
11}
12

obter_moderadores Internal Link

Parâmetros

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

Resposta

Retorna: GetModerators200Response

Exemplo

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

enviar_convite Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
from_name String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de send_invite
Copy Copy
1
2let params: SendInviteParams = SendInviteParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "articles/2026/01/ai-news-12345".to_string(),
5 from_name: "Acme Newsroom".to_string(),
6 reply_to: Some("editorial@acme.com".to_string()),
7 message: Some("You have been invited to moderate comments on this article.".to_string()),
8};
9
10let invite_response: FlagCommentPublic200Response = send_invite(&configuration, params).await?;
11

atualizar_moderador Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_moderator
Copy Copy
1
2let params: UpdateModeratorParams = UpdateModeratorParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "moderator-12345".to_string(),
5 update_moderator_body: models::UpdateModeratorBody {
6 username: "jane.doe".to_string(),
7 display_name: Some("Jane Doe".to_string()),
8 email: Some("jane.doe@acme.com".to_string()),
9 is_active: Some(true),
10 permissions: Some(vec!["moderate_comments".to_string(), "view_reports".to_string()]),
11 },
12};
13let response: FlagCommentPublic200Response = update_moderator(&configuration, params).await?;
14

excluir_contagem_notificacoes Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

delete_notification_count Exemplo
Copy Copy
1
2async fn run_delete_notification_count(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteNotificationCountParams = DeleteNotificationCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-9f8b7a6".to_string(),
6 };
7 let response: FlagCommentPublic200Response = delete_notification_count(configuration, params).await?;
8 Ok(response)
9}
10

obter_contagem_notificacoes_cache Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim

Resposta

Retorna: GetCachedNotificationCount200Response

Exemplo

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

obter_contagem_notificacoes Internal Link

Parâmetros

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

Resposta

Retorna: GetNotificationCount200Response

Exemplo

Exemplo get_notification_count
Copy Copy
1
2async fn example_get_notification_count() -> Result<GetNotificationCount200Response, Error> {
3 let params: GetNotificationCountParams = GetNotificationCountParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 user_id: Some(String::from("user-12345")),
6 url_id: Some(String::from("news/article/2026/product-launch")),
7 from_comment_id: Some(String::from("cmt-000987")),
8 viewed: Some(false),
9 };
10 let response: GetNotificationCount200Response = get_notification_count(&configuration, params).await?;
11 Ok(response)
12}
13

obter_notificacoes Internal Link

Parâmetros

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

Resposta

Retorna: GetNotifications200Response

Exemplo

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

atualizar_notificacao Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_notification
Copy Copy
1
2pub async fn run_update_notification(configuration: &configuration::Configuration) -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateNotificationParams = UpdateNotificationParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "notification-67890".to_string(),
6 update_notification_body: models::UpdateNotificationBody {
7 title: Some("Flag Review Complete".to_string()),
8 message: Some("A moderator reviewed the flagged comment and marked it resolved.".to_string()),
9 resolved: Some(true),
10 channels: Some(vec!["email".to_string(), "in_app".to_string()]),
11 },
12 user_id: Some("moderator-007".to_string()),
13 };
14 let response: FlagCommentPublic200Response = update_notification(configuration, params).await?;
15 Ok(response)
16}
17

adicionar_pagina Internal Link

Parâmetros

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

Resposta

Retorna: AddPageApiResponse


excluir_pagina Internal Link


Parâmetros

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

Resposta

Retorna: DeletePageApiResponse


obter_pagina_por_urlid Internal Link

Parâmetros

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

Resposta

Retorna: GetPageByUrlidApiResponse


obter_paginas Internal Link


Parâmetros

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

Resposta

Retorna: GetPagesApiResponse


atualizar_parcial_pagina Internal Link

Parâmetros

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

Resposta

Retorna: PatchPageApiResponse


excluir_evento_webhook_pendente Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_pending_webhook_event
Copy Copy
1
2async fn run() -> Result<FlagCommentPublic200Response, Error> {
3 let event_id_opt: Option<String> = Some("webhook-event/news-article-2026-01-10-1234".to_string());
4 let event_id: String = event_id_opt.unwrap();
5 let params: DeletePendingWebhookEventParams = DeletePendingWebhookEventParams {
6 tenant_id: "acme-corp-tenant".to_string(),
7 id: event_id,
8 };
9 let response: FlagCommentPublic200Response = delete_pending_webhook_event(&configuration, params).await?;
10 Ok(response)
11}
12

obter_contagem_eventos_webhook_pendentes Internal Link


Parâmetros

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

Resposta

Retorna: GetPendingWebhookEventCount200Response

Exemplo

get_pending_webhook_event_count Exemplo
Copy Copy
1
2async fn example() -> Result<GetPendingWebhookEventCount200Response, Error> {
3 let params: GetPendingWebhookEventCountParams = GetPendingWebhookEventCountParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: Some("cmt-12345".to_string()),
6 external_id: Some("news/article-98765".to_string()),
7 event_type: Some("comment.created".to_string()),
8 domain: Some("news.example.com".to_string()),
9 attempt_count_gt: Some(2.0),
10 };
11 let response: GetPendingWebhookEventCount200Response =
12 get_pending_webhook_event_count(&configuration, params).await?;
13 Ok(response)
14}
15

obter_eventos_webhook_pendentes Internal Link

Parâmetros

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

Resposta

Retorna: GetPendingWebhookEvents200Response

Exemplo

Exemplo de get_pending_webhook_events
Copy Copy
1
2let params: GetPendingWebhookEventsParams = GetPendingWebhookEventsParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 comment_id: Some("cmt-12345".to_string()),
5 external_id: Some("article-98765".to_string()),
6 event_type: Some("comment.create".to_string()),
7 domain: Some("news.example.com".to_string()),
8 attempt_count_gt: Some(1.0),
9 skip: Some(0.0),
10};
11
12let pending: GetPendingWebhookEvents200Response = get_pending_webhook_events(&configuration, params).await?;
13

criar_configuracao_pergunta Internal Link


Parâmetros

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

Resposta

Retorna: CreateQuestionConfig200Response

Exemplo

Exemplo de create_question_config
Copy Copy
1
2let params: CreateQuestionConfigParams = CreateQuestionConfigParams {
3 tenant_id: String::from("acme-corp-tenant"),
4 create_question_config_body: models::CreateQuestionConfigBody {
5 key: String::from("article-usefulness"),
6 label: Some(String::from("Was this article useful?")),
7 description: Some(String::from("Help us improve by rating this article.")),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::MultipleChoice),
10 custom_options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { value: String::from("1"), label: Some(String::from("Not useful")) },
12 models::QuestionConfigCustomOptionsInner { value: String::from("3"), label: Some(String::from("Somewhat useful")) },
13 models::QuestionConfigCustomOptionsInner { value: String::from("5"), label: Some(String::from("Very useful")) },
14 ]),
15 enabled: Some(true),
16 },
17};
18let response: CreateQuestionConfig200Response = create_question_config(configuration, params).await?;
19

excluir_configuracao_pergunta Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_question_config
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: DeleteQuestionConfigParams = DeleteQuestionConfigParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-comments-config-2025".to_string(),
6 force: Some(true),
7 };
8 let response: FlagCommentPublic200Response = delete_question_config(&configuration, params).await?;
9 Ok(())
10}
11

obter_configuracao_pergunta Internal Link

Parâmetros

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

Resposta

Retorna: GetQuestionConfig200Response

Exemplo

Exemplo de get_question_config
Copy Copy
1
2async fn fetch_question_config() -> Result<(), Error> {
3 let tenant_env: Option<&str> = Some("prod");
4 let tenant_id: String = match tenant_env {
5 Some(env) => format!("acme-corp-tenant-{}", env),
6 None => "acme-corp-tenant".to_string(),
7 };
8 let params: GetQuestionConfigParams = GetQuestionConfigParams {
9 tenant_id,
10 id: "news/article/2026/01/12-politics".to_string(),
11 };
12 let response: GetQuestionConfig200Response = get_question_config(&configuration, params).await?;
13 let _status: ApiStatus = response.0;
14 Ok(())
15}
16

obter_configuracoes_perguntas Internal Link

Parâmetros

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

Resposta

Retorna: GetQuestionConfigs200Response

Exemplo

get_question_configs Exemplo
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 let _cfgs: GetQuestionConfigs200Response = response;
9 Ok(())
10}
11

atualizar_configuracao_pergunta Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_question_config
Copy Copy
1
2async fn run_update() -> Result<(), Error> {
3 let params: UpdateQuestionConfigParams = UpdateQuestionConfigParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article-2026-01-12"),
6 update_question_config_body: models::UpdateQuestionConfigBody {
7 question_text: String::from("Did you find this reporting accurate?"),
8 required: Some(true),
9 rendering_type: Some(models::QuestionRenderingType::Inline),
10 options: Some(vec![
11 models::QuestionConfigCustomOptionsInner { id: String::from("opt-yes"), label: String::from("Yes"), value: String::from("yes") },
12 models::QuestionConfigCustomOptionsInner { id: String::from("opt-no"), label: String::from("No"), value: String::from("no") },
13 ]),
14 when_save: Some(models::QuestionWhenSave::OnSubmit),
15 },
16 };
17 let response: FlagCommentPublic200Response = update_question_config(&configuration, params).await?;
18 Ok(())
19}
20

criar_resultado_pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_question_result_body models::CreateQuestionResultBody Sim

Resposta

Retorna: CreateQuestionResult200Response

Exemplo

Exemplo de create_question_result
Copy Copy
1
2async fn run() -> 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: "feedback-article-2026".to_string(),
7 comment_id: Some("cmt-2026-001".to_string()),
8 user_id: Some("reader-007".to_string()),
9 answer: "yes".to_string(),
10 score: Some(4),
11 metadata: Some(std::collections::HashMap::from([(
12 "path".to_string(),
13 "news/politics/2026-election".to_string(),
14 )])),
15 anonymous: Some(false),
16 submitted_at: Some("2026-01-12T09:15:00Z".to_string()),
17 },
18 };
19
20 let created: CreateQuestionResult200Response = create_question_result(&configuration, params).await?;
21 Ok(())
22}
23

excluir_resultado_pergunta Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_question_result
Copy Copy
1
2async fn run_delete() -> Result<(), Error> {
3 let params: DeleteQuestionResultParams = DeleteQuestionResultParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/12345/question/67890".to_string(),
6 dry_run: Some(false),
7 request_id: Some("req-20260112-7a3b".to_string()),
8 };
9 let response: FlagCommentPublic200Response = delete_question_result(&configuration, params).await?;
10 Ok(())
11}
12

obter_resultado_pergunta Internal Link

Parâmetros

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

Resposta

Retorna: GetQuestionResult200Response

Exemplo

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

obter_resultados_perguntas Internal Link

Parâmetros

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

Resposta

Retorna: GetQuestionResults200Response

Exemplo

Exemplo de get_question_results
Copy Copy
1
2async fn example_get_question_results() -> Result<(), Error> {
3 let params = GetQuestionResultsParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: Some(String::from("news/article/2026/01/12/breaking")),
6 user_id: Some(String::from("user-98765")),
7 start_date: Some(String::from("2025-12-01")),
8 question_id: Some(String::from("q-42")),
9 question_ids: Some(String::from("q-42,q-43")),
10 skip: Some(10.0),
11 };
12 let results: GetQuestionResults200Response = get_question_results(&configuration, params).await?;
13 Ok(())
14}
15

atualizar_resultado_pergunta Internal Link


Parâmetros

Name Type Required Description
tenant_id String Yes
id String Yes
update_question_result_body models::UpdateQuestionResultBody Yes

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_question_result
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let body: models::UpdateQuestionResultBody = models::UpdateQuestionResultBody {
4 question_id: "q-12345".to_string(),
5 result: true,
6 comment: Some("Marked by moderator after review".to_string()),
7 };
8
9 let params: UpdateQuestionResultParams = UpdateQuestionResultParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "news/article/98765".to_string(),
12 update_question_result_body: body,
13 };
14
15 let response: FlagCommentPublic200Response = update_question_result(&configuration, params).await?;
16 println!("{:#?}", response);
17 Ok(())
18}
19

agregar_resultados_perguntas Internal Link


Parâmetros

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

Resposta

Retorna: AggregateQuestionResults200Response


agregar_resultados_perguntas_em_lote Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
bulk_aggregate_question_results_request models::BulkAggregateQuestionResultsRequest Sim
force_recalculate bool Não

Resposta

Retorna: BulkAggregateQuestionResults200Response


combinar_comentarios_com_resultados_perguntas Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
question_id String Não
question_ids Vec Não
url_id String Não
start_date String Não
force_recalculate bool Não
min_value f64 Não
max_value f64 Não
limit f64 Não

Resposta

Retorna: CombineCommentsWithQuestionResults200Response


adicionar_usuario_sso Internal Link

Parâmetros

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

Resposta

Retorna: AddSsoUserApiResponse


excluir_usuario_sso Internal Link


Parâmetros

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

Resposta

Retorna: DeleteSsoUserApiResponse


obter_usuario_sso_por_email Internal Link

Parâmetros

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

Resposta

Retorna: GetSsoUserByEmailApiResponse


obter_usuario_sso_por_id Internal Link

Parâmetros

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

Resposta

Retorna: GetSsoUserByIdApiResponse


obter_usuarios_sso Internal Link


Parâmetros

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

Resposta

Retorna: GetSsoUsers200Response


atualizar_parcial_usuario_sso Internal Link

Parâmetros

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

Resposta

Retorna: PatchSsoUserApiResponse

substituir_usuario_sso Internal Link

Parâmetros

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

Resposta

Retorna: PutSsoUserApiResponse


criar_assinatura Internal Link


Parâmetros

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

Resposta

Retorna: CreateSubscriptionApiResponse


excluir_assinatura Internal Link

Parâmetros

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

Resposta

Retorna: DeleteSubscriptionApiResponse


obter_assinaturas Internal Link

Parâmetros

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

Resposta

Retorna: GetSubscriptionsApiResponse

obter_uso_diario_tenant Internal Link

Parâmetros

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

Resposta

Retorna: GetTenantDailyUsages200Response

Exemplo

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

criar_pacote_tenant Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
create_tenant_package_body models::CreateTenantPackageBody Sim

Resposta

Retorna: CreateTenantPackage200Response

Exemplo

Exemplo de create_tenant_package
Copy Copy
1
2async fn run_create_package() -> 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 News Package".to_string(),
7 description: Some("Moderated comments for Acme News articles".to_string()),
8 plan: Some("standard".to_string()),
9 allow_gifs: Some(true),
10 gif_rating: Some(GifRating::GeneralAudience),
11 image_content_profanity_level: Some(ImageContentProfanityLevel::Moderate),
12 sso_security_level: Some(SsoSecurityLevel::Strict),
13 custom_config: Some(CustomConfigParameters {
14 max_comment_length: Some(1000),
15 require_moderation: Some(true),
16 }),
17 },
18 };
19 let response: CreateTenantPackage200Response = create_tenant_package(&configuration, params).await?;
20 let _package: TenantPackage = response.0;
21 Ok(())
22}
23

excluir_pacote_tenant Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_tenant_package
Copy Copy
1
2let params: DeleteTenantPackageParams = DeleteTenantPackageParams {
3 tenant_id: "acme-corp-tenant".to_string(),
4 id: "pkg-news-comments-2025-01".to_string(),
5 cascade: Some(true),
6};
7let response: FlagCommentPublic200Response = delete_tenant_package(&configuration, params).await?;
8

obter_pacote_tenant Internal Link

Parameters

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

Response

Retorna: GetTenantPackage200Response

Example

Exemplo de get_tenant_package
Copy Copy
1
2async fn example_get_tenant_package(configuration: &configuration::Configuration) -> Result<GetTenantPackage200Response, Error> {
3 let params: GetTenantPackageParams = GetTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "premium-plan".to_string(),
6 include_details: Some(true),
7 };
8 let package: GetTenantPackage200Response = get_tenant_package(configuration, params).await?;
9 Ok(package)
10}
11

obter_pacotes_tenant Internal Link

Parâmetros

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

Resposta

Retorna: GetTenantPackages200Response

Exemplo

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

substituir_pacote_tenant Internal Link


Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
replace_tenant_package_body models::ReplaceTenantPackageBody Sim

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de replace_tenant_package
Copy Copy
1
2async fn run_replace_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: ReplaceTenantPackageParams = ReplaceTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "package-basic-2026".to_string(),
6 replace_tenant_package_body: models::ReplaceTenantPackageBody {
7 name: "Moderation Basic".to_string(),
8 description: Some("Standard moderation package for news sites".to_string()),
9 enabled: Some(true),
10 plan: Some("standard".to_string()),
11 custom_config_parameters: Some(models::CustomConfigParameters {
12 max_comment_length: Some(1000),
13 allow_images: Some(true),
14 }),
15 vote_style: Some(models::VoteStyle::Thumbs),
16 },
17 };
18 let response = replace_tenant_package(&configuration, params).await?;
19 Ok(response)
20}
21

atualizar_pacote_tenant Internal Link


Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_tenant_package
Copy Copy
1
2async fn example_update_tenant_package() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantPackageParams = UpdateTenantPackageParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "pro-plan-2026".to_string(),
6 update_tenant_package_body: models::UpdateTenantPackageBody {
7 name: Some("Pro Plan".to_string()),
8 description: Some("Priority support, custom branding, and advanced moderation tools".to_string()),
9 enabled: Some(true),
10 monthly_price_cents: Some(1999),
11 features: Some(vec![
12 "priority_support".to_string(),
13 "custom_branding".to_string(),
14 "advanced_moderation".to_string(),
15 ]),
16 },
17 };
18
19 let response: FlagCommentPublic200Response = update_tenant_package(&configuration, params).await?;
20 Ok(response)
21}
22

criar_usuario_tenant Internal Link

Parâmetros

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

Resposta

Retorna: CreateTenantUser200Response

Exemplo

Exemplo de create_tenant_user
Copy Copy
1
2let create_tenant_user_body: models::CreateTenantUserBody = models::CreateTenantUserBody {
3 email: "jane.doe@acme.com".to_string(),
4 display_name: Some("Jane Doe".to_string()),
5 role: Some("moderator".to_string()),
6 external_id: Some("acme-12345".to_string()),
7 subscribed_to_digest: Some(false),
8};
9let params: CreateTenantUserParams = CreateTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 create_tenant_user_body,
12};
13let response: CreateTenantUser200Response = create_tenant_user(&configuration, params).await?;
14

excluir_usuario_tenant Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

obter_usuario_tenant Internal Link

Parâmetros

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

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-7a3f2b".to_string(),
6 };
7 let include_related: Option<String> = Some("roles,preferences".to_string());
8 let response: GetTenantUser200Response = get_tenant_user(&configuration, params).await?;
9 Ok(())
10}
11

obter_usuarios_tenant Internal Link

Parâmetros

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

Resposta

Retorna: GetTenantUsers200Response

Exemplo

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

substituir_usuario_tenant Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de replace_tenant_user
Copy Copy
1
2let cfg: &configuration::Configuration = &configuration;
3let replace_tenant_user_body: models::ReplaceTenantUserBody = models::ReplaceTenantUserBody {
4 external_id: Some("acct-834".to_string()),
5 email: Some("jane.doe@acme-news.com".to_string()),
6 display_name: Some("Jane Doe".to_string()),
7 role: Some("moderator".to_string()),
8};
9let params: ReplaceTenantUserParams = ReplaceTenantUserParams {
10 tenant_id: "acme-corp-tenant".to_string(),
11 id: "user-834".to_string(),
12 replace_tenant_user_body,
13 update_comments: Some("true".to_string()),
14};
15let resp: FlagCommentPublic200Response = replace_tenant_user(cfg, params).await?;
16

Parameters

Name Type Required Description
tenant_id String Sim
id String Sim
redirect_url String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

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

atualizar_usuario_tenant Internal Link

Parâmetros

Name Type Required Description
tenant_id String Sim
id String Sim
update_tenant_user_body models::UpdateTenantUserBody Sim
update_comments String Não

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_tenant_user
Copy Copy
1
2async fn update_user_example(configuration: &configuration::Configuration) -> Result<(), Error> {
3 let params: UpdateTenantUserParams = UpdateTenantUserParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "user-78b2".to_string(),
6 update_tenant_user_body: models::UpdateTenantUserBody {
7 username: "jdoe".to_string(),
8 display_name: "John Doe".to_string(),
9 email: "john.doe@acme.com".to_string(),
10 roles: vec!["moderator".to_string()],
11 suspended: false,
12 },
13 update_comments: Some("Promoted to moderator for community moderation".to_string()),
14 };
15 let response: FlagCommentPublic200Response = update_tenant_user(configuration, params).await?;
16 println!("updated user response status: {:?}", response);
17 Ok(())
18}
19

criar_tenant Internal Link


Parâmetros

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

Resposta

Retorna: CreateTenant200Response

Exemplo

Exemplo de create_tenant
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: CreateTenantParams = CreateTenantParams {
4 tenant_id: "acme-news-tenant".to_string(),
5 create_tenant_body: models::CreateTenantBody {
6 name: "Acme News".to_string(),
7 domain: Some("news.acme.com".to_string()),
8 api_domain_configuration: Some(models::ApiDomainConfiguration {
9 domain: "api.news.acme.com".to_string(),
10 enforce_https: true,
11 }),
12 billing_info: Some(models::BillingInfo {
13 contact_email: "billing@acme.com".to_string(),
14 plan_id: "pro_monthly".to_string(),
15 }),
16 imported_site_type: Some(models::ImportedSiteType::Articles),
17 ..Default::default()
18 },
19 };
20
21 let created: CreateTenant200Response = create_tenant(&configuration, params).await?;
22 Ok(())
23}
24

excluir_tenant Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de delete_tenant
Copy Copy
1
2async fn example_delete_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: DeleteTenantParams = DeleteTenantParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article-12345".to_string(),
6 sure: Some("confirm".to_string()),
7 };
8 let response: FlagCommentPublic200Response = delete_tenant(&configuration, params).await?;
9 Ok(response)
10}
11

obter_tenant Internal Link

Parâmetros

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

Resposta

Retorna: GetTenant200Response

Exemplo

Exemplo de get_tenant
Copy Copy
1
2async fn run_get_tenant() -> Result<(), Error> {
3 let params: GetTenantParams = GetTenantParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 id: String::from("news/article"),
6 };
7 let include_metadata: Option<bool> = Some(true);
8 let tenant_response: GetTenant200Response = get_tenant(&configuration, params).await?;
9 Ok(())
10}
11

obter_tenants Internal Link

Parâmetros

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

Response

Retorna: GetTenants200Response

Exemplo

Exemplo de get_tenants
Copy Copy
1
2async fn run() -> Result<(), Error> {
3 let params: GetTenantsParams = GetTenantsParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 meta: Some(String::from("include=domains,settings")),
6 skip: Some(10.0),
7 };
8 let response: GetTenants200Response = get_tenants(&configuration, params).await?;
9 Ok(())
10}
11

atualizar_tenant Internal Link

Parâmetros

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

Resposta

Retorna: FlagCommentPublic200Response

Exemplo

Exemplo de update_tenant
Copy Copy
1
2async fn run_update_tenant() -> Result<FlagCommentPublic200Response, Error> {
3 let params: UpdateTenantParams = UpdateTenantParams {
4 tenant_id: "acme-corp-tenant".to_owned(),
5 id: "site-42".to_owned(),
6 update_tenant_body: models::UpdateTenantBody {
7 name: Some("Acme Corporation".to_string()),
8 default_site: Some("news/article".to_string()),
9 allowed_origins: Some(vec![
10 "https://www.acme.com".to_string(),
11 "https://blog.acme.com".to_string(),
12 ]),
13 invite_only: Some(false),
14 api_domain_configuration: Some(ApiDomainConfiguration {
15 domain: "comments.acme.com".to_string(),
16 secure: Some(true),
17 ..Default::default()
18 }),
19 ..Default::default()
20 },
21 };
22 let response: FlagCommentPublic200Response = update_tenant(&configuration, params).await?;
23 Ok(response)
24}
25

upload_imagem Internal Link


Enviar e redimensionar uma imagem

Parâmetros

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

Resposta

Retorna: UploadImageResponse


obter_progresso_insignia_usuario_por_id Internal Link

Parâmetros

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

Resposta

Retorna: GetUserBadgeProgressById200Response


obter_progresso_insignia_por_usuario_id Internal Link


Parâmetros

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

Resposta

Retorna: GetUserBadgeProgressById200Response


obter_lista_progresso_insignia_usuario Internal Link


Parâmetros

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

Resposta

Retorna: GetUserBadgeProgressList200Response


criar_insignia_usuario Internal Link


Parâmetros

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

Resposta

Retorna: CreateUserBadge200Response


excluir_insignia_usuario Internal Link

Parâmetros

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

Resposta

Retorna: UpdateUserBadge200Response


obter_insignia_usuario Internal Link


Parâmetros

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

Resposta

Retorna: GetUserBadge200Response


obter_insignias_usuario Internal Link

Parâmetros

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

Resposta

Retorna: GetUserBadges200Response


atualizar_insignia_usuario Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenant_id String Sim
id String Sim
update_user_badge_params models::UpdateUserBadgeParams Sim

Resposta

Retorna: UpdateUserBadge200Response


obter_contagem_notificacoes_usuario Internal Link

Parâmetros

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

Resposta

Retorna: GetUserNotificationCount200Response


obter_notificacoes_usuario Internal Link

Parâmetros

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

Resposta

Retorna: GetUserNotifications200Response


resetar_contagem_notificacoes_usuario Internal Link


Parâmetros

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

Resposta

Retorna: ResetUserNotifications200Response


resetar_notificacoes_usuario Internal Link

Parâmetros

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

Resposta

Retorna: ResetUserNotifications200Response


atualizar_status_inscricao_comentario_notificacao_usuario Internal Link

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

Parâmetros

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

Resposta

Retorna: UpdateUserNotificationStatus200Response

atualizar_status_inscricao_pagina_notificacao_usuario 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

Name Type Required Description
tenant_id String Sim
url_id String Sim
url String Sim
page_title String Sim
subscribed_or_unsubscribed String Sim
sso String Não

Resposta

Retorna: UpdateUserNotificationStatus200Response


atualizar_status_notificacao_usuario Internal Link

Parâmetros

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

Resposta

Retorna: UpdateUserNotificationStatus200Response


obter_status_presenca_usuario Internal Link


Parâmetros

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

Resposta

Retorna: GetUserPresenceStatuses200Response


buscar_usuarios Internal Link

Parâmetros

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

Resposta

Retorna: SearchUsers200Response


obter_usuario Internal Link

Parâmetros

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

Resposta

Retorna: GetUser200Response

Exemplo

Exemplo de get_user
Copy Copy
1
2async fn run_get_user() -> Result<(), Error> {
3 let maybe_id: Option<String> = Some("user-6412".to_owned());
4 let params: GetUserParams = GetUserParams {
5 tenant_id: "acme-corp-tenant".to_owned(),
6 id: maybe_id.unwrap(),
7 };
8 let user_response: GetUser200Response = get_user(&configuration, params).await?;
9 println!("{:#?}", user_response);
10 Ok(())
11}
12

criar_voto Internal Link

Parâmetros

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

Resposta

Retorna: VoteComment200Response

Exemplo

Exemplo de create_vote
Copy Copy
1
2async fn run_vote() -> Result<VoteComment200Response, Error> {
3 let params: CreateVoteParams = CreateVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 comment_id: "news/2026/01/12/local-election-12345".to_string(),
6 direction: "up".to_string(),
7 user_id: Some("user_9876".to_string()),
8 anon_user_id: None,
9 };
10 let response: VoteComment200Response = create_vote(&configuration, params).await?;
11 Ok(response)
12}
13

excluir_voto Internal Link

Parâmetros

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

Resposta

Retorna: DeleteCommentVote200Response

Exemplo

Exemplo de delete_vote
Copy Copy
1
2async fn run_delete_vote() -> Result<(), Error> {
3 let params: DeleteVoteParams = DeleteVoteParams {
4 tenant_id: "acme-corp-tenant".to_string(),
5 id: "news/article/67890/comment/12345".to_string(),
6 edit_key: Some("user-editkey-7f3b".to_string()),
7 };
8 let response: DeleteCommentVote200Response = delete_vote(&configuration, params).await?;
9 Ok(())
10}
11

obter_votos Internal Link

Parâmetros

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

Resposta

Retorna: GetVotes200Response

Exemplo

Exemplo de get_votes
Copy Copy
1
2async fn fetch_votes_example() -> Result<(), Error> {
3 let params: GetVotesParams = GetVotesParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/article/2026-01-12/housing-market"),
6 };
7 let votes: GetVotes200Response = get_votes(&configuration, params).await?;
8 let _ = votes;
9 Ok(())
10}
11

obter_votos_por_usuario Internal Link

Parâmetros

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

Resposta

Retorna: GetVotesForUser200Response

Exemplo

Exemplo de get_votes_for_user
Copy Copy
1
2async fn fetch_votes() -> Result<GetVotesForUser200Response, Error> {
3 let params = GetVotesForUserParams {
4 tenant_id: String::from("acme-corp-tenant"),
5 url_id: String::from("news/2026/01/12/breaking-tech"),
6 user_id: Some(String::from("user-78a3")),
7 anon_user_id: Some(String::from("anon-4f2b")),
8 };
9 let response: GetVotesForUser200Response = get_votes_for_user(&configuration, params).await?;
10 Ok(response)
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.