FastComments.com

FastComments SDK para Nim


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 Seguras

Para o cliente de API, existem três módulos de API, api_default, api_public e api_moderation. O api_default contém métodos que exigem 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. O módulo api_moderation contém métodos para o painel do moderador.

Os métodos de api_moderation abrangem listagem, contagem, busca e exportação de comentários e seus registros; ações de moderação como remover/restaurar comentários, sinalizar, definir status de revisão/spam/aprovação, ajustar votos e reabrir/fechar tópicos; banimentos (banir um usuário de um comentário, desfazer um banimento, resumos pré-banimento, status e preferências de banimento e contagens de usuários banidos); e insígnias e confiança (conceder/remover uma insígnia, listar insígnias manuais, obter/definir o fator de confiança de um usuário e recuperar o perfil interno de um usuário). Cada método de api_moderation aceita um parâmetro sso para que a chamada seja autenticada como um moderador SSO.

Início Rápido Internal Link

Usando as APIs Autenticadas (DefaultAPI)

Importante: Endpoints autenticados exigem que sua chave de API seja definida como o 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"

# Fazer 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 as APIs Públicas (PublicAPI)

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

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Fazer 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"

Usando as APIs de Moderação (ModerationAPI)

Endpoints de moderação alimentam o painel do moderador e são autenticados com um token SSO do moderador atuante:

import httpclient
import fastcomments
import fastcomments/apis/api_moderation

let client = newHttpClient()

# Listar comentários no painel de moderação
let (response, httpResponse) = getApiComments(
  httpClient = client,
  page = 0,
  count = 30,
  textSearch = "",
  byIPFromComment = "",
  filters = "",
  searchFilters = "",
  sorts = "",
  demo = false,
  sso = "your-sso-token"
)

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

Problemas Comuns

  1. Erro de autenticação 401: Certifique-se de definir o cabeçalho x-api-key no seu HttpClient antes de fazer requisições do DefaultAPI: client.headers["x-api-key"] = "your-api-key"
  2. Classe de API incorreta: Use api_default para requisições autenticadas do lado do servidor, api_public para requisições do lado do cliente/públicas e api_moderation para requisições do painel do moderador.

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

aggregate Internal Link

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

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
aggregationRequestAggregationRequestNão
parentTenantIdstringNão
includeStatsboolNão

Resposta

Retorna: Option[AggregateResponse]

Exemplo

Exemplo de aggregate
Copy Copy
1
2let (response, httpResponse) = client.aggregate(
3 tenantId = "my-tenant-123",
4 aggregationRequest = AggregationRequest(groupBy = @["articleId"], metrics = @["commentCount"], filters = @[], limit = 0),
5 parentTenantId = "",
6 includeStats = false
7)
8
9if response.isSome:
10 let agg = response.get()
11 discard agg
12

getAuditLogs Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
limitfloat64Não
skipfloat64Não
orderSORTDIRNão
afterfloat64Não
beforefloat64Não

Resposta

Retorna: Option[GetAuditLogsResponse]

Exemplo

Exemplo de getAuditLogs
Copy Copy
1
2let (response, httpResponse) = client.getAuditLogs(
3 tenantId = "my-tenant-123",
4 limit = 50.0,
5 skip = 0.0,
6 order = SORTDIR.DESC,
7 after = 1622505600.0,
8 before = 1625097600.0
9)
10
11if response.isSome:
12 let logs = response.get()
13 echo logs
14else:
15 echo "No audit logs returned"
16

logoutPublic Internal Link

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de logoutPublic
Copy Copy
1
2let (response, httpResponse) = client.logoutPublic(tenantId = "my-tenant-123", sessionId = "sess-9a8b7c6d", userId = "editor-87", revokeAll = false, ipAddress = "")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Logout successful for user: ", "editor-87"
6else:
7 echo "Logout failed"
8

blockFromCommentPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
publicBlockFromCommentParamsPublicBlockFromCommentParamsNão
ssostringNão

Resposta

Retorna: Option[BlockSuccess]

Exemplo

Exemplo blockFromCommentPublic
Copy Copy
1
2let publicParams = PublicBlockFromCommentParams(
3 reason = "Repeated spam links",
4 durationMinutes = 1440,
5 blockAll = true,
6 notifyUser = false,
7 tags = @["spam", "auto-block"]
8)
9
10let (response, httpResponse) = client.blockFromCommentPublic(
11 tenantId = "my-tenant-123",
12 commentId = "comment-98765",
13 publicBlockFromCommentParams = publicParams,
14 sso = ""
15)
16
17if response.isSome:
18 let blockResult = response.get()
19 echo "Block succeeded: ", $blockResult
20else:
21 echo "Block failed, HTTP status: ", $httpResponse.status
22

unBlockCommentPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
publicBlockFromCommentParamsPublicBlockFromCommentParamsNão
ssostringNão

Resposta

Retorna: Option[UnblockSuccess]

Exemplo

Exemplo de unBlockCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.unBlockCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", publicBlockFromCommentParams = PublicBlockFromCommentParams(), sso = "")
3if response.isSome:
4 let unblockResult = response.get()
5 discard unblockResult
6else:
7 discard httpResponse
8

checkedCommentsForBlocked Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
commentIdsstringNão
ssostringNão

Resposta

Retorna: Option[CheckBlockedCommentsResponse]

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 blockedResp = response.get()
9 echo "Received blocked comments response: ", blockedResp
10else:
11 echo "No response body; HTTP status: ", $httpResponse.status
12

blockUserFromComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
blockFromCommentParamsBlockFromCommentParamsNão
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[BlockSuccess]

Exemplo

Exemplo de blockUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.blockUserFromComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-7890",
5 blockFromCommentParams = BlockFromCommentParams(
6 reason = "Repeated abusive language",
7 durationMinutes = 1440,
8 notifyUser = true,
9 tags = @["abuse", "automated"]
10 ),
11 userId = "user-456",
12 anonUserId = ""
13)
14
15if response.isSome:
16 let result = response.get()
17 discard result
18else:
19 discard httpResponse
20

createCommentPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
broadcastIdstringNão
commentDataCommentDataNão
sessionIdstringNão
ssostringNão

Resposta

Retorna: Option[SaveCommentsResponseWithPresence]

Exemplo

Exemplo de createCommentPublic
Copy Copy
1
2let commentPayload = CommentData(
3 text = "Great write-up on serverless architectures.",
4 authorName = "Jane Doe",
5 authorEmail = "jane.doe@example.com",
6 isPublic = true,
7 tags = @["tech", "serverless"]
8)
9let (response, httpResponse) = client.createCommentPublic(
10 tenantId = "my-tenant-123",
11 urlId = "news/2026/06/fastcomments-sdk-update",
12 broadcastId = "broadcast-2026-06-19",
13 commentData = commentPayload,
14 sessionId = "sess-8a7b6c",
15 sso = "sso-jwt-abc123"
16)
17if response.isSome:
18 let saved = response.get()
19 discard saved
20

deleteComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
contextUserIdstringNão
isLiveboolNão

Resposta

Retorna: Option[DeleteCommentResult]

Exemplo

Exemplo de deleteComment
Copy Copy
1
2let (response, httpResponse) = client.deleteComment(tenantId = "my-tenant-123", id = "cmt-98765", contextUserId = "user-456", isLive = true)
3if response.isSome:
4 let result = response.get()
5 echo "DeleteCommentResult received"
6else:
7 echo "No result, HTTP status: ", httpResponse.status
8

deleteCommentPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringYes
commentIdstringYes
broadcastIdstringNo
editKeystringNo
ssostringNo

Resposta

Retorna: Option[PublicAPIDeleteCommentResponse]

Exemplo

Exemplo de deleteCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", broadcastId = "", editKey = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete acknowledged, HTTP status: ", httpResponse.status
6

deleteCommentVote Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
voteIdstringNão
urlIdstringSim
broadcastIdstringNão
editKeystringNão
ssostringNão

Resposta

Retorna: Option[VoteDeleteResponse]

Exemplo

Exemplo de deleteCommentVote
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentVote(
3 tenantId = "my-tenant-123",
4 commentId = "comment-456",
5 voteId = "vote-789",
6 urlId = "news/article-title",
7 broadcastId = "",
8 editKey = "",
9 sso = ""
10)
11if response.isSome:
12 let voteResp = response.get()
13 echo "Vote delete response:", voteResp
14else:
15 echo "No response body, HTTP response:", httpResponse
16

flagComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[FlagCommentResponse]

Exemplo

Exemplo de flagComment
Copy Copy
1
2let (response, httpResponse) = client.flagComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-98765",
5 userId = "user-12345",
6 anonUserId = ""
7)
8
9if response.isSome:
10 let flagResp = response.get()
11 echo "Flag response received"
12else:
13 echo "No flag response returned"
14

getComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIGetCommentResponse]

Exemplo

Exemplo de getComment
Copy Copy
1
2let (response, httpResponse) = client.getComment(tenantId = "my-tenant-123", id = "cmt-7890")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "Comment not found"
8

getComments Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
pageintNão
limitintNão
skipintNão
asTreeboolNão
skipChildrenintNão
limitChildrenintNão
maxTreeDepthintNão
urlIdstringSim
userIdstringNão
anonUserIdstringNão
contextUserIdstringNão
hashTagstringNão
parentIdstringNão
directionSortDirectionsNão
fromDateint64Não
toDateint64Não

Resposta

Retorna: Option[APIGetCommentsResponse]

Exemplo

Exemplo de getComments
Copy Copy
1
2let (response, httpResponse) = client.getComments(
3 tenantId = "my-tenant-123",
4 page = 1,
5 limit = 25,
6 skip = 0,
7 asTree = true,
8 skipChildren = 0,
9 limitChildren = 5,
10 maxTreeDepth = 3,
11 urlId = "news/2026-global-economy",
12 userId = "user-789",
13 anonUserId = "",
14 contextUserId = "",
15 hashTag = "economy",
16 parentId = "",
17 direction = SortDirections.Desc,
18 fromDate = 1710000000000'i64,
19 toDate = 1710100000000'i64
20)
21if response.isSome:
22 let commentsResp = response.get()
23 discard commentsResp
24

getCommentsPublic Internal Link


req tenantId urlId

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
urlIdstringSim
pageintNão
directionSortDirectionsNão
ssostringNão
skipintNão
skipChildrenintNão
limitintNão
limitChildrenintNão
countChildrenboolNão
fetchPageForCommentIdstringNão
includeConfigboolNão
countAllboolNão
includei10nboolNão
localestringNão
modulesstringNão
isCrawlerboolNão
includeNotificationCountboolNão
asTreeboolNão
maxTreeDepthintNão
useFullTranslationIdsboolNão
parentIdstringNão
searchTextstringNão
hashTagsseq[string]Não
userIdstringNão
customConfigStrstringNão
afterCommentIdstringNão
beforeCommentIdstringNão

Resposta

Retorna: Option[GetCommentsResponseWithPresencePublicComment]

Exemplo

Exemplo de getCommentsPublic
Copy Copy
1
2let (response, httpResponse) = client.getCommentsPublic(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 page = 2,
6 direction = SortDirections.Descending,
7 sso = "",
8 skip = 0,
9 skipChildren = 0,
10 limit = 25,
11 limitChildren = 5,
12 countChildren = false,
13 fetchPageForCommentId = "",
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 = "",
25 searchText = "climate change",
26 hashTags = @["climate", "research"],
27 userId = "user-789",
28 customConfigStr = "",
29 afterCommentId = "",
30 beforeCommentId = ""
31)
32
33if response.isSome:
34 let commentsResp = response.get()
35 echo "Received comments response:"
36 echo commentsResp
37else:
38 echo "No comments returned. HTTP status:", httpResponse.status
39

getCommentText Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
editKeystringNão
ssostringNão

Resposta

Retorna: Option[PublicAPIGetCommentTextResponse]

Exemplo

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

getCommentVoteUserNames Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
dirintNão
ssostringNão

Resposta

Retorna: Option[GetCommentVoteUserNamesSuccessResponse]

Exemplo

Exemplo de getCommentVoteUserNames
Copy Copy
1
2let (response, httpResponse) = client.getCommentVoteUserNames(tenantId = "my-tenant-123", commentId = "cmt-987654", dir = 0, sso = "")
3if response.isSome:
4 let success: GetCommentVoteUserNamesSuccessResponse = response.get()
5 discard success
6

lockComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de lockComment
Copy Copy
1
2let (response, httpResponse) = client.lockComment(tenantId = "news-tenant-42", commentId = "cmt-8f3a2b9d", broadcastId = "", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Locked comment successfully for tenant news-tenant-42"
6else:
7 echo "Failed to lock comment, HTTP status: ", $httpResponse.status
8

pinComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[ChangeCommentPinStatusResponse]

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 pinnedResp = response.get()
5 echo "Pin status updated for comment cmt-98765"
6else:
7 echo "No response received"
8

saveComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createCommentParamsCreateCommentParamsNão
isLiveboolNão
doSpamCheckboolNão
sendEmailsboolNão
populateNotificationsboolNão

Resposta

Retorna: Option[APISaveCommentResponse]

Exemplo

Exemplo de saveComment
Copy Copy
1
2let createCommentParams = CreateCommentParams(
3 urlId = "news/2026/major-policy-change",
4 content = "This is a thoughtful comment on the policy change and its potential impacts.",
5 authorName = "Morgan Lee",
6 authorEmail = "morgan.lee@example.org",
7 tags = @["policy","analysis"],
8 extraData = @[])
9
10let (response, httpResponse) = client.saveComment(
11 tenantId = "my-tenant-123",
12 createCommentParams = createCommentParams,
13 isLive = true,
14 doSpamCheck = true,
15 sendEmails = false,
16 populateNotifications = true)
17
18if response.isSome:
19 let saved = response.get()
20 discard saved
21

saveCommentsBulk Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createCommentParamsseq[CreateCommentParams]Não
isLiveboolNão
doSpamCheckboolNão
sendEmailsboolNão
populateNotificationsbool): (Option[seq[SaveCommentsBulkResponse]]Não
idstringNão
fromNamestringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de saveCommentsBulk
Copy Copy
1
2let (response, httpResponse) = client.saveCommentsBulk(
3 tenantId = "my-tenant-123",
4 createCommentParams = @[],
5 isLive = false,
6 doSpamCheck = false,
7 sendEmails = false,
8 populateNotifications = false,
9 id = "",
10 fromName = ""
11)
12
13if response.isSome:
14 let apiResp = response.get()
15 echo "Bulk save succeeded, tenant:", " my-tenant-123"
16else:
17 echo "Bulk save returned no API response"
18

setCommentText Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
broadcastIdstringNão
commentTextUpdateRequestCommentTextUpdateRequestNão
editKeystringNão
ssostringNão

Resposta

Retorna: Option[PublicAPISetCommentTextResponse]

Exemplo

Exemplo de setCommentText
Copy Copy
1
2let (response, httpResponse) = client.setCommentText(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456789",
5 broadcastId = "",
6 commentTextUpdateRequest = CommentTextUpdateRequest(text: "Updated comment text to fix a typo and clarify meaning."),
7 editKey = "",
8 sso = ""
9)
10if response.isSome:
11 let result = response.get()
12 discard result
13

unBlockUserFromComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
unBlockFromCommentParamsUnBlockFromCommentParamsNão
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[UnblockSuccess]

Exemplo

Exemplo de unBlockUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.unBlockUserFromComment(
3 tenantId = "my-tenant-123",
4 id = "comment-9f3b2a",
5 unBlockFromCommentParams = UnBlockFromCommentParams(),
6 userId = "user-1024",
7 anonUserId = "anon-77b"
8)
9
10if response.isSome:
11 let unblockResult = response.get()
12 echo unblockResult
13else:
14 echo "Unblock failed"
15

unFlagComment Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[FlagCommentResponse]

Exemplo

Exemplo de unFlagComment
Copy Copy
1
2let (response, httpResponse) = client.unFlagComment(tenantId = "my-tenant-123",
3 id = "comment-98765",
4 userId = "user-12345",
5 anonUserId = "")
6
7if response.isSome:
8 let flagResp = response.get()
9 echo "Unflagged comment response:", flagResp
10else:
11 echo "Unflag failed, HTTP status:", httpResponse.status
12

unLockComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

unLockComment Exemplo
Copy Copy
1
2let tenantId = "my-tenant-123"
3let commentId = "cmt-987654321"
4let (response, httpResponse) = client.unLockComment(
5 tenantId = tenantId,
6 commentId = commentId,
7 broadcastId = "",
8 sso = ""
9)
10if response.isSome:
11 let apiResp = response.get()
12 echo "Unlocked comment ", commentId, " for tenant ", tenantId
13else:
14 echo "Unlock failed, HTTP status: ", $httpResponse.status
15

unPinComment Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[ChangeCommentPinStatusResponse]

Exemplo

Exemplo de unPinComment
Copy Copy
1
2let (response, httpResponse) = client.unPinComment(tenantId = "my-tenant-123", commentId = "cmt-987654321", broadcastId = "", sso = "")
3if response.isSome:
4 let result = response.get()
5 echo "Unpinned comment:", $result
6else:
7 echo "Unpin failed, HTTP status:", $httpResponse.status
8

updateComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updatableCommentParamsUpdatableCommentParamsNão
contextUserIdstringNão
doSpamCheckboolNão
isLiveboolNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateComment
Copy Copy
1
2let (response, httpResponse) = client.updateComment(
3 tenantId = "my-tenant-123",
4 id = "cmt-987654",
5 updatableCommentParams = UpdatableCommentParams(
6 text = "Updated comment: corrected facts and clarified wording.",
7 isApproved = true,
8 tags = @["news", "update"]
9 ),
10 contextUserId = "user-456",
11 doSpamCheck = true,
12 isLive = true
13)
14
15if response.isSome:
16 let apiResp = response.get()
17 discard apiResp
18

voteComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
urlIdstringSim
broadcastIdstringNão
voteBodyParamsVoteBodyParamsNão
sessionIdstringNão
ssostringNão

Resposta

Retorna: Option[VoteResponse]

Exemplo

Exemplo de voteComment
Copy Copy
1
2let (response, httpResponse) = client.voteComment(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654321",
5 urlId = "news/article-2026-inflation",
6 broadcastId = "",
7 voteBodyParams = VoteBodyParams(),
8 sessionId = "",
9 sso = ""
10)
11
12if response.isSome:
13 let voteResp = response.get()
14 discard voteResp
15else:
16 discard httpResponse
17

getCommentsForUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
userIdstringNão
directionSortDirectionsNão
repliesToUserIdstringNão
pagefloat64Não
includei10nboolNão
localestringNão
isCrawlerboolNão

Resposta

Retorna: Option[GetCommentsForUserResponse]

Exemplo

Exemplo de getCommentsForUser
Copy Copy
1
2let (response, httpResponse) = client.getCommentsForUser(
3 userId = "user-8421",
4 direction = SortDirections.Newest,
5 repliesToUserId = "",
6 page = 1.0,
7 includei10n = true,
8 locale = "en-US",
9 isCrawler = false
10)
11
12if response.isSome:
13 let comments = response.get()
14 discard comments
15

addDomainConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
addDomainConfigParamsAddDomainConfigParamsNão

Resposta

Retorna: Option[AddDomainConfigResponse]

Exemplo

Exemplo de addDomainConfig
Copy Copy
1
2let config = AddDomainConfigParams(
3 domain: "comments.example-news.com",
4 enabled: true,
5 allowedOrigins: @["https://www.example-news.com", "https://m.example-news.com"],
6 commentsPath: "/news/world/election-coverage",
7 priority: 5
8)
9let (response, httpResponse) = client.addDomainConfig(tenantId = "my-tenant-123", addDomainConfigParams = config)
10if response.isSome:
11 let created = response.get()
12 echo "Created domain config:", created
13else:
14 echo "Failed to create domain config, HTTP status:", httpResponse.status.code
15

deleteDomainConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
domainstringNão

Resposta

Retorna: Option[DeleteDomainConfigResponse]

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 deleted = response.get()
5 echo "DeleteDomainConfig succeeded for tenant ", "my-tenant-123"
6else:
7 echo "DeleteDomainConfig failed. HTTP status: ", $httpResponse.status
8

getDomainConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
domainstringNão

Resposta

Retorna: Option[GetDomainConfigResponse]

Exemplo

Exemplo de getDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfig(tenantId = "my-tenant-123", domain = "news/top-story-2026")
3if response.isSome:
4 let cfg = response.get()
5 discard cfg
6else:
7 discard httpResponse
8

getDomainConfigs Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim

Resposta

Retorna: Option[GetDomainConfigsResponse]

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 "Received domain configs for tenant my-tenant-123"
6 echo domainConfigs
7else:
8 echo "No domain configs returned"
9

patchDomainConfig Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
domainToUpdatestringNão
patchDomainConfigParamsPatchDomainConfigParamsNão

Resposta

Retorna: Option[PatchDomainConfigResponse]

Exemplo

Exemplo de patchDomainConfig
Copy Copy
1
2let patchParams: PatchDomainConfigParams = PatchDomainConfigParams(
3 allowedOrigins = @["https://news.example.com", "https://cdn.news.com"],
4 enableComments = true,
5 moderationRequired = false,
6 maxCommentLength = 2000,
7 primaryDomain = "comments.news-site.com"
8)
9let (response, httpResponse) = client.patchDomainConfig(
10 tenantId = "my-tenant-123",
11 domainToUpdate = "comments.news-site.com",
12 patchDomainConfigParams = patchParams
13)
14if response.isSome:
15 let cfg = response.get()
16 echo "Patched domain config received:", cfg
17else:
18 echo "No response body, HTTP status:", httpResponse.statusCode
19

putDomainConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringYes
domainToUpdatestringNo
updateDomainConfigParamsUpdateDomainConfigParamsNo

Resposta

Retorna: Option[PutDomainConfigResponse]

Exemplo

Exemplo de putDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.putDomainConfig(
3 tenantId = "my-tenant-123",
4 domainToUpdate = "blog.example.com",
5 updateDomainConfigParams = UpdateDomainConfigParams(
6 allowAnonymous = false,
7 moderationEnabled = true,
8 maxCommentLength = 800,
9 allowedOrigins = @["https://blog.example.com", "https://cdn.blog.example.com"],
10 enableThreadedComments = true
11 )
12)
13
14if response.isSome:
15 let cfg = response.get()
16 echo cfg
17else:
18 echo "Failed to update domain config, HTTP status: ", httpResponse.status
19

createEmailTemplate Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createEmailTemplateBodyCreateEmailTemplateBodyNão

Resposta

Retorna: Option[CreateEmailTemplateResponse]

Exemplo

Exemplo de createEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.createEmailTemplate(tenantId = "my-tenant-123",
3 createEmailTemplateBody = CreateEmailTemplateBody(
4 name = "Weekly Newsletter",
5 subject = "This Week on NewsSite",
6 html = "<h1>Latest updates</h1><p>Read our latest article.</p>",
7 fromAddress = "no-reply@newssite.com",
8 isDefault = false,
9 tags = @["news", "weekly"]
10 )
11)
12
13if response.isSome:
14 let template = response.get()
15 echo "Created email template id: ", template.id
16

deleteEmailTemplate Internal Link

Parameters

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplate(
3 tenantId = "my-tenant-123",
4 id = "welcome-email-template-001"
5)
6
7if response.isSome:
8 let apiEmpty = response.get()
9 discard apiEmpty
10 echo "Email template deleted successfully"
11else:
12 echo "No response body"
13

deleteEmailTemplateRenderError Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
errorIdstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteEmailTemplateRenderError
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplateRenderError(tenantId = "my-tenant-123", id = "welcome-email-template", errorId = "err-20250615-01")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Deleted render error, tenant:", "my-tenant-123"
6 echo "HTTP status:", httpResponse.status
7else:
8 echo "No body returned, HTTP status:", httpResponse.status
9

getEmailTemplate Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetEmailTemplateResponse]

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 discard template
6

getEmailTemplateDefinitions Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim

Resposta

Retorna: Option[GetEmailTemplateDefinitionsResponse]

Exemplo

Exemplo de getEmailTemplateDefinitions
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateDefinitions(tenantId = "my-tenant-123")
3if response.isSome:
4 let definitions = response.get()
5 echo "Email template definitions for my-tenant-123: ", definitions
6else:
7 echo "Failed to retrieve templates, HTTP status: ", httpResponse.status
8

getEmailTemplateRenderErrors Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão
skipfloat64Não

Resposta

Retorna: Option[GetEmailTemplateRenderErrorsResponse]

Exemplo

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

getEmailTemplates Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
skipfloat64Não

Resposta

Retorna: Option[GetEmailTemplatesResponse]

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 email templates available"
8

renderEmailTemplate Internal Link

Parâmetros

NameTypeObrigatórioDescrição
tenantIdstringSim
renderEmailTemplateBodyRenderEmailTemplateBodyNão
localestringNão

Resposta

Retorna: Option[RenderEmailTemplateResponse]

Exemplo

Exemplo de renderEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.renderEmailTemplate(
3 tenantId = "my-tenant-123",
4 renderEmailTemplateBody = RenderEmailTemplateBody(),
5 locale = "en-US"
6)
7
8if response.isSome:
9 let rendered = response.get()
10 echo rendered
11

updateEmailTemplate Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateEmailTemplateBodyUpdateEmailTemplateBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateEmailTemplate
Copy Copy
1
2let updateBody = UpdateEmailTemplateBody(
3 subject = "Welcome to Newsly",
4 html = "<p>Thanks for joining Newsly! Visit https://newsly.example to get started.</p>",
5 fromAddress = "no-reply@newsly.example",
6 fromName = "Newsly Team",
7 enabled = true
8)
9let (response, httpResponse) = client.updateEmailTemplate(tenantId = "my-tenant-123", id = "welcome-email", updateEmailTemplateBody = updateBody)
10if response.isSome:
11 let result = response.get()
12 discard result
13else:
14 discard httpResponse.statusCode
15

getEventLog Internal Link

req tenantId urlId userIdWS

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
userIdWSstringNão
startTimeint64Não
endTimeint64Não

Resposta

Retorna: Option[GetEventLogResponse]

Exemplo

Exemplo de getEventLog
Copy Copy
1
2let (response, httpResponse) = client.getEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-2026-solar-panels",
5 userIdWS = "user-456",
6 startTime = 1688000000'i64,
7 endTime = 1688086400'i64
8)
9if response.isSome:
10 let eventLog = response.get()
11 discard eventLog
12

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
userIdWSstringNão
startTimeint64Não
endTimeint64Não

Resposta

Retorna: Option[GetEventLogResponse]

Exemplo

Exemplo de getGlobalEventLog
Copy Copy
1
2let (response, httpResponse) = client.getGlobalEventLog(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-2026-06-19",
5 userIdWS = "user-987",
6 startTime = int64(1622505600),
7 endTime = int64(1625097600)
8)
9if response.isSome:
10 let eventLog = response.get()
11 echo eventLog, httpResponse.statusCode
12

createFeedPost Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createFeedPostParamsCreateFeedPostParamsNão
broadcastIdstringNão
isLiveboolNão
doSpamCheckboolNão
skipDupCheckboolNão

Resposta

Retorna: Option[CreateFeedPostsResponse]

Exemplo

Exemplo de createFeedPost
Copy Copy
1
2let postParams = CreateFeedPostParams(
3 title = "Major Acquisition by TechCorp",
4 content = "TechCorp has acquired SoftWorks in a deal valued at $1.2B, creating a new market leader.",
5 url = "news/tech/major-acquisition",
6 tags = @["business", "technology"],
7 authorId = "journalist-321"
8)
9
10let (response, httpResponse) = client.createFeedPost(
11 tenantId = "my-tenant-123",
12 createFeedPostParams = postParams,
13 broadcastId = "",
14 isLive = false,
15 doSpamCheck = false,
16 skipDupCheck = false
17)
18
19if response.isSome:
20 let created = response.get()
21 discard created
22

createFeedPostPublic Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
createFeedPostParamsCreateFeedPostParamsNão
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[CreateFeedPostResponse]

Exemplo

Exemplo de createFeedPostPublic
Copy Copy
1
2let params = CreateFeedPostParams(
3 title = "Breaking: Major Update on Product X",
4 content = "Today we released Product X v2.0 with performance improvements and bug fixes.",
5 author = "jane.doe",
6 tags = @["product", "release", "v2"],
7 isPinned = false
8)
9
10let (response, httpResponse) = client.createFeedPostPublic(tenantId = "my-tenant-123", createFeedPostParams = params, broadcastId = "", sso = "")
11
12if response.isSome:
13 let created = response.get()
14 echo "Created feed post:", created
15else:
16 echo "Failed to create feed post; HTTP status:", httpResponse.status
17

deleteFeedPostPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
postIdstringNão
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[DeleteFeedPostPublicResponse]

Exemplo

Exemplo de deleteFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteFeedPostPublic(tenantId = "my-tenant-123", postId = "", broadcastId = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete successful"
6else:
7 echo "Delete failed"
8

getFeedPosts Internal Link

req tenantId afterId

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
afterIdstringNão
limitintNão
tagsseq[string]Não

Resposta

Retorna: Option[GetFeedPostsResponse]

Exemplo

Exemplo de getFeedPosts
Copy Copy
1
2let (response, httpResponse) = client.getFeedPosts(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 limit = 0,
6 tags = @[]
7)
8if response.isSome:
9 let feed = response.get()
10 echo "Feed retrieved for tenant my-tenant-123"
11

getFeedPostsPublic Internal Link

req tenantId afterId

Parâmetros

NameTipoObrigatórioDescrição
tenantIdstringSim
afterIdstringNão
limitintNão
tagsseq[string]Não
ssostringNão
isCrawlerboolNão
includeUserInfoboolNão

Resposta

Retorna: Option[PublicFeedPostsResponse]

Exemplo

Exemplo 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)
11if response.isSome:
12 let feed = response.get()
13 discard feed
14

getFeedPostsStats Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
postIdsseq[string]Não
ssostringNão

Resposta

Retorna: Option[FeedPostsStatsResponse]

Exemplo

Exemplo de getFeedPostsStats
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsStats(tenantId = "my-tenant-123", postIds = @["news/article-2026", "opinion/market-trends"], sso = "")
3if response.isSome:
4 let stats = response.get()
5 echo "Received feed posts stats for tenant:", " my-tenant-123"
6 discard stats
7

getUserReactsPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
postIdsseq[string]Não
ssostringNão

Resposta

Retorna: Option[UserReactsResponse]

Exemplo

Exemplo de getUserReactsPublic
Copy Copy
1
2let (response, httpResponse) = client.getUserReactsPublic(
3 tenantId = "my-tenant-123",
4 postIds = @["news/article-2026", "blog/opinion-987"],
5 sso = ""
6)
7if response.isSome:
8 let reacts = response.get()
9 echo "Received user reacts for tenant: ", "my-tenant-123"
10

reactFeedPostPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
postIdstringNão
reactBodyParamsReactBodyParamsNão
isUndoboolNão
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[ReactFeedPostResponse]

Exemplo

Exemplo de reactFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.reactFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "news/article-2026-06-19",
5 reactBodyParams = ReactBodyParams(reactType = "heart", tags = @["breaking", "editorial"]),
6 isUndo = false,
7 broadcastId = "broadcast-789",
8 sso = "sso-token-abc123"
9)
10if response.isSome:
11 let react = response.get()
12 echo react
13else:
14 echo "No response from reactFeedPostPublic, HTTP status:", httpResponse.statusCode
15

updateFeedPost Internal Link

Parâmetros

NameTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
feedPostFeedPostNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateFeedPost
Copy Copy
1
2let feedPost: FeedPost = FeedPost(title: "City Council Approves New Waterfront Park",
3 content: "The council voted 5-2 to approve funding and a timeline for construction.",
4 tags: @["local", "parks", "city"],
5 published: true)
6
7let (response, httpResponse) = client.updateFeedPost(tenantId = "my-tenant-123", id = "post-456", feedPost = feedPost)
8
9if response.isSome:
10 let apiResp = response.get()
11 echo "Feed post updated successfully"
12 echo apiResp
13else:
14 echo "Failed to update feed post"
15 echo httpResponse
16

updateFeedPostPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
postIdstringNão
updateFeedPostParamsUpdateFeedPostParamsNão
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[CreateFeedPostResponse]

Exemplo

Exemplo de updateFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.updateFeedPostPublic(
3 tenantId = "my-tenant-123",
4 postId = "post-456",
5 updateFeedPostParams = UpdateFeedPostParams(title = "Weekly Product Update", content = "Released bug fixes and performance improvements in v2.1.", tags = @["release", "product"], pinned = false),
6 broadcastId = "",
7 sso = ""
8)
9if response.isSome:
10 let created = response.get()
11 echo "Updated feed post id: ", created.postId
12else:
13 echo "Update failed with HTTP status: ", httpResponse.status
14

flagCommentPublic Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
isFlaggedboolNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de flagCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.flagCommentPublic(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456789",
5 isFlagged = true,
6 sso = ""
7)
8
9if response.isSome:
10 let apiResp = response.get()
11 discard apiResp
12else:
13 discard httpResponse
14

getGifLarge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
largeInternalURLSanitizedstringNão

Resposta

Retorna: Option[GifGetLargeResponse]

Exemplo

Exemplo de getGifLarge
Copy Copy
1
2let (response, httpResponse) = client.getGifLarge(tenantId = "news-tenant-42", largeInternalURLSanitized = "")
3if response.isSome:
4 let gif = response.get()
5 echo "Received GifGetLargeResponse"
6 discard gif
7else:
8 echo "No gif returned, HTTP status: " & $httpResponse.status
9

getGifsSearch Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
searchstringNão
localestringNão
ratingstringNão
pagefloat64Não

Resposta

Retorna: Option[GetGifsSearchResponse]

Exemplo

Exemplo getGifsSearch
Copy Copy
1
2let (response, httpResponse) = client.getGifsSearch(
3 tenantId = "my-tenant-123",
4 search = "funny cat",
5 locale = "en-US",
6 rating = "PG",
7 page = 1.0
8)
9
10if response.isSome:
11 let gifs = response.get()
12 echo "Fetched GIFs response:", gifs
13

getGifsTrending Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
localestringNão
ratingstringNão
pagefloat64Não

Resposta

Retorna: Option[GetGifsTrendingResponse]

Exemplo

Exemplo de getGifsTrending
Copy Copy
1
2let (response, httpResponse) = client.getGifsTrending(tenantId = "my-tenant-123",
3 locale = "en-US",
4 rating = "pg-13",
5 page = 1.0)
6if response.isSome:
7 let trending = response.get()
8

addHashTag Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
createHashTagBodyCreateHashTagBodyNão

Resposta

Retorna: Option[CreateHashTagResponse]

Exemplo

Exemplo de addHashTag
Copy Copy
1
2let (response, httpResponse) = client.addHashTag(tenantId = "my-tenant-123",
3 createHashTagBody = CreateHashTagBody(name = "Breaking News",
4 slug = "breaking-news",
5 description = "Major breaking news items",
6 color = "#ff0000",
7 isTrending = true,
8 aliases = @["breaking", "news"]))
9if response.isSome:
10 let created = response.get()
11 echo created
12

addHashTagsBulk Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNão

Resposta

Retorna: Option[BulkCreateHashTagsResponse]

Exemplo

Exemplo de addHashTagsBulk
Copy Copy
1
2let (response, httpResponse) = client.addHashTagsBulk(tenantId = "my-tenant-123", bulkCreateHashTagsBody = BulkCreateHashTagsBody(hashTags = @["news", "breaking", "politics"], replaceExisting = false))
3if response.isSome:
4 let result = response.get()
5 echo "Bulk tags response:", result
6else:
7 echo "No response body, HTTP status:", httpResponse.statusCode
8

deleteHashTag Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tagstringNão
tenantIdstringSim
deleteHashTagRequestBodyDeleteHashTagRequestBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteHashTag
Copy Copy
1
2let (response, httpResponse) = client.deleteHashTag(
3 tag = "",
4 tenantId = "my-tenant-123",
5 deleteHashTagRequestBody = DeleteHashTagRequestBody()
6)
7
8if response.isSome:
9 let emptyResp = response.get()
10 echo "Deleted hashtag for tenant my-tenant-123; response:", $emptyResp, " status:", $httpResponse.status
11else:
12 echo "No response body; status:", $httpResponse.status
13

getHashTags Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
pagefloat64Não

Resposta

Retorna: Option[GetHashTagsResponse]

Exemplo

Exemplo de getHashTags
Copy Copy
1
2let (response, httpResponse) = client.getHashTags(tenantId = "news-portal-987", page = 2.0)
3if response.isSome:
4 let tagsResp = response.get()
5 echo "Received hashtags response"
6else:
7 echo "No hashtags returned"
8

patchHashTag Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tagstringNão
tenantIdstringSim
updateHashTagBodyUpdateHashTagBodyNão

Resposta

Retorna: Option[UpdateHashTagResponse]

Exemplo

Exemplo de patchHashTag
Copy Copy
1
2let (response, httpResponse) = client.patchHashTag(tag = "breaking-news", tenantId = "my-tenant-123", updateHashTagBody = UpdateHashTagBody())
3if response.isSome:
4 let updatedHashTag = response.get()
5 echo updatedHashTag
6

deleteModerationVote Internal Link


Parâmetros

NameTypeRequiredDescription
commentIdstringSim
voteIdstringNão
ssostringNão

Resposta

Retorna: Option[VoteDeleteResponse]

Exemplo

Exemplo de deleteModerationVote
Copy Copy
1
2let (response, httpResponse) = client.deleteModerationVote(commentId = "my-tenant-123/news/article-title/comment-987", voteId = "vote-456", sso = "sso-token-abc")
3if response.isSome:
4 let voteResp = response.get()
5 echo "Vote deleted:", voteResp
6else:
7 echo "Delete failed:", httpResponse
8

getApiComments Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
pagefloat64Não
countfloat64Não
textSearchstringNão
byIPFromCommentstringNão
filtersstringNão
searchFiltersstringNão
sortsstringNão
demoboolNão
ssostringNão

Resposta

Retorna: Option[ModerationAPIGetCommentsResponse]

Exemplo

Exemplo de getApiComments
Copy Copy
1
2let (response, httpResponse) = client.getApiComments(
3 page = 1.0,
4 count = 25.0,
5 textSearch = "opinion on climate summit",
6 byIPFromComment = "198.51.100.23",
7 filters = "status:approved",
8 searchFilters = "section:world",
9 sorts = "-createdAt",
10 demo = false,
11 sso = "sso-user-982bf"
12)
13
14if response.isSome:
15 let commentsResp = response.get()
16 echo "Retrieved comments response"
17else:
18 echo "No comments returned, HTTP status: ", httpResponse.status
19

getApiExportStatus Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
batchJobIdstringNão
ssostringNão

Resposta

Retorna: Option[ModerationExportStatusResponse]

Exemplo

Exemplo de getApiExportStatus
Copy Copy
1
2let (response, httpResponse) = client.getApiExportStatus(batchJobId = "export-job-2026-06-01", sso = "sso-abc123token")
3if response.isSome:
4 let exportStatus = response.get()
5 echo repr(exportStatus)
6else:
7 echo "No export status available, HTTP code: ", httpResponse.statusCode
8

getApiIds Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
textSearchstringNão
byIPFromCommentstringNão
filtersstringNão
searchFiltersstringNão
afterIdstringNão
demoboolNão
ssostringNão

Resposta

Retorna: Option[ModerationAPIGetCommentIdsResponse]

Exemplo

Exemplo de getApiIds
Copy Copy
1
2let (response, httpResponse) = client.getApiIds(
3 textSearch = "urgent moderation review",
4 byIPFromComment = "203.0.113.45",
5 filters = "status:pending,flagged",
6 searchFilters = "author:jane.doe@example.com",
7 afterId = "cmt_9f8e7d6a",
8 demo = false,
9 sso = "sso-token-6b7f9a"
10)
11
12if response.isSome:
13 let idsResp = response.get()
14 echo idsResp
15

getBanUsersFromComment Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[GetBannedUsersFromCommentResponse]

Exemplo

Exemplo de getBanUsersFromComment
Copy Copy
1
2let (response, httpResponse) = client.getBanUsersFromComment(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let bannedResp = response.get()
5 discard bannedResp
6else:
7 echo "No banned users found or request failed"
8

getCommentBanStatus Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[GetCommentBanStatusResponse]

Exemplo

Exemplo de getCommentBanStatus
Copy Copy
1
2let (response, httpResponse) = client.getCommentBanStatus(commentId = "cmt-987654321", sso = "")
3
4if response.isSome:
5 let banStatus = response.get()
6 echo "Ban status for comment cmt-987654321: ", banStatus
7else:
8 echo "No ban status returned for comment cmt-987654321"
9

getCommentChildren Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[ModerationAPIChildCommentsResponse]

Exemplo

Exemplo de getCommentChildren
Copy Copy
1
2let (response, httpResponse) = client.getCommentChildren(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let childResp = response.get()
5 discard childResp
6

getCount Internal Link

Parâmetros

NameTypeRequiredDescription
textSearchstringNão
byIPFromCommentstringNão
filterstringNão
searchFiltersstringNão
demoboolNão
ssostringNão

Resposta

Retorna: Option[ModerationAPICountCommentsResponse]

Exemplo

Exemplo de getCount
Copy Copy
1
2let (response, httpResponse) = client.getCount(
3 textSearch = "climate change",
4 byIPFromComment = "203.0.113.5",
5 filter = "status:approved",
6 searchFilters = "author:john.doe@example.com;tag:opinion",
7 demo = false,
8 sso = "sso_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
9)
10if response.isSome:
11 let countResp = response.get()
12 discard countResp
13 echo "Count response received"
14else:
15 echo "No count data returned"
16

getCounts Internal Link


Parâmetros

NameTypeRequiredDescription
ssostringNão

Resposta

Retorna: Option[GetBannedUsersCountResponse]

Exemplo

Exemplo de getCounts
Copy Copy
1
2let (response, httpResponse) = client.getCounts(sso = "sso_my-tenant-123_token_AbCdEf123456")
3if response.isSome:
4 let counts = response.get()
5 echo counts
6else:
7 echo "Request failed with status:", httpResponse.status
8

getLogs Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[ModerationAPIGetLogsResponse]

Exemplo

Exemplo de getLogs
Copy Copy
1
2let (response, httpResponse) = client.getLogs(commentId = "cmt-8471f2d3", sso = "")
3if response.isSome:
4 let logs = response.get()
5 echo "Fetched logs:", logs
6

getManualBadges Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
ssostringNão

Resposta

Retorna: Option[GetTenantManualBadgesResponse]

Exemplo

Exemplo de getManualBadges
Copy Copy
1
2let (response, httpResponse) = client.getManualBadges(sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")
3if response.isSome:
4 let badges = response.get()
5 echo "Manual badges received:"
6 echo badges
7else:
8 echo "No manual badges returned."
9 echo httpResponse
10

getManualBadgesForUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
badgesUserIdstringNão
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[GetUserManualBadgesResponse]

Exemplo

Exemplo de getManualBadgesForUser
Copy Copy
1
2let (response, httpResponse) = client.getManualBadgesForUser(
3 badgesUserId = "user-98765",
4 commentId = "comment-0a1b2c3d",
5 sso = "sso-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
6)
7if response.isSome:
8 let badges = response.get()
9 echo "Received manual badges for user"
10 echo "HTTP status: ", httpResponse.status
11

getModerationComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
includeEmailboolNão
includeIPboolNão
ssostringNão

Resposta

Retorna: Option[ModerationAPICommentResponse]

Exemplo

Exemplo de getModerationComment
Copy Copy
1
2let (response, httpResponse) = client.getModerationComment(commentId = "cmt-8f3b2a9d", includeEmail = false, includeIP = false, sso = "")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "No moderation comment returned"
8

getModerationCommentText Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[GetCommentTextResponse]

Exemplo

Exemplo de getModerationCommentText
Copy Copy
1
2let (response, httpResponse) = client.getModerationCommentText(commentId = "comment-9f8b7a6c", sso = "")
3if response.isSome:
4 let commentData = response.get()
5 echo "Moderation comment text retrieved"
6else:
7 echo "No moderation comment text available"
8

getPreBanSummary Internal Link

Parâmetros

NameTypeRequiredDescription
commentIdstringSim
includeByUserIdAndEmailboolNão
includeByIPboolNão
includeByEmailDomainboolNão
ssostringNão

Resposta

Retorna: Option[PreBanSummary]

Exemplo

Exemplo de getPreBanSummary
Copy Copy
1
2let commentId = "cmt-7423"
3let (response, httpResponse) = client.getPreBanSummary(
4 commentId = commentId,
5 includeByUserIdAndEmail = false,
6 includeByIP = false,
7 includeByEmailDomain = false,
8 sso = ""
9)
10if response.isSome:
11 let preBanSummary = response.get()
12 discard preBanSummary
13else:
14 discard httpResponse
15

getSearchCommentsSummary Internal Link

Parâmetros

NameTypeRequiredDescription
valuestringNão
filtersstringNão
searchFiltersstringNão
ssostringNão

Resposta

Retorna: Option[ModerationCommentSearchResponse]

Exemplo

Exemplo de getSearchCommentsSummary
Copy Copy
1
2let (response, httpResponse) = client.getSearchCommentsSummary(
3 value = "news/climate-change-2026",
4 filters = "{\"tenantId\":\"my-tenant-123\",\"siteId\":\"main-site\",\"status\":\"approved\"}",
5 searchFilters = "author:journalist@news.com OR content:climate",
6 sso = "sso-xyz-7890"
7)
8if response.isSome:
9 let summary = response.get()
10 echo "Received summary: ", $summary
11else:
12 echo "No summary returned, HTTP response: ", $httpResponse
13

getSearchPages Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
valuestringNão
ssostringNão

Resposta

Retorna: Option[ModerationPageSearchResponse]

Exemplo

Exemplo de getSearchPages
Copy Copy
1
2let (response, httpResponse) = client.getSearchPages(value = "news/politics/election-2024", sso = "sso-user-7f3b9c")
3if response.isSome:
4 let pageSearch = response.get()
5 echo "Moderation page search returned"
6else:
7 echo "No moderation pages found"
8

getSearchSites Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
valuestringNão
ssostringNão

Resposta

Retorna: Option[ModerationSiteSearchResponse]

Exemplo

Exemplo de getSearchSites
Copy Copy
1
2let (response, httpResponse) = client.getSearchSites(value = "news/2026-olympics", sso = "sso-user-9876-token")
3if response.isSome:
4 let searchResponse: ModerationSiteSearchResponse = response.get()
5 echo "Found sites for search:", searchResponse
6

getSearchSuggest Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
textSearchstringNão
ssostringNão

Resposta

Retorna: Option[ModerationSuggestResponse]

Exemplo

Exemplo de getSearchSuggest
Copy Copy
1
2let (response, httpResponse) = client.getSearchSuggest(textSearch = "suspicious comment with spammy links", sso = "sso-user-789")
3if response.isSome:
4 let suggest = response.get()
5 echo "ModerationSuggestResponse:"
6 echo suggest
7else:
8 echo "No moderation suggestions returned. HTTP status: ", httpResponse.status
9

getSearchUsers Internal Link

Parâmetros

NameTypeRequiredDescription
valuestringNão
ssostringNão

Resposta

Retorna: Option[ModerationUserSearchResponse]

Exemplo

Exemplo de getSearchUsers
Copy Copy
1
2let (response, httpResponse) = client.getSearchUsers(value = "john.doe@example.com", sso = "sso-acme-789")
3if response.isSome:
4 let searchRes = response.get()
5 echo "Search result:", searchRes
6else:
7 echo "No users found"
8

getTrustFactor Internal Link

Parâmetros

NameTypeRequiredDescription
userIdstringNão
ssostringNão

Resposta

Retorna: Option[GetUserTrustFactorResponse]

Exemplo

Exemplo de getTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.getTrustFactor(userId = "user-1001", sso = "sso-token-6f7d9c")
3if response.isSome:
4 let trust = response.get()
5 echo "Received trust factor for user-1001"
6else:
7 echo "No trust factor returned, HTTP status: ", $httpResponse.status
8

getUserBanPreference Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
ssostringNão

Resposta

Retorna: Option[APIModerateGetUserBanPreferencesResponse]

Exemplo

Exemplo de getUserBanPreference
Copy Copy
1
2let (response, httpResponse) = client.getUserBanPreference(sso = "sso-jwt-7f3a9b")
3if response.isSome:
4 let prefs = response.get()
5 echo "User ban preferences:", prefs
6else:
7 echo "No ban preference found"
8

getUserInternalProfile Internal Link

Parâmetros

NameTypeRequiredDescription
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[GetUserInternalProfileResponse]

Exemplo

Exemplo de getUserInternalProfile
Copy Copy
1
2let (response, httpResponse) = client.getUserInternalProfile(commentId = "cmt-2026-00042", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoibXl1c2VyIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let profile = response.get()
5 discard profile
6

postAdjustCommentVotes Internal Link

Parâmetros

NameTypeRequiredDescription
commentIdstringSim
adjustCommentVotesParamsAdjustCommentVotesParamsNão
ssostringNão

Response

Retorna: Option[AdjustVotesResponse]

Exemplo

Exemplo de postAdjustCommentVotes
Copy Copy
1
2let (response, httpResponse) = client.postAdjustCommentVotes(commentId = "cmt-987654", adjustCommentVotesParams = nil, sso = "sso-token-abc123")
3if response.isSome:
4 let adjusted = response.get()
5 discard adjusted
6

postApiExport Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
ssostringNo

Resposta

Retorna: Option[ModerationExportResponse]

Exemplo

Exemplo de postApiExport
Copy Copy
1
2let (response, httpResponse) = client.postApiExport(
3 textSearch = "offensive language and spam",
4 byIPFromComment = "203.0.113.45",
5 filters = "{\"status\":\"pending\",\"severity\":\"high\"}",
6 searchFilters = "authorEmail:editor@news-site.com",
7 sorts = "-createdAt",
8 sso = "sso-session-token-9f8b7c"
9)
10if response.isSome:
11 let exportResp = response.get()
12 echo "Moderation export received:", exportResp
13else:
14 echo "No export returned, HTTP status:", httpResponse.status.code
15

postBanUserFromComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
banEmailboolNão
banEmailDomainboolNão
banIPboolNão
deleteAllUsersCommentsboolNão
bannedUntilstringNão
isShadowBanboolNão
updateIdstringNão
banReasonstringNão
ssostringNão

Resposta

Retorna: Option[BanUserFromCommentResult]

Exemplo

Exemplo de postBanUserFromComment
Copy Copy
1
2let (response, httpResponse) = client.postBanUserFromComment(
3 commentId = "cmt-8f3a1b",
4 banEmail = false,
5 banEmailDomain = false,
6 banIP = false,
7 deleteAllUsersComments = false,
8 bannedUntil = "",
9 isShadowBan = false,
10 updateId = "",
11 banReason = "",
12 sso = ""
13)
14if response.isSome:
15 let banResult = response.get()
16 discard banResult
17else:
18 echo "No ban result returned"
19

postBanUserUndo Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
banUserUndoParamsBanUserUndoParamsNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de postBanUserUndo
Copy Copy
1
2let banParams = BanUserUndoParams(
3 tenantId = "my-tenant-123",
4 userId = "user-987",
5 undoneBy = "moderator-42",
6 reason = "Reinstated after manual review"
7)
8let (response, httpResponse) = client.postBanUserUndo(banUserUndoParams = banParams, sso = "sso-jwt-abc123")
9if response.isSome:
10 let apiResp = response.get()
11 echo "Ban undo succeeded, http status: " & $httpResponse.status
12else:
13 echo "Ban undo failed, http status: " & $httpResponse.status
14

postBulkPreBanSummary Internal Link

Parâmetros

NameTypeRequiredDescription
bulkPreBanParamsBulkPreBanParamsNão
includeByUserIdAndEmailboolNão
includeByIPboolNão
includeByEmailDomainboolNão
ssostringNão

Resposta

Retorna: Option[BulkPreBanSummary]

Exemplo

Exemplo de postBulkPreBanSummary
Copy Copy
1
2let bulkParams = BulkPreBanParams(
3 tenantId = "my-tenant-123",
4 userIds = @["user-456", "user-789"],
5 emails = @["spammer@example.com", "bot@malicious.org"],
6 ipAddresses = @["203.0.113.5", "198.51.100.42"],
7 emailDomains = @["malicious.org"]
8)
9
10let (response, httpResponse) = client.postBulkPreBanSummary(
11 bulkPreBanParams = bulkParams,
12 includeByUserIdAndEmail = true,
13 includeByIP = true,
14 includeByEmailDomain = false,
15 sso = "sso-token-abc123"
16)
17
18if response.isSome:
19 let summary = response.get()
20 echo "Pre-ban summary:", summary
21

postCommentsByIds Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentsByIdsParamsCommentsByIdsParamsNão
ssostringNão

Resposta

Retorna: Option[ModerationAPIChildCommentsResponse]

Exemplo

Exemplo de postCommentsByIds
Copy Copy
1
2let commentsParams = CommentsByIdsParams(ids = @["cmt-1001", "cmt-1002"], includeReplies = true, maxDepth = 2)
3let (response, httpResponse) = client.postCommentsByIds(commentsByIdsParams = commentsParams, sso = "sso-user-7f3a9b")
4if response.isSome:
5 let result = response.get()
6 echo "Received child comments response: ", result
7

postFlagComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de postFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postFlagComment(commentId = "comment-742", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment flagged successfully"
6else:
7 echo "Failed to flag comment"
8

postRemoveComment Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[PostRemoveCommentResponse]

Exemplo

Exemplo de postRemoveComment
Copy Copy
1
2let (response, httpResponse) = client.postRemoveComment(commentId = "cmt-987654321", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.abc123.signature")
3if response.isSome:
4 let removed = response.get()
5 echo "Comment removed:", removed
6else:
7 echo "Failed to remove comment, HTTP response:", httpResponse
8

postRestoreDeletedComment Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

postRestoreDeletedComment Exemplo
Copy Copy
1
2let (response, httpResponse) = client.postRestoreDeletedComment(commentId = "comment-8a7b6c5d", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SAMPLE_SIGNATURE")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment restored:", apiResp
6else:
7 echo "Restore request failed"
8

postSetCommentApprovalStatus Internal Link

Parâmetros

NameTypeRequiredDescription
commentIdstringSim
approvedboolNão
ssostringNão

Resposta

Retorna: Option[SetCommentApprovedResponse]

Exemplo

Exemplo de postSetCommentApprovalStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentApprovalStatus(commentId = "cmt-7890", approved = false, sso = "")
3if response.isSome:
4 let setResp = response.get()
5 discard setResp
6

postSetCommentReviewStatus Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
reviewedboolNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de postSetCommentReviewStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentReviewStatus(
3 commentId = "cmt-98765-news-article",
4 reviewed = false,
5 sso = ""
6)
7if response.isSome:
8 let apiResp = response.get()
9 echo "Review status updated"
10else:
11 echo "Failed to update review status: " & $httpResponse.status
12

postSetCommentSpamStatus Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
spamboolNão
permNotSpamboolNão
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

postSetCommentSpamStatus Exemplo
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentSpamStatus(
3 commentId = "cmt-20250619-842",
4 spam = false,
5 permNotSpam = false,
6 sso = ""
7)
8if response.isSome:
9 let apiEmpty = response.get()
10 discard apiEmpty
11

postSetCommentText Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
setCommentTextParamsSetCommentTextParamsNão
ssostringNão

Resposta

Retorna: Option[SetCommentTextResponse]

Exemplo

postSetCommentText Example
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentText(commentId = "comment-4821",
3 setCommentTextParams = SetCommentTextParams(text = "Updated comment to clarify the main point and fix a typo."),
4 sso = "sso-user-8f3b9c")
5
6if response.isSome:
7 let setCommentResp = response.get()
8 echo "Received SetCommentTextResponse"
9

postUnFlagComment Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de postUnFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postUnFlagComment(commentId = "comment-8f3a2b4e", sso = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Comment unflagged successfully, response: ", apiEmpty
6else:
7 echo "Failed to unflag comment. HTTP response: ", httpResponse
8

postVote Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
commentIdstringSim
directionstringNão
ssostringNão

Resposta

Retorna: Option[VoteResponse]

Exemplo

Exemplo de postVote
Copy Copy
1
2let (response, httpResponse) = client.postVote(commentId = "comment-4f3a9e", direction = "up", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoidXNlci0xMjMifQ.signedPart")
3if response.isSome:
4 let vote = response.get()
5 echo "Vote recorded:", vote
6else:
7 echo "No vote returned"
8

putAwardBadge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
badgeIdstringNão
userIdstringNão
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[AwardUserBadgeResponse]

Exemplo

Exemplo de putAwardBadge
Copy Copy
1
2let (response, httpResponse) = client.putAwardBadge(
3 badgeId = "gold-contributor",
4 userId = "user-8723",
5 commentId = "cmt-54a3b2",
6 broadcastId = "",
7 sso = ""
8)
9if response.isSome:
10 let award = response.get()
11 echo "Awarded badge received"
12else:
13 echo "No award response"
14

putCloseThread Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
urlIdstringSim
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de putCloseThread
Copy Copy
1
2let (response, httpResponse) = client.putCloseThread(urlId = "news/article-title", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Thread closed successfully:", $apiResp
6else:
7 echo "Failed to close thread, HTTP response:", $httpResponse
8

putRemoveBadge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
badgeIdstringNão
userIdstringNão
commentIdstringSim
broadcastIdstringNão
ssostringNão

Resposta

Retorna: Option[RemoveUserBadgeResponse]

Exemplo

Exemplo putRemoveBadge
Copy Copy
1
2let (response, httpResponse) = client.putRemoveBadge(badgeId = "verified-journalist",
3 userId = "user-7890",
4 commentId = "comment-98765",
5 broadcastId = "",
6 sso = "")
7
8if response.isSome:
9 let removeResp = response.get()
10 discard removeResp
11else:
12 discard httpResponse
13

putReopenThread Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
urlIdstringSim
ssostringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de putReopenThread
Copy Copy
1
2let (response, httpResponse) = client.putReopenThread(urlId = "news/2026-election-analysis", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Reopen succeeded, response: ", apiResp
6else:
7 echo "Reopen failed, HTTP status: ", httpResponse.status
8

setTrustFactor Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
userIdstringNão
trustFactorstringNão
ssostringNão

Resposta

Retorna: Option[SetUserTrustFactorResponse]

Exemplo

Exemplo de setTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.setTrustFactor(userId = "user-9876", trustFactor = "high", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTk4NzYiLCJpYXQiOjE2MjQwMDAwMDB9.signature")
3if response.isSome:
4 let resultObj = response.get()
5 echo resultObj
6else:
7 echo "No response received"
8

createModerator Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createModeratorBodyCreateModeratorBodyNão

Resposta

Retorna: Option[CreateModeratorResponse]

Exemplo

Exemplo de createModerator
Copy Copy
1
2var body: CreateModeratorBody
3body.username = "alice.moderator"
4body.displayName = "Alice Moderator"
5body.email = "alice@news-site.com"
6body.enabled = true
7body.roles = @["moderator"]
8body.notes = ""
9
10let (response, httpResponse) = client.createModerator(tenantId = "my-tenant-123", createModeratorBody = body)
11if response.isSome:
12 let created = response.get()
13 echo "Created moderator ID: ", created.id
14

deleteModerator Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
sendEmailstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteModerator
Copy Copy
1
2let (response, httpResponse) = client.deleteModerator(tenantId = "my-tenant-123", id = "", sendEmail = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Moderator deleted successfully for tenant my-tenant-123"
6else:
7 echo "No response returned; inspect httpResponse"
8

getModerator Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetModeratorResponse]

Exemplo

Exemplo de getModerator
Copy Copy
1
2let (response, httpResponse) = client.getModerator(tenantId = "my-tenant-123", id = "mod-456")
3if response.isSome:
4 let moderator = response.get()
5 echo moderator
6else:
7 echo "Moderator not found, HTTP status: ", $httpResponse.status
8

getModerators Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
skipfloat64Não

Resposta

Retorna: Option[GetModeratorsResponse]

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 "Received moderators response:", moderators
6else:
7 echo "No moderators returned"
8

updateModerator Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateModeratorBodyUpdateModeratorBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateModerator
Copy Copy
1
2let modBody: UpdateModeratorBody = UpdateModeratorBody(
3 displayName = "Alice Moderator",
4 email = "alice@newsdaily.com",
5 isActive = true,
6 permissions = @["delete_comments", "ban_users"]
7)
8
9let (response, httpResponse) = client.updateModerator(tenantId = "news-tenant-456", id = "moderator-789", updateModeratorBody = modBody)
10
11if response.isSome:
12 let apiEmpty = response.get()
13 echo "Moderator updated successfully. HTTP status: ", httpResponse.status
14else:
15 echo "Failed to update moderator. HTTP status: ", httpResponse.status
16

deleteNotificationCount Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.deleteNotificationCount(tenantId = "my-tenant-123", id = "notification-789")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Notification count deleted for tenant: ", "my-tenant-123"
6else:
7 echo "Failed to delete notification count, status: ", $httpResponse.statusCode
8

getCachedNotificationCount Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetCachedNotificationCountResponse]

Exemplo

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

getNotificationCount Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
userIdstringNão
urlIdstringSim
fromCommentIdstringNão
viewedboolNão

Resposta

Retorna: Option[GetNotificationCountResponse]

Exemplo

Exemplo de getNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getNotificationCount(tenantId = "my-tenant-123", userId = "user-987", urlId = "news/2026/06/election-results", fromCommentId = "", viewed = false)
3if response.isSome:
4 let notifyData = response.get()
5 echo notifyData
6

getNotifications Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
userIdstringNão
urlIdstringSim
fromCommentIdstringNão
viewedboolNão
skipfloat64Não

Resposta

Retorna: Option[GetNotificationsResponse]

Exemplo

Exemplo de getNotifications
Copy Copy
1
2let (response, httpResponse) = client.getNotifications(tenantId = "my-tenant-123", userId = "user-456", urlId = "news/article-title", fromCommentId = "cmt-789", viewed = false, skip = 0.0)
3if response.isSome:
4 let notifications = response.get()
5 echo notifications
6

updateNotification Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateNotificationBodyUpdateNotificationBodyNão
userIdstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateNotification
Copy Copy
1
2let (response, httpResponse) = client.updateNotification(
3 tenantId = "my-tenant-123",
4 id = "notif-456",
5 updateNotificationBody = UpdateNotificationBody(
6 enabled = true,
7 channels = @["email", "push"],
8 frequency = "immediate"
9 ),
10 userId = "user-789"
11)
12
13if response.isSome:
14 let apiEmpty = response.get()
15 discard apiEmpty
16

createV1PageReact Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
urlIdstringSim
titlestringNão

Resposta

Retorna: Option[CreateV1PageReact]

Exemplo

Exemplo de createV1PageReact
Copy Copy
1
2let (response, httpResponse) = client.createV1PageReact(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/market-rally",
5 title = "Breaking News: Markets Rally Today"
6)
7
8if response.isSome:
9 let pageReact = response.get()
10 echo "Page react created: ", pageReact
11else:
12 echo "Failed to create page react: ", httpResponse
13

createV2PageReact Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
idstringNão
titlestringNão

Resposta

Retorna: Option[CreateV1PageReact]

Exemplo

Exemplo de createV2PageReact
Copy Copy
1
2let (response, httpResponse) = client.createV2PageReact(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/06/fastcomments-release",
5 id = "",
6 title = ""
7)
8if response.isSome:
9 let react = response.get()
10 echo "Created page react: ", $react
11else:
12 echo "No react returned, HTTP status: ", $httpResponse.statusCode
13

deleteV1PageReact Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
urlIdstringSim

Resposta

Retorna: Option[CreateV1PageReact]

Exemplo

Exemplo de deleteV1PageReact
Copy Copy
1
2let (response, httpResponse) = client.deleteV1PageReact(tenantId = "my-tenant-123", urlId = "news/article-title")
3if response.isSome:
4 let deletedReact = response.get()
5 echo "Deleted react:", deletedReact
6else:
7 echo "No react returned for tenant: my-tenant-123, url: news/article-title"
8

deleteV2PageReact Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
idstringNão

Resposta

Retorna: Option[CreateV1PageReact]

Exemplo

Exemplo de deleteV2PageReact
Copy Copy
1
2let (response, httpResponse) = client.deleteV2PageReact(tenantId = "my-tenant-123", urlId = "news/2026/politics-election", id = "react-456")
3if response.isSome:
4 let react = response.get()
5 echo react
6else:
7 echo "No reaction returned, status: ", httpResponse.status
8

getV1PageLikes Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim

Resposta

Retorna: Option[GetV1PageLikes]

Exemplo

Exemplo de getV1PageLikes
Copy Copy
1
2let (response, httpResponse) = client.getV1PageLikes(tenantId = "my-tenant-123", urlId = "news/how-to-train-your-dragon")
3if response.isSome:
4 let pageLikes = response.get()
5 echo "Fetched page likes for url:", "news/how-to-train-your-dragon"
6else:
7 echo "No likes returned for url:", "news/how-to-train-your-dragon"
8

getV2PageReacts Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim

Resposta

Retorna: Option[GetV2PageReacts]

Exemplo

Exemplo de getV2PageReacts
Copy Copy
1
2let (response, httpResponse) = client.getV2PageReacts(tenantId = "my-tenant-123", urlId = "news/elections/2026/us-primary-results")
3if response.isSome:
4 let reacts = response.get()
5 echo "Received reacts: ", $reacts
6else:
7 echo "No reacts available"
8

getV2PageReactUsers Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
idstringNão

Resposta

Retorna: Option[GetV2PageReactUsersResponse]

Exemplo

Exemplo de getV2PageReactUsers
Copy Copy
1
2let (response, httpResponse) = client.getV2PageReactUsers(tenantId = "my-tenant-123", urlId = "news/article-title", id = "")
3if response.isSome:
4 let usersResp = response.get()
5 echo repr(usersResp)
6else:
7 echo "No page react users returned. HTTP response: ", repr(httpResponse)
8

addPage Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createAPIPageDataCreateAPIPageDataNã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

deletePage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNã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

getOfflineUsers Internal Link

Comentadores anteriores na página que NÃO estão atualmente online. Ordenados por displayName. Use isto após esgotar /users/online para renderizar uma seção "Membros". Paginação por cursor em commenterName: o servidor percorre o parcial {tenantId, urlId, commenterName} index a partir de afterName para frente via $gt, sem custo de $skip.

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
afterNamestringNão
afterUserIdstringNão

Resposta

Retorna: Option[PageUsersOfflineResponse]

Exemplo

Exemplo de getOfflineUsers
Copy Copy
1
2let (response, httpResponse) = client.getOfflineUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-how-to-code",
5 afterName = "",
6 afterUserId = ""
7)
8
9if response.isSome:
10 let offlinePage = response.get()
11 echo "Received offline users page"
12 discard httpResponse.statusCode
13

getOnlineUsers Internal Link

Atualmente, visualizadores online de uma página: pessoas cuja sessão WebSocket está inscrita na página agora. Retorna anonCount + totalCount (assinantes da sala inteira, incluindo visualizadores anônimos que não enumeramos).

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
afterNamestringNão
afterUserIdstringNão

Resposta

Retorna: Option[PageUsersOnlineResponse]

Exemplo

Exemplo de getOnlineUsers
Copy Copy
1
2let (response, httpResponse) = client.getOnlineUsers(tenantId = "my-tenant-123", urlId = "news/politics/top-story", afterName = "", afterUserId = "")
3if response.isSome:
4 let page = response.get()
5 echo "Received online users page:"
6 echo page
7else:
8 echo "No online users returned. HTTP status: ", httpResponse.statusCode
9

getPageByURLId Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim

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

getPages Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim

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

getPagesPublic Internal Link


Lista de páginas para um tenant. Usado pelo cliente desktop FChat para preencher a sua lista de salas. Requer que enableFChat seja true na configuração customizada resolvida para cada página. Páginas que requerem SSO são filtradas de acordo com o acesso de grupo do usuário solicitante.

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
cursorstringNão
limitintNão
qstringNão
sortByPagesSortByNão
hasCommentsboolNão

Resposta

Retorna: Option[GetPublicPagesResponse]

Exemplo

Exemplo de getPagesPublic
Copy Copy
1
2let (response, httpResponse) = client.getPagesPublic(
3 tenantId = "my-tenant-123",
4 cursor = "",
5 limit = 0,
6 q = "",
7 sortBy = PagesSortBy(0),
8 hasComments = false
9)
10
11if response.isSome:
12 let pages = response.get()
13 echo "Retrieved public pages: ", $pages
14else:
15 echo "No pages returned, HTTP status: ", $httpResponse.status
16

getUsersInfo Internal Link

Informações em massa de usuários para um tenant. Dado userIds, retorna as informações de exibição de User / SSOUser. Usado pelo widget de comentários para enriquecer usuários que acabaram de aparecer via um evento de presença. Sem contexto de página: a privacidade é aplicada de forma uniforme (perfis privados são mascarados).

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idsstringNão

Resposta

Retorna: Option[PageUsersInfoResponse]

Exemplo

Exemplo de getUsersInfo
Copy Copy
1
2let (response, httpResponse) = client.getUsersInfo(tenantId = "my-tenant-123", ids = "user-42,user-87")
3if response.isSome:
4 let usersInfo = response.get()
5 echo "Retrieved users info:", usersInfo
6else:
7 echo "No users info returned. HTTP status:", httpResponse.status
8

patchPage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateAPIPageDataUpdateAPIPageDataNã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

deletePendingWebhookEvent Internal Link

Parâmetros

NameTypeObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deletePendingWebhookEvent
Copy Copy
1
2let (response, httpResponse) = client.deletePendingWebhookEvent(tenantId = "my-tenant-123", id = "wh_evt_9f8b7a6c")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Pending webhook event deleted for tenant my-tenant-123"
6else:
7 echo "Failed to delete pending webhook event"
8

getPendingWebhookEventCount Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
externalIdstringNão
eventTypestringNão
domainstringNão
attemptCountGTfloat64Não

Resposta

Retorna: Option[GetPendingWebhookEventCountResponse]

Exemplo

Exemplo de getPendingWebhookEventCount
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEventCount(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-456abc",
5 externalId = "ext-7890",
6 eventType = "comment_created",
7 domain = "news.example.com",
8 attemptCountGT = 2.0
9)
10
11if response.isSome:
12 let pending = response.get()
13 echo pending
14else:
15 echo "No pending webhook event count returned; HTTP status: ", httpResponse.status
16

getPendingWebhookEvents Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
externalIdstringNão
eventTypestringNão
domainstringNão
attemptCountGTfloat64Não
skipfloat64Não

Resposta

Retorna: Option[GetPendingWebhookEventsResponse]

Exemplo

Exemplo de getPendingWebhookEvents
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEvents(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654",
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

createQuestionConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createQuestionConfigBodyCreateQuestionConfigBodyNão

Resposta

Retorna: Option[CreateQuestionConfigResponse]

Exemplo

createQuestionConfig Exemplo
Copy Copy
1
2let (response, httpResponse) = client.createQuestionConfig(
3 tenantId = "my-tenant-123",
4 createQuestionConfigBody = CreateQuestionConfigBody(
5 label = "Article Question",
6 required = true,
7 minLength = 20,
8 maxLength = 1000,
9 allowedTags = @["comment","question","feedback"],
10 notifyModerators = false
11 )
12)
13if response.isSome:
14 let cfg = response.get()
15 echo "Created question config id: ", cfg.id
16

deleteQuestionConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteQuestionConfig(tenantId = "my-tenant-123", id = "")
3
4if response.isSome:
5 let deleted = response.get()
6 echo "Question config deleted for tenant: ", "my-tenant-123"
7else:
8 echo "Failed to delete question config"
9

getQuestionConfig Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetQuestionConfigResponse]

Exemplo

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

getQuestionConfigs Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
skipfloat64Não

Resposta

Retorna: Option[GetQuestionConfigsResponse]

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 echo "Received question configs for tenant my-tenant-123"
6 echo configs
7else:
8 echo "No question configs returned"
9

updateQuestionConfig Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateQuestionConfigBodyUpdateQuestionConfigBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionConfig(tenantId = "my-tenant-123", id = "question-config-456", updateQuestionConfigBody = default(UpdateQuestionConfigBody))
3if response.isSome:
4 let apiEmpty = response.get()
5 discard apiEmpty
6

createQuestionResult Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createQuestionResultBodyCreateQuestionResultBodyNão

Resposta

Retorna: Option[CreateQuestionResultResponse]

Exemplo

Exemplo de createQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.createQuestionResult(
3 tenantId = "my-tenant-123",
4 createQuestionResultBody = CreateQuestionResultBody(
5 questionId = "q-2026-001",
6 userId = "user-42",
7 correct = true,
8 score = 95,
9 tags = @["news","reader-question"]
10 )
11)
12if response.isSome:
13 let result = response.get()
14 echo "Created question result id: ", result.id
15 echo "HTTP status: ", httpResponse.status.code
16

deleteQuestionResult Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteQuestionResult
Copy Copy
1
2let tenantId = "my-tenant-123"
3let resultId = "question-result-456"
4let (response, httpResponse) = client.deleteQuestionResult(tenantId = tenantId, id = resultId)
5if response.isSome:
6 let emptyResp = response.get()
7 echo "Deleted question result:", resultId
8

getQuestionResult Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetQuestionResultResponse]

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 "Question result received:"
6 echo result
7else:
8 echo "No question result returned, HTTP status: ", $httpResponse.status
9

getQuestionResults Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
userIdstringNão
startDatestringNão
questionIdstringNão
questionIdsstringNão
skipfloat64Não

Resposta

Retorna: Option[GetQuestionResultsResponse]

Exemplo

Exemplo de getQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResults(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/election-analysis",
5 userId = "user-42",
6 startDate = "2026-06-01T00:00:00Z",
7 questionId = "q-6789",
8 questionIds = @["q-6789", "q-6790"],
9 skip = 0.0
10)
11if response.isSome:
12 let results = response.get()
13 echo "Received question results"
14else:
15 echo "No results returned"
16

updateQuestionResult Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão
updateQuestionResultBodyUpdateQuestionResultBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionResult(
3 tenantId = "my-tenant-123",
4 id = "question-result-456",
5 updateQuestionResultBody = UpdateQuestionResultBody(
6 questionId: "q-789",
7 userId: "user-42",
8 score: 92,
9 passed: true,
10 tags: @["quiz", "math"]
11 )
12)
13if response.isSome:
14 let apiResp = response.get()
15 echo "Question result updated successfully"
16else:
17 echo "No response body; HTTP status: ", httpResponse.status.code
18

aggregateQuestionResults Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
questionIdstringNão
questionIdsseq[string]Não
urlIdstringSim
timeBucketAggregateTimeBucketNão
startDatestringNão
forceRecalculateboolNão

Resposta

Retorna: Option[AggregateQuestionResultsResponse]

Exemplo

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

bulkAggregateQuestionResults Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestNão
forceRecalculateboolNão

Resposta

Retorna: Option[BulkAggregateQuestionResultsResponse]

Exemplo

Exemplo de bulkAggregateQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.bulkAggregateQuestionResults(
3 tenantId = "my-tenant-123",
4 bulkAggregateQuestionResultsRequest = BulkAggregateQuestionResultsRequest(),
5 forceRecalculate = false
6)
7
8if response.isSome:
9 let aggregated = response.get()
10 echo "Aggregated question results received"
11

combineCommentsWithQuestionResults Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
questionIdstringNão
questionIdsseq[string]Não
urlIdstringSim
startDatestringNão
forceRecalculateboolNão
minValuefloat64Não
maxValuefloat64Não
limitfloat64Não

Resposta

Retorna: Option[CombineQuestionResultsWithCommentsResponse]

Exemplo

Exemplo de combineCommentsWithQuestionResults
Copy Copy
1
2let (response, httpResponse) = client.combineCommentsWithQuestionResults(
3 tenantId = "my-tenant-123",
4 questionId = "",
5 questionIds = @[],
6 urlId = "news/article-2026-climate-change",
7 startDate = "",
8 forceRecalculate = false,
9 minValue = 0.0,
10 maxValue = 0.0,
11 limit = 0.0
12)
13
14if response.isSome:
15 let combined = response.get()
16 echo "Combined results received for tenant:", " my-tenant-123"
17else:
18 echo "No combined results returned"
19

addSSOUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createAPISSOUserDataCreateAPISSOUserDataNã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

deleteSSOUser Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão
deleteCommentsboolNão
commentDeleteModestringNã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

getSSOUserByEmail Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
emailstringNã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

getSSOUserById Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNã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

getSSOUsers Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
skipintNão

Resposta

Retorna: Option[GetSSOUsersResponse]

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 ssoUsers
6else:
7 echo "No SSO users returned; HTTP response:", httpResponse
8

patchSSOUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateAPISSOUserDataUpdateAPISSOUserDataNão
updateCommentsboolNã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

putSSOUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateAPISSOUserDataUpdateAPISSOUserDataNão
updateCommentsboolNã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

createSubscription Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataNã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

deleteSubscription Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
userIdstringNã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

getSubscriptions Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
userIdstringNã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

updateSubscription Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataNão
userIdstringNão

Resposta

Retorna: Option[UpdateSubscriptionAPIResponse]

Exemplo

Exemplo de updateSubscription
Copy Copy
1
2let (response, httpResponse) = client.updateSubscription(
3 tenantId = "my-tenant-123",
4 id = "sub-456",
5 updateAPIUserSubscriptionData = UpdateAPIUserSubscriptionData(
6 subscribed = true,
7 channels = @["email", "push"]
8 ),
9 userId = "user-789"
10)
11
12if response.isSome:
13 let updated = response.get()
14 echo "Subscription updated:", updated
15else:
16 echo "Update failed, HTTP response:", httpResponse
17

getTenantDailyUsages Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
yearNumberfloat64Não
monthNumberfloat64Não
dayNumberfloat64Não
skipfloat64Não

Resposta

Retorna: Option[GetTenantDailyUsagesResponse]

Exemplo

Exemplo getTenantDailyUsages
Copy Copy
1
2let (response, httpResponse) = client.getTenantDailyUsages(
3 tenantId = "my-tenant-123",
4 yearNumber = 2026.0,
5 monthNumber = 6.0,
6 dayNumber = 19.0,
7 skip = 0.0
8)
9
10if response.isSome:
11 let usage = response.get()
12 discard usage
13

createTenantPackage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createTenantPackageBodyCreateTenantPackageBodyNão

Resposta

Retorna: Option[CreateTenantPackageResponse]

Exemplo

Exemplo de createTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.createTenantPackage(tenantId = "my-tenant-123", createTenantPackageBody = CreateTenantPackageBody())
3
4if response.isSome:
5 let pkg = response.get()
6 echo "Created tenant package: ", $pkg
7else:
8 echo "Failed to create tenant package, HTTP response: ", $httpResponse
9

deleteTenantPackage Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantPackage(tenantId = "my-tenant-123", id = "package-987")
3if response.isSome:
4 let emptyResp = response.get()
5 echo emptyResp
6else:
7 echo "Failed to delete tenant package"
8

getTenantPackage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetTenantPackageResponse]

Exemplo

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

getTenantPackages Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
skipfloat64Não

Response

Retorna: Option[GetTenantPackagesResponse]

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 tenant packages:"
6 echo packages
7else:
8 echo "No packages found for tenant 'my-tenant-123'"
9

replaceTenantPackage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
replaceTenantPackageBodyReplaceTenantPackageBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de replaceTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.replaceTenantPackage(
3 tenantId = "my-tenant-123",
4 id = "pkg-987",
5 replaceTenantPackageBody = ReplaceTenantPackageBody(
6 name = "Premium Plan",
7 priceCents = 999,
8 seats = 50,
9 enabled = true,
10 features = @["moderation", "analytics", "priority-support"]
11 )
12)
13
14if response.isSome:
15 let apiEmpty = response.get()
16 discard apiEmpty
17

updateTenantPackage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateTenantPackageBodyUpdateTenantPackageBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateTenantPackage
Copy Copy
1
2let packageBody = UpdateTenantPackageBody(
3 name: "Pro Plan",
4 priceCents: 1999,
5 active: true,
6 features: @["priority-support", "advanced-moderation"]
7)
8
9let (response, httpResponse) = client.updateTenantPackage(
10 tenantId = "my-tenant-123",
11 id = "pkg-789",
12 updateTenantPackageBody = packageBody
13)
14
15if response.isSome:
16 let apiEmpty = response.get()
17 echo "Tenant package updated successfully, HTTP status: " & $httpResponse.status
18

createTenantUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createTenantUserBodyCreateTenantUserBodyNão

Resposta

Retorna: Option[CreateTenantUserResponse]

Exemplo

Exemplo de createTenantUser
Copy Copy
1
2let (response, httpResponse) = client.createTenantUser(tenantId = "my-tenant-123",
3 createTenantUserBody = CreateTenantUserBody(userId = "user-456",
4 email = "jane.doe@example.com",
5 displayName = "Jane Doe",
6 roles = @["editor"],
7 isAdmin = false))
8if response.isSome:
9 let created = response.get()
10 discard created
11

deleteTenantUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
deleteCommentsstringNão
commentDeleteModestringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de deleteTenantUser
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantUser(tenantId = "my-tenant-123", id = "user-789", deleteComments = "true", commentDeleteMode = "soft")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Tenant user deleted, response: ", apiResp
6else:
7 echo "Failed to delete tenant user, HTTP status: ", $httpResponse.status
8

getTenantUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetTenantUserResponse]

Exemplo

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

getTenantUsers Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
skipfloat64Não

Resposta

Retorna: Option[GetTenantUsersResponse]

Exemplo

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

replaceTenantUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
replaceTenantUserBodyReplaceTenantUserBodyNão
updateCommentsstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de replaceTenantUser
Copy Copy
1
2let body = ReplaceTenantUserBody(
3 displayName = "Jane Doe",
4 email = "jane.doe@example.com",
5 externalId = "jdoe-789",
6 admin = false,
7 enabled = true,
8 tags = @["editor", "subscriber"]
9)
10
11let (response, httpResponse) = client.replaceTenantUser(
12 tenantId = "my-tenant-123",
13 id = "user-456",
14 replaceTenantUserBody = body,
15 updateComments = "true"
16)
17
18if response.isSome:
19 let apiEmpty = response.get()
20 echo "ReplaceTenantUser succeeded, http status:", httpResponse.status
21

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
redirectURLstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de sendLoginLink
Copy Copy
1
2let (response, httpResponse) = client.sendLoginLink(tenantId = "my-tenant-123", id = "user-456", redirectURL = "https://app.newsportal.com/welcome")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Login link sent successfully"
6else:
7 echo "Failed to send login link, HTTP status: ", $httpResponse.status
8

updateTenantUser Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateTenantUserBodyUpdateTenantUserBodyNão
updateCommentsstringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateTenantUser
Copy Copy
1
2let (response, httpResponse) = client.updateTenantUser(
3 tenantId = "my-tenant-123",
4 id = "user-987",
5 updateTenantUserBody = UpdateTenantUserBody(
6 displayName = "Jane Doe",
7 email = "jane.doe@example.com",
8 roles = @["moderator", "editor"],
9 isActive = true
10 ),
11 updateComments = "true"
12)
13
14if response.isSome:
15 let apiEmpty = response.get()
16 discard apiEmpty
17

createTenant Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
createTenantBodyCreateTenantBodyNão

Resposta

Retorna: Option[CreateTenantResponse]

Exemplo

Exemplo de createTenant
Copy Copy
1
2let (response, httpResponse) = client.createTenant(
3 tenantId = "my-tenant-123",
4 createTenantBody = CreateTenantBody(
5 name = "My Tenant 123",
6 domain = "news.example.com",
7 allowAnonymous = false,
8 allowedOrigins = @["https://news.example.com", "https://api.news.example.com"],
9 description = "Comments for News Example"
10 )
11)
12if response.isSome:
13 let created = response.get()
14 echo "Created tenant: ", created.tenantId
15else:
16 echo "Failed to create tenant, status: ", httpResponse.status
17

deleteTenant Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
surestringNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

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

getTenant Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[GetTenantResponse]

Exemplo

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

getTenants Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
metastringNão
skipfloat64Não

Resposta

Retorna: Option[GetTenantsResponse]

Exemplo

Exemplo de getTenants
Copy Copy
1
2let (response, httpResponse) = client.getTenants(tenantId = "my-tenant-123", meta = "env=production", skip = 0.0)
3if response.isSome:
4 let tenantsResp = response.get()
5 discard tenantsResp
6 echo "Tenants fetched successfully"
7else:
8 echo "Request failed with status ", httpResponse.status
9

updateTenant Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateTenantBodyUpdateTenantBodyNão

Resposta

Retorna: Option[APIEmptyResponse]

Exemplo

Exemplo de updateTenant
Copy Copy
1
2let (response, httpResponse) = client.updateTenant(
3 tenantId = "my-tenant-123",
4 id = "settings",
5 updateTenantBody = UpdateTenantBody(
6 name = "My Tenant 123",
7 enableModeration = true,
8 allowedDomains = @["news.example.com", "blog.example.org"],
9 maxCommentLength = 1000
10 )
11)
12
13if response.isSome:
14 let apiResp = response.get()
15 echo "Tenant updated successfully: ", apiResp
16else:
17 echo "Failed to update tenant, HTTP status: ", httpResponse.status
18

changeTicketState Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
userIdstringNão
idstringNão
changeTicketStateBodyChangeTicketStateBodyNão

Resposta

Retorna: Option[ChangeTicketStateResponse]

Exemplo

Exemplo changeTicketState
Copy Copy
1
2let body = ChangeTicketStateBody()
3let (response, httpResponse) = client.changeTicketState(tenantId = "my-tenant-123", userId = "user-456", id = "ticket-789", changeTicketStateBody = body)
4if response.isSome:
5 let ticketResp = response.get()
6 echo "Ticket state changed:", ticketResp
7

createTicket Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringYes
userIdstringNo
createTicketBodyCreateTicketBodyNo

Resposta

Retorna: Option[CreateTicketResponse]

Exemplo

Exemplo de createTicket
Copy Copy
1
2let body = CreateTicketBody(
3 subject = "Comment moderation issue",
4 message = "Several abusive comments reported on article, please review and moderate.",
5 tags = @["moderation", "abuse", "urgent"],
6 url = "https://news.example.com/world/2026-election",
7 priority = "high"
8)
9
10let (response, httpResponse) = client.createTicket(tenantId = "my-tenant-123", userId = "user-789", createTicketBody = body)
11
12if response.isSome:
13 let ticket = response.get()
14 echo "Created ticket ID: ", ticket.id
15

getTicket Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
userIdstringNão

Resposta

Retorna: Option[GetTicketResponse]

Exemplo

Exemplo de getTicket
Copy Copy
1
2let (response, httpResponse) = client.getTicket(tenantId = "my-tenant-123", id = "ticket-456", userId = "user-789")
3if response.isSome:
4 let ticket = response.get()
5 echo "Got ticket:", ticket
6else:
7 echo "No ticket returned; HTTP response:", httpResponse
8

getTickets Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
userIdstringNão
statefloat64Não
skipfloat64Não
limitfloat64Não

Resposta

Retorna: Option[GetTicketsResponse]

Exemplo

Exemplo de getTickets
Copy Copy
1
2let (response, httpResponse) = client.getTickets(tenantId = "my-tenant-123", userId = "user-789", state = 1.0, skip = 0.0, limit = 50.0)
3if response.isSome:
4 let tickets = response.get()
5 echo tickets
6

getTranslations Internal Link

Parâmetros

NameTypeObrigatórioDescrição
namespacestringNão
componentstringNão
localestringNão
useFullTranslationIdsboolNão

Resposta

Retorna: Option[GetTranslationsResponse]

Exemplo

Exemplo de getTranslations
Copy Copy
1
2let (response, httpResponse) = client.getTranslations(
3 namespace = "news-site",
4 component = "article-comments",
5 locale = "en-US",
6 useFullTranslationIds = false
7)
8if response.isSome:
9 let translations = response.get()
10 discard translations
11else:
12 echo "No translations available"
13

uploadImage Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
filestringNão
sizePresetSizePresetNão
urlIdstringSim

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

getUserBadgeProgressById Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIGetUserBadgeProgressResponse]

Exemplo

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

getUserBadgeProgressByUserId Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
userIdstringNão

Resposta

Retorna: Option[APIGetUserBadgeProgressResponse]

Exemplo

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

getUserBadgeProgressList Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
userIdstringNão
limitfloat64Não
skipfloat64Não

Resposta

Retorna: Option[APIGetUserBadgeProgressListResponse]

Exemplo

Exemplo de getUserBadgeProgressList
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressList(
3 tenantId = "my-tenant-123",
4 userId = "user-789",
5 limit = 25.0,
6 skip = 0.0
7)
8
9if response.isSome:
10 let badgeProgress = response.get()
11 echo "Received badge progress:", badgeProgress
12else:
13 echo "No badge progress; HTTP status: ", $httpResponse.status
14

createUserBadge Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsNo

Resposta

Retorna: Option[APICreateUserBadgeResponse]

Exemplo

Exemplo de createUserBadge
Copy Copy
1
2let (response, httpResponse) = client.createUserBadge(
3 tenantId = "my-tenant-123",
4 createUserBadgeParams = CreateUserBadgeParams(
5 userId = "user-456",
6 badgeId = "top-commenter",
7 reason = "Top commenter for June 2026",
8 awardedBy = "mod-team",
9 metadata = @["news","engagement"]
10 )
11)
12if response.isSome:
13 let badgeResp = response.get()
14 discard badgeResp
15

deleteUserBadge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIEmptySuccessResponse]

Exemplo

Exemplo de deleteUserBadge
Copy Copy
1
2let tenantId = "my-tenant-123"
3let badgeId = "badge-456"
4
5let (response, httpResponse) = client.deleteUserBadge(tenantId = tenantId, id = badgeId)
6
7if response.isSome:
8 let success = response.get()
9 echo "Badge deleted successfully for tenant: ", tenantId, " id: ", badgeId
10else:
11 echo "Failed to delete badge. HTTP status: ", $httpResponse.status
12

getUserBadge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão

Resposta

Retorna: Option[APIGetUserBadgeResponse]

Exemplo

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

getUserBadges Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
userIdstringNão
badgeIdstringNão
displayedOnCommentsboolNão
limitfloat64Não
skipfloat64Não

Resposta

Retorna: Option[APIGetUserBadgesResponse]

Exemplo

Exemplo de getUserBadges
Copy Copy
1
2let (response, httpResponse) = client.getUserBadges(
3 tenantId = "my-tenant-123",
4 userId = "user-9876",
5 badgeId = "top-commenter",
6 displayedOnComments = true,
7 limit = 20.0,
8 skip = 0.0
9)
10
11if response.isSome:
12 let badges = response.get()
13 echo "Badges response:", badges
14else:
15 echo "No badges found (HTTP status: ", httpResponse.status, ")"
16

updateUserBadge Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
updateUserBadgeParamsUpdateUserBadgeParamsNão

Resposta

Retorna: Option[APIEmptySuccessResponse]

Exemplo

Exemplo de updateUserBadge
Copy Copy
1
2let (response, httpResponse) = client.updateUserBadge(
3 tenantId = "my-tenant-123",
4 id = "user-456",
5 updateUserBadgeParams = UpdateUserBadgeParams()
6)
7
8if response.isSome:
9 let success = response.get()
10 echo "Badge updated successfully"
11else:
12 echo "Badge update failed"
13

getUserNotificationCount Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
ssostringNão

Resposta

Retorna: Option[GetUserNotificationCountResponse]

Exemplo

Exemplo de getUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getUserNotificationCount(tenantId = "news-tenant-123", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTI0NyIsImlhdCI6MTYw945600fQ.sflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let countResp = response.get()
5 echo "Received user notification count response: ", countResp
6else:
7 echo "No notification count returned"
8

getUserNotifications Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
pageSizeintNão
afterIdstringNão
includeContextboolNão
afterCreatedAtint64Não
unreadOnlyboolNão
dmOnlyboolNão
noDmboolNão
includeTranslationsboolNão
includeTenantNotificationsboolNão
ssostringNão

Resposta

Retorna: Option[GetMyNotificationsResponse]

Exemplo

Exemplo de getUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.getUserNotifications(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 pageSize = 0,
6 afterId = "",
7 includeContext = false,
8 afterCreatedAt = 0,
9 unreadOnly = false,
10 dmOnly = false,
11 noDm = false,
12 includeTranslations = false,
13 includeTenantNotifications = false,
14 sso = ""
15)
16
17if response.isSome:
18 let notifications = response.get()
19 echo notifications
20

resetUserNotificationCount Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
ssostringNão

Resposta

Retorna: Option[ResetUserNotificationsResponse]

Exemplo

Exemplo de resetUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotificationCount(tenantId = "my-tenant-123", sso = "user-sso-token-456")
3if response.isSome:
4 let result = response.get()
5 echo "ResetUserNotificationsResponse:", result
6else:
7 echo "Reset failed, HTTP response:", httpResponse
8

resetUserNotifications Internal Link

Parâmetros

NomeTypeObrigatórioDescrição
tenantIdstringSim
afterIdstringNão
afterCreatedAtint64Não
unreadOnlyboolNão
dmOnlyboolNão
noDmboolNão
ssostringNão

Resposta

Retorna: Option[ResetUserNotificationsResponse]

Exemplo

Exemplo de resetUserNotifications
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotifications(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 afterCreatedAt = 0'i64,
6 unreadOnly = false,
7 dmOnly = false,
8 noDm = false,
9 sso = ""
10)
11if response.isSome:
12 let resetResp = response.get()
13 echo "ResetUserNotificationsResponse received"
14else:
15 echo "No ResetUserNotificationsResponse"
16

updateUserNotificationCommentSubscriptionStatus Internal Link


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

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
notificationIdstringNão
optedInOrOutstringNão
commentIdstringSim
ssostringNão

Resposta

Retorna: Option[UpdateUserNotificationCommentSubscriptionStatusResponse]

Exemplo

Exemplo de updateUserNotificationCommentSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationCommentSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "",
5 optedInOrOut = "",
6 commentId = "cmt-789",
7 sso = ""
8)
9
10if response.isSome:
11 let updateResp = response.get()
12 echo "Subscription update response: ", updateResp
13

updateUserNotificationPageSubscriptionStatus Internal Link

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

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
urlstringNão
pageTitlestringNão
subscribedOrUnsubscribedstringNão
ssostringNão

Resposta

Retorna: Option[UpdateUserNotificationPageSubscriptionStatusResponse]

Exemplo

Exemplo de updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationPageSubscriptionStatus(
3 tenantId = "my-tenant-123",
4 urlId = "news/economy/market-rally-2026-06-19",
5 url = "",
6 pageTitle = "",
7 subscribedOrUnsubscribed = "",
8 sso = ""
9)
10
11if response.isSome:
12 let updateResp = response.get()
13 echo "Subscription update received: ", updateResp
14else:
15 echo "No subscription update returned."
16

updateUserNotificationStatus Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
notificationIdstringNão
newStatusstringNão
ssostringNão

Resposta

Retorna: Option[UpdateUserNotificationStatusResponse]

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-token-abc123"
7)
8if response.isSome:
9 let updated = response.get()
10 echo "Notification status updated successfully"
11else:
12 echo "No update response received"
13

getUserPresenceStatuses Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdWSstringNão
userIdsstringNão

Resposta

Retorna: Option[GetUserPresenceStatusesResponse]

Exemplo

Exemplo de getUserPresenceStatuses
Copy Copy
1
2let (response, httpResponse) = client.getUserPresenceStatuses(tenantId = "my-tenant-123", urlIdWS = "news/article-title", userIds = "user-123,user-456")
3if response.isSome:
4 let presenceStatuses = response.get()
5 echo presenceStatuses
6else:
7 echo "No presence data"
8

searchUsers Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim
usernameStartsWithstringNão
mentionGroupIdsseq[string]Não
ssostringNão
searchSectionstringNão

Resposta

Retorna: Option[SearchUsersResult]

Exemplo

Exemplo de searchUsers
Copy Copy
1
2let (response, httpResponse) = client.searchUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/top-story",
5 usernameStartsWith = "",
6 mentionGroupIds = @[],
7 sso = "",
8 searchSection = ""
9)
10
11if response.isSome:
12 let searchResult = response.get()
13 echo "SearchUsersResult:", searchResult
14else:
15 echo "No result or error. HTTP response:", httpResponse
16

getUser Internal Link


Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringYes
idstringNo

Resposta

Retorna: Option[GetUserResponse]

Exemplo

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

createVote Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
commentIdstringSim
directionstringNão
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[VoteResponse]

Exemplo

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

deleteVote Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
idstringNão
editKeystringNão

Resposta

Retorna: Option[VoteDeleteResponse]

Exemplo

Exemplo de deleteVote
Copy Copy
1
2let (response, httpResponse) = client.deleteVote(tenantId = "my-tenant-123", id = "vote-7f3b2a", editKey = "")
3if response.isSome:
4 let voteDelete = response.get()
5 echo "Vote deleted successfully"
6else:
7 echo "Failed to delete vote"
8

getVotes Internal Link

Parâmetros

NomeTipoObrigatórioDescrição
tenantIdstringSim
urlIdstringSim

Resposta

Retorna: Option[GetVotesResponse]

Exemplo

Exemplo getVotes
Copy Copy
1
2let (response, httpResponse) = client.getVotes(tenantId = "my-tenant-123", urlId = "news/breaking-article-456")
3if response.isSome:
4 let votesResp = response.get()
5 echo "Received votes response:", $votesResp
6else:
7 echo "No votes returned, HTTP response:", $httpResponse
8

getVotesForUser Internal Link

Parâmetros

NameTypeRequiredDescription
tenantIdstringSim
urlIdstringSim
userIdstringNão
anonUserIdstringNão

Resposta

Retorna: Option[GetVotesForUserResponse]

Exemplo

Exemplo de getVotesForUser
Copy Copy
1
2let (response, httpResponse) = client.getVotesForUser(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 userId = "user-789",
6 anonUserId = ""
7)
8if response.isSome:
9 let votes = response.get()
10 echo "User votes retrieved"
11else:
12 echo "No votes found"
13

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.