FastComments.com

FastComments Nim SDK


Este é o SDK oficial em Nim para o FastComments.

SDK oficial em Nim para a API do FastComments

Repositório

Ver no GitHub


Requisitos Internal Link


  • Nim >= 1.6.0
  • nimcrypto >= 0.5.4

Instalação Internal Link

Usando Nimble

nimble install fastcomments

Compilando a partir do código-fonte

nimble build

Conteúdo da Biblioteca

Esta biblioteca contém o cliente de API gerado e as utilidades SSO para facilitar o trabalho com a API.

APIs Públicas vs APIs Seguras

Para o cliente de API, existem dois módulos de API, api_default e api_public. O api_default contém métodos que requerem sua chave de API, e o api_public contém chamadas de API que podem ser feitas diretamente de um navegador/dispositivo móvel/etc sem autenticação.

Início rápido Internal Link

Usando APIs autenticadas (DefaultAPI)

Importante: Endpoints autenticados exigem que sua chave de API seja definida no cabeçalho x-api-key.

import httpclient
import fastcomments
import fastcomments/apis/api_default
import fastcomments/models/model_comment_data

let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"

# Faça chamadas de API autenticadas
let (response, httpResponse) = getComments(
  httpClient = client,
  tenantId = "your-tenant-id",
  page = 0,
  limit = 0,
  skip = 0,
  asTree = false,
  skipChildren = 0,
  limitChildren = 0,
  maxTreeDepth = 0,
  urlId = "your-url-id",
  userId = "",
  anonUserId = "",
  contextUserId = "",
  hashTag = "",
  parentId = "",
  direction = SortDirections.DESC
)

if response.isSome:
  let resp = response.get()
  if resp.comments.isSome:
    echo "Found ", resp.comments.get().len, " comments"

Usando APIs públicas (PublicAPI)

Endpoints públicos não requerem autenticação:

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Faça chamadas de API públicas
let (response, httpResponse) = getCommentsPublic(
  httpClient = client,
  tenantId = "your-tenant-id",
  urlId = "your-url-id",
  page = 0,
  direction = SortDirections.DESC,
  sso = "",
  skip = 0,
  skipChildren = 0,
  limit = 0,
  limitChildren = 0,
  countChildren = false,
  fetchPageForCommentId = "",
  includeConfig = false,
  countAll = false,
  includei10n = false,
  locale = "",
  modules = "",
  isCrawler = false,
  includeNotificationCount = false,
  asTree = false,
  maxTreeDepth = 0,
  useFullTranslationIds = false,
  parentId = "",
  searchText = "",
  hashTags = @[],
  userId = "",
  customConfigStr = "",
  afterCommentId = "",
  beforeCommentId = ""
)

if response.isSome:
  let resp = response.get()
  if resp.comments.isSome:
    echo "Found ", resp.comments.get().len, " comments"

Problemas Comuns

  1. 401 authentication error: Certifique-se de definir o cabeçalho x-api-key no seu HttpClient antes de fazer solicitações do DefaultAPI: client.headers["x-api-key"] = "your-api-key"
  2. Wrong API class: Use api_default para solicitações autenticadas do lado do servidor, api_public para solicitações do lado do cliente/públicas.

Fazendo chamadas de API Internal Link

Todos os métodos da API neste SDK retornam tuplas de (Option[ResponseType], Response). O primeiro elemento contém a resposta analisada se for bem-sucedida, e o segundo elemento é a resposta HTTP bruta.

Exemplo: Recuperando Comentários

import httpclient
import options
import fastcomments
import fastcomments/apis/api_default

let client = newHttpClient()
client.headers["x-api-key"] = "your-api-key"

let (response, httpResponse) = getComments(
  httpClient = client,
  tenantId = "your-tenant-id",
  page = 0,
  limit = 0,
  skip = 0,
  asTree = false,
  skipChildren = 0,
  limitChildren = 0,
  maxTreeDepth = 0,
  urlId = "your-url-id",
  userId = "",
  anonUserId = "",
  contextUserId = "",
  hashTag = "",
  parentId = "",
  direction = SortDirections.DESC
)

if httpResponse.code == Http200:
  if response.isSome:
    let resp = response.get()
    if resp.comments.isSome:
      echo "Found ", resp.comments.get().len, " comments"

Observações Internal Link

IDs de Broadcast

Você verá que deve passar um broadcastId em algumas chamadas de API. Quando receber eventos, você receberá esse ID de volta, então saberá ignorar o evento se planeja aplicar alterações de forma otimista no cliente (o que você provavelmente vai querer 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.

SSO (Login Único)

Para exemplos de SSO, veja abaixo.

Uso de SSO Internal Link


SSO Simples

import fastcomments/sso

let user = newSimpleSSOUserData(
  userId = "user-123",
  email = "user@example.com",
  avatar = "https://example.com/avatar.jpg"
)
let sso = newSimple(simpleUserData = user)
let token = sso.createToken()

echo "SSO Token: ", token

SSO Seguro

import fastcomments/sso

let user = newSecureSSOUserData(
  userId = "user-123",
  email = "user@example.com",
  username = "johndoe",
  avatar = "https://example.com/avatar.jpg"
)

let apiKey = "your-api-key"
let sso = newSecure(apiKey = apiKey, secureUserData = user)
let token = sso.createToken()

echo "Secure SSO Token: ", token

Agregação Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
aggregationRequest AggregationRequest Não
parentTenantId string Não
includeStats bool Não

Resposta

Retorna: Option[AggregationResponse]

Exemplo

Exemplo de aggregate
Copy Copy
1
2let (response, httpResponse) = client.aggregate(
3 tenantId = "my-tenant-123",
4 aggregationRequest = AggregationRequest(),
5 parentTenantId = "",
6 includeStats = false
7)
8if response.isSome:
9 let aggregation = response.get()
10 echo $aggregation
11

Obter logs de auditoria Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
limit float64 Não
skip float64 Não
order SORTDIR Não
after float64 Não
before float64 Não

Resposta

Retorna: Option[GetAuditLogs_200_response]

Exemplo

Exemplo de getAuditLogs
Copy Copy
1
2let (response, httpResponse) = client.getAuditLogs(
3 tenantId = "my-tenant-123",
4 limit = 100.0,
5 skip = 0.0,
6 order = SORTDIR(0),
7 after = 0.0,
8 before = 0.0
9)
10if response.isSome:
11 let audit = response.get()
12 echo audit
13

Bloquear a partir de comentário público Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
publicBlockFromCommentParams PublicBlockFromCommentParams Não
sso string Não

Resposta

Retorna: Option[BlockFromCommentPublic_200_response]

Exemplo

Exemplo de blockFromCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.blockFromCommentPublic(
3 tenantId = "my-tenant-123",
4 commentId = "comment-987654",
5 publicBlockFromCommentParams = PublicBlockFromCommentParams(),
6 sso = "sso-token-7a9b3c"
7)
8if response.isSome:
9 let blockResult = response.get()
10 discard blockResult
11

Desbloquear comentário público Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
publicBlockFromCommentParams PublicBlockFromCommentParams Não
sso string Não

Resposta

Retorna: Option[UnBlockCommentPublic_200_response]

Exemplo

Exemplo de unBlockCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.unBlockCommentPublic(
3 tenantId = "news-site-456",
4 commentId = "comment-abc123",
5 publicBlockFromCommentParams = PublicBlockFromCommentParams{},
6 sso = ""
7)
8if response.isSome:
9 let unblocked = response.get()
10 discard unblocked
11else:
12 discard httpResponse
13

Verificar comentários bloqueados Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentIds string Não
sso string Não

Resposta

Retorna: Option[CheckedCommentsForBlocked_200_response]

Exemplo

Exemplo de checkedCommentsForBlocked
Copy Copy
1
2let (response, httpResponse) = client.checkedCommentsForBlocked(
3 tenantId = "my-tenant-123",
4 commentIds = "",
5 sso = ""
6)
7if response.isSome:
8 let checked = response.get()
9 echo "Checked comments received for tenant my-tenant-123"
10 echo checked
11else:
12 echo "No checked comments (HTTP status: ", $httpResponse.statusCode, ")"
13

Bloquear usuário a partir do comentário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
blockFromCommentParams BlockFromCommentParams Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[BlockFromCommentPublic_200_response]

Exemplo

Exemplo de blockUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.blockUserFromComment(
3 tenantId = "my-tenant-123",
4 id = "comment-98765",
5 blockFromCommentParams = BlockFromCommentParams(),
6 userId = "user-456",
7 anonUserId = ""
8)
9if response.isSome:
10 let blocked = response.get()
11 echo "Block confirmed for tenant:", " my-tenant-123"
12

Criar comentário público Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
urlId string Sim
broadcastId string Não
commentData CommentData Não
sessionId string Não
sso string Não

Resposta

Retorna: Option[CreateCommentPublic_200_response]

Exemplo

Exemplo de createCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.createCommentPublic(
3 tenantId = "my-tenant-123",
4 urlId = "news/breaking-elections-2025",
5 broadcastId = "broadcast-456",
6 commentData = CommentData(
7 content = "Great reporting — thanks for the clear analysis!",
8 authorName = "Jane Doe",
9 authorEmail = "jane.doe@example.com",
10 isVerified = false,
11 tags = @["politics", "analysis"]
12 ),
13 sessionId = "session-789",
14 sso = "sso-token-abc123"
15)
16
17if response.isSome:
18 let created = response.get()
19 echo "Created comment:", created
20else:
21 echo "No comment returned, HTTP status: ", httpResponse.status`
22

Excluir comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
contextUserId string Não
isLive bool Não

Resposta

Retorna: Option[DeleteComment_200_response]

Exemplo

Exemplo de deleteComment
Copy Copy
1
2let (response, httpResponse) = client.deleteComment(tenantId = "my-tenant-123", id = "cmt-456abc", contextUserId = "user-789", isLive = true)
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6 echo "Delete succeeded"
7else:
8 echo "No delete response"
9

Excluir comentário público Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
commentId string Sim
broadcastId string Não
editKey string Não
sso string Não

Resposta

Retorna: Option[DeleteCommentPublic_200_response]

Exemplo

Exemplo de deleteCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentPublic(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654",
5 broadcastId = "",
6 editKey = "",
7 sso = ""
8)
9if response.isSome:
10 let deleted = response.get()
11 echo "Delete succeeded"
12 echo "HTTP status: ", httpResponse.status
13else:
14 echo "Delete failed, HTTP status: ", httpResponse.status
15

Excluir voto de comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
voteId string Não
urlId string Sim
broadcastId string Não
editKey string Não
sso string Não

Resposta

Retorna: Option[DeleteCommentVote_200_response]

Exemplo

Exemplo de deleteCommentVote
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentVote(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-789",
5 voteId = "",
6 urlId = "news/breaking-story-2025",
7 broadcastId = "",
8 editKey = "",
9 sso = ""
10)
11if response.isSome:
12 let deleted = response.get()
13 discard deleted
14 echo "Vote removed for comment cmt-789"
15else:
16 echo "No response body returned"
17

Denunciar comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[FlagComment_200_response]

Exemplo

Exemplo de flagComment
Copy Copy
1
2let (response, httpResponse) = client.flagComment(tenantId = "my-tenant-123", id = "cmt-98765", userId = "user-8342", anonUserId = "")
3if response.isSome:
4 let flagged = response.get()
5 echo "Flagged comment response: ", flagged
6else:
7 echo "Flag comment failed: ", httpResponse
8

Obter comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetComment_200_response]

Exemplo

Exemplo de getComment
Copy Copy
1
2let (response, httpResponse) = client.getComment(tenantId = "my-tenant-123", id = "cmt-987654321")
3if response.isSome:
4 let comment = response.get()
5 echo comment
6

Obter comentários Internal Link


Parâmetros

Name Tipo Obrigatório Descrição
tenantId string Sim
page int Não
limit int Não
skip int Não
asTree bool Não
skipChildren int Não
limitChildren int Não
maxTreeDepth int Não
urlId string Sim
userId string Não
anonUserId string Não
contextUserId string Não
hashTag string Não
parentId string Não
direction SortDirections Não

Resposta

Retorna: Option[GetComments_200_response]

Exemplo

Exemplo de getComments
Copy Copy
1
2let (response, httpResponse) = client.getComments(
3 tenantId = "my-tenant-123",
4 page = 1,
5 limit = 20,
6 skip = 0,
7 asTree = false,
8 skipChildren = 0,
9 limitChildren = 0,
10 maxTreeDepth = 0,
11 urlId = "news/2025-election-night",
12 userId = "",
13 anonUserId = "",
14 contextUserId = "",
15 hashTag = "",
16 parentId = "",
17 direction = SortDirections.Desc
18)
19
20if response.isSome:
21 let comments = response.get()
22 echo "Status: ", httpResponse.status, " Comments: ", comments
23

Obter comentários públicos Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
urlId string Sim
page int Não
direction SortDirections Não
sso string Não
skip int Não
skipChildren int Não
limit int Não
limitChildren int Não
countChildren bool Não
fetchPageForCommentId string Não
includeConfig bool Não
countAll bool Não
includei10n bool Não
locale string Não
modules string Não
isCrawler bool Não
includeNotificationCount bool Não
asTree bool Não
maxTreeDepth int Não
useFullTranslationIds bool Não
parentId string Não
searchText string Não
hashTags seq[string] Não
userId string Não
customConfigStr string Não
afterCommentId string Não
beforeCommentId string Não

Resposta

Retorna: Option[GetCommentsPublic_200_response]

Exemplo

Exemplo de getCommentsPublic
Copy Copy
1
2let (response, httpResponse) = client.getCommentsPublic(
3 tenantId = "my-tenant-123",
4 urlId = "news/world/article-2025",
5 page = 1,
6 direction = SortDirections(0),
7 sso = "sso_token_abc",
8 skip = 0,
9 skipChildren = 0,
10 limit = 20,
11 limitChildren = 5,
12 countChildren = false,
13 fetchPageForCommentId = "cmt_789",
14 includeConfig = true,
15 countAll = false,
16 includei10n = true,
17 locale = "en-US",
18 modules = "reactions,moderation",
19 isCrawler = false,
20 includeNotificationCount = true,
21 asTree = true,
22 maxTreeDepth = 3,
23 useFullTranslationIds = false,
24 parentId = "parent_123",
25 searchText = "openAI integration",
26 hashTags = @["ai", "technology"],
27 userId = "user_456",
28 customConfigStr = "{}",
29 afterCommentId = "cmt_100",
30 beforeCommentId = ""
31)
32
33if response.isSome:
34 let comments = response.get()
35 discard comments
36else:
37 discard httpResponse
38

Obter texto do comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
editKey string Não
sso string Não

Resposta

Retorna: Option[GetCommentText_200_response]

Exemplo

Exemplo de getCommentText
Copy Copy
1
2let (response, httpResponse) = client.getCommentText(tenantId = "my-tenant-123", commentId = "cmt-456789", editKey = "", sso = "")
3
4if response.isSome:
5 let comment = response.get()
6 echo "Comment text: ", $comment
7else:
8 echo "No comment returned"
9

Obter nomes de usuários que votaram em comentário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
commentId string Sim
dir int Não
sso string Não

Resposta

Retorna: Option[GetCommentVoteUserNames_200_response]

Exemplo

Exemplo de getCommentVoteUserNames
Copy Copy
1
2let (response, httpResponse) = client.getCommentVoteUserNames(tenantId = "my-tenant-123", commentId = "c_987654321", dir = 0, sso = "")
3if response.isSome:
4 let res = response.get()
5 for userName in res.userNames:
6 echo userName
7

Bloquear comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
broadcastId string Não
sso string Não

Resposta

Retorna: Option[LockComment_200_response]

Exemplo

Exemplo de lockComment
Copy Copy
1
2let (response, httpResponse) = client.lockComment(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-98765",
5 broadcastId = "",
6 sso = ""
7)
8if response.isSome:
9 let lockResp = response.get()
10 discard lockResp
11

Fixar comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
broadcastId string Não
sso string Não

Resposta

Retorna: Option[PinComment_200_response]

Exemplo

Exemplo de pinComment
Copy Copy
1
2let (response, httpResponse) = client.pinComment(tenantId = "my-tenant-123", commentId = "cmt-98765", broadcastId = "", sso = "")
3if response.isSome:
4 let pinned = response.get()
5 echo "Pinned comment response received"
6else:
7 echo "No pin response"
8

Salvar comentário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createCommentParams CreateCommentParams Não
isLive bool Não
doSpamCheck bool Não
sendEmails bool Não
populateNotifications bool Não

Resposta

Retorna: Option[SaveComment_200_response]

Exemplo

Exemplo de saveComment
Copy Copy
1
2let (response, httpResponse) = client.saveComment(
3 tenantId = "my-tenant-123",
4 createCommentParams = CreateCommentParams(
5 content = "This article was really helpful, thanks!",
6 urlId = "news/2025-11/ai-regulations",
7 authorName = "Jane Doe",
8 authorEmail = "jane.doe@example.com",
9 tags = @["policy", "analysis"]
10 ),
11 isLive = true,
12 doSpamCheck = true,
13 sendEmails = true,
14 populateNotifications = false
15)
16
17if response.isSome:
18 let saved = response.get()
19 discard saved
20

Salvar comentários em massa Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
createCommentParams seq[CreateCommentParams] Não
isLive bool Não
doSpamCheck bool Não
sendEmails bool Não
populateNotifications bool): (Option[seq[SaveComment_200_response]] Não
id string Não
unBlockFromCommentParams UnBlockFromCommentParams Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[UnBlockCommentPublic_200_response]

Exemplo

Exemplo de saveCommentsBulk
Copy Copy
1
2let (response, httpResponse) = client.saveCommentsBulk(
3 tenantId = "my-tenant-123",
4 createCommentParams = @[],
5 isLive = true,
6 doSpamCheck = true,
7 sendEmails = false,
8 populateNotifications = true,
9 id = "batch-20251122",
10 unBlockFromCommentParams = UnBlockFromCommentParams(),
11 userId = "user-456",
12 anonUserId = "anon-789"
13)
14if response.isSome:
15 let unblocked = response.get()
16 echo "Unblocked response received: ", unblocked
17else:
18 echo "No unblocked response, httpResponse: ", $httpResponse
19

Definir texto do comentário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
commentId string Sim
broadcastId string Não
commentTextUpdateRequest CommentTextUpdateRequest Não
editKey string Não
sso string Não

Resposta

Retorna: Option[SetCommentText_200_response]

Exemplo

Exemplo de setCommentText
Copy Copy
1
2let (response, httpResponse) = client.setCommentText(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-7890",
5 broadcastId = "broadcast-456",
6 commentTextUpdateRequest = CommentTextUpdateRequest(text = "Updated comment text to fix typos and add clarity."),
7 editKey = "edit-key-abc123",
8 sso = "sso-token-xyz"
9)
10
11if response.isSome:
12 let updated = response.get()
13

Desbloquear usuário a partir do comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
unBlockFromCommentParams UnBlockFromCommentParams Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[UnBlockCommentPublic_200_response]

Exemplo

Exemplo de unBlockUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.unBlockUserFromComment(
3 tenantId = "news-site-001",
4 id = "cmt-8fj3k9",
5 unBlockFromCommentParams = UnBlockFromCommentParams(),
6 userId = "user-98765",
7 anonUserId = ""
8)
9
10if response.isSome:
11 let unblocked = response.get()
12 discard unblocked
13

Remover denúncia do comentário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[FlagComment_200_response]

Exemplo

Exemplo de unFlagComment
Copy Copy
1
2let (response, httpResponse) = client.unFlagComment(
3 tenantId = "my-tenant-123",
4 id = "flag-789",
5 userId = "",
6 anonUserId = ""
7)
8
9if response.isSome:
10 let flagResponse = response.get()
11 echo "Comment unflagged successfully"
12

Desbloquear comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
broadcastId string Não
sso string Não

Resposta

Retorna: Option[LockComment_200_response]

Exemplo

Exemplo de unLockComment
Copy Copy
1
2let (response, httpResponse) = client.unLockComment(tenantId = "my-tenant-123", commentId = "cmt-7f9a3b2d", broadcastId = "", sso = "")
3if response.isSome:
4 let lockResult = response.get()
5 echo "Unlock response: ", $lockResult
6else:
7 echo "Unlock failed, HTTP response: ", $httpResponse
8

Desfixar comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
broadcastId string Não
sso string Não

Resposta

Retorna: Option[PinComment_200_response]

Exemplo

Exemplo de unPinComment
Copy Copy
1
2let (response, httpResponse) = client.unPinComment(tenantId = "my-tenant-123", commentId = "cmt-9f8b7a6", broadcastId = "", sso = "")
3if response.isSome:
4 let pinResp = response.get()
5 echo "Unpinned comment successfully"
6else:
7 echo "Failed to unpin comment; HTTP response: ", httpResponse
8

Atualizar comentário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updatableCommentParams UpdatableCommentParams Não
contextUserId string Não
doSpamCheck bool Não
isLive bool Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateComment
Copy Copy
1
2let updatableCommentParams = UpdatableCommentParams(content: "Fixed a typo in the second paragraph", tags: @["article-edit", "typo"], isApproved: true)
3let (response, httpResponse) = client.updateComment(
4 tenantId = "my-tenant-123",
5 id = "comment-456",
6 updatableCommentParams = updatableCommentParams,
7 contextUserId = "user-789",
8 doSpamCheck = true,
9 isLive = true
10)
11if response.isSome:
12 let flagResp = response.get()
13 discard flagResp
14

Votar em comentário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
urlId string Sim
broadcastId string Não
voteBodyParams VoteBodyParams Não
sessionId string Não
sso string Não

Resposta

Retorna: Option[VoteComment_200_response]

Exemplo

Exemplo de voteComment
Copy Copy
1
2let voteBody = VoteBodyParams()
3let (response, httpResponse) = client.voteComment(
4 tenantId = "my-tenant-123",
5 commentId = "cmt-456789",
6 urlId = "news/2025/fastcomments-integration",
7 broadcastId = "",
8 voteBodyParams = voteBody,
9 sessionId = "",
10 sso = ""
11)
12if response.isSome:
13 let voteResp = response.get()
14 echo "Vote recorded for comment cmt-456789"
15else:
16 echo "Failed to record vote"
17

Adicionar configuração de domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
addDomainConfigParams AddDomainConfigParams Não

Resposta

Retorna: Option[AddDomainConfig_200_response]

Exemplo

Exemplo de addDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.addDomainConfig(tenantId = "my-tenant-123", addDomainConfigParams = AddDomainConfigParams())
3if response.isSome:
4 let domainConfig = response.get()
5 discard domainConfig
6else:
7 discard httpResponse
8

Excluir configuração de domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
domain string Não

Resposta

Retorna: Option[DeleteDomainConfig_200_response]

Exemplo

Exemplo de deleteDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteDomainConfig(tenantId = "my-tenant-123", domain = "news.example.com")
3if response.isSome:
4 let result = response.get()
5 echo "Deleted domain config result: ", result
6else:
7 echo "No response body, HTTP status: ", $httpResponse.status
8

Obter configuração de domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
domain string Não

Resposta

Retorna: Option[GetDomainConfig_200_response]

Exemplo

Exemplo de getDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfig(tenantId = "my-tenant-123", domain = "news.example.com")
3if response.isSome:
4 let domainConfig = response.get()
5 echo "Loaded domain config for tenant my-tenant-123:", $domainConfig
6else:
7 echo "No domain config; HTTP status:", $httpResponse.status
8

Obter configurações de domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim

Resposta

Retorna: Option[GetDomainConfigs_200_response]

Exemplo

Exemplo de getDomainConfigs
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfigs(tenantId = "my-tenant-123")
3if response.isSome:
4 let domainConfigs = response.get()
5 echo "Domain configs received:"
6 echo domainConfigs
7else:
8 echo "Failed to retrieve domain configs."
9 echo httpResponse
10

Alterar configuração de domínio Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
domainToUpdate string Não
patchDomainConfigParams PatchDomainConfigParams Não

Resposta

Retorna: Option[GetDomainConfig_200_response]

Exemplo

Exemplo de patchDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.patchDomainConfig(
3 tenantId = "my-tenant-123",
4 domainToUpdate = "news/article-crowdsourcing",
5 patchDomainConfigParams = PatchDomainConfigParams(
6 allowedOrigins = @["https://www.news-site.com"],
7 moderated = true,
8 maxCommentLength = 1000
9 )
10)
11
12if response.isSome:
13 let domainConfig = response.get()
14 echo "Updated domain config received"
15else:
16 echo "No domain config returned"
17

Substituir configuração de domínio Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
domainToUpdate string Não
updateDomainConfigParams UpdateDomainConfigParams Não

Resposta

Retorna: Option[GetDomainConfig_200_response]

Exemplo

Exemplo de putDomainConfig
Copy Copy
1
2let updateParams = UpdateDomainConfigParams(
3 allowAnonymous = false,
4 moderationEnabled = true,
5 allowedOrigins = @["https://news.example.com"],
6 maxCommentLength = 2000
7)
8
9let (response, httpResponse) = client.putDomainConfig(
10 tenantId = "my-tenant-123",
11 domainToUpdate = "news/example-article",
12 updateDomainConfigParams = updateParams
13)
14
15if response.isSome:
16 let domainCfg = response.get()
17 discard domainCfg
18

Criar modelo de e-mail Internal Link

Parâmetros

Name Type Obrigatório Description
tenantId string Sim
createEmailTemplateBody CreateEmailTemplateBody Não

Resposta

Retorna: Option[CreateEmailTemplate_200_response]

Exemplo

Exemplo de createEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.createEmailTemplate(tenantId = "my-tenant-123", createEmailTemplateBody = CreateEmailTemplateBody(name = "Weekly Newsletter", subject = "Weekly updates from OurSite", fromName = "OurSite Team", fromEmail = "newsletter@oursite.com", bodyHtml = "<h1>Highlights</h1><p>Top stories this week...</p>", enabled = true, tags = @["newsletter", "weekly"]))
3if response.isSome:
4 let template = response.get()
5 discard template
6

Excluir modelo de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplate(tenantId = "my-tenant-123", id = "tmpl-456")
3if response.isSome:
4 let deleted = response.get()
5 echo deleted
6

Excluir erro de renderização do modelo de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
errorId string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteEmailTemplateRenderError
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplateRenderError(
3 tenantId = "my-tenant-123",
4 id = "welcome-email-template",
5 errorId = "render-error-2026"
6)
7if response.isSome:
8 let flagResp = response.get()
9 discard flagResp
10

Obter modelo de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetEmailTemplate_200_response]

Exemplo

Exemplo de getEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplate(tenantId = "my-tenant-123", id = "welcome-email-01")
3if response.isSome:
4 let template = response.get()
5 echo "Template ID: ", template.id
6 echo "Subject: ", template.subject
7 echo "Body: ", template.body
8

Obter definições de modelos de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim

Resposta

Retorna: Option[GetEmailTemplateDefinitions_200_response]

Exemplo

Exemplo de getEmailTemplateDefinitions
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateDefinitions(tenantId = "my-tenant-123")
3if response.isSome:
4 let defs = response.get()
5 echo "Received email template definitions for tenant my-tenant-123"
6else:
7 echo "No template definitions returned; HTTP status: ", httpResponse.status
8

Obter erros de renderização de modelo de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
skip float64 Não

Resposta

Retorna: Option[GetEmailTemplateRenderErrors_200_response]

Exemplo

Exemplo de getEmailTemplateRenderErrors
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateRenderErrors(tenantId = "my-tenant-123", id = "welcome-email-template-001", skip = 0.0)
3if response.isSome:
4 let result = response.get()
5 echo "Render errors:", result
6else:
7 echo "No render errors or request failed. HTTP status:", httpResponse.status
8

Obter modelos de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
skip float64 Não

Resposta

Retorna: Option[GetEmailTemplates_200_response]

Exemplo

Exemplo de getEmailTemplates
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplates(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let templates = response.get()
5 echo templates
6else:
7 echo "No templates returned"
8

Renderizar modelo de e-mail Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
renderEmailTemplateBody RenderEmailTemplateBody Não
locale string Não

Resposta

Retorna: Option[RenderEmailTemplate_200_response]

Exemplo

Exemplo de renderEmailTemplate
Copy Copy
1
2let renderBody = RenderEmailTemplateBody(templateId: "comment-notification", subject: "New comment on your article", variables: @["John Doe", "news/global-climate"])
3let (response, httpResponse) = client.renderEmailTemplate(tenantId = "my-tenant-123", renderEmailTemplateBody = renderBody, locale = "en-US")
4if response.isSome:
5 let rendered = response.get()
6 echo rendered
7

Atualizar modelo de e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateEmailTemplateBody UpdateEmailTemplateBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateEmailTemplate
Copy Copy
1
2let updateBody = UpdateEmailTemplateBody(
3 name = "Welcome Email",
4 subject = "Welcome to Example News",
5 html = "<p>Hi {name}, welcome to Example News.</p>",
6 isActive = true,
7 tags = @["onboarding", "welcome"]
8)
9
10let (response, httpResponse) = client.updateEmailTemplate(
11 tenantId = "my-tenant-123",
12 id = "welcome-template-2026",
13 updateEmailTemplateBody = updateBody
14)
15
16if response.isSome:
17 let template = response.get()
18 discard template
19

Obter registro de eventos Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim
userIdWS string Não
startTime int64 Não
endTime int64 Não

Resposta

Retorna: Option[GetEventLog_200_response]

Exemplo

Exemplo de getEventLog
Copy Copy
1
2let (response, httpResponse) = client.getEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/politics/election-2024",
5 userIdWS = "",
6 startTime = 0'i64,
7 endTime = 0'i64
8)
9if response.isSome:
10 let eventLog = response.get()
11 echo "Received event log for ", "my-tenant-123"
12else:
13 echo "No event log returned. HTTP status: ", $httpResponse.status
14

Obter registro de eventos global Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim
userIdWS string Não
startTime int64 Não
endTime int64 Não

Resposta

Retorna: Option[GetEventLog_200_response]

Exemplo

Exemplo de getGlobalEventLog
Copy Copy
1
2let (response, httpResponse) = client.getGlobalEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 userIdWS = "",
6 startTime = int64(0),
7 endTime = int64(0)
8)
9if response.isSome:
10 let eventLog = response.get()
11 echo eventLog
12else:
13 echo "No event log returned"
14

Criar publicação do feed Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createFeedPostParams CreateFeedPostParams Não
broadcastId string Não
isLive bool Não
doSpamCheck bool Não
skipDupCheck bool Não

Resposta

Retorna: Option[CreateFeedPost_200_response]

Exemplo

Exemplo de createFeedPost
Copy Copy
1
2let createParams = CreateFeedPostParams(
3 content = "We're rolling out realtime comments to all users!",
4 title = "Realtime Comments Rollout",
5 url = "news/realtime-comments-rollout-2025",
6 authorId = "prod-team",
7 tags = @["release", "comments"]
8)
9
10let (response, httpResponse) = client.createFeedPost(
11 tenantId = "my-tenant-123",
12 createFeedPostParams = createParams,
13 broadcastId = "broadcast-2025-11",
14 isLive = true,
15 doSpamCheck = true,
16 skipDupCheck = false
17)
18
19if response.isSome:
20 let created = response.get()
21 echo "Feed post created, id: ", $created.id
22else:
23 echo "Failed to create feed post, HTTP status: ", $httpResponse.statusCode
24

Criar publicação do feed pública Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
createFeedPostParams CreateFeedPostParams Não
broadcastId string Não
sso string Não

Resposta

Retorna: Option[CreateFeedPostPublic_200_response]

Exemplo

Exemplo de createFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.createFeedPostPublic(
3 tenantId = "my-tenant-123",
4 createFeedPostParams = CreateFeedPostParams(
5 title = "Product Launch Announcement",
6 content = "We just launched a new commenting feature to improve engagement.",
7 authorId = "team-product",
8 url = "news/product-launch",
9 tags = @["launch", "comments"],
10 isFeatured = false
11 ),
12 broadcastId = "broadcast-009",
13 sso = ""
14)
15if response.isSome:
16 let created = response.get()
17 discard created
18

Excluir publicação do feed pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
postId string Não
broadcastId string Não
sso string Não

Resposta

Retorna: Option[DeleteFeedPostPublic_200_response]

Exemplo

Exemplo de deleteFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "post-456",
5 broadcastId = "broadcast-789",
6 sso = ""
7)
8if response.isSome:
9 let result = response.get()
10

Obter publicações do feed Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
afterId string Não
limit int Não
tags seq[string] Não

Resposta

Retorna: Option[GetFeedPosts_200_response]

Exemplo

Exemplo de getFeedPosts
Copy Copy
1
2let (response, httpResponse) = client.getFeedPosts(tenantId = "my-tenant-123", afterId = "post_abc123", limit = 20, tags = @["news", "sports"])
3if response.isSome:
4 let feed = response.get()
5 echo "Feed posts retrieved for tenant my-tenant-123"
6else:
7 echo "No feed posts returned, HTTP status: ", $httpResponse.status
8

Obter publicações do feed públicas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
afterId string Não
limit int Não
tags seq[string] Não
sso string Não
isCrawler bool Não
includeUserInfo bool Não

Resposta

Retorna: Option[GetFeedPostsPublic_200_response]

Exemplo

Exemplo de getFeedPostsPublic
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsPublic(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 limit = 0,
6 tags = @[],
7 sso = "",
8 isCrawler = false,
9 includeUserInfo = false
10)
11
12if response.isSome:
13 let feed = response.get()
14 echo feed
15

Obter estatísticas de publicações do feed Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
postIds seq[string] Não
sso string Não

Resposta

Retorna: Option[GetFeedPostsStats_200_response]

Exemplo

Exemplo de getFeedPostsStats
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsStats(
3 tenantId = "my-tenant-123",
4 postIds = @["news/article-2025-11-22", "opinion/market-trends-452"],
5 sso = ""
6)
7
8if response.isSome:
9 let stats = response.get()
10 discard stats
11

Obter reações de usuário públicas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
postIds seq[string] Não
sso string Não

Resposta

Retorna: Option[GetUserReactsPublic_200_response]

Exemplo

Exemplo de getUserReactsPublic
Copy Copy
1
2let (response, httpResponse) = client.getUserReactsPublic(tenantId = "my-tenant-123", postIds = @[], sso = "")
3if response.isSome:
4 let reacts = response.get()
5 discard reacts
6

Reagir à publicação do feed pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
postId string Não
reactBodyParams ReactBodyParams Não
isUndo bool Não
broadcastId string Não
sso string Não

Resposta

Retorna: Option[ReactFeedPostPublic_200_response]

Exemplo

Exemplo reactFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.reactFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "news/article-title",
5 reactBodyParams = ReactBodyParams(),
6 isUndo = false,
7 broadcastId = "broadcast-456",
8 sso = ""
9)
10if response.isSome:
11 let result = response.get()
12 echo "Reaction result: ", result
13else:
14 echo "Reaction failed, HTTP response: ", httpResponse
15

Atualizar publicação do feed Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
feedPost FeedPost Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateFeedPost
Copy Copy
1
2let feedPost = FeedPost(
3 title: "Local Election Results",
4 content: "Updated vote counts across precincts",
5 tags: @["politics", "local"],
6 authorId: "journalist-32",
7 isPublished: true,
8 views: 124
9)
10
11let (response, httpResponse) = client.updateFeedPost(tenantId = "my-tenant-123", id = "post-456", feedPost = feedPost)
12
13if response.isSome:
14 let flagResp = response.get()
15 discard flagResp
16

Atualizar publicação do feed pública Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
postId string Não
updateFeedPostParams UpdateFeedPostParams Não
broadcastId string Não
sso string Não

Resposta

Retorna: Option[CreateFeedPostPublic_200_response]

Exemplo

Exemplo de updateFeedPostPublic
Copy Copy
1
2var updateParams: UpdateFeedPostParams = UpdateFeedPostParams(
3 title = "Breaking: Service Update",
4 content = "We improved feed performance and UX for all users.",
5 tags = @["performance", "release"],
6 isPublic = true
7)
8
9let (response, httpResponse) = client.updateFeedPostPublic(
10 tenantId = "my-tenant-123",
11 postId = "post-456",
12 updateFeedPostParams = updateParams,
13 broadcastId = "broadcast-789",
14 sso = "sso-token-abc123"
15)
16
17if response.isSome:
18 let post = response.get()
19 echo "Updated post title: ", post.title
20 echo "HTTP status: ", httpResponse.status
21

Denunciar comentário público Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
isFlagged bool Não
sso string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de flagCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.flagCommentPublic(
3 tenantId = "my-tenant-123",
4 commentId = "comment-98765",
5 isFlagged = false,
6 sso = ""
7)
8if response.isSome:
9 let flagResult = response.get()
10 discard flagResult
11

Adicionar hashtag Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createHashTagBody CreateHashTagBody Não

Resposta

Retorna: Option[AddHashTag_200_response]

Exemplo

Exemplo de addHashTag
Copy Copy
1
2let createBody = CreateHashTagBody(
3 name = "sports",
4 description = "Articles and discussions about sports",
5 aliases = @["sport", "athletics"],
6 isActive = true
7)
8
9let (response, httpResponse) = client.addHashTag(tenantId = "my-tenant-123", createHashTagBody = createBody)
10
11if response.isSome:
12 let added = response.get()
13 echo "HashTag added successfully"
14else:
15 echo "Failed to add HashTag"
16

Adicionar hashtags em massa Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
bulkCreateHashTagsBody BulkCreateHashTagsBody Não

Resposta

Retorna: Option[AddHashTagsBulk_200_response]

Exemplo

Exemplo de addHashTagsBulk
Copy Copy
1
2let bulkBody = BulkCreateHashTagsBody(
3 tags = @["breaking", "world-news", "economy"],
4 createdBy = "editor@dailynews.com",
5 replaceExisting = false
6)
7let (response, httpResponse) = client.addHashTagsBulk(tenantId = "newsroom-tenant-42", bulkCreateHashTagsBody = bulkBody)
8if response.isSome:
9 let created = response.get()
10 echo created
11else:
12 echo "AddHashTagsBulk failed:", httpResponse
13

Excluir hashtag Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tag string Não
tenantId string Sim
deleteHashTagRequest DeleteHashTagRequest Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteHashTag
Copy Copy
1
2let (response, httpResponse) = client.deleteHashTag(tag = "breaking-news", tenantId = "my-tenant-123", deleteHashTagRequest = DeleteHashTagRequest())
3if response.isSome:
4 let result = response.get()
5 discard result
6

Obter hashtags Internal Link


Parâmetros

Name Type Required Description
tenantId string Sim
page float64 Não

Response

Retorna: Option[GetHashTags_200_response]

Exemplo

Exemplo de getHashTags
Copy Copy
1
2let (response, httpResponse) = client.getHashTags(tenantId = "my-tenant-123", page = 1.0)
3if response.isSome:
4 let tags = response.get()
5 for t in tags:
6 echo t
7else:
8 echo "no hashtags found"
9

Alterar hashtag Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tag string Não
tenantId string Sim
updateHashTagBody UpdateHashTagBody Não

Resposta

Retorna: Option[PatchHashTag_200_response]

Exemplo

Exemplo de patchHashTag
Copy Copy
1
2let (response, httpResponse) = client.patchHashTag(tag = "politics", tenantId = "my-tenant-123", updateHashTagBody = UpdateHashTagBody())
3
4if response.isSome:
5 let updated = response.get()
6 echo "Hashtag updated successfully"
7else:
8 echo "Failed to update hashtag, status:", httpResponse.status
9

Criar moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createModeratorBody CreateModeratorBody Não

Resposta

Retorna: Option[CreateModerator_200_response]

Exemplo

Exemplo de createModerator
Copy Copy
1
2let createBody = CreateModeratorBody(
3 email = "moderator@news-site.com",
4 displayName = "News Moderator",
5 permissions = @["approve_comments", "delete_comments"],
6 isSuperAdmin = false
7)
8
9let (response, httpResponse) = client.createModerator(tenantId = "my-tenant-123", createModeratorBody = createBody)
10
11if response.isSome:
12 let moderator = response.get()
13 echo "Created moderator: ", $moderator
14

Excluir moderador Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
sendEmail string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteModerator
Copy Copy
1
2let (response, httpResponse) = client.deleteModerator(tenantId = "my-tenant-123", id = "moderator-456", sendEmail = "false")
3if response.isSome:
4 let flagResp = response.get()
5 echo "Moderator deletion response: ", $flagResp
6else:
7 echo "No response body; HTTP status: ", $httpResponse.status
8

Obter moderador Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetModerator_200_response]

Exemplo

Exemplo de getModerator
Copy Copy
1
2let (response, httpResponse) = client.getModerator(tenantId = "my-tenant-123", id = "mod-98765")
3if response.isSome:
4 let moderator = response.get()
5 discard moderator
6

Obter moderadores Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
skip float64 Não

Resposta

Retorna: Option[GetModerators_200_response]

Exemplo

Exemplo de getModerators
Copy Copy
1
2let (response, httpResponse) = client.getModerators(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let moderators = response.get()
5 echo "Moderators fetched successfully"
6 echo moderators
7

Atualizar moderador Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateModeratorBody UpdateModeratorBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateModerator
Copy Copy
1
2let updateBody = UpdateModeratorBody(
3 name: "Alicia Gomez",
4 email: "alicia.gomez@dailynews.com",
5 active: true,
6 roles: @["moderator"]
7)
8
9let (response, httpResponse) = client.updateModerator(tenantId = "my-tenant-123", id = "moderator-789", updateModeratorBody = updateBody)
10
11if response.isSome:
12 let updated = response.get()
13 echo "Moderator updated:", updated
14

Excluir contagem de notificações Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.deleteNotificationCount(tenantId = "my-tenant-123", id = "notif-456")
3if response.isSome:
4 let deleted = response.get()
5 echo "Deleted notification count:", deleted
6else:
7 echo "No response body; HTTP response:", httpResponse
8

Obter contagem de notificações em cache Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetCachedNotificationCount_200_response]

Exemplo

Exemplo de getCachedNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getCachedNotificationCount(tenantId = "my-tenant-123", id = "notif-thread-2026")
3if response.isSome:
4 let cached = response.get()
5 echo "Cached notification count: ", $cached
6

Obter contagem de notificações Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
userId string Não
urlId string Sim
fromCommentId string Não
viewed bool Não

Resposta

Retorna: Option[GetNotificationCount_200_response]

Exemplo

Exemplo de getNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getNotificationCount(
3 tenantId = "acme-corp-tenant-12",
4 userId = "user-84",
5 urlId = "news/2026/market-update",
6 fromCommentId = "cmt-20251234",
7 viewed = false
8)
9
10if response.isSome:
11 let notificationData = response.get()
12 echo "Received notification data"
13else:
14 echo "No notification data"
15

Obter notificações Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
userId string Não
urlId string Sim
fromCommentId string Não
viewed bool Não
skip float64 Não

Resposta

Retorna: Option[GetNotifications_200_response]

Exemplo

Exemplo de getNotifications
Copy Copy
1
2let (response, httpResponse) = client.getNotifications(
3 tenantId = "fastcomments-tenant-42",
4 userId = "",
5 urlId = "news/latest-tech-innovations",
6 fromCommentId = "",
7 viewed = false,
8 skip = 0.0
9)
10
11if response.isSome:
12 let notifications = response.get()
13 echo "Received notifications: ", notifications
14else:
15 echo "No notifications, response: ", httpResponse
16

Atualizar notificação Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateNotificationBody UpdateNotificationBody Não
userId string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateNotification
Copy Copy
1
2let (response, httpResponse) = client.updateNotification(tenantId = "my-tenant-123",
3 id = "notif-456",
4 updateNotificationBody = UpdateNotificationBody(),
5 userId = "user-789")
6if response.isSome:
7 let updated = response.get()
8 echo "Updated notification id: ", $updated
9

Adicionar página Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createAPIPageData CreateAPIPageData Não

Resposta

Retorna: Option[AddPageAPIResponse]

Exemplo

Exemplo de addPage
Copy Copy
1
2var createData: CreateAPIPageData
3createData.url = "news/nim-4-release"
4createData.title = "Nim 4 Release Coverage"
5createData.path = "/news/nim-4-release"
6createData.isEnabled = true
7createData.tags = @["nim", "release"]
8createData.description = "Coverage of Nim 4 release"
9
10let (response, httpResponse) = client.addPage(tenantId = "my-tenant-123", createAPIPageData = createData)
11
12if response.isSome:
13 let pageResp = response.get()
14 echo pageResp
15

Excluir página Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[DeletePageAPIResponse]

Exemplo

Exemplo de deletePage
Copy Copy
1
2let (response, httpResponse) = client.deletePage(tenantId = "site-tenant-456", id = "news/winter-updates-2025")
3if response.isSome:
4 let deleted = response.get()
5 echo "DeletePageAPIResponse:", deleted
6else:
7 echo "Delete failed, HTTP response:", httpResponse
8

Obter página por URL/ID Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim

Resposta

Retorna: Option[GetPageByURLIdAPIResponse]

Exemplo

Exemplo de getPageByURLId
Copy Copy
1
2let (response, httpResponse) = client.getPageByURLId(tenantId = "my-tenant-123", urlId = "news/article-title")
3if response.isSome:
4 let page = response.get()
5 echo "Page ID: ", page.id
6 echo "Title: ", page.title
7 echo "URL: ", page.url
8 echo "Published: ", $page.published
9 echo "Tags: ", $page.tags
10else:
11 echo "No page found. HTTP status: ", httpResponse.statusCode
12

Obter páginas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim

Resposta

Retorna: Option[GetPagesAPIResponse]

Exemplo

Exemplo de getPages
Copy Copy
1
2let (response, httpResponse) = client.getPages(tenantId = "news-site-456")
3if response.isSome:
4 let pages = response.get()
5 echo "Received pages response: ", pages
6else:
7 echo "No pages returned. HTTP response: ", httpResponse
8

Alterar página Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateAPIPageData UpdateAPIPageData Não

Resposta

Retorna: Option[PatchPageAPIResponse]

Exemplo

Exemplo de patchPage
Copy Copy
1
2let updateData = UpdateAPIPageData(
3 title = "Breaking: Major Event Update",
4 urlId = "news/major-event-update",
5 visible = true,
6 tags = @["breaking", "headline"],
7 sortOrder = 5
8)
9
10let (response, httpResponse) = client.patchPage(
11 tenantId = "my-tenant-123",
12 id = "news/major-event-update",
13 updateAPIPageData = updateData
14)
15
16if response.isSome:
17 let page = response.get()
18 discard page
19

Excluir evento de webhook pendente Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deletePendingWebhookEvent
Copy Copy
1
2let (response, httpResponse) = client.deletePendingWebhookEvent(tenantId = "my-tenant-123", id = "wh_evt_6f1e3b2a")
3if response.isSome:
4 let flagResp = response.get()
5 discard flagResp
6

Obter contagem de eventos de webhook pendentes Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
commentId string Sim
externalId string Não
eventType string Não
domain string Não
attemptCountGT float64 Não

Resposta

Retorna: Option[GetPendingWebhookEventCount_200_response]

Exemplo

Exemplo de getPendingWebhookEventCount
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEventCount(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-4567",
5 externalId = "",
6 eventType = "",
7 domain = "",
8 attemptCountGT = 0.0
9)
10if response.isSome:
11 let pending = response.get()
12 echo "Received pending webhook event count response: ", $pending
13else:
14 echo "No pending webhook event count returned, HTTP response: ", $httpResponse
15

Obter eventos de webhook pendentes Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
externalId string Não
eventType string Não
domain string Não
attemptCountGT float64 Não
skip float64 Não

Resposta

Retorna: Option[GetPendingWebhookEvents_200_response]

Exemplo

Exemplo de getPendingWebhookEvents
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEvents(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456789",
5 externalId = "",
6 eventType = "",
7 domain = "",
8 attemptCountGT = 0.0,
9 skip = 0.0
10)
11if response.isSome:
12 let pending = response.get()
13 discard pending
14 echo "Received pending webhook events"
15else:
16 echo "No pending webhook events"
17

Criar configuração de pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createQuestionConfigBody CreateQuestionConfigBody Não

Resposta

Retorna: Option[CreateQuestionConfig_200_response]

Exemplo

Exemplo de createQuestionConfig
Copy Copy
1
2let body = CreateQuestionConfigBody(
3 key = "recommendation",
4 question = "Would you recommend this article to a friend?",
5 required = false,
6 inputType = "radio",
7 options = @["Yes", "No", "Maybe"]
8)
9
10let (response, httpResponse) = client.createQuestionConfig(tenantId = "my-tenant-123", createQuestionConfigBody = body)
11
12if response.isSome:
13 let config = response.get()
14 discard config
15

Excluir configuração de pergunta Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo deleteQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteQuestionConfig(tenantId = "my-tenant-123", id = "qcfg-456")
3if response.isSome:
4 let respVal = response.get()
5 echo "Delete succeeded for tenant my-tenant-123"
6else:
7 echo "Delete returned no data (status: ", $httpResponse.status, ")"
8

Obter configuração de pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetQuestionConfig_200_response]

Exemplo

Exemplo de getQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfig(tenantId = "my-tenant-123", id = "qcfg-98765")
3if response.isSome:
4 let config = response.get()
5 echo "Received question config for tenant:", " my-tenant-123"
6

Obter configurações de perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
skip float64 Não

Resposta

Retorna: Option[GetQuestionConfigs_200_response]

Exemplo

Exemplo de getQuestionConfigs
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfigs(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let configs = response.get()
5 discard configs
6

Atualizar configuração de pergunta Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
updateQuestionConfigBody UpdateQuestionConfigBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionConfig(
3 tenantId = "my-tenant-123",
4 id = "q-config-456",
5 updateQuestionConfigBody = UpdateQuestionConfigBody()
6)
7if response.isSome:
8 let updated = response.get()
9 discard updated
10 echo "Question config updated"
11else:
12 echo "Update did not return a result"
13

Criar resultado de pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createQuestionResultBody CreateQuestionResultBody Não

Resposta

Retorna: Option[CreateQuestionResult_200_response]

Exemplo

Exemplo de createQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.createQuestionResult(tenantId = "my-tenant-123",
3 createQuestionResultBody = CreateQuestionResultBody(questionId: "q-456",
4 userId: "user-789",
5 correct: true,
6 score: 9,
7 answers: @["B", "D"]))
8if response.isSome:
9 let result = response.get()
10 echo result
11

Excluir resultado de pergunta Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.deleteQuestionResult(tenantId = "my-tenant-123", id = "question-result-789")
3if response.isSome:
4 let result = response.get()
5 echo "Deleted question result:", result
6else:
7 echo "No result returned, HTTP status:", $httpResponse.status
8

Obter resultado de pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetQuestionResult_200_response]

Exemplo

Exemplo de getQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResult(tenantId = "my-tenant-123", id = "question-456")
3if response.isSome:
4 let result = response.get()
5 echo "Received question result:"
6 echo result
7else:
8 echo "No question result returned"
9

Obter resultados de perguntas Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
urlId string Sim
userId string Não
startDate string Não
questionId string Não
questionIds string Não
skip float64 Não

Resposta

Retorna: Option[GetQuestionResults_200_response]

Exemplo

Exemplo de getQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResults(
3 tenantId = "my-tenant-123",
4 urlId = "news/politics/election-2024",
5 userId = "user-9876",
6 startDate = "2024-01-01T00:00:00Z",
7 questionId = "q-user-satisfaction",
8 questionIds = "q-user-satisfaction,q-engagement",
9 skip = 0.0
10)
11
12if response.isSome:
13 let results = response.get()
14 echo "Got question results: ", $results
15else:
16 echo "No results, HTTP status: ", httpResponse.status
17

Atualizar resultado de pergunta Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateQuestionResultBody UpdateQuestionResultBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionResult(
3 tenantId = "my-tenant-123",
4 id = "question-456",
5 updateQuestionResultBody = UpdateQuestionResultBody(
6 result = "approved",
7 reviewerId = "moderator-42",
8 notes = "Valid question, no action required",
9 isSpam = false
10 )
11)
12if response.isSome:
13 let flagResponse = response.get()
14 discard flagResponse
15

Agregação de resultados de perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
questionId string Não
questionIds seq[string] Não
urlId string Sim
timeBucket AggregateTimeBucket Não
startDate string Não
forceRecalculate bool Não

Resposta

Retorna: Option[AggregateQuestionResults_200_response]

Exemplo

Exemplo de aggregateQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.aggregateQuestionResults(
3 tenantId = "my-tenant-123",
4 questionId = "",
5 questionIds = @[],
6 urlId = "news/economy/budget-2025",
7 timeBucket = AggregateTimeBucket(0),
8 startDate = "",
9 forceRecalculate = false
10)
11
12if response.isSome:
13 let aggResults = response.get()
14 discard aggResults
15

Agregação em massa de resultados de perguntas Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
bulkAggregateQuestionResultsRequest BulkAggregateQuestionResultsRequest Não
forceRecalculate bool Não

Resposta

Retorna: Option[BulkAggregateQuestionResults_200_response]

Exemplo

bulkAggregateQuestionResults Exemplo
Copy Copy
1
2let request = BulkAggregateQuestionResultsRequest()
3let (response, httpResponse) = client.bulkAggregateQuestionResults(tenantId = "my-tenant-123", bulkAggregateQuestionResultsRequest = request, forceRecalculate = false)
4if response.isSome:
5 let aggregated = response.get()
6 echo aggregated
7

Combinar comentários com resultados de perguntas Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
questionId string Não
questionIds seq[string] Não
urlId string Sim
startDate string Não
forceRecalculate bool Não
minValue float64 Não
maxValue float64 Não
limit float64 Não

Resposta

Retorna: Option[CombineCommentsWithQuestionResults_200_response]

Exemplo

Exemplo de combineCommentsWithQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.combineCommentsWithQuestionResults(
3 tenantId = "my-tenant-123",
4 questionId = "q-9876",
5 questionIds = @["q-9876", "q-9877"],
6 urlId = "news/article-title",
7 startDate = "2025-01-01T00:00:00Z",
8 forceRecalculate = false,
9 minValue = 1.0,
10 maxValue = 5.0,
11 limit = 100.0
12)
13
14if response.isSome:
15 let combined = response.get()
16 discard combined
17

Adicionar usuário SSO Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createAPISSOUserData CreateAPISSOUserData Não

Resposta

Retorna: Option[AddSSOUserAPIResponse]

Exemplo

Exemplo de addSSOUser
Copy Copy
1
2let (response, httpResponse) = client.addSSOUser(
3 tenantId = "my-tenant-123",
4 createAPISSOUserData = CreateAPISSOUserData(
5 id = "sso-456",
6 email = "alice.johnson@newsorg.com",
7 name = "Alice Johnson",
8 roles = @["editor", "contributor"],
9 isActive = true,
10 isAdmin = false
11 )
12)
13if response.isSome:
14 let apiResp = response.get()
15 discard apiResp
16else:
17 discard httpResponse
18

Excluir usuário SSO Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
deleteComments bool Não
commentDeleteMode string Não

Resposta

Retorna: Option[DeleteSSOUserAPIResponse]

Exemplo

Exemplo de deleteSSOUser
Copy Copy
1
2let (response, httpResponse) = client.deleteSSOUser(tenantId = "my-tenant-123", id = "sso-user-9876", deleteComments = true, commentDeleteMode = "hard")
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6else:
7 discard httpResponse
8

Obter usuário SSO por e-mail Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
email string Não

Resposta

Retorna: Option[GetSSOUserByEmailAPIResponse]

Exemplo

Exemplo de getSSOUserByEmail
Copy Copy
1
2let (response, httpResponse) = client.getSSOUserByEmail(tenantId = "my-tenant-123", email = "alice@newsco.com")
3if response.isSome:
4 let ssoUser = response.get()
5 echo "SSO user found: ", ssoUser.email
6else:
7 echo "No SSO user found. HTTP status: ", httpResponse.status
8

Obter usuário SSO por ID Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetSSOUserByIdAPIResponse]

Exemplo

Exemplo de getSSOUserById
Copy Copy
1
2let (response, httpResponse) = client.getSSOUserById(tenantId = "my-tenant-123", id = "user-789")
3if response.isSome:
4 let ssoUser: GetSSOUserByIdAPIResponse = response.get()
5 echo "SSO user retrieved: ", $ssoUser
6else:
7 echo "No SSO user found, HTTP status: ", httpResponse.statusCode
8

Obter usuários SSO Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
skip int Não

Resposta

Retorna: Option[GetSSOUsers_200_response]

Exemplo

Exemplo de getSSOUsers
Copy Copy
1
2let (response, httpResponse) = client.getSSOUsers(tenantId = "my-tenant-123", skip = 0)
3if response.isSome:
4 let ssoUsers = response.get()
5 echo "Fetched SSO users:"
6 echo ssoUsers
7else:
8 echo "No SSO users returned, HTTP status: ", httpResponse.statusCode
9

Alterar usuário SSO Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateAPISSOUserData UpdateAPISSOUserData Não
updateComments bool Não

Resposta

Retorna: Option[PatchSSOUserAPIResponse]

Exemplo

Exemplo de patchSSOUser
Copy Copy
1
2let (response, httpResponse) = client.patchSSOUser(
3 tenantId = "my-tenant-123",
4 id = "user-789",
5 updateAPISSOUserData = UpdateAPISSOUserData(
6 externalId = "ext-987",
7 username = "j.smith",
8 email = "j.smith@news.example.com",
9 displayName = "John Smith",
10 roles = @["author", "editor"],
11 avatarUrl = "https://cdn.news.example.com/avatars/j.smith.png"
12 ),
13 updateComments = true
14)
15
16if response.isSome:
17 let patched = response.get()
18 echo patched
19

Substituir usuário SSO Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateAPISSOUserData UpdateAPISSOUserData Não
updateComments bool Não

Resposta

Retorna: Option[PutSSOUserAPIResponse]

Exemplo

Exemplo putSSOUser
Copy Copy
1
2let (response, httpResponse) = client.putSSOUser(
3 tenantId = "my-tenant-123",
4 id = "user-456",
5 updateAPISSOUserData = UpdateAPISSOUserData(
6 externalId = "ext-789",
7 displayName = "Jane Doe",
8 email = "jane.doe@example.com",
9 avatarUrl = "https://cdn.news-site.com/avatars/jane.jpg",
10 roles = @["member", "subscriber"]
11 ),
12 updateComments = true
13)
14
15if response.isSome:
16 let result = response.get()
17 echo "SSO user updated:", result
18

Criar assinatura Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createAPIUserSubscriptionData CreateAPIUserSubscriptionData Não

Resposta

Retorna: Option[CreateSubscriptionAPIResponse]

Exemplo

Exemplo de createSubscription
Copy Copy
1
2let createData = CreateAPIUserSubscriptionData(
3 subscriberId = "user-987",
4 email = "jane.doe@newsreader.com",
5 urlId = "news/local-weather",
6 active = true,
7 tags = @["weather", "local"],
8 frequency = "immediate"
9)
10let (response, httpResponse) = client.createSubscription(tenantId = "my-tenant-123", createAPIUserSubscriptionData = createData)
11if response.isSome:
12 let created = response.get()
13 echo "Created subscription id: ", created.id
14

Excluir assinatura Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
userId string Não

Resposta

Retorna: Option[DeleteSubscriptionAPIResponse]

Exemplo

Exemplo de deleteSubscription
Copy Copy
1
2let (response, httpResponse) = client.deleteSubscription(tenantId = "my-tenant-123", id = "sub-98765", userId = "user-456")
3if response.isSome:
4 let deleteResp = response.get()
5 echo "Delete subscription response received"
6else:
7 echo "No subscription response"
8

Obter assinaturas Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
userId string Não

Resposta

Retorna: Option[GetSubscriptionsAPIResponse]

Exemplo

Exemplo de getSubscriptions
Copy Copy
1
2let (response, httpResponse) = client.getSubscriptions(tenantId = "my-tenant-123", userId = "")
3if response.isSome:
4 let subscriptions = response.get()
5 discard subscriptions
6

Obter usos diários do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
yearNumber float64 Não
monthNumber float64 Não
dayNumber float64 Não
skip float64 Não

Resposta

Retorna: Option[GetTenantDailyUsages_200_response]

Exemplo

Exemplo de getTenantDailyUsages
Copy Copy
1
2let (response, httpResponse) = client.getTenantDailyUsages(
3 tenantId = "my-tenant-123",
4 yearNumber = 2025.0,
5 monthNumber = 6.0,
6 dayNumber = 15.0,
7 skip = 0.0
8)
9
10if response.isSome:
11 let usages = response.get()
12 echo usages
13else:
14 echo "No daily usages returned"
15

Criar pacote do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createTenantPackageBody CreateTenantPackageBody Não

Resposta

Retorna: Option[CreateTenantPackage_200_response]

Exemplo

Exemplo de createTenantPackage
Copy Copy
1
2let packageBody = CreateTenantPackageBody(
3 packageName = "premium-comments",
4 description = "Premium moderation package for news site",
5 planId = "plan-pro-2024",
6 seats = 100,
7 enabled = true,
8 features = @["moderation", "analytics", "sentiment"]
9)
10
11let (response, httpResponse) = client.createTenantPackage(tenantId = "my-tenant-123", createTenantPackageBody = packageBody)
12
13if response.isSome:
14 let pkg = response.get()
15 echo "Created package ID: ", pkg.packageId
16 echo "Package name: ", pkg.packageName
17else:
18 echo "Failed to create package, HTTP status: ", httpResponse.status.code
19

Excluir pacote do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantPackage(tenantId = "my-tenant-123", id = "pkg-789")
3if response.isSome:
4 let deleted = response.get()
5 echo "Successfully deleted tenant package"
6

Obter pacote do locatário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetTenantPackage_200_response]

Exemplo

Exemplo de getTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackage(tenantId = "my-tenant-123", id = "pkg-premium-001")
3if response.isSome:
4 let pkg = response.get()
5 echo pkg
6else:
7 echo "No package found for tenant"
8

Obter pacotes do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
skip float64 Não

Resposta

Retorna: Option[GetTenantPackages_200_response]

Exemplo

Exemplo de getTenantPackages
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackages(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let packages = response.get()
5 echo "Received packages for tenant:", " my-tenant-123"
6 echo packages
7else:
8 echo "No packages found, status:", httpResponse.status
9

Substituir pacote do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
replaceTenantPackageBody ReplaceTenantPackageBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de replaceTenantPackage
Copy Copy
1
2let replaceBody = ReplaceTenantPackageBody(
3 packageName = "Community Pro",
4 seats = 500,
5 enableModeration = true,
6 features = @["moderation", "analytics", "single-sign-on"]
7)
8
9let (response, httpResponse) = client.replaceTenantPackage(
10 tenantId = "my-tenant-123",
11 id = "community-pro",
12 replaceTenantPackageBody = replaceBody
13)
14
15if response.isSome:
16 let flagResp = response.get()
17 echo "Package replaced for tenant: ", "my-tenant-123"
18 discard flagResp
19

Atualizar pacote do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateTenantPackageBody UpdateTenantPackageBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.updateTenantPackage(tenantId = "my-tenant-123", id = "pkg-premium", updateTenantPackageBody = UpdateTenantPackageBody())
3if response.isSome:
4 let updated = response.get()
5 echo "Updated package received:", updated
6else:
7 echo "Update failed, HTTP status: ", httpResponse.status
8

Criar usuário do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createTenantUserBody CreateTenantUserBody Não

Resposta

Retorna: Option[CreateTenantUser_200_response]

Exemplo

Exemplo de createTenantUser
Copy Copy
1
2let createBody = CreateTenantUserBody(
3 email = "jane.doe@acmepub.com",
4 displayName = "Jane Doe",
5 password = "S3cur3P@ssw0rd",
6 roles = @["moderator", "editor"],
7 disabled = false
8)
9let (response, httpResponse) = client.createTenantUser(tenantId = "my-tenant-123", createTenantUserBody = createBody)
10if response.isSome:
11 let createdUser = response.get()
12 echo createdUser
13

Excluir usuário do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
deleteComments string Não
commentDeleteMode string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteTenantUser
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantUser(tenantId = "my-tenant-123", id = "user-456", deleteComments = "", commentDeleteMode = "")
3if response.isSome:
4 let flagResp = response.get()
5 echo flagResp
6

Obter usuário do locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetTenantUser_200_response]

Exemplo

Exemplo de getTenantUser
Copy Copy
1
2let (response, httpResponse) = client.getTenantUser(tenantId = "my-tenant-123", id = "user-456")
3if response.isSome:
4 let tenantUser = response.get()
5 discard tenantUser
6else:
7 discard httpResponse
8

Obter usuários do locatário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
skip float64 Não

Resposta

Retorna: Option[GetTenantUsers_200_response]

Exemplo

Exemplo de getTenantUsers
Copy Copy
1
2let (response, httpResponse) = client.getTenantUsers(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let tenantUsers = response.get()
5 echo "Fetched tenant users for my-tenant-123"
6 discard tenantUsers
7else:
8 echo "No users returned"
9 discard httpResponse
10

Substituir usuário do locatário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
replaceTenantUserBody ReplaceTenantUserBody Não
updateComments string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de replaceTenantUser
Copy Copy
1
2let replaceBody = ReplaceTenantUserBody(name: "Jane Doe", email: "jane.doe@example.com", roles: @["moderator", "contributor"], banned: false)
3let (response, httpResponse) = client.replaceTenantUser(tenantId = "my-tenant-123", id = "user-789", replaceTenantUserBody = replaceBody, updateComments = "true")
4if response.isSome:
5 let updated = response.get()
6 echo updated
7else:
8 echo "No response returned"
9

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
redirectURL string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de sendLoginLink
Copy Copy
1
2let (response, httpResponse) = client.sendLoginLink(tenantId = "fastcomments-tenant-42", id = "user-9876", redirectURL = "https://news.example.com/articles/2026/fastcomments-login")
3if response.isSome:
4 let loginResp = response.get()
5 echo "Login link sent successfully"
6else:
7 echo "Failed to send login link"
8

Atualizar usuário do locatário Internal Link

Parâmetros

Name Type Required Description
tenantId string Yes
id string No
updateTenantUserBody UpdateTenantUserBody No
updateComments string No

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateTenantUser
Copy Copy
1
2var body: UpdateTenantUserBody
3body.email = "jane.doe@example.com"
4body.displayName = "Jane Doe"
5body.roles = @["moderator", "editor"]
6body.isActive = true
7
8let (response, httpResponse) = client.updateTenantUser(
9 tenantId = "my-tenant-123",
10 id = "user-789",
11 updateTenantUserBody = body,
12 updateComments = "Promoted user to moderator and editor roles"
13)
14
15if response.isSome:
16 let flagResp = response.get()
17 echo flagResp
18else:
19 echo "Update failed, status: ", httpResponse.status
20

Criar locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createTenantBody CreateTenantBody Não

Resposta

Retorna: Option[CreateTenant_200_response]

Exemplo

Exemplo de createTenant
Copy Copy
1
2let (response, httpResponse) = client.createTenant(tenantId = "my-tenant-123", createTenantBody = CreateTenantBody(
3 name: "My Tenant 123",
4 domain: "mytenant.example.com",
5 plan: "pro",
6 isActive: true,
7 allowedOrigins: @["https://www.example.com", "https://admin.example.com"]
8))
9if response.isSome:
10 let tenantInfo = response.get()
11 discard tenantInfo
12

Excluir locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
sure string Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de deleteTenant
Copy Copy
1
2let (response, httpResponse) = client.deleteTenant(tenantId = "my-tenant-123", id = "", sure = "")
3
4if response.isSome:
5 let flagResp = response.get()
6 echo "Tenant deletion response received for tenant: ", "my-tenant-123"
7 discard flagResp
8else:
9 echo "No response body returned for tenant deletion"
10

Obter locatário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetTenant_200_response]

Exemplo

Exemplo de getTenant
Copy Copy
1
2let (response, httpResponse) = client.getTenant(tenantId = "my-tenant-123", id = "")
3if response.isSome:
4 let tenant = response.get()
5 echo "Tenant retrieved"
6 discard tenant
7else:
8 echo "No tenant found"
9 echo "HTTP status:", httpResponse.status
10

Obter locatários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
meta string Não
skip float64 Não

Resposta

Retorna: Option[GetTenants_200_response]

Exemplo

Exemplo de getTenants
Copy Copy
1
2let (response, httpResponse) = client.getTenants(tenantId = "my-tenant-123", meta = "include=details", skip = 0.0)
3if response.isSome:
4 let tenants = response.get()
5 echo "Received tenants: ", repr(tenants)
6else:
7 echo "Failed to retrieve tenants"
8

Atualizar locatário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
updateTenantBody UpdateTenantBody Não

Resposta

Retorna: Option[FlagCommentPublic_200_response]

Exemplo

Exemplo de updateTenant
Copy Copy
1
2let (response, httpResponse) = client.updateTenant(
3 tenantId = "my-tenant-123",
4 id = "tenant-456",
5 updateTenantBody = UpdateTenantBody()
6)
7if response.isSome:
8 let flagResponse = response.get()
9 echo flagResponse
10else:
11 echo "No body returned; HTTP status: ", httpResponse.status
12

Enviar imagem Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
file string Não
sizePreset SizePreset Não
urlId string Sim

Resposta

Retorna: Option[UploadImageResponse]

Exemplo

Exemplo de uploadImage
Copy Copy
1
2let (response, httpResponse) = client.uploadImage(
3 tenantId = "my-tenant-123",
4 file = "assets/images/comment-avatar.jpg",
5 sizePreset = SizePreset.small,
6 urlId = "news/article-2025-11-22"
7)
8if response.isSome:
9 let upload = response.get()
10 echo "Uploaded image id: ", upload.id
11 echo "Uploaded image url: ", upload.url
12

Obter progresso de medalha do usuário por ID Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetUserBadgeProgressById_200_response]

Exemplo

Exemplo de getUserBadgeProgressById
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressById(tenantId = "my-tenant-123", id = "editor-badge-42")
3if response.isSome:
4 let badgeProgress = response.get()
5 echo "Badge progress received:"
6 echo badgeProgress
7else:
8 echo "No badge progress found for tenant 'my-tenant-123' and id 'editor-badge-42'"
9 echo httpResponse
10

Obter progresso de medalha do usuário por ID do usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
userId string Não

Resposta

Retorna: Option[GetUserBadgeProgressById_200_response]

Exemplo

Exemplo de getUserBadgeProgressByUserId
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressByUserId(tenantId = "my-tenant-123", userId = "user-456")
3if response.isSome:
4 let badgeProgress = response.get()
5 echo "Badge progress retrieved for user-456"
6else:
7 echo "No badge progress found, HTTP status: ", $httpResponse.status
8

Obter lista de progresso de medalhas do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
userId string Não
limit float64 Não
skip float64 Não

Resposta

Retorna: Option[GetUserBadgeProgressList_200_response]

Exemplo

Exemplo de getUserBadgeProgressList
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressList(tenantId = "my-tenant-123", userId = "user-9823", limit = 25.0, skip = 0.0)
3if response.isSome:
4 let badgeProgress = response.get()
5 echo "Badge progress received:", badgeProgress
6else:
7 echo "No badge progress. HTTP response:", httpResponse.status
8

Criar medalha do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
createUserBadgeParams CreateUserBadgeParams Não

Resposta

Retorna: Option[CreateUserBadge_200_response]

Exemplo

Exemplo de createUserBadge
Copy Copy
1
2let (response, httpResponse) = client.createUserBadge(tenantId = "my-tenant-123",
3 createUserBadgeParams = CreateUserBadgeParams(userId = "user-987", badgeId = "top-commenter"))
4if response.isSome:
5 let createdBadge = response.get()
6 echo "Created badge for user: ", createdBadge.userId
7else:
8 echo "Failed to create badge, status: ", $httpResponse.status
9

Excluir medalha do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[UpdateUserBadge_200_response]

Exemplo

Exemplo de deleteUserBadge
Copy Copy
1
2let (response, httpResponse) = client.deleteUserBadge(tenantId = "my-tenant-123", id = "badge-456")
3if response.isSome:
4 let updated = response.get()
5 discard updated
6

Obter medalha do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetUserBadge_200_response]

Exemplo

Exemplo getUserBadge
Copy Copy
1
2let (response, httpResponse) = client.getUserBadge(tenantId = "my-tenant-123", id = "")
3
4if response.isSome:
5 let badge = response.get()
6 discard badge
7

Obter medalhas do usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
userId string Não
badgeId string Não
displayedOnComments bool Não
limit float64 Não
skip float64 Não

Resposta

Retorna: Option[GetUserBadges_200_response]

Exemplo

Exemplo de getUserBadges
Copy Copy
1
2let (response, httpResponse) = client.getUserBadges(
3 tenantId = "my-tenant-123",
4 userId = "user-789",
5 badgeId = "top-commenter",
6 displayedOnComments = true,
7 limit = 50.0,
8 skip = 0.0
9)
10
11if response.isSome:
12 let badges = response.get()
13 echo "Retrieved badges: ", $badges
14

Atualizar medalha do usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
id string Não
updateUserBadgeParams UpdateUserBadgeParams Não

Resposta

Retorna: Option[UpdateUserBadge_200_response]

Exemplo

Exemplo de updateUserBadge
Copy Copy
1
2let updateParams = UpdateUserBadgeParams(
3 name = "Top Contributor",
4 description = "Awarded for consistent high-quality comments",
5 active = true,
6 tags = @["community", "milestone"]
7)
8
9let (response, httpResponse) = client.updateUserBadge(tenantId = "my-tenant-123", id = "badge-456", updateUserBadgeParams = updateParams)
10
11if response.isSome:
12 let updated = response.get()
13 echo "Badge updated successfully"
14else:
15 echo "Failed to update badge, HTTP status: ", $httpResponse.status
16

Obter contagem de notificações do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
sso string Não

Resposta

Retorna: Option[GetUserNotificationCount_200_response]

Exemplo

Exemplo getUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getUserNotificationCount(tenantId = "my-tenant-123", sso = "")
3if response.isSome:
4 let notificationData = response.get()
5 echo "Received notification data: ", $notificationData
6else:
7 echo "No notification data returned. HTTP response: ", $httpResponse.status
8

Obter notificações do usuário Internal Link


Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
pageSize int Não
afterId string Não
includeContext bool Não
afterCreatedAt int64 Não
unreadOnly bool Não
dmOnly bool Não
noDm bool Não
includeTranslations bool Não
sso string Não

Resposta

Retorna: Option[GetUserNotifications_200_response]

Exemplo

Exemplo de getUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.getUserNotifications(
3 tenantId = "my-tenant-123",
4 pageSize = 50,
5 afterId = "notif_9a1b2c3d",
6 includeContext = true,
7 afterCreatedAt = int64(1699999999000),
8 unreadOnly = false,
9 dmOnly = false,
10 noDm = false,
11 includeTranslations = false,
12 sso = ""
13)
14if response.isSome:
15 let notifications = response.get()
16 discard notifications
17else:
18 discard httpResponse
19

Redefinir contagem de notificações do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
sso string Não

Resposta

Retorna: Option[ResetUserNotifications_200_response]

Exemplo

Exemplo de resetUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotificationCount(tenantId = "my-tenant-123", sso = "sso-jwt-9a8b7c6d")
3if response.isSome:
4 let resetResult = response.get()
5 echo resetResult
6else:
7 echo "Reset failed, status: ", httpResponse.status
8

Redefinir notificações do usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
afterId string Não
afterCreatedAt int64 Não
unreadOnly bool Não
dmOnly bool Não
noDm bool Não
sso string Não

Resposta

Retorna: Option[ResetUserNotifications_200_response]

Exemplo

Exemplo de resetUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotifications(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 afterCreatedAt = int64(0),
6 unreadOnly = false,
7 dmOnly = false,
8 noDm = false,
9 sso = ""
10)
11
12if response.isSome:
13 let result = response.get()
14

Atualizar status de inscrição de notificação de comentário do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
notificationId string Não
optedInOrOut string Não
commentId string Sim
sso string Não

Resposta

Retorna: Option[UpdateUserNotificationStatus_200_response]

Exemplo

Exemplo de updateUserNotificationCommentSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationCommentSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "notif-456",
5 optedInOrOut = "opted_in",
6 commentId = "cmt-789",
7 sso = "sso-token-abc"
8)
9if response.isSome:
10 let updatedStatus = response.get()
11 discard updatedStatus
12else:
13 discard httpResponse
14

Atualizar status de inscrição de notificação de página do usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim
url string Não
pageTitle string Não
subscribedOrUnsubscribed string Não
sso string Não

Resposta

Retorna: Option[UpdateUserNotificationStatus_200_response]

Exemplo

Exemplo de updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationPageSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-2025-11-22",
5 url = "https://example.com/news/article-2025-11-22",
6 pageTitle = "Breaking News: Market Update",
7 subscribedOrUnsubscribed = "subscribed",
8 sso = "sso-token-abc123"
9)
10
11if response.isSome:
12 let result = response.get()
13 discard result
14

Atualizar status de notificação do usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
notificationId string Não
newStatus string Não
sso string Não

Resposta

Retorna: Option[UpdateUserNotificationStatus_200_response]

Exemplo

Exemplo de updateUserNotificationStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "notif-456",
5 newStatus = "read",
6 sso = "sso-abc-789"
7)
8if response.isSome:
9 let updateResp = response.get()
10 discard updateResp
11

Obter status de presença dos usuários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlIdWS string Não
userIds string Não

Resposta

Retorna: Option[GetUserPresenceStatuses_200_response]

Exemplo

Exemplo de getUserPresenceStatuses
Copy Copy
1
2let (response, httpResponse) = client.getUserPresenceStatuses(
3 tenantId = "my-tenant-123",
4 urlIdWS = "news/2025/technology/ai-ethics",
5 userIds = "user-789,user-456"
6)
7if response.isSome:
8 let presence = response.get()
9 echo "Presence received: ", presence
10else:
11 echo "No presence information returned, HTTP status: ", httpResponse.status.code
12

Pesquisar usuários Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim
usernameStartsWith string Não
mentionGroupIds seq[string] Não
sso string Não

Resposta

Retorna: Option[SearchUsers_200_response]

Exemplo

Exemplo de searchUsers
Copy Copy
1
2let (response, httpResponse) = client.searchUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 usernameStartsWith = "jo",
6 mentionGroupIds = @["editors", "sports-team"],
7 sso = "sso-abc-456"
8)
9
10if response.isSome:
11 let users = response.get()
12 echo "Users found: ", users
13else:
14 echo "No users found; HTTP status: ", httpResponse.status
15

Obter usuário Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não

Resposta

Retorna: Option[GetUser_200_response]

Exemplo

Exemplo de getUser
Copy Copy
1
2let (response, httpResponse) = client.getUser(tenantId = "my-tenant-123", id = "user-9876")
3if response.isSome:
4 let user = response.get()
5 echo "User:", user
6else:
7 echo "No user found. HTTP response:", httpResponse
8

Criar voto Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
commentId string Sim
direction string Não
userId string Não
anonUserId string Não

Resposta

Retorna: Option[VoteComment_200_response]

Exemplo

Exemplo de createVote
Copy Copy
1
2let (response, httpResponse) = client.createVote(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654321",
5 direction = "up",
6 userId = "user-42",
7 anonUserId = ""
8)
9if response.isSome:
10 let vote = response.get()
11 echo "Vote recorded: ", $vote
12else:
13 echo "Vote not created, HTTP response: ", $httpResponse
14

Excluir voto Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
id string Não
editKey string Não

Resposta

Retorna: Option[DeleteCommentVote_200_response]

Exemplo

Exemplo de deleteVote
Copy Copy
1
2let (response, httpResponse) = client.deleteVote(tenantId = "my-tenant-123", id = "", editKey = "")
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6

Obter votos Internal Link

Parâmetros

Nome Tipo Obrigatório Descrição
tenantId string Sim
urlId string Sim

Resposta

Retorna: Option[GetVotes_200_response]

Exemplo

Exemplo de getVotes
Copy Copy
1
2let (response, httpResponse) = client.getVotes(tenantId = "my-tenant-123", urlId = "news/2026/major-update")
3if response.isSome:
4 let votes = response.get()
5 discard votes
6else:
7 discard httpResponse
8

Obter votos para usuário Internal Link

Parâmetros

Name Type Required Description
tenantId string Sim
urlId string Sim
userId string Não
anonUserId string Não

Resposta

Retorna: Option[GetVotesForUser_200_response]

Exemplo

Exemplo de getVotesForUser
Copy Copy
1
2let (response, httpResponse) = client.getVotesForUser(
3 tenantId = "my-tenant-123",
4 urlId = "news/economy-update-2026",
5 userId = "user-789",
6 anonUserId = ""
7)
8
9if response.isSome:
10 let votes = response.get()
11 discard votes
12

Precisa de ajuda?

Se você encontrar algum problema ou tiver perguntas sobre o Nim SDK, por favor:

Contribuindo

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