FastComments.com

FastComments Nim SDK


Ово је званични Nim SDK за FastComments.

Званични Nim SDK за FastComments API

Репозиторијум

Погледајте на GitHub


Захтеви Internal Link


  • Nim >= 1.6.0
  • nimcrypto >= 0.5.4

Инсталација Internal Link

Коришћење Nimble

nimble install fastcomments

Изградња из извора

nimble build

Садржај библиотеке

Ова библиотека садржи генерисан API клијент и SSO алате који олакшавају рад са API-јем.

Јавни и заштићени API-ји

За API клијента постоје три API модула, api_default, api_public и api_moderation. api_default садржи методе које захтевају ваш API кључ, а api_public обухвата API позиве које је могуће извршити директно из прегледача/мобилног уређаја/итд. без аутентификације. api_moderation модул садржи методе за модераторски контролни панел.

api_moderation методе обухватају листање, бројање, претраживање и извоз коментара и њихових записа; модераторске акције као што су уклањање/враћање коментара, пријављивање, подешавање статуса за преглед/спам/одобрење, прилагођавање гласова и поновно отварање/затварање тема; забране (забрана корисника за коментар, поништавање забране, прегледи пре забране, статус и подешавања забране и број забрањених корисника); и значке и поверење (додела/уклањање значке, листање ручних значки, добијање/постављање фактора поверења корисника и преузимање унутрашњег профила корисника). Свака api_moderation метода прихвата sso параметар тако да је позив аутентификован као SSO модератор.

Брз почетак Internal Link

Коришћење аутентификованих API-ја (DefaultAPI)

Важно: Аутентификовани ендпоинти захтевају да ваш API кључ буде постављен у заглављу 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"

# Направите аутентификоване API позиве
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"

Коришћење јавних API-ја (PublicAPI)

Јавни ендпоинти не захтевају аутентификацију:

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Направите јавне API позиве
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"

Коришћење API-ја за модерацију (ModerationAPI)

Ендпоинти за модерацију покрећу контролну таблу модератора и аутентикују се помоћу SSO токена за активног модератора:

import httpclient
import fastcomments
import fastcomments/apis/api_moderation

let client = newHttpClient()

# Листа коментара на контролној табли модерације
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"

Чести проблеми

  1. 401 грешка аутентификације: Уверите се да сте поставили заглавље x-api-key на вашем HttpClient-у пре слања DefaultAPI захтева: client.headers["x-api-key"] = "your-api-key"
  2. Погрешна класа API-ја: Користите api_default за серверске аутентификоване захтеве, api_public за клијентске/јавне захтеве, и api_moderation за захтеве контролне табле модерације.

Прављење API позива Internal Link

Сви API методи у овом SDK-у враћају парове (Option[ResponseType], Response). Први елемент садржи парсирани одговор у случају успеха, а други елемент је необрађени HTTP одговор.

Пример: Преузимање коментара

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"

Напомене Internal Link

Идентификатори емитовања

Видећете да треба да проследите broadcastId у неким API позивима. Када примите догађаје, добићете овај ID назад, тако да знате да игноришете догађај ако планирате да оптимистички примените измене на клијенту (што ћете вероватно желети да урадите јер пружа најбоље искуство). Проследите UUID овде. ID треба да буде довољно јединствен да се не појави два пута у оквиру једне сесије прегледача.

SSO (Једнократно пријављивање)

За примере SSO, погледајте доле.

Коришћење SSO Internal Link

Једноставан SSO

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

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

Агрегира документе групишући их (ако је groupBy наведен) и примењући више операција. Подржане су различите операције (нпр. sum, countDistinct, avg, итд.).

Параметри

NameTypeRequiredDescription
tenantIdstringДа
aggregationRequestAggregationRequestНе
parentTenantIdstringНе
includeStatsboolНе

Одговор

Враћа: Option[AggregateResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
limitfloat64Не
skipfloat64Не
orderSORTDIRНе
afterfloat64Не
beforefloat64Не

Одговор

Враћа: Option[GetAuditLogsResponse]

Пример

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

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
publicBlockFromCommentParamsPublicBlockFromCommentParamsНе
ssostringНе

Одговор

Враћа: Option[BlockSuccess]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
publicBlockFromCommentParamsPublicBlockFromCommentParamsНе
ssostringНе

Одговор

Враћа: Option[UnblockSuccess]

Пример

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

Параметри

НазивТипПотребноОпис
tenantIdstringДа
commentIdsstringНе
ssostringНе

Одговор

Враћа: Option[CheckBlockedCommentsResponse]

Пример

Пример за 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
blockFromCommentParamsBlockFromCommentParamsНе
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[BlockSuccess]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
broadcastIdstringНе
commentDataCommentDataНе
sessionIdstringНе
ssostringНе

Одговор

Враћа: Option[SaveCommentsResponseWithPresence]

Пример

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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
contextUserIdstringНе
isLiveboolНе

Одговор

Враћа: Option[DeleteCommentResult]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
editKeystringНе
ssostringНе

Одговор

Враћа: Option[PublicAPIDeleteCommentResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
voteIdstringНе
urlIdstringДа
broadcastIdstringНе
editKeystringНе
ssostringНе

Одговор

Враћа: Option[VoteDeleteResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[FlagCommentResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIGetCommentResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
pageintНе
limitintНе
skipintНе
asTreeboolНе
skipChildrenintНе
limitChildrenintНе
maxTreeDepthintНе
urlIdstringДа
userIdstringНе
anonUserIdstringНе
contextUserIdstringНе
hashTagstringНе
parentIdstringНе
directionSortDirectionsНе
fromDateint64Не
toDateint64Не

Одговор

Враћа: Option[APIGetCommentsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
pageintНе
directionSortDirectionsНе
ssostringНе
skipintНе
skipChildrenintНе
limitintНе
limitChildrenintНе
countChildrenboolНе
fetchPageForCommentIdstringНе
includeConfigboolНе
countAllboolНе
includei10nboolНе
localestringНе
modulesstringНе
isCrawlerboolНе
includeNotificationCountboolНе
asTreeboolНе
maxTreeDepthintНе
useFullTranslationIdsboolНе
parentIdstringНе
searchTextstringНе
hashTagsseq[string]Не
userIdstringНе
customConfigStrstringНе
afterCommentIdstringНе
beforeCommentIdstringНе

Одговор

Враћа: Option[GetCommentsResponseWithPresencePublicComment]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
editKeystringНе
ssostringНе

Одговор

Враћа: Option[PublicAPIGetCommentTextResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
dirintНе
ssostringНе

Одговор

Враћа: Option[GetCommentVoteUserNamesSuccessResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[ChangeCommentPinStatusResponse]

Пример

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

Parametri

ImeTipObaveznoOpis
tenantIdstringDa
createCommentParamsCreateCommentParamsNe
isLiveboolNe
doSpamCheckboolNe
sendEmailsboolNe
populateNotificationsboolNe

Odgovor

Vraća: Option[APISaveCommentResponse]

Primer

Primer upotrebe 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createCommentParamsseq[CreateCommentParams]Не
isLiveboolНе
doSpamCheckboolНе
sendEmailsboolНе
populateNotificationsbool): (Option[seq[SaveCommentsBulkResponse]]Не
idstringНе
fromNamestringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
commentTextUpdateRequestCommentTextUpdateRequestНе
editKeystringНе
ssostringНе

Одговор

Враћа: Option[PublicAPISetCommentTextResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
unBlockFromCommentParamsUnBlockFromCommentParamsНе
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[UnblockSuccess]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[FlagCommentResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

unLockComment пример
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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[ChangeCommentPinStatusResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updatableCommentParamsUpdatableCommentParamsНе
contextUserIdstringНе
doSpamCheckboolНе
isLiveboolНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
urlIdstringДа
broadcastIdstringНе
voteBodyParamsVoteBodyParamsНе
sessionIdstringНе
ssostringНе

Одговор

Враћа: Option[VoteResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
userIdstringНе
directionSortDirectionsНе
repliesToUserIdstringНе
pagefloat64Не
includei10nboolНе
localestringНе
isCrawlerboolНе

Одговор

Враћа: Option[GetCommentsForUserResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
addDomainConfigParamsAddDomainConfigParamsНе

Одговор

Враћа: Option[AddDomainConfigResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
domainstringНе

Одговор

Враћа: Option[DeleteDomainConfigResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
domainstringНе

Одговор

Враћа: Option[GetDomainConfigResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа

Одговор

Враћа: Option[GetDomainConfigsResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
domainToUpdatestringНе
patchDomainConfigParamsPatchDomainConfigParamsНе

Одговор

Враћа: Option[PatchDomainConfigResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
domainToUpdatestringНе
updateDomainConfigParamsUpdateDomainConfigParamsНе

Одговор

Враћа: Option[PutDomainConfigResponse]

Пример

Пример 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

Параметри

НазивТипПотребноОпис
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyNo

Одговор

Враћа: Option[CreateEmailTemplateResponse]

Пример

Пример за 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

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Response

Враћа: Option[APIEmptyResponse]

Example

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
errorIdstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetEmailTemplateResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа

Одговор

Враћа: Option[GetEmailTemplateDefinitionsResponse]

Пример

Пример за 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
skipfloat64Не

Одговор

Враћа: Option[GetEmailTemplateRenderErrorsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
skipfloat64Не

Одговор

Враћа: Option[GetEmailTemplatesResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
renderEmailTemplateBodyRenderEmailTemplateBodyНе
localestringНе

Одговор

Враћа: Option[RenderEmailTemplateResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updateEmailTemplateBodyUpdateEmailTemplateBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
userIdWSstringНе
startTimeint64Не
endTimeint64Не

Одговор

Враћа: Option[GetEventLogResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
userIdWSstringНе
startTimeint64Не
endTimeint64Не

Одговор

Враћа: Option[GetEventLogResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createFeedPostParamsCreateFeedPostParamsНе
broadcastIdstringНе
isLiveboolНе
doSpamCheckboolНе
skipDupCheckboolНе

Одговор

Враћа: Option[CreateFeedPostsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createFeedPostParamsCreateFeedPostParamsНе
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[CreateFeedPostResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
postIdstringНе
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[DeleteFeedPostPublicResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
afterIdstringНе
limitintНе
tagsseq[string]Не

Одговор

Враћа: Option[GetFeedPostsResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
afterIdstringНе
limitintНе
tagsseq[string]Не
ssostringНе
isCrawlerboolНе
includeUserInfoboolНе

Одговор

Враћа: Option[PublicFeedPostsResponse]

Пример

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

Параметри

ИмеТипПотребноОпис
tenantIdstringДа
postIdsseq[string]Не
ssostringНе

Одговор

Враћа: Option[FeedPostsStatsResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
postIdsseq[string]Не
ssostringНе

Одговор

Враћа: Option[UserReactsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
postIdstringНе
reactBodyParamsReactBodyParamsНе
isUndoboolНе
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[ReactFeedPostResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе
feedPostFeedPostНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
postIdstringНе
updateFeedPostParamsUpdateFeedPostParamsНе
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[CreateFeedPostResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringYes
commentIdstringYes
isFlaggedboolNo
ssostringNo

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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


Параметри

НазивТипОбавезноОпис
tenantIdstringДа
largeInternalURLSanitizedstringНе

Одговор

Враћа: Option[GifGetLargeResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
searchstringНе
localestringНе
ratingstringНе
pagefloat64Не

Одговор

Враћа: Option[GetGifsSearchResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
localestringНе
ratingstringНе
pagefloat64Не

Одговор

Враћа: Option[GetGifsTrendingResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
createHashTagBodyCreateHashTagBodyНе

Одговор

Враћа: Option[CreateHashTagResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
bulkCreateHashTagsBodyBulkCreateHashTagsBodyНе

Одговор

Враћа: Option[BulkCreateHashTagsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tagstringНе
tenantIdstringДа
deleteHashTagRequestBodyDeleteHashTagRequestBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
pagefloat64Не

Одговор

Враћа: Option[GetHashTagsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tagstringНе
tenantIdstringДа
updateHashTagBodyUpdateHashTagBodyНе

Одговор

Враћа: Option[UpdateHashTagResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
voteIdstringНе
ssostringНе

Одговор

Враћа: Option[VoteDeleteResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
pagefloat64Не
countfloat64Не
textSearchstringНе
byIPFromCommentstringНе
filtersstringНе
searchFiltersstringНе
sortsstringНе
demoboolНе
ssostringНе

Одговор

Враћа: Option[ModerationAPIGetCommentsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
batchJobIdstringНе
ssostringНе

Одговор

Враћа: Option[ModerationExportStatusResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
textSearchstringНе
byIPFromCommentstringНе
filtersstringНе
searchFiltersstringНе
afterIdstringНе
demoboolНе
ssostringНе

Одговор

Враћа: Option[ModerationAPIGetCommentIdsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[GetBannedUsersFromCommentResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[GetCommentBanStatusResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[ModerationAPIChildCommentsResponse]

Пример

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

Parametri

NazivTipObaveznoOpis
textSearchstringNe
byIPFromCommentstringNe
filterstringNe
searchFiltersstringNe
demoboolNe
ssostringNe

Odgovor

Vraća: Option[ModerationAPICountCommentsResponse]

Primer

getCount Primer
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

Параметри

NameTypeRequiredDescription
ssostringНе

Одговор

Враћа: Option[GetBannedUsersCountResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[ModerationAPIGetLogsResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
ssostringНе

Одговор

Враћа: Option[GetTenantManualBadgesResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
badgesUserIdstringНе
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[GetUserManualBadgesResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
commentIdstringДа
includeEmailboolНе
includeIPboolНе
ssostringНе

Одговор

Враћа: Option[ModerationAPICommentResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[GetCommentTextResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
includeByUserIdAndEmailboolНе
includeByIPboolНе
includeByEmailDomainboolНе
ssostringНе

Одговор

Враћа: Option[PreBanSummary]

Пример

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

Параметри

ИмеТипОбавезноОпис
valuestringНе
filtersstringНе
searchFiltersstringНе
ssostringНе

Одговор

Враћа: Option[ModerationCommentSearchResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
valuestringНе
ssostringНе

Одговор

Враћа: Option[ModerationPageSearchResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
valuestringНе
ssostringНе

Одговор

Враћа: Option[ModerationSiteSearchResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
textSearchstringНе
ssostringНе

Одговор

Враћа: Option[ModerationSuggestResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
valuestringНе
ssostringНе

Одговор

Враћа: Option[ModerationUserSearchResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
userIdstringНе
ssostringНе

Одговор

Враћа: Option[GetUserTrustFactorResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
ssostringНе

Одговор

Враћа: Option[APIModerateGetUserBanPreferencesResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[GetUserInternalProfileResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
commentIdstringДа
adjustCommentVotesParamsAdjustCommentVotesParamsНе
ssostringНе

Одговор

Враћа: Option[AdjustVotesResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
textSearchstringНе
byIPFromCommentstringНе
filtersstringНе
searchFiltersstringНе
sortsstringНе
ssostringНе

Одговор

Враћа: Option[ModerationExportResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
banEmailboolНе
banEmailDomainboolНе
banIPboolНе
deleteAllUsersCommentsboolНе
bannedUntilstringНе
isShadowBanboolНе
updateIdstringНе
banReasonstringНе
ssostringНе

Одговор

Враћа: Option[BanUserFromCommentResult]

Пример

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

Параметри

НазивТипОбавезноОпис
banUserUndoParamsBanUserUndoParamsНе
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример за 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

Параметри

НазивТипОбавезноОпис
bulkPreBanParamsBulkPreBanParamsНе
includeByUserIdAndEmailboolНе
includeByIPboolНе
includeByEmailDomainboolНе
ssostringНе

Одговор

Враћа: Option[BulkPreBanSummary]

Пример

Пример 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

Parametri

NazivТипОбавезноОпис
commentsByIdsParamsCommentsByIdsParamsNe
ssostringNe

Одговор

Враћа: Option[ModerationAPIChildCommentsResponse]

Пример

Primer 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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Parametri

NazivTipObaveznoOpis
commentIdstringDa
ssostringNe

Odgovor

Vraća: Option[PostRemoveCommentResponse]

Primer

postRemoveComment Primer
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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

postRestoreDeletedComment Пример
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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
approvedboolНе
ssostringНе

Одговор

Враћа: Option[SetCommentApprovedResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
commentIdstringДа
reviewedboolНе
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример за 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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
spamboolНе
permNotSpamboolНе
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

postSetCommentSpamStatus Пример
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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
setCommentTextParamsSetCommentTextParamsНе
ssostringНе

Одговор

Враћа: Option[SetCommentTextResponse]

Пример

postSetCommentText Пример
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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
commentIdstringДа
directionstringНе
ssostringНе

Одговор

Враћа: Option[VoteResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
badgeIdstringНе
userIdstringНе
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[AwardUserBadgeResponse]

Пример

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


Параметри

ИмеТипОбавезноОпис
urlIdstringДа
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
badgeIdstringНе
userIdstringНе
commentIdstringДа
broadcastIdstringНе
ssostringНе

Одговор

Враћа: Option[RemoveUserBadgeResponse]

Пример

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

Параметри

NameTypeRequiredDescription
urlIdstringДа
ssostringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
userIdstringНе
trustFactorstringНе
ssostringНе

Одговор

Враћа: Option[SetUserTrustFactorResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createModeratorBodyCreateModeratorBodyНе

Одговор

Враћа: Option[CreateModeratorResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
sendEmailstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример за 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetModeratorResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
skipfloat64Не

Одговор

Враћа: Option[GetModeratorsResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе
updateModeratorBodyUpdateModeratorBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringYes
idstringNo

Одговор

Враћа: Option[GetCachedNotificationCountResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
userIdstringНе
urlIdstringДа
fromCommentIdstringНе
viewedboolНе

Одговор

Враћа: Option[GetNotificationCountResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
userIdstringНе
urlIdstringДа
fromCommentIdstringНе
viewedboolНе
skipfloat64Не

Одговор

Враћа: Option[GetNotificationsResponse]

Пример

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

Parametri

ImeТипОбавезноОпис
tenantIdstringДа
idstringНе
updateNotificationBodyUpdateNotificationBodyНе
userIdstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Primer za 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
titlestringНе

Одговор

Враћа: Option[CreateV1PageReact]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
urlIdstringДа
idstringНе
titlestringНе

Одговор

Враћа: Option[CreateV1PageReact]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа

Одговор

Враћа: Option[CreateV1PageReact]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
idstringНе

Одговор

Враћа: Option[CreateV1PageReact]

Пример

Пример 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

Parametri

NazivTipObaveznoOpis
tenantIdstringDa
urlIdstringDa

Odgovor

Vraća: Option[GetV1PageLikes]

Primer

getV1PageLikes Primer
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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
urlIdstringДа

Одговор

Враћа: Option[GetV2PageReacts]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
idstringНе

Одговор

Враћа: Option[GetV2PageReactUsersResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
createAPIPageDataCreateAPIPageDataНе

Одговор

Враћа: Option[AddPageAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[DeletePageAPIResponse]

Пример

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

Прошли коментатори на страници који тренутно нису онлајн. Сортирано по displayName. Користите ово након што исцрпите /users/online да бисте приказали одељак "Чланови". Курсорска пагинација по commenterName: сервер прелази делимични индекс {tenantId, urlId, commenterName} од afterName унапред помоћу $gt, без трошкова $skip.

Параметри

NameTypeRequiredDescription
tenantIdstringДа
urlIdstringДа
afterNamestringНе
afterUserIdstringНе

Одговор

Враћа: Option[PageUsersOfflineResponse]

Пример

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


Тренутно онлајн гледаоци странице: људи чија је WebSocket сесија претплаћена на страницу у овом тренутку. Враћа anonCount + totalCount (претплатнике у целом 'room'-у, укључујући анонимне гледаоце које не набрајамо појединачно).

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
afterNamestringНе
afterUserIdstringНе

Одговор

Враћа: Option[PageUsersOnlineResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа

Одговор

Враћа: Option[GetPageByURLIdAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа

Одговор

Враћа: Option[GetPagesAPIResponse]

Пример

Пример 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

Листа страница за тенант. Користи га FChat десктоп клијент за попуњавање своје листе соба. Захтева да enableFChat буде true у резолвованој прилагођеној конфигурацији за сваку страницу. Странице које захтевају SSO се филтрирају у складу са приступом група корисника који шаље захтев.

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
cursorstringНе
limitintНе
qstringНе
sortByPagesSortByНе
hasCommentsboolНе

Одговор

Враћа: Option[GetPublicPagesResponse]

Пример

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


Скуп информација о корисницима за tenant. За дате userIds, враћа информације за приказ из User / SSOUser. Користи га видгет за коментаре да обогати кориснике који су се управо појавили путем догађаја присуства. Нема контекста странице: приватност се доследно примењује (приватни профили су маскирани).

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idsstringНе

Одговор

Враћа: Option[PageUsersInfoResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе
updateAPIPageDataUpdateAPIPageDataНе

Одговор

Враћа: Option[PatchPageAPIResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
externalIdstringНе
eventTypestringНе
domainstringНе
attemptCountGTfloat64Не

Одговор

Враћа: Option[GetPendingWebhookEventCountResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
commentIdstringДа
externalIdstringНе
eventTypestringНе
domainstringНе
attemptCountGTfloat64Не
skipfloat64Не

Одговор

Враћа: Option[GetPendingWebhookEventsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createQuestionConfigBodyCreateQuestionConfigBodyНе

Одговор

Враћа: Option[CreateQuestionConfigResponse]

Пример

Пример createQuestionConfig
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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример за 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetQuestionConfigResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
skipfloat64Не

Одговор

Враћа: Option[GetQuestionConfigsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updateQuestionConfigBodyUpdateQuestionConfigBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createQuestionResultBodyCreateQuestionResultBodyНе

Одговор

Враћа: Option[CreateQuestionResultResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetQuestionResultResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
userIdstringНе
startDatestringНе
questionIdstringНе
questionIdsstringНе
skipfloat64Не

Одговор

Враћа: Option[GetQuestionResultsResponse]

Пример

Пример 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

Parametri

NazivTipObaveznoOpis
tenantIdstringDa
idstringNe
updateQuestionResultBodyUpdateQuestionResultBodyNe

Odgovor

Vraća: Option[APIEmptyResponse]

Primer

Primer 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

Параметри

ImeТипОбавезноОпис
tenantIdstringYes
questionIdstringNo
questionIdsseq[string]No
urlIdstringYes
timeBucketAggregateTimeBucketNo
startDatestringNo
forceRecalculateboolNo

Одговор

Враћа: Option[AggregateQuestionResultsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestНе
forceRecalculateboolНе

Одговор

Враћа: Option[BulkAggregateQuestionResultsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
questionIdstringНе
questionIdsseq[string]Не
urlIdstringДа
startDatestringНе
forceRecalculateboolНе
minValuefloat64Не
maxValuefloat64Не
limitfloat64Не

Одговор

Враћа: Option[CombineQuestionResultsWithCommentsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createAPISSOUserDataCreateAPISSOUserDataНе

Одговор

Враћа: Option[AddSSOUserAPIResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе
deleteCommentsboolНе
commentDeleteModestringНе

Одговор

Враћа: Option[DeleteSSOUserAPIResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
emailstringНе

Одговор

Враћа: Option[GetSSOUserByEmailAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetSSOUserByIdAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
skipintНе

Одговор

Враћа: Option[GetSSOUsersResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе
updateAPISSOUserDataUpdateAPISSOUserDataНе
updateCommentsboolНе

Одговор

Враћа: Option[PatchSSOUserAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updateAPISSOUserDataUpdateAPISSOUserDataНе
updateCommentsboolНе

Одговор

Враћа: Option[PutSSOUserAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataНе

Одговор

Враћа: Option[CreateSubscriptionAPIResponse]

Пример

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

Параметри

ИмеТипПотребноОпис
tenantIdstringДа
idstringНе
userIdstringНе

Одговор

Враћа: Option[DeleteSubscriptionAPIResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
userIdstringНе

Одговор

Враћа: Option[GetSubscriptionsAPIResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringYes
idstringNo
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataNo
userIdstringNo

Одговор

Враћа: Option[UpdateSubscriptionAPIResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
yearNumberfloat64Не
monthNumberfloat64Не
dayNumberfloat64Не
skipfloat64Не

Одговор

Враћа: Option[GetTenantDailyUsagesResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createTenantPackageBodyCreateTenantPackageBodyНе

Одговор

Враћа: Option[CreateTenantPackageResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetTenantPackageResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
skipfloat64Не

Одговор

Враћа: Option[GetTenantPackagesResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
replaceTenantPackageBodyReplaceTenantPackageBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updateTenantPackageBodyUpdateTenantPackageBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createTenantUserBodyCreateTenantUserBodyНе

Одговор

Враћа: Option[CreateTenantUserResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе
deleteCommentsstringНе
commentDeleteModestringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetTenantUserResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
skipfloat64Не

Одговор

Враћа: Option[GetTenantUsersResponse]

Пример

Пример 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


Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
replaceTenantUserBodyReplaceTenantUserBodyНе
updateCommentsstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
redirectURLstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе
updateTenantUserBodyUpdateTenantUserBodyНе
updateCommentsstringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример за 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createTenantBodyCreateTenantBodyНе

Одговор

Враћа: Option[CreateTenantResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
surestringНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetTenantResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
metastringНе
skipfloat64Не

Одговор

Враћа: Option[GetTenantsResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе
updateTenantBodyUpdateTenantBodyНе

Одговор

Враћа: Option[APIEmptyResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
userIdstringНе
idstringНе
changeTicketStateBodyChangeTicketStateBodyНе

Одговор

Враћа: Option[ChangeTicketStateResponse]

Пример

Пример за 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


Параметри

NameTypeRequiredDescription
tenantIdstringДа
userIdstringНе
createTicketBodyCreateTicketBodyНе

Одговор

Враћа: Option[CreateTicketResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе
userIdstringНе

Одговор

Враћа: Option[GetTicketResponse]

Пример

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

Параметри

ИмеТипПотребноОпис
tenantIdstringДа
userIdstringНе
statefloat64Не
skipfloat64Не
limitfloat64Не

Одговор

Враћа: Option[GetTicketsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
namespacestringНе
componentstringНе
localestringНе
useFullTranslationIdsboolНе

Одговор

Враћа: Option[GetTranslationsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
filestringНе
sizePresetSizePresetНе
urlIdstringДа

Одговор

Враћа: Option[UploadImageResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIGetUserBadgeProgressResponse]

Пример

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


Параметри

НазивТипОбавезноОпис
tenantIdstringДа
userIdstringНе

Одговор

Враћа: Option[APIGetUserBadgeProgressResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
userIdstringНе
limitfloat64Не
skipfloat64Не

Одговор

Враћа: Option[APIGetUserBadgeProgressListResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
createUserBadgeParamsCreateUserBadgeParamsНе

Одговор

Враћа: Option[APICreateUserBadgeResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIEmptySuccessResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[APIGetUserBadgeResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
userIdstringНе
badgeIdstringНе
displayedOnCommentsboolНе
limitfloat64Не
skipfloat64Не

Одговор

Враћа: Option[APIGetUserBadgesResponse]

Пример

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

Parametri

NazivTipObaveznoOpis
tenantIdstringDa
idstringNe
updateUserBadgeParamsUpdateUserBadgeParamsNe

Odgovor

Vraća: Option[APIEmptySuccessResponse]

Primer

Primer 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

Parametri

ImeТипОбавезноОпис
tenantIdstringДа
ssostringНе

Одговор

Враћа: Option[GetUserNotificationCountResponse]

Пример

getUserNotificationCount Primer
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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
pageSizeintНе
afterIdstringНе
includeContextboolНе
afterCreatedAtint64Не
unreadOnlyboolНе
dmOnlyboolНе
noDmboolНе
includeTranslationsboolНе
includeTenantNotificationsboolНе
ssostringНе

Одговор

Враћа: Option[GetMyNotificationsResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
ssostringНе

Одговор

Враћа: Option[ResetUserNotificationsResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
afterIdstringНе
afterCreatedAtint64Не
unreadOnlyboolНе
dmOnlyboolНе
noDmboolНе
ssostringНе

Одговор

Враћа: Option[ResetUserNotificationsResponse]

Пример

Пример 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


Омогући или онемогући обавештења за одређени коментар.

Параметри

NameTypeRequiredDescription
tenantIdstringДа
notificationIdstringНе
optedInOrOutstringНе
commentIdstringДа
ssostringНе

Одговор

Враћа: Option[UpdateUserNotificationCommentSubscriptionStatusResponse]

Пример

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


Омогућавање или онемогућавање обавештења за страницу. Када су корисници претплаћени на страницу, обавештења се креирају за нове коренске коментаре, и такође

Параметри

NameTypeRequiredDescription
tenantIdstringДа
urlIdstringДа
urlstringНе
pageTitlestringНе
subscribedOrUnsubscribedstringНе
ssostringНе

Одговор

Враћа: Option[UpdateUserNotificationPageSubscriptionStatusResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
notificationIdstringНе
newStatusstringНе
ssostringНе

Одговор

Враћа: Option[UpdateUserNotificationStatusResponse]

Пример

Пример 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdWSstringНе
userIdsstringНе

Одговор

Враћа: Option[GetUserPresenceStatusesResponse]

Пример

Пример за 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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
usernameStartsWithstringНе
mentionGroupIdsseq[string]Не
ssostringНе
searchSectionstringНе

Одговор

Враћа: Option[SearchUsersResult]

Пример

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

Параметри

НазивТипОбавезноОпис
tenantIdstringДа
idstringНе

Одговор

Враћа: Option[GetUserResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
commentIdstringДа
directionstringНе
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[VoteResponse]

Пример

Пример 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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
idstringНе
editKeystringНе

Одговор

Враћа: Option[VoteDeleteResponse]

Пример

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

Параметри

NameTypeRequiredDescription
tenantIdstringДа
urlIdstringДа

Одговор

Враћа: Option[GetVotesResponse]

Пример

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

Параметри

ИмеТипОбавезноОпис
tenantIdstringДа
urlIdstringДа
userIdstringНе
anonUserIdstringНе

Одговор

Враћа: Option[GetVotesForUserResponse]

Пример

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

Треба помоћ?

Ако наиђете на било какве проблеме или имате питања у вези са Nim SDK-ом, молимо вас:

Доприноси

Доприноси су добродошли! Посетите GitHub репозиторијум за смернице о доприносу.