FastComments.com

FastComments SDK для Nim

Це офіційний SDK на Nim для FastComments.

Офіційний Nim SDK для API FastComments

Репозиторій

Переглянути на 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_default містить методи, які вимагають вашого API-ключа, а api_public містить виклики API які можна виконувати безпосередньо з браузера/мобільного пристрою тощо без автентифікації.

Швидкий старт 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"

Поширені проблеми

  1. 401 помилка автентифікації: Переконайтеся, що ви встановили заголовок x-api-key на вашому HttpClient перед виконанням запитів DefaultAPI: client.headers["x-api-key"] = "your-api-key"
  2. Неправильний клас API: Використовуйте api_default для серверних автентифікованих запитів, api_public для клієнтських/публічних запитів.

Виклики 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. Коли ви отримуєте події, ви отримаєте назад цей ідентифікатор, тож знатимете, що можна ігнорувати подію, якщо плануєте оптимістично застосувати зміни на клієнті (що, ймовірно, буде бажаним, оскільки забезпечує найкращий досвід). Передайте тут UUID. Ідентифікатор має бути достатньо унікальним, щоб не повторюватися двічі в одній сесії браузера.

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

Агрегувати Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
aggregationRequestAggregationRequestНі
parentTenantIdstringНі
includeStatsboolНі

Відповідь

Повертає: Option[AggregationResponse]

Приклад

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

Отримати журнали аудиту Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
limitfloat64Ні
skipfloat64Ні
orderSORTDIRНі
afterfloat64Ні
beforefloat64Ні

Відповідь

Повертає: Option[GetAuditLogs_200_response]

Приклад

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

Заблокувати через публічний коментар Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
publicBlockFromCommentParamsPublicBlockFromCommentParamsНі
ssostringНі

Response

Повертає: Option[BlockFromCommentPublic_200_response]

Example

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

Розблокувати публічний коментар Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
publicBlockFromCommentParamsPublicBlockFromCommentParamsНі
ssostringНі

Відповідь

Повертає: Option[UnBlockCommentPublic_200_response]

Приклад

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

Перевірені коментарі на блокування Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
commentIdsstringНі
ssostringНі

Відповідь

Повертає: Option[CheckedCommentsForBlocked_200_response]

Приклад

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

Заблокувати користувача через коментар Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringYes
idstringNo
blockFromCommentParamsBlockFromCommentParamsNo
userIdstringNo
anonUserIdstringNo

Відповідь

Повертає: Option[BlockFromCommentPublic_200_response]

Приклад

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

Створити публічний коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
urlIdstringYes
broadcastIdstringNo
commentDataCommentDataNo
sessionIdstringNo
ssostringNo

Відповідь

Повертає: Option[CreateCommentPublic_200_response]

Приклад

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

Видалити коментар Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
contextUserIdstringНі
isLiveboolНі

Відповідь

Повертає: Option[DeleteComment_200_response]

Приклад

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

Видалити публічний коментар Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[DeleteCommentPublic_200_response]

Приклад

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

Видалити голос за коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
voteIdstringНі
urlIdstringТак
broadcastIdstringНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[DeleteCommentVote_200_response]

Приклад

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

Позначити коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
idstringNo
userIdstringNo
anonUserIdstringNo

Відповідь

Повертає: Option[FlagComment_200_response]

Приклад

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

Отримати коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Response

Повертає: Option[GetComment_200_response]

Приклад

Приклад getComment
Copy Copy
1
2let (response, httpResponse) = client.getComment(tenantId = "my-tenant-123", id = "cmt-987654321")
3if response.isSome:
4 let comment = response.get()
5 echo comment
6

Отримати коментарі Internal Link

Параметри

NameТипОбов'язковийОпис
tenantIdstringТак
pageintНі
limitintНі
skipintНі
asTreeboolНі
skipChildrenintНі
limitChildrenintНі
maxTreeDepthintНі
urlIdstringТак
userIdstringНі
anonUserIdstringНі
contextUserIdstringНі
hashTagstringНі
parentIdstringНі
directionSortDirectionsНі

Відповідь

Повертає: Option[GetComments_200_response]

Приклад

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

Отримати публічні коментарі Internal Link

Параметри

NameTypeRequiredDescription
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[GetCommentsPublic_200_response]

Приклад

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

Отримати текст коментаря Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
commentIdstringТак
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[GetCommentText_200_response]

Приклад

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

Отримати імена користувачів, що голосували за коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
commentIdstringYes
dirintNo
ssostringNo

Відповідь

Повертає: Option[GetCommentVoteUserNames_200_response]

Приклад

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

Заблокувати коментар Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[LockComment_200_response]

Приклад

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

Закріпити коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[PinComment_200_response]

Приклад

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

Зберегти коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createCommentParamsCreateCommentParamsНі
isLiveboolНі
doSpamCheckboolНі
sendEmailsboolНі
populateNotificationsboolНі

Відповідь

Повертає: Option[SaveComment_200_response]

Приклад

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

Масове збереження коментарів Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringYes
createCommentParamsseq[CreateCommentParams]No
isLiveboolNo
doSpamCheckboolNo
sendEmailsboolNo
populateNotificationsbool): (Option[seq[SaveComment_200_response]]No
idstringNo
unBlockFromCommentParamsUnBlockFromCommentParamsNo
userIdstringNo
anonUserIdstringNo

Відповідь

Повертає: Option[UnBlockCommentPublic_200_response]

Приклад

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

Встановити текст коментаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
commentTextUpdateRequestCommentTextUpdateRequestНі
editKeystringНі
ssostringНі

Відповідь

Повертає: Option[SetCommentText_200_response]

Приклад

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

Розблокувати користувача через коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
unBlockFromCommentParamsUnBlockFromCommentParamsНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[UnBlockCommentPublic_200_response]

Приклад

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

Зняти позначку з коментаря Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[FlagComment_200_response]

Приклад

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

Розблокувати коментар Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[LockComment_200_response]

Приклад

Приклад використання unLockComment
Copy Copy
1
2let (response, httpResponse) = client.unLockComment(tenantId = "my-tenant-123", commentId = "cmt-7f9a3b2d", broadcastId = "", sso = "")
3if response.isSome:
4 let lockResult = response.get()
5 echo "Unlock response: ", $lockResult
6else:
7 echo "Unlock failed, HTTP response: ", $httpResponse
8

Відкріпити коментар Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[PinComment_200_response]

Приклад

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

Оновити коментар Internal Link


Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updatableCommentParamsUpdatableCommentParamsНі
contextUserIdstringНі
doSpamCheckboolНі
isLiveboolНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Проголосувати за коментар Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
urlIdstringТак
broadcastIdstringНі
voteBodyParamsVoteBodyParamsНі
sessionIdstringНі
ssostringНі

Відповідь

Повертає: Option[VoteComment_200_response]

Приклад

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

Додати конфігурацію домену Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
addDomainConfigParamsAddDomainConfigParamsНі

Відповідь

Повертає: Option[AddDomainConfig_200_response]

Приклад

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

Видалити конфігурацію домену Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
domainstringНі

Відповідь

Повертає: Option[DeleteDomainConfig_200_response]

Приклад

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

Отримати конфігурацію домену Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
domainstringНі

Відповідь

Повертає: Option[GetDomainConfig_200_response]

Приклад

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

Отримати конфігурації доменів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак

Відповідь

Повертає: Option[GetDomainConfigs_200_response]

Приклад

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

Часткове оновлення конфігурації домену Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
domainToUpdatestringНі
patchDomainConfigParamsPatchDomainConfigParamsНі

Відповідь

Повертає: Option[GetDomainConfig_200_response]

Приклад

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

Повне оновлення конфігурації домену Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
domainToUpdatestringНі
updateDomainConfigParamsUpdateDomainConfigParamsНі

Відповідь

Повертає: Option[GetDomainConfig_200_response]

Приклад

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

Створити шаблон електронного листа Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createEmailTemplateBodyCreateEmailTemplateBodyНі

Відповідь

Повертає: Option[CreateEmailTemplate_200_response]

Приклад

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

Видалити шаблон електронного листа Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

Приклад deleteEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.deleteEmailTemplate(tenantId = "my-tenant-123", id = "tmpl-456")
3if response.isSome:
4 let deleted = response.get()
5 echo deleted
6

Видалити помилку рендерингу шаблону електронного листа Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
errorIdstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати шаблон електронного листа Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetEmailTemplate_200_response]

Приклад

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

Отримати визначення шаблонів електронних листів Internal Link

Параметри

Ім'яТипОбов'язковоОпис
tenantIdstringТак

Відповідь

Повертає: Option[GetEmailTemplateDefinitions_200_response]

Приклад

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

Отримати помилки рендерингу шаблонів електронних листів Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetEmailTemplateRenderErrors_200_response]

Приклад

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

Отримати шаблони електронних листів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetEmailTemplates_200_response]

Приклад

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

Згенерувати шаблон електронного листа Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
renderEmailTemplateBodyRenderEmailTemplateBodyНі
localestringНі

Відповідь

Повертає: Option[RenderEmailTemplate_200_response]

Приклад

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

Оновити шаблон електронного листа Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateEmailTemplateBodyUpdateEmailTemplateBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати журнал подій Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
urlIdstringТак
userIdWSstringНі
startTimeint64Ні
endTimeint64Ні

Відповідь

Повертає: Option[GetEventLog_200_response]

Приклад

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

Отримати глобальний журнал подій Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак
userIdWSstringНі
startTimeint64Ні
endTimeint64Ні

Відповідь

Повертає: Option[GetEventLog_200_response]

Приклад

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

Створити запис стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createFeedPostParamsCreateFeedPostParamsНі
broadcastIdstringНі
isLiveboolНі
doSpamCheckboolНі
skipDupCheckboolНі

Відповідь

Повертає: Option[CreateFeedPost_200_response]

Приклад

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

Створити публічний запис стрічки Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
createFeedPostParamsCreateFeedPostParamsНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[CreateFeedPostPublic_200_response]

Приклад

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

Видалити публічний запис стрічки Internal Link

Parameters

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdstringNo
broadcastIdstringNo
ssostringNo

Відповідь

Повертає: Option[DeleteFeedPostPublic_200_response]

Приклад

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

Отримати записи стрічки Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringYes
afterIdstringNo
limitintNo
tagsseq[string]No

Відповідь

Повертає: Option[GetFeedPosts_200_response]

Приклад

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

Отримати публічні записи стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
afterIdstringНі
limitintНі
tagsseq[string]Ні
ssostringНі
isCrawlerboolНі
includeUserInfoboolНі

Відповідь

Повертає: Option[GetFeedPostsPublic_200_response]

Приклад

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

Отримати статистику записів стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdsseq[string]Ні
ssostringНі

Відповідь

Повертає: Option[GetFeedPostsStats_200_response]

Приклад

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

Отримати публічні реакції користувача Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdsseq[string]Ні
ssostringНі

Відповідь

Повертає: Option[GetUserReactsPublic_200_response]

Приклад

Приклад getUserReactsPublic
Copy Copy
1
2let (response, httpResponse) = client.getUserReactsPublic(tenantId = "my-tenant-123", postIds = @[], sso = "")
3if response.isSome:
4 let reacts = response.get()
5 discard reacts
6

Зареагувати на публічний запис стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdstringНі
reactBodyParamsReactBodyParamsНі
isUndoboolНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[ReactFeedPostPublic_200_response]

Приклад

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

Оновити запис стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
feedPostFeedPostНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Оновити публічний запис стрічки Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
postIdstringНі
updateFeedPostParamsUpdateFeedPostParamsНі
broadcastIdstringНі
ssostringНі

Відповідь

Повертає: Option[CreateFeedPostPublic_200_response]

Приклад

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

Позначити публічний коментар Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
commentIdstringТак
isFlaggedboolНі
ssostringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Додати хештег Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createHashTagBodyCreateHashTagBodyНі

Відповідь

Повертає: Option[AddHashTag_200_response]

Приклад

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

Масове додавання хештегів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
bulkCreateHashTagsBodyBulkCreateHashTagsBodyНі

Відповідь

Повертає: Option[AddHashTagsBulk_200_response]

Приклад

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

Видалити хештег Internal Link

Параметри

НазваТипОбов'язковоОпис
tagstringНі
tenantIdstringТак
deleteHashTagRequestDeleteHashTagRequestНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

Приклад deleteHashTag
Copy Copy
1
2let (response, httpResponse) = client.deleteHashTag(tag = "breaking-news", tenantId = "my-tenant-123", deleteHashTagRequest = DeleteHashTagRequest())
3if response.isSome:
4 let result = response.get()
5 discard result
6

Отримати хештеги Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
pagefloat64Ні

Відповідь

Повертає: Option[GetHashTags_200_response]

Приклад

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

Часткове оновлення хештегу Internal Link

Параметри

Ім'яТипОбов'язковоОпис
tagstringНі
tenantIdstringТак
updateHashTagBodyUpdateHashTagBodyНі

Відповідь

Повертає: Option[PatchHashTag_200_response]

Приклад

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

Створити модератора Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createModeratorBodyCreateModeratorBodyНі

Відповідь

Повертає: Option[CreateModerator_200_response]

Приклад

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

Видалити модератора Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
idstringNo
sendEmailstringNo

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати модератора Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetModerator_200_response]

Приклад

Приклад getModerator
Copy Copy
1
2let (response, httpResponse) = client.getModerator(tenantId = "my-tenant-123", id = "mod-98765")
3if response.isSome:
4 let moderator = response.get()
5 discard moderator
6

Отримати модераторів Internal Link

Параметри

NameTypeОбов'язковийОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetModerators_200_response]

Приклад

Приклад getModerators
Copy Copy
1
2let (response, httpResponse) = client.getModerators(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let moderators = response.get()
5 echo "Moderators fetched successfully"
6 echo moderators
7

Оновити модератора Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateModeratorBodyUpdateModeratorBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Видалити лічильник сповіщень Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати кешований лічильник сповіщень Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetCachedNotificationCount_200_response]

Приклад

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

Отримати кількість сповіщень Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
userIdstringНі
urlIdstringТак
fromCommentIdstringНі
viewedboolНі

Відповідь

Повертає: Option[GetNotificationCount_200_response]

Приклад

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

Отримати сповіщення Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
urlIdstringТак
fromCommentIdstringНі
viewedboolНі
skipfloat64Ні

Відповідь

Повертає: Option[GetNotifications_200_response]

Приклад

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

Оновити сповіщення Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateNotificationBodyUpdateNotificationBodyНі
userIdstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Додати сторінку Internal Link

Параметри

НазваТипОбов'язковоОпис
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

Видалити сторінку Internal Link

Parameters

НазваТипОбов'язковеОпис
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

Отримати сторінку за URL-ідентифікатором Internal Link

Parameters

NameTypeRequiredDescription
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

Отримати сторінки 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

Часткове оновлення сторінки 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

Видалити очікувану подію вебхука Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

Приклад deletePendingWebhookEvent
Copy Copy
1
2let (response, httpResponse) = client.deletePendingWebhookEvent(tenantId = "my-tenant-123", id = "wh_evt_6f1e3b2a")
3if response.isSome:
4 let flagResp = response.get()
5 discard flagResp
6

Отримати кількість очікуваних подій вебхука Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
commentIdstringТак
externalIdstringНі
eventTypestringНі
domainstringНі
attemptCountGTfloat64Ні

Відповідь

Повертає: Option[GetPendingWebhookEventCount_200_response]

Приклад

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

Отримати очікувані події вебхука Internal Link

Параметри

НазваTypeОбов'язковийОпис
tenantIdstringТак
commentIdstringТак
externalIdstringНі
eventTypestringНі
domainstringНі
attemptCountGTfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[GetPendingWebhookEvents_200_response]

Приклад

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

Створити конфігурацію запитання Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createQuestionConfigBodyCreateQuestionConfigBodyНі

Відповідь

Повертає: Option[CreateQuestionConfig_200_response]

Приклад

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

Видалити конфігурацію запитання Internal Link


Параметри

Ім'яТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати конфігурацію запитання Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetQuestionConfig_200_response]

Приклад

Приклад getQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfig(tenantId = "my-tenant-123", id = "qcfg-98765")
3if response.isSome:
4 let config = response.get()
5 echo "Received question config for tenant:", " my-tenant-123"
6

Отримати конфігурації запитань Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetQuestionConfigs_200_response]

Приклад

Приклад getQuestionConfigs
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfigs(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let configs = response.get()
5 discard configs
6

Оновити конфігурацію запитання Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updateQuestionConfigBodyUpdateQuestionConfigBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Створити результат запитання Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createQuestionResultBodyCreateQuestionResultBodyНі

Відповідь

Повертає: Option[CreateQuestionResult_200_response]

Приклад

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

Видалити результат запитання Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати результат запитання Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetQuestionResult_200_response]

Приклад

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

Отримати результати запитань Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
urlIdstringТак
userIdstringНі
startDatestringНі
questionIdstringНі
questionIdsstringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetQuestionResults_200_response]

Приклад

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

Оновити результат запитання Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
idstringНі
updateQuestionResultBodyUpdateQuestionResultBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Агрегувати результати запитань Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
questionIdstringНі
questionIdsseq[string]Ні
urlIdstringТак
timeBucketAggregateTimeBucketНі
startDatestringНі
forceRecalculateboolНі

Відповідь

Повертає: Option[AggregateQuestionResults_200_response]

Приклад

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

Масова агрегація результатів запитань Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestНі
forceRecalculateboolНі

Відповідь

Повертає: Option[BulkAggregateQuestionResults_200_response]

Приклад

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

Поєднати коментарі з результатами запитань Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
questionIdstringНі
questionIdsseq[string]Ні
urlIdstringТак
startDatestringНі
forceRecalculateboolНі
minValuefloat64Ні
maxValuefloat64Ні
limitfloat64Ні

Відповідь

Повертає: Option[CombineCommentsWithQuestionResults_200_response]

Приклад

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

Додати SSO-користувача Internal Link

Параметри

NameTypeRequiredDescription
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

Видалити SSO-користувача Internal Link

Параметри

NameTypeRequiredDescription
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

Отримати SSO-користувача за електронною поштою Internal Link

Параметри

NameTypeRequiredDescription
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

Отримати SSO-користувача за ідентифікатором Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
idstringNo

Відповідь

Повертає: 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

Отримати SSO-користувачів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipintНі

Відповідь

Повертає: Option[GetSSOUsers_200_response]

Приклад

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

Часткове оновлення SSO-користувача Internal Link

Параметри

НазваТипОбов'язковийОпис
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

Повне оновлення SSO-користувача Internal Link

Параметри

NameTypeRequiredDescription
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

Створити підписку 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

Видалити підписку Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringYes
idstringNo
userIdstringNo

Відповідь

Повертає: 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

Отримати підписки 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

Оновити підписку Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataНі
userIdstringНі

Відповідь

Повертає: 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

Отримати щоденне використання орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
yearNumberfloat64Ні
monthNumberfloat64Ні
dayNumberfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantDailyUsages_200_response]

Приклад

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

Створити пакет орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createTenantPackageBodyCreateTenantPackageBodyНі

Відповідь

Повертає: Option[CreateTenantPackage_200_response]

Приклад

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

Видалити пакет орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

Приклад deleteTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantPackage(tenantId = "my-tenant-123", id = "pkg-789")
3if response.isSome:
4 let deleted = response.get()
5 echo "Successfully deleted tenant package"
6

Отримати пакет орендаря Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenantPackage_200_response]

Приклад

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

Отримати пакети орендарів Internal Link

Параметри

НазваTypeОбов'язковийОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantPackages_200_response]

Приклад

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

Замінити пакет орендаря Internal Link

Параметри

НазваTypeОбов'язковоОпис
tenantIdstringТак
idstringНі
replaceTenantPackageBodyReplaceTenantPackageBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Оновити пакет орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateTenantPackageBodyUpdateTenantPackageBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Створити користувача орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createTenantUserBodyCreateTenantUserBodyНі

Відповідь

Повертає: Option[CreateTenantUser_200_response]

Приклад

Приклад createTenantUser
Copy Copy
1
2let createBody = CreateTenantUserBody(
3 email = "jane.doe@acmepub.com",
4 displayName = "Jane Doe",
5 disabled = false
6)
7let (response, httpResponse) = client.createTenantUser(tenantId = "my-tenant-123", createTenantUserBody = createBody)
8if response.isSome:
9 let createdUser = response.get()
10 echo createdUser
11

Видалити користувача орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
deleteCommentsstringНі
commentDeleteModestringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

Приклад використання deleteTenantUser
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantUser(tenantId = "my-tenant-123", id = "user-456", deleteComments = "", commentDeleteMode = "")
3if response.isSome:
4 let flagResp = response.get()
5 echo flagResp
6

Отримати користувача орендаря Internal Link


Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenantUser_200_response]

Приклад

getTenantUser Приклад
Copy Copy
1
2let (response, httpResponse) = client.getTenantUser(tenantId = "my-tenant-123", id = "user-456")
3if response.isSome:
4 let tenantUser = response.get()
5 discard tenantUser
6else:
7 discard httpResponse
8

Отримати користувачів орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
skipfloat64Ні

Відповідь

Повертає: Option[GetTenantUsers_200_response]

Приклад

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

Замінити користувача орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
replaceTenantUserBodyReplaceTenantUserBodyНі
updateCommentsstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
redirectURLstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Оновити користувача орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
updateTenantUserBodyUpdateTenantUserBodyНі
updateCommentsstringНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Створити орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
createTenantBodyCreateTenantBodyНі

Відповідь

Повертає: Option[CreateTenant_200_response]

Приклад

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

Видалити орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
idstringNo
surestringNo

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Отримати орендаря Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetTenant_200_response]

Приклад

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

Отримати орендарів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
metastringНі
skipfloat64Ні

Відповідь

Повертає: Option[GetTenants_200_response]

Приклад

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

Оновити орендаря Internal Link


Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
updateTenantBodyUpdateTenantBodyНі

Відповідь

Повертає: Option[FlagCommentPublic_200_response]

Приклад

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

Змінити стан тікета Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
idstringНі
changeTicketStateBodyChangeTicketStateBodyНі

Відповідь

Повертає: Option[ChangeTicketState_200_response]

Приклад

changeTicketState Приклад
Copy Copy
1
2let (response, httpResponse) = client.changeTicketState(
3 tenantId = "my-tenant-123",
4 userId = "user-456",
5 id = "ticket-789",
6 changeTicketStateBody = ChangeTicketStateBody(
7 state = "closed",
8 message = "Issue resolved by support",
9 notify = true,
10 tags = @["support", "resolved"]
11 )
12)
13if response.isSome:
14 let result = response.get()
15 echo "Changed ticket:", result.state, " (id: ", result.id, ")"
16

Створити тікет Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі
createTicketBodyCreateTicketBodyНі

Відповідь

Повертає: Option[CreateTicket_200_response]

Приклад

Приклад createTicket
Copy Copy
1
2let createBody = CreateTicketBody(
3 title = "Unable to post comment",
4 description = "HTTP 500 when submitting comment on article 'world/my-latest-report'",
5 contactEmail = "jane.doe@example.com",
6 tags = @["comments", "backend"],
7 urgent = false
8)
9let (response, httpResponse) = client.createTicket(tenantId = "my-tenant-123", userId = "user-9876", createTicketBody = createBody)
10if response.isSome:
11 let ticket = response.get()
12 echo "Created ticket ID: ", $ticket
13

Отримати тікет Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
idstringНі
userIdstringНі

Відповідь

Повертає: Option[GetTicket_200_response]

Приклад

Приклад getTicket
Copy Copy
1
2let (response, httpResponse) = client.getTicket(tenantId = "my-tenant-123", id = "", userId = "")
3if response.isSome:
4 let ticket = response.get()
5 discard ticket
6

Отримати тікети Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
userIdstringNo
statefloat64No
skipfloat64No
limitfloat64No

Відповідь

Повертає: Option[GetTickets_200_response]

Приклад

Приклад getTickets
Copy Copy
1
2let (response, httpResponse) = client.getTickets(tenantId = "my-tenant-123", userId = "user-456", state = 1.0, skip = 0.0, limit = 50.0)
3if response.isSome:
4 let tickets = response.get()
5 echo tickets
6else:
7 echo "No tickets returned"
8

Завантажити зображення 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

Отримати прогрес бейджа користувача за ідентифікатором Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetUserBadgeProgressById_200_response]

Приклад

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

Отримати прогрес бейджа користувача за ID користувача Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
userIdstringНі

Відповідь

Повертає: Option[GetUserBadgeProgressById_200_response]

Приклад

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

Отримати список прогресу бейджів користувача Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
userIdstringNo
limitfloat64No
skipfloat64No

Відповідь

Повертає: Option[GetUserBadgeProgressList_200_response]

Приклад

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

Створити бейдж користувача Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
createUserBadgeParamsCreateUserBadgeParamsНі

Відповідь

Повертає: Option[CreateUserBadge_200_response]

Приклад

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

Видалити бейдж користувача Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[UpdateUserBadge_200_response]

Приклад

Приклад deleteUserBadge
Copy Copy
1
2let (response, httpResponse) = client.deleteUserBadge(tenantId = "my-tenant-123", id = "badge-456")
3if response.isSome:
4 let updated = response.get()
5 discard updated
6

Отримати бейдж користувача Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetUserBadge_200_response]

Приклад

Приклад getUserBadge
Copy Copy
1
2let (response, httpResponse) = client.getUserBadge(tenantId = "my-tenant-123", id = "")
3
4if response.isSome:
5 let badge = response.get()
6 discard badge
7

Отримати бейджі користувача Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
userIdstringНі
badgeIdstringНі
displayedOnCommentsboolНі
limitfloat64Ні
skipfloat64Ні

Відповідь

Повертає: Option[GetUserBadges_200_response]

Приклад

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

Оновити бейдж користувача Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі
updateUserBadgeParamsUpdateUserBadgeParamsНі

Відповідь

Повертає: Option[UpdateUserBadge_200_response]

Приклад

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

Отримати кількість сповіщень користувача Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
ssostringНі

Відповідь

Повертає: Option[GetUserNotificationCount_200_response]

Приклад

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

Отримати сповіщення користувача Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
pageSizeintНі
afterIdstringНі
includeContextboolНі
afterCreatedAtint64Ні
unreadOnlyboolНі
dmOnlyboolНі
noDmboolНі
includeTranslationsboolНі
ssostringНі

Відповідь

Повертає: Option[GetUserNotifications_200_response]

Приклад

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

Скинути лічильник сповіщень користувача Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
ssostringНі

Відповідь

Повертає: Option[ResetUserNotifications_200_response]

Приклад

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

Скинути сповіщення користувача Internal Link

Параметри

NameTypeОбов'язковийОпис
tenantIdstringТак
afterIdstringНі
afterCreatedAtint64Ні
unreadOnlyboolНі
dmOnlyboolНі
noDmboolНі
ssostringНі

Відповідь

Повертає: Option[ResetUserNotifications_200_response]

Приклад

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

Оновити статус підписки користувача на коментарі Internal Link


Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
notificationIdstringНі
optedInOrOutstringНі
commentIdstringТак
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationStatus_200_response]

Приклад

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

Оновити статус підписки користувача на сторінки Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
urlIdstringТак
urlstringНі
pageTitlestringНі
subscribedOrUnsubscribedstringНі
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationStatus_200_response]

Приклад

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

Оновити статус сповіщення користувача Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
notificationIdstringНі
newStatusstringНі
ssostringНі

Відповідь

Повертає: Option[UpdateUserNotificationStatus_200_response]

Приклад

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

Отримати статуси присутності користувачів Internal Link

Параметри

NameTypeRequiredDescription
tenantIdstringТак
urlIdWSstringНі
userIdsstringНі

Відповідь

Повертає: Option[GetUserPresenceStatuses_200_response]

Приклад

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

Пошук користувачів Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringYes
urlIdstringYes
usernameStartsWithstringNo
mentionGroupIdsseq[string]No
ssostringNo
searchSectionstringNo

Відповідь

Повертає: Option[SearchUsers_200_response]

Приклад

Приклад searchUsers
Copy Copy
1
2let (response, httpResponse) = client.searchUsers(
3 tenantId = "my-tenant-123",
4 urlId = "news/2026/ai-product-launch",
5 usernameStartsWith = "",
6 mentionGroupIds = @[],
7 sso = "",
8 searchSection = ""
9)
10if response.isSome:
11 let users = response.get()
12 echo "Received users:", users.toString()
13

Отримати користувача Internal Link

Параметри

НазваТипОбов'язковийОпис
tenantIdstringТак
idstringНі

Відповідь

Повертає: Option[GetUser_200_response]

Приклад

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

Створити голос Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
commentIdstringТак
directionstringНі
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[VoteComment_200_response]

Приклад

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

Видалити голос Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
idstringНі
editKeystringНі

Відповідь

Повертає: Option[DeleteCommentVote_200_response]

Приклад

Приклад deleteVote
Copy Copy
1
2let (response, httpResponse) = client.deleteVote(tenantId = "my-tenant-123", id = "", editKey = "")
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6

Отримати голоси Internal Link

Параметри

НазваТипОбов'язковоОпис
tenantIdstringТак
urlIdstringТак

Відповідь

Повертає: Option[GetVotes_200_response]

Приклад

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

Отримати голоси користувача Internal Link

Параметри

НазваТипОбов'язковеОпис
tenantIdstringТак
urlIdstringТак
userIdstringНі
anonUserIdstringНі

Відповідь

Повертає: Option[GetVotesForUser_200_response]

Приклад

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

Потрібна допомога?

Якщо ви зіткнулися з проблемами або маєте запитання щодо Nim SDK, будь ласка:

Участь у проєкті

Внески вітаються! Будь ласка, відвідайте репозиторій на GitHub для інструкцій щодо внеску.