FastComments.com

FastComments SDK για Nim


Αυτό είναι το επίσημο Nim SDK για το 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, υπάρχουν τρία modules API, api_default, api_public, και api_moderation. Το api_default περιέχει μεθόδους που απαιτούν το API key σας, και το api_public περιέχει κλήσεις API που μπορούν να γίνουν απευθείας από ένα πρόγραμμα περιήγησης/κινητή συσκευή/κ.λπ. χωρίς αυθεντικοποίηση. Το module api_moderation περιέχει μεθόδους για τον πίνακα ελέγχου του moderator.

Οι μέθοδοι του api_moderation καλύπτουν τη δημιουργία λιστών, τη μέτρηση, την αναζήτηση και την εξαγωγή σχολίων και των αρχείων καταγραφής τους; ενέργειες μετριασμού όπως αφαίρεση/επανόρθωση σχολίων, σηματοδότηση, ορισμός κατάστασης για ανασκόπηση/spam/έγκριση, προσαρμογή ψήφων και επανάνοιγμα/κλείσιμο νημάτων; απαγορεύσεις (απαγόρευση χρήστη από ένα σχόλιο, αναίρεση απαγόρευσης, προ-συνοπτικές αναφορές πριν την απαγόρευση, κατάσταση και προτιμήσεις απαγόρευσης, και πλήθος απαγορευμένων χρηστών); και διακριτικά & αξιοπιστία (απονομή/αφαίρεση διακριτικού, λίστα χειροκίνητων διακριτικών, ανάκτηση/ρύθμιση του παράγοντα εμπιστοσύνης ενός χρήστη, και λήψη του εσωτερικού προφίλ ενός χρήστη). Κάθε μέθοδος του api_moderation δέχεται μία παράμετρο sso ώστε η κλήση να είναι αυθεντικοποιημένη ως συντονιστής μέσω SSO.

Γρήγορη εκκίνηση Internal Link

Χρήση Αυθεντικοποιημένων API (DefaultAPI)

Σημαντικό: Τα αυθεντικοποιημένα endpoints απαιτούν το API key σας να οριστεί στην κεφαλίδα 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)

Τα δημόσια endpoints δεν απαιτούν αυθεντικοποίηση:

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Κάντε δημόσιες κλήσεις API
let (response, httpResponse) = getCommentsPublic(
  httpClient = client,
  tenantId = "your-tenant-id",
  urlId = "your-url-id",
  page = 0,
  direction = SortDirections.DESC,
  sso = "",
  skip = 0,
  skipChildren = 0,
  limit = 0,
  limitChildren = 0,
  countChildren = false,
  fetchPageForCommentId = "",
  includeConfig = false,
  countAll = false,
  includei10n = false,
  locale = "",
  modules = "",
  isCrawler = false,
  includeNotificationCount = false,
  asTree = false,
  maxTreeDepth = 0,
  useFullTranslationIds = false,
  parentId = "",
  searchText = "",
  hashTags = @[],
  userId = "",
  customConfigStr = "",
  afterCommentId = "",
  beforeCommentId = ""
)

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

Χρήση API Εποπτείας (ModerationAPI)

Τα endpoints εποπτείας τροφοδοτούν τον πίνακα ελέγχου των συντονιστών και αυθεντικοποιούνται με ένα SSO token για τον συντονιστή που ενεργεί:

import httpclient
import fastcomments
import fastcomments/apis/api_moderation

let client = newHttpClient()

# Λίστα σχολίων στον πίνακα ελέγχου εποπτείας
let (response, httpResponse) = getApiComments(
  httpClient = client,
  page = 0,
  count = 30,
  textSearch = "",
  byIPFromComment = "",
  filters = "",
  searchFilters = "",
  sorts = "",
  demo = false,
  sso = "your-sso-token"
)

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

Συνηθισμένα Προβλήματα

  1. 401 authentication error: Βεβαιωθείτε ότι έχετε ορίσει την κεφαλίδα x-api-key στο HttpClient σας πριν κάνετε κλήσεις στην DefaultAPI: client.headers["x-api-key"] = "your-api-key"
  2. Wrong API class: Χρησιμοποιήστε api_default για server-side αυθεντικοποιημένες αιτήσεις, api_public για client-side/δημόσιες αιτήσεις, και api_moderation για αιτήσεις του πίνακα ελέγχου των συντονιστών.

Κλήσεις API Internal Link

Όλες οι μέθοδοι API σε αυτό το SDK επιστρέφουν πλειάδες (Option[ResponseType], Response). Το πρώτο στοιχείο περιέχει την αναλυμένη απάντηση σε περίπτωση επιτυχίας, και το δεύτερο στοιχείο είναι η ακατέργαστη HTTP απάντηση.

Παράδειγμα: Ανάκτηση Σχολίων

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

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

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

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

Σημειώσεις Internal Link

Αναγνωριστικά Broadcast

Θα δείτε ότι πρέπει να περάσετε ένα broadcastId σε κάποιες κλήσεις API. Όταν λαμβάνετε events, θα πάρετε αυτό το ID πίσω, ώστε να ξέρετε να αγνοήσετε το event εάν σκοπεύετε να εφαρμόσετε αλλαγές στον πελάτη με αισιοδοξία (κάτι που πιθανότατα θα θελήσετε να κάνετε αφού προσφέρει την καλύτερη εμπειρία). Περνάτε ένα UUID εδώ. Το ID πρέπει να είναι αρκετά μοναδικό ώστε να μην εμφανιστεί δύο φορές σε μία συνεδρία προγράμματος περιήγησης.

SSO (Ενιαία Σύνδεση)

Για παραδείγματα SSO, δείτε παρακάτω.

Χρήση SSO Internal Link


Απλό SSO

import fastcomments/sso

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

echo "SSO Token: ", token

Ασφαλές SSO

import fastcomments/sso

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

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

echo "Secure SSO Token: ", token

aggregate Internal Link

Συγκεντρώνει έγγραφα ομαδοποιώντας τα (αν παρέχεται groupBy) και εφαρμόζοντας πολλαπλές λειτουργίες. Υποστηρίζονται διάφορες λειτουργίες (π.χ. sum, countDistinct, avg, κ.λπ.).

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
aggregationRequestAggregationRequestΌχι
parentTenantIdstringΌχι
includeStatsboolΌχι

Απόκριση

Επιστρέφει: Option[AggregateResponse]

Παράδειγμα

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

getAuditLogs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
limitfloat64Όχι
skipfloat64Όχι
orderSORTDIRΌχι
afterfloat64Όχι
beforefloat64Όχι

Απόκριση

Επιστρέφει: Option[GetAuditLogsResponse]

Παράδειγμα

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

logoutPublic Internal Link

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα χρήσης logoutPublic
Copy Copy
1
2let (response, httpResponse) = client.logoutPublic(tenantId = "my-tenant-123", sessionId = "sess-9a8b7c6d", userId = "editor-87", revokeAll = false, ipAddress = "")
3if response.isSome:
4 let emptyResp = response.get()
5 echo "Logout successful for user: ", "editor-87"
6else:
7 echo "Logout failed"
8

blockFromCommentPublic Internal Link


Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
commentIdstringΝαι
publicBlockFromCommentParamsPublicBlockFromCommentParamsΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[BlockSuccess]

Παράδειγμα

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

unBlockCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
publicBlockFromCommentParamsPublicBlockFromCommentParamsΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[UnblockSuccess]

Παράδειγμα

unBlockCommentPublic Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.unBlockCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", publicBlockFromCommentParams = PublicBlockFromCommentParams(), sso = "")
3if response.isSome:
4 let unblockResult = response.get()
5 discard unblockResult
6else:
7 discard httpResponse
8

checkedCommentsForBlocked Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdsstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[CheckBlockedCommentsResponse]

Παράδειγμα

Παράδειγμα checkedCommentsForBlocked
Copy Copy
1
2let (response, httpResponse) = client.checkedCommentsForBlocked(
3 tenantId = "my-tenant-123",
4 commentIds = "",
5 sso = ""
6)
7if response.isSome:
8 let blockedResp = response.get()
9 echo "Received blocked comments response: ", blockedResp
10else:
11 echo "No response body; HTTP status: ", $httpResponse.status
12

blockUserFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
blockFromCommentParamsBlockFromCommentParamsΌχι
userIdstringΌχι
anonUserIdstringΌχι

Απόκριση

Επιστρέφει: Option[BlockSuccess]

Παράδειγμα

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

createCommentPublic Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
broadcastIdstringΌχι
commentDataCommentDataΌχι
sessionIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[SaveCommentsResponseWithPresence]

Παράδειγμα

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

deleteComment Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι
contextUserIdstringΌχι
isLiveboolΌχι

Απόκριση

Επιστρέφει: Option[DeleteCommentResult]

Παράδειγμα

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

deleteCommentPublic Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΌχι
editKeystringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[PublicAPIDeleteCommentResponse]

Παράδειγμα

Παράδειγμα deleteCommentPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteCommentPublic(tenantId = "my-tenant-123", commentId = "cmt-987654321", broadcastId = "", editKey = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete acknowledged, HTTP status: ", httpResponse.status
6

deleteCommentVote Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
voteIdstringΌχι
urlIdstringΝαι
broadcastIdstringΌχι
editKeystringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[VoteDeleteResponse]

Παράδειγμα

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

flagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
userIdstringΌχι
anonUserIdstringΌχι

Απάντηση

Επιστρέφει: Option[FlagCommentResponse]

Παράδειγμα

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

getComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIGetCommentResponse]

Παράδειγμα

Παράδειγμα getComment
Copy Copy
1
2let (response, httpResponse) = client.getComment(tenantId = "my-tenant-123", id = "cmt-7890")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "Comment not found"
8

getComments Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
pageintΌχι
limitintΌχι
skipintΌχι
asTreeboolΌχι
skipChildrenintΌχι
limitChildrenintΌχι
maxTreeDepthintΌχι
urlIdstringΝαι
userIdstringΌχι
anonUserIdstringΌχι
contextUserIdstringΌχι
hashTagstringΌχι
parentIdstringΌχι
directionSortDirectionsΌχι
fromDateint64Όχι
toDateint64Όχι

Απόκριση

Επιστρέφει: Option[APIGetCommentsResponse]

Παράδειγμα

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

getCommentsPublic Internal Link

Απαιτούμενα tenantId urlId

Παράμετροι

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[GetCommentsResponseWithPresencePublicComment]

Παράδειγμα

Παράδειγμα getCommentsPublic
Copy Copy
1
2let (response, httpResponse) = client.getCommentsPublic(
3 tenantId = "my-tenant-123",
4 urlId = "news/article-title",
5 page = 2,
6 direction = SortDirections.Descending,
7 sso = "",
8 skip = 0,
9 skipChildren = 0,
10 limit = 25,
11 limitChildren = 5,
12 countChildren = false,
13 fetchPageForCommentId = "",
14 includeConfig = true,
15 countAll = false,
16 includei10n = true,
17 locale = "en-US",
18 modules = "reactions,moderation",
19 isCrawler = false,
20 includeNotificationCount = true,
21 asTree = true,
22 maxTreeDepth = 3,
23 useFullTranslationIds = false,
24 parentId = "",
25 searchText = "climate change",
26 hashTags = @["climate", "research"],
27 userId = "user-789",
28 customConfigStr = "",
29 afterCommentId = "",
30 beforeCommentId = ""
31)
32
33if response.isSome:
34 let commentsResp = response.get()
35 echo "Received comments response:"
36 echo commentsResp
37else:
38 echo "No comments returned. HTTP status:", httpResponse.status
39

getCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
editKeystringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[PublicAPIGetCommentTextResponse]

Παράδειγμα

Παράδειγμα getCommentText
Copy Copy
1
2let (response, httpResponse) = client.getCommentText(tenantId = "my-tenant-123", commentId = "cmt-987654321", editKey = "", sso = "")
3
4if response.isSome:
5 let commentTextResp = response.get()
6 echo commentTextResp
7else:
8 echo "No comment text returned"
9

getCommentVoteUserNames Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
commentIdstringΝαι
dirintΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[GetCommentVoteUserNamesSuccessResponse]

Παράδειγμα

Παράδειγμα getCommentVoteUserNames
Copy Copy
1
2let (response, httpResponse) = client.getCommentVoteUserNames(tenantId = "my-tenant-123", commentId = "cmt-987654", dir = 0, sso = "")
3if response.isSome:
4 let success: GetCommentVoteUserNamesSuccessResponse = response.get()
5 discard success
6

lockComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

pinComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ChangeCommentPinStatusResponse]

Παράδειγμα

Παράδειγμα pinComment
Copy Copy
1
2let (response, httpResponse) = client.pinComment(tenantId = "my-tenant-123", commentId = "cmt-98765", broadcastId = "", sso = "")
3if response.isSome:
4 let pinnedResp = response.get()
5 echo "Pin status updated for comment cmt-98765"
6else:
7 echo "No response received"
8

saveComment Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createCommentParamsCreateCommentParamsΌχι
isLiveboolΌχι
doSpamCheckboolΌχι
sendEmailsboolΌχι
populateNotificationsboolΌχι

Απόκριση

Επιστρέφει: Option[APISaveCommentResponse]

Παράδειγμα

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

saveCommentsBulk Internal Link

Παράμετροι

NameTypeΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createCommentParamsseq[CreateCommentParams]Όχι
isLiveboolΌχι
doSpamCheckboolΌχι
sendEmailsboolΌχι
populateNotificationsbool): (Option[seq[SaveCommentsBulkResponse]]Όχι
idstringΌχι
fromNamestringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

setCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΌχι
commentTextUpdateRequestCommentTextUpdateRequestΌχι
editKeystringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[PublicAPISetCommentTextResponse]

Παράδειγμα

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

unBlockUserFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
unBlockFromCommentParamsUnBlockFromCommentParamsΌχι
userIdstringΌχι
anonUserIdstringΌχι

Απάντηση

Επιστρέφει: Option[UnblockSuccess]

Παράδειγμα

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

unFlagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
userIdstringΌχι
anonUserIdstringΌχι

Απόκριση

Επιστρέφει: Option[FlagCommentResponse]

Παράδειγμα

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

unLockComment Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
commentIdstringΝαι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

unPinComment Internal Link


Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
broadcastIdstringNo
ssostringNo

Απόκριση

Επιστρέφει: Option[ChangeCommentPinStatusResponse]

Παράδειγμα

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

updateComment Internal Link

Παράμετροι

NameTypeΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updatableCommentParamsUpdatableCommentParamsΌχι
contextUserIdstringΌχι
doSpamCheckboolΌχι
isLiveboolΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

voteComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
urlIdstringΝαι
broadcastIdstringΌχι
voteBodyParamsVoteBodyParamsΌχι
sessionIdstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[VoteResponse]

Παράδειγμα

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

getCommentsForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
userIdstringΌχι
directionSortDirectionsΌχι
repliesToUserIdstringΌχι
pagefloat64Όχι
includei10nboolΌχι
localestringΌχι
isCrawlerboolΌχι

Απόκριση

Επιστρέφει: Option[GetCommentsForUserResponse]

Παράδειγμα

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

addDomainConfig Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
addDomainConfigParamsAddDomainConfigParamsΌχι

Απόκριση

Επιστρέφει: Option[AddDomainConfigResponse]

Παράδειγμα

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

deleteDomainConfig Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
domainstringΌχι

Απόκριση

Επιστρέφει: Option[DeleteDomainConfigResponse]

Παράδειγμα

Παράδειγμα deleteDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteDomainConfig(tenantId = "my-tenant-123", domain = "news.example.com")
3if response.isSome:
4 let deleted = response.get()
5 echo "DeleteDomainConfig succeeded for tenant ", "my-tenant-123"
6else:
7 echo "DeleteDomainConfig failed. HTTP status: ", $httpResponse.status
8

getDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
domainstringΌχι

Απόκριση

Επιστρέφει: Option[GetDomainConfigResponse]

Παράδειγμα

Παράδειγμα getDomainConfig
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfig(tenantId = "my-tenant-123", domain = "news/top-story-2026")
3if response.isSome:
4 let cfg = response.get()
5 discard cfg
6else:
7 discard httpResponse
8

getDomainConfigs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι

Απόκριση

Επιστρέφει: Option[GetDomainConfigsResponse]

Παράδειγμα

Παράδειγμα getDomainConfigs
Copy Copy
1
2let (response, httpResponse) = client.getDomainConfigs(tenantId = "my-tenant-123")
3if response.isSome:
4 let domainConfigs = response.get()
5 echo "Received domain configs for tenant my-tenant-123"
6 echo domainConfigs
7else:
8 echo "No domain configs returned"
9

patchDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
domainToUpdatestringΌχι
patchDomainConfigParamsPatchDomainConfigParamsΌχι

Απάντηση

Επιστρέφει: Option[PatchDomainConfigResponse]

Παράδειγμα

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

putDomainConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
domainToUpdatestringΌχι
updateDomainConfigParamsUpdateDomainConfigParamsΌχι

Απόκριση

Επιστρέφει: Option[PutDomainConfigResponse]

Παράδειγμα

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

createEmailTemplate Internal Link


Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyNo

Απόκριση

Επιστρέφει: Option[CreateEmailTemplateResponse]

Παράδειγμα

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

deleteEmailTemplate Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

deleteEmailTemplateRenderError Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
errorIdstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getEmailTemplate Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetEmailTemplateResponse]

Παράδειγμα

Παράδειγμα getEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplate(tenantId = "my-tenant-123", id = "welcome-email-01")
3if response.isSome:
4 let template = response.get()
5 discard template
6

getEmailTemplateDefinitions Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι

Απάντηση

Επιστρέφει: Option[GetEmailTemplateDefinitionsResponse]

Παράδειγμα

getEmailTemplateDefinitions Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateDefinitions(tenantId = "my-tenant-123")
3if response.isSome:
4 let definitions = response.get()
5 echo "Email template definitions for my-tenant-123: ", definitions
6else:
7 echo "Failed to retrieve templates, HTTP status: ", httpResponse.status
8

getEmailTemplateRenderErrors Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetEmailTemplateRenderErrorsResponse]

Παράδειγμα

getEmailTemplateRenderErrors Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplateRenderErrors(tenantId = "my-tenant-123", id = "", skip = 0.0)
3if response.isSome:
4 let templateErrors = response.get()
5 discard templateErrors
6else:
7 discard httpResponse
8

getEmailTemplates Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetEmailTemplatesResponse]

Παράδειγμα

Παράδειγμα getEmailTemplates
Copy Copy
1
2let (response, httpResponse) = client.getEmailTemplates(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let templates = response.get()
5 echo templates
6else:
7 echo "No email templates available"
8

renderEmailTemplate Internal Link

Παράμετροι

ΌνομαΤύποςΥποχρεωτικόΠεριγραφή
tenantIdstringΝαι
renderEmailTemplateBodyRenderEmailTemplateBodyΌχι
localestringΌχι

Απάντηση

Επιστρέφει: Option[RenderEmailTemplateResponse]

Παράδειγμα

Παράδειγμα renderEmailTemplate
Copy Copy
1
2let (response, httpResponse) = client.renderEmailTemplate(
3 tenantId = "my-tenant-123",
4 renderEmailTemplateBody = RenderEmailTemplateBody(),
5 locale = "en-US"
6)
7
8if response.isSome:
9 let rendered = response.get()
10 echo rendered
11

updateEmailTemplate Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateEmailTemplateBodyUpdateEmailTemplateBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdstringΝαι
userIdWSstringΌχι
startTimeint64Όχι
endTimeint64Όχι

Απόκριση

Επιστρέφει: Option[GetEventLogResponse]

Παράδειγμα

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

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
userIdWSstringΌχι
startTimeint64Όχι
endTimeint64Όχι

Απόκριση

Επιστρέφει: Option[GetEventLogResponse]

Παράδειγμα

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

createFeedPost Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createFeedPostParamsCreateFeedPostParamsΌχι
broadcastIdstringΌχι
isLiveboolΌχι
doSpamCheckboolΌχι
skipDupCheckboolΌχι

Απάντηση

Επιστρέφει: Option[CreateFeedPostsResponse]

Παράδειγμα

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

createFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createFeedPostParamsCreateFeedPostParamsΌχι
broadcastIdstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[CreateFeedPostResponse]

Παράδειγμα

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

deleteFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
postIdstringΌχι
broadcastIdstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[DeleteFeedPostPublicResponse]

Παράδειγμα

Παράδειγμα deleteFeedPostPublic
Copy Copy
1
2let (response, httpResponse) = client.deleteFeedPostPublic(tenantId = "my-tenant-123", postId = "", broadcastId = "", sso = "")
3if response.isSome:
4 let deleted = response.get()
5 echo "Delete successful"
6else:
7 echo "Delete failed"
8

getFeedPosts Internal Link

req tenantId afterId

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
afterIdstringΌχι
limitintΌχι
tagsseq[string]Όχι

Απόκριση

Επιστρέφει: Option[GetFeedPostsResponse]

Παράδειγμα

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

getFeedPostsPublic Internal Link

Αίτηση tenantId afterId

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
afterIdstringΌχι
limitintΌχι
tagsseq[string]Όχι
ssostringΌχι
isCrawlerboolΌχι
includeUserInfoboolΌχι

Απόκριση

Επιστρέφει: Option[PublicFeedPostsResponse]

Παράδειγμα

Παράδειγμα getFeedPostsPublic
Copy Copy
1
2let (response, httpResponse) = client.getFeedPostsPublic(
3 tenantId = "my-tenant-123",
4 afterId = "",
5 limit = 0,
6 tags = @[],
7 sso = "",
8 isCrawler = false,
9 includeUserInfo = false
10)
11if response.isSome:
12 let feed = response.get()
13 discard feed
14

getFeedPostsStats Internal Link


Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
postIdsseq[string]Όχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[FeedPostsStatsResponse]

Παράδειγμα

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

getUserReactsPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
postIdsseq[string]Όχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[UserReactsResponse]

Παράδειγμα

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

reactFeedPostPublic Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
postIdstringΌχι
reactBodyParamsReactBodyParamsΌχι
isUndoboolΌχι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ReactFeedPostResponse]

Παράδειγμα

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

updateFeedPost Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
idstringΌχι
feedPostFeedPostΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

updateFeedPostPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
postIdstringΌχι
updateFeedPostParamsUpdateFeedPostParamsΌχι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[CreateFeedPostResponse]

Παράδειγμα

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

flagCommentPublic Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
isFlaggedboolΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getGifLarge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
largeInternalURLSanitizedstringΌχι

Απόκριση

Επιστρέφει: Option[GifGetLargeResponse]

Παράδειγμα

Παράδειγμα getGifLarge
Copy Copy
1
2let (response, httpResponse) = client.getGifLarge(tenantId = "news-tenant-42", largeInternalURLSanitized = "")
3if response.isSome:
4 let gif = response.get()
5 echo "Received GifGetLargeResponse"
6 discard gif
7else:
8 echo "No gif returned, HTTP status: " & $httpResponse.status
9

getGifsSearch Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
searchstringΌχι
localestringΌχι
ratingstringΌχι
pagefloat64Όχι

Απάντηση

Επιστρέφει: Option[GetGifsSearchResponse]

Παράδειγμα

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

getGifsTrending Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
localestringΌχι
ratingstringΌχι
pagefloat64Όχι

Απόκριση

Επιστρέφει: Option[GetGifsTrendingResponse]

Παράδειγμα

Παράδειγμα getGifsTrending
Copy Copy
1
2let (response, httpResponse) = client.getGifsTrending(tenantId = "my-tenant-123",
3 locale = "en-US",
4 rating = "pg-13",
5 page = 1.0)
6if response.isSome:
7 let trending = response.get()
8

addHashTag Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
createHashTagBodyCreateHashTagBodyΌχι

Απόκριση

Επιστρέφει: Option[CreateHashTagResponse]

Παράδειγμα

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

addHashTagsBulk Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
bulkCreateHashTagsBodyBulkCreateHashTagsBodyΌχι

Απόκριση

Επιστρέφει: Option[BulkCreateHashTagsResponse]

Παράδειγμα

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

deleteHashTag Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tagstringΌχι
tenantIdstringΝαι
deleteHashTagRequestBodyDeleteHashTagRequestBodyΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getHashTags Internal Link

Παράμετροι

ΌνομαΤύποςΥποχρεωτικόΠεριγραφή
tenantIdstringΝαι
pagefloat64Όχι

Απόκριση

Επιστρέφει: Option[GetHashTagsResponse]

Παράδειγμα

Παράδειγμα getHashTags
Copy Copy
1
2let (response, httpResponse) = client.getHashTags(tenantId = "news-portal-987", page = 2.0)
3if response.isSome:
4 let tagsResp = response.get()
5 echo "Received hashtags response"
6else:
7 echo "No hashtags returned"
8

patchHashTag Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tagstringΌχι
tenantIdstringΝαι
updateHashTagBodyUpdateHashTagBodyΌχι

Απόκριση

Επιστρέφει: Option[UpdateHashTagResponse]

Παράδειγμα

Παράδειγμα patchHashTag
Copy Copy
1
2let (response, httpResponse) = client.patchHashTag(tag = "breaking-news", tenantId = "my-tenant-123", updateHashTagBody = UpdateHashTagBody())
3if response.isSome:
4 let updatedHashTag = response.get()
5 echo updatedHashTag
6

deleteModerationVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
commentIdstringΝαι
voteIdstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[VoteDeleteResponse]

Παράδειγμα

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

getApiComments Internal Link

Παράμετροι

NameTypeRequiredDescription
pagefloat64Όχι
countfloat64Όχι
textSearchstringΌχι
byIPFromCommentstringΌχι
filtersstringΌχι
searchFiltersstringΌχι
sortsstringΌχι
demoboolΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[ModerationAPIGetCommentsResponse]

Παράδειγμα

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

getApiExportStatus Internal Link

Παράμετροι

NameTypeRequiredDescription
batchJobIdstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[ModerationExportStatusResponse]

Παράδειγμα

Παράδειγμα getApiExportStatus
Copy Copy
1
2let (response, httpResponse) = client.getApiExportStatus(batchJobId = "export-job-2026-06-01", sso = "sso-abc123token")
3if response.isSome:
4 let exportStatus = response.get()
5 echo repr(exportStatus)
6else:
7 echo "No export status available, HTTP code: ", httpResponse.statusCode
8

getApiIds Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
textSearchstringΌχι
byIPFromCommentstringΌχι
filtersstringΌχι
searchFiltersstringΌχι
afterIdstringΌχι
demoboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationAPIGetCommentIdsResponse]

Παράδειγμα

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

getBanUsersFromComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetBannedUsersFromCommentResponse]

Παράδειγμα

Παράδειγμα getBanUsersFromComment
Copy Copy
1
2let (response, httpResponse) = client.getBanUsersFromComment(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let bannedResp = response.get()
5 discard bannedResp
6else:
7 echo "No banned users found or request failed"
8

getCommentBanStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetCommentBanStatusResponse]

Παράδειγμα

Παράδειγμα getCommentBanStatus
Copy Copy
1
2let (response, httpResponse) = client.getCommentBanStatus(commentId = "cmt-987654321", sso = "")
3
4if response.isSome:
5 let banStatus = response.get()
6 echo "Ban status for comment cmt-987654321: ", banStatus
7else:
8 echo "No ban status returned for comment cmt-987654321"
9

getCommentChildren Internal Link

Παράμετροι

ΌνομαΤύποςΥποχρεωτικόΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationAPIChildCommentsResponse]

Παράδειγμα

Παράδειγμα getCommentChildren
Copy Copy
1
2let (response, httpResponse) = client.getCommentChildren(commentId = "comment-98765", sso = "")
3if response.isSome:
4 let childResp = response.get()
5 discard childResp
6

getCount Internal Link

Parameters

NameTypeRequiredDescription
textSearchstringΌχι
byIPFromCommentstringΌχι
filterstringΌχι
searchFiltersstringΌχι
demoboolΌχι
ssostringΌχι

Response

Επιστρέφει: Option[ModerationAPICountCommentsResponse]

Example

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

getCounts Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetBannedUsersCountResponse]

Παράδειγμα

Παράδειγμα getCounts
Copy Copy
1
2let (response, httpResponse) = client.getCounts(sso = "sso_my-tenant-123_token_AbCdEf123456")
3if response.isSome:
4 let counts = response.get()
5 echo counts
6else:
7 echo "Request failed with status:", httpResponse.status
8

getLogs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationAPIGetLogsResponse]

Παράδειγμα

Παράδειγμα getLogs
Copy Copy
1
2let (response, httpResponse) = client.getLogs(commentId = "cmt-8471f2d3", sso = "")
3if response.isSome:
4 let logs = response.get()
5 echo "Fetched logs:", logs
6

getManualBadges Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetTenantManualBadgesResponse]

Παράδειγμα

Παράδειγμα getManualBadges
Copy Copy
1
2let (response, httpResponse) = client.getManualBadges(sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")
3if response.isSome:
4 let badges = response.get()
5 echo "Manual badges received:"
6 echo badges
7else:
8 echo "No manual badges returned."
9 echo httpResponse
10

getManualBadgesForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
badgesUserIdstringΌχι
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetUserManualBadgesResponse]

Παράδειγμα

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

getModerationComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
includeEmailboolΌχι
includeIPboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationAPICommentResponse]

Παράδειγμα

Παράδειγμα getModerationComment
Copy Copy
1
2let (response, httpResponse) = client.getModerationComment(commentId = "cmt-8f3b2a9d", includeEmail = false, includeIP = false, sso = "")
3if response.isSome:
4 let comment = response.get()
5 discard comment
6else:
7 echo "No moderation comment returned"
8

getModerationCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetCommentTextResponse]

Παράδειγμα

Παράδειγμα getModerationCommentText
Copy Copy
1
2let (response, httpResponse) = client.getModerationCommentText(commentId = "comment-9f8b7a6c", sso = "")
3if response.isSome:
4 let commentData = response.get()
5 echo "Moderation comment text retrieved"
6else:
7 echo "No moderation comment text available"
8

getPreBanSummary Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
commentIdstringΝαι
includeByUserIdAndEmailboolΌχι
includeByIPboolΌχι
includeByEmailDomainboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[PreBanSummary]

Παράδειγμα

Παράδειγμα getPreBanSummary
Copy Copy
1
2let commentId = "cmt-7423"
3let (response, httpResponse) = client.getPreBanSummary(
4 commentId = commentId,
5 includeByUserIdAndEmail = false,
6 includeByIP = false,
7 includeByEmailDomain = false,
8 sso = ""
9)
10if response.isSome:
11 let preBanSummary = response.get()
12 discard preBanSummary
13else:
14 discard httpResponse
15

getSearchCommentsSummary Internal Link

Παράμετροι

ΌνομαTypeΑπαιτείταιΠεριγραφή
valuestringΌχι
filtersstringΌχι
searchFiltersstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[ModerationCommentSearchResponse]

Παράδειγμα

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

getSearchPages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
valuestringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[ModerationPageSearchResponse]

Παράδειγμα

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

getSearchSites Internal Link

Παράμετροι

NameTypeRequiredDescription
valuestringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationSiteSearchResponse]

Παράδειγμα

Παράδειγμα getSearchSites
Copy Copy
1
2let (response, httpResponse) = client.getSearchSites(value = "news/2026-olympics", sso = "sso-user-9876-token")
3if response.isSome:
4 let searchResponse: ModerationSiteSearchResponse = response.get()
5 echo "Found sites for search:", searchResponse
6

getSearchSuggest Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
textSearchstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationSuggestResponse]

Παράδειγμα

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

getSearchUsers Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
valuestringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationUserSearchResponse]

Παράδειγμα

Παράδειγμα getSearchUsers
Copy Copy
1
2let (response, httpResponse) = client.getSearchUsers(value = "john.doe@example.com", sso = "sso-acme-789")
3if response.isSome:
4 let searchRes = response.get()
5 echo "Search result:", searchRes
6else:
7 echo "No users found"
8

getTrustFactor Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
userIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetUserTrustFactorResponse]

Παράδειγμα

Παράδειγμα getTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.getTrustFactor(userId = "user-1001", sso = "sso-token-6f7d9c")
3if response.isSome:
4 let trust = response.get()
5 echo "Received trust factor for user-1001"
6else:
7 echo "No trust factor returned, HTTP status: ", $httpResponse.status
8

getUserBanPreference Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIModerateGetUserBanPreferencesResponse]

Παράδειγμα

Παράδειγμα getUserBanPreference
Copy Copy
1
2let (response, httpResponse) = client.getUserBanPreference(sso = "sso-jwt-7f3a9b")
3if response.isSome:
4 let prefs = response.get()
5 echo "User ban preferences:", prefs
6else:
7 echo "No ban preference found"
8

getUserInternalProfile Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetUserInternalProfileResponse]

Παράδειγμα

Παράδειγμα getUserInternalProfile
Copy Copy
1
2let (response, httpResponse) = client.getUserInternalProfile(commentId = "cmt-2026-00042", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoibXl1c2VyIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let profile = response.get()
5 discard profile
6

postAdjustCommentVotes Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
adjustCommentVotesParamsAdjustCommentVotesParamsΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[AdjustVotesResponse]

Παράδειγμα

Παράδειγμα postAdjustCommentVotes
Copy Copy
1
2let (response, httpResponse) = client.postAdjustCommentVotes(commentId = "cmt-987654", adjustCommentVotesParams = nil, sso = "sso-token-abc123")
3if response.isSome:
4 let adjusted = response.get()
5 discard adjusted
6

postApiExport Internal Link


Παράμετροι

NameTypeRequiredDescription
textSearchstringΌχι
byIPFromCommentstringΌχι
filtersstringΌχι
searchFiltersstringΌχι
sortsstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationExportResponse]

Παράδειγμα

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

postBanUserFromComment Internal Link

Παράμετροι

NameTypeΑπαιτείταιΠεριγραφή
commentIdstringΝαι
banEmailboolΌχι
banEmailDomainboolΌχι
banIPboolΌχι
deleteAllUsersCommentsboolΌχι
bannedUntilstringΌχι
isShadowBanboolΌχι
updateIdstringΌχι
banReasonstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[BanUserFromCommentResult]

Παράδειγμα

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

postBanUserUndo Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
banUserUndoParamsBanUserUndoParamsΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

postBulkPreBanSummary Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
bulkPreBanParamsBulkPreBanParamsΌχι
includeByUserIdAndEmailboolΌχι
includeByIPboolΌχι
includeByEmailDomainboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[BulkPreBanSummary]

Παράδειγμα

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

postCommentsByIds Internal Link

Παράμετροι

NameTypeRequiredDescription
commentsByIdsParamsCommentsByIdsParamsΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ModerationAPIChildCommentsResponse]

Παράδειγμα

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

postFlagComment Internal Link

Παράμετροι

NameTypeRequiredDescription
commentIdstringΝαι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα postFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postFlagComment(commentId = "comment-742", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment flagged successfully"
6else:
7 echo "Failed to flag comment"
8

postRemoveComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[PostRemoveCommentResponse]

Παράδειγμα

Παράδειγμα postRemoveComment
Copy Copy
1
2let (response, httpResponse) = client.postRemoveComment(commentId = "cmt-987654321", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.abc123.signature")
3if response.isSome:
4 let removed = response.get()
5 echo "Comment removed:", removed
6else:
7 echo "Failed to remove comment, HTTP response:", httpResponse
8

postRestoreDeletedComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα postRestoreDeletedComment
Copy Copy
1
2let (response, httpResponse) = client.postRestoreDeletedComment(commentId = "comment-8a7b6c5d", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.SAMPLE_SIGNATURE")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Comment restored:", apiResp
6else:
7 echo "Restore request failed"
8

postSetCommentApprovalStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
approvedboolΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[SetCommentApprovedResponse]

Παράδειγμα

Παράδειγμα postSetCommentApprovalStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentApprovalStatus(commentId = "cmt-7890", approved = false, sso = "")
3if response.isSome:
4 let setResp = response.get()
5 discard setResp
6

postSetCommentReviewStatus Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
reviewedboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

postSetCommentSpamStatus Internal Link

Παράμετροι

NameTypeRequiredDescription
commentIdstringΝαι
spamboolΌχι
permNotSpamboolΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα postSetCommentSpamStatus
Copy Copy
1
2let (response, httpResponse) = client.postSetCommentSpamStatus(
3 commentId = "cmt-20250619-842",
4 spam = false,
5 permNotSpam = false,
6 sso = ""
7)
8if response.isSome:
9 let apiEmpty = response.get()
10 discard apiEmpty
11

postSetCommentText Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
commentIdstringΝαι
setCommentTextParamsSetCommentTextParamsΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[SetCommentTextResponse]

Παράδειγμα

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

postUnFlagComment Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα postUnFlagComment
Copy Copy
1
2let (response, httpResponse) = client.postUnFlagComment(commentId = "comment-8f3a2b4e", sso = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Comment unflagged successfully, response: ", apiEmpty
6else:
7 echo "Failed to unflag comment. HTTP response: ", httpResponse
8

postVote Internal Link

Παράμετροι

NameTypeRequiredDescription
commentIdstringΝαι
directionstringΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[VoteResponse]

Παράδειγμα

Παράδειγμα postVote
Copy Copy
1
2let (response, httpResponse) = client.postVote(commentId = "comment-4f3a9e", direction = "up", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoidXNlci0xMjMifQ.signedPart")
3if response.isSome:
4 let vote = response.get()
5 echo "Vote recorded:", vote
6else:
7 echo "No vote returned"
8

putAwardBadge Internal Link

Παράμετροι

NameTypeRequiredDescription
badgeIdstringΌχι
userIdstringΌχι
commentIdstringΝαι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[AwardUserBadgeResponse]

Παράδειγμα

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

putCloseThread Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
urlIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα putCloseThread
Copy Copy
1
2let (response, httpResponse) = client.putCloseThread(urlId = "news/article-title", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Thread closed successfully:", $apiResp
6else:
7 echo "Failed to close thread, HTTP response:", $httpResponse
8

putRemoveBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
badgeIdstringΌχι
userIdstringΌχι
commentIdstringΝαι
broadcastIdstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[RemoveUserBadgeResponse]

Παράδειγμα

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

putReopenThread Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
urlIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα putReopenThread
Copy Copy
1
2let (response, httpResponse) = client.putReopenThread(urlId = "news/2026-election-analysis", sso = "")
3if response.isSome:
4 let apiResp = response.get()
5 echo "Reopen succeeded, response: ", apiResp
6else:
7 echo "Reopen failed, HTTP status: ", httpResponse.status
8

setTrustFactor Internal Link

Παράμετροι

NameTypeRequiredDescription
userIdstringΌχι
trustFactorstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[SetUserTrustFactorResponse]

Παράδειγμα

Παράδειγμα setTrustFactor
Copy Copy
1
2let (response, httpResponse) = client.setTrustFactor(userId = "user-9876", trustFactor = "high", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTk4NzYiLCJpYXQiOjE2MjQwMDAwMDB9.signature")
3if response.isSome:
4 let resultObj = response.get()
5 echo resultObj
6else:
7 echo "No response received"
8

createModerator Internal Link

Παράμετροι

ΌνομαΤύποςΥποχρεωτικόΠεριγραφή
tenantIdstringΝαι
createModeratorBodyCreateModeratorBodyΌχι

Απόκριση

Επιστρέφει: Option[CreateModeratorResponse]

Παράδειγμα

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

deleteModerator Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
sendEmailstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deleteModerator
Copy Copy
1
2let (response, httpResponse) = client.deleteModerator(tenantId = "my-tenant-123", id = "", sendEmail = "")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Moderator deleted successfully for tenant my-tenant-123"
6else:
7 echo "No response returned; inspect httpResponse"
8

getModerator Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetModeratorResponse]

Παράδειγμα

Παράδειγμα getModerator
Copy Copy
1
2let (response, httpResponse) = client.getModerator(tenantId = "my-tenant-123", id = "mod-456")
3if response.isSome:
4 let moderator = response.get()
5 echo moderator
6else:
7 echo "Moderator not found, HTTP status: ", $httpResponse.status
8

getModerators Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetModeratorsResponse]

Παράδειγμα

Παράδειγμα getModerators
Copy Copy
1
2let (response, httpResponse) = client.getModerators(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let moderators = response.get()
5 echo "Received moderators response:", moderators
6else:
7 echo "No moderators returned"
8

updateModerator Internal Link


Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateModeratorBodyUpdateModeratorBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

deleteNotificationCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getCachedNotificationCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetCachedNotificationCountResponse]

Παράδειγμα

Παράδειγμα getCachedNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getCachedNotificationCount(tenantId = "my-tenant-123", id = "notification-789")
3if response.isSome:
4 let cached = response.get()
5 echo "Cached notification count: ", $cached
6else:
7 echo "No cached notification count"
8

getNotificationCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
urlIdstringΝαι
fromCommentIdstringΌχι
viewedboolΌχι

Απόκριση

Επιστρέφει: Option[GetNotificationCountResponse]

Παράδειγμα

getNotificationCount Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.getNotificationCount(tenantId = "my-tenant-123", userId = "user-987", urlId = "news/2026/06/election-results", fromCommentId = "", viewed = false)
3if response.isSome:
4 let notifyData = response.get()
5 echo notifyData
6

getNotifications Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
urlIdstringΝαι
fromCommentIdstringΌχι
viewedboolΌχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetNotificationsResponse]

Παράδειγμα

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

updateNotification Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateNotificationBodyUpdateNotificationBodyΌχι
userIdstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

createV1PageReact Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdstringΝαι
titlestringΌχι

Απόκριση

Επιστρέφει: Option[CreateV1PageReact]

Παράδειγμα

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

createV2PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
idstringΌχι
titlestringΌχι

Απόκριση

Επιστρέφει: Option[CreateV1PageReact]

Παράδειγμα

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

deleteV1PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι

Απάντηση

Επιστρέφει: Option[CreateV1PageReact]

Παράδειγμα

Παράδειγμα deleteV1PageReact
Copy Copy
1
2let (response, httpResponse) = client.deleteV1PageReact(tenantId = "my-tenant-123", urlId = "news/article-title")
3if response.isSome:
4 let deletedReact = response.get()
5 echo "Deleted react:", deletedReact
6else:
7 echo "No react returned for tenant: my-tenant-123, url: news/article-title"
8

deleteV2PageReact Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[CreateV1PageReact]

Παράδειγμα

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

getV1PageLikes Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι

Απόκριση

Επιστρέφει: Option[GetV1PageLikes]

Παράδειγμα

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

getV2PageReacts Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι

Απάντηση

Επιστρέφει: Option[GetV2PageReacts]

Παράδειγμα

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

getV2PageReactUsers Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetV2PageReactUsersResponse]

Παράδειγμα

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

addPage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createAPIPageDataCreateAPIPageDataΌχι

Απόκριση

Επιστρέφει: Option[AddPageAPIResponse]

Παράδειγμα

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

deletePage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απάντηση

Επιστρέφει: Option[DeletePageAPIResponse]

Παράδειγμα

Παράδειγμα deletePage
Copy Copy
1
2let (response, httpResponse) = client.deletePage(tenantId = "site-tenant-456", id = "news/winter-updates-2025")
3if response.isSome:
4 let deleted = response.get()
5 echo "DeletePageAPIResponse:", deleted
6else:
7 echo "Delete failed, HTTP response:", httpResponse
8

getOfflineUsers Internal Link

Προηγούμενοι σχολιαστές στη σελίδα που ΔΕΝ είναι αυτήν τη στιγμή online. Ταξινομημένοι κατά displayName. Χρησιμοποιήστε αυτό μετά την εξάντληση του /users/online για να εμφανίσετε μια ενότητα «Μέλη». Σελιδοποίηση με cursor στο commenterName: ο server διατρέχει το μερικό {tenantId, urlId, commenterName} δείκτης από afterName προς τα εμπρός μέσω $gt — χωρίς κόστος $skip.

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
afterNamestringΌχι
afterUserIdstringΌχι

Απόκριση

Επιστρέφει: Option[PageUsersOfflineResponse]

Παράδειγμα

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

getOnlineUsers Internal Link

Χρήστες που είναι αυτή τη στιγμή online σε μια σελίδα: άτομα των οποίων η websocket συνεδρία είναι εγγεγραμμένη στη σελίδα αυτή αυτή τη στιγμή. Επιστρέφει anonCount + totalCount (συνδρομητές σε όλο το δωμάτιο, συμπεριλαμβανομένων των ανώνυμων θεατών που δεν απαριθμούμε).

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdstringΝαι
afterNamestringΌχι
afterUserIdstringΌχι

Απάντηση

Επιστρέφει: Option[PageUsersOnlineResponse]

Παράδειγμα

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

getPageByURLId Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes

Απόκριση

Επιστρέφει: Option[GetPageByURLIdAPIResponse]

Παράδειγμα

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

getPages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι

Απόκριση

Επιστρέφει: Option[GetPagesAPIResponse]

Παράδειγμα

Παράδειγμα getPages
Copy Copy
1
2let (response, httpResponse) = client.getPages(tenantId = "news-site-456")
3if response.isSome:
4 let pages = response.get()
5 echo "Received pages response: ", pages
6else:
7 echo "No pages returned. HTTP response: ", httpResponse
8

getPagesPublic Internal Link

Λίστα σελίδων για έναν tenant. Χρησιμοποιείται από την εφαρμογή επιφάνειας εργασίας του FChat για να συμπληρώσει τη λίστα δωματίων της. Απαιτείται το enableFChat να είναι true στην επιλυμένη προσαρμοσμένη ρύθμιση για κάθε σελίδα. Οι σελίδες που απαιτούν SSO φιλτράρονται με βάση την πρόσβαση ομάδας του χρήστη που κάνει το αίτημα.

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
cursorstringΌχι
limitintΌχι
qstringΌχι
sortByPagesSortByΌχι
hasCommentsboolΌχι

Απόκριση

Επιστρέφει: Option[GetPublicPagesResponse]

Παράδειγμα

Παράδειγμα χρήσης getPagesPublic
Copy Copy
1
2let (response, httpResponse) = client.getPagesPublic(
3 tenantId = "my-tenant-123",
4 cursor = "",
5 limit = 0,
6 q = "",
7 sortBy = PagesSortBy(0),
8 hasComments = false
9)
10
11if response.isSome:
12 let pages = response.get()
13 echo "Retrieved public pages: ", $pages
14else:
15 echo "No pages returned, HTTP status: ", $httpResponse.status
16

getUsersInfo Internal Link

Μαζικές πληροφορίες χρηστών για έναν tenant. Δεδομένων των userIds, επιστρέφει πληροφορίες εμφάνισης από User / SSOUser. Χρησιμοποιείται από το widget σχολίων για να εμπλουτίσει χρήστες που μόλις εμφανίστηκαν μέσω ενός γεγονότος παρουσίας. Χωρίς πλαίσιο σελίδας: η ιδιωτικότητα εφαρμόζεται ομοιόμορφα (τα ιδιωτικά προφίλ αποκρύπτονται).

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
idsstringΌχι

Απόκριση

Επιστρέφει: Option[PageUsersInfoResponse]

Παράδειγμα

Παράδειγμα getUsersInfo
Copy Copy
1
2let (response, httpResponse) = client.getUsersInfo(tenantId = "my-tenant-123", ids = "user-42,user-87")
3if response.isSome:
4 let usersInfo = response.get()
5 echo "Retrieved users info:", usersInfo
6else:
7 echo "No users info returned. HTTP status:", httpResponse.status
8

patchPage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateAPIPageDataUpdateAPIPageDataΌχι

Απάντηση

Επιστρέφει: Option[PatchPageAPIResponse]

Παράδειγμα

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

deletePendingWebhookEvent Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deletePendingWebhookEvent
Copy Copy
1
2let (response, httpResponse) = client.deletePendingWebhookEvent(tenantId = "my-tenant-123", id = "wh_evt_9f8b7a6c")
3if response.isSome:
4 let apiEmpty = response.get()
5 echo "Pending webhook event deleted for tenant my-tenant-123"
6else:
7 echo "Failed to delete pending webhook event"
8

getPendingWebhookEventCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
externalIdstringΌχι
eventTypestringΌχι
domainstringΌχι
attemptCountGTfloat64Όχι

Απάντηση

Επιστρέφει: Option[GetPendingWebhookEventCountResponse]

Παράδειγμα

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

getPendingWebhookEvents Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
externalIdstringΌχι
eventTypestringΌχι
domainstringΌχι
attemptCountGTfloat64Όχι
skipfloat64Όχι

Απάντηση

Επιστρέφει: Option[GetPendingWebhookEventsResponse]

Παράδειγμα

Παράδειγμα getPendingWebhookEvents
Copy Copy
1
2let (response, httpResponse) = client.getPendingWebhookEvents(
3 tenantId = "my-tenant-123",
4 commentId = "cmt-987654",
5 externalId = "",
6 eventType = "",
7 domain = "",
8 attemptCountGT = 0.0,
9 skip = 0.0
10)
11if response.isSome:
12 let pending = response.get()
13 discard pending
14

createQuestionConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createQuestionConfigBodyCreateQuestionConfigBodyΌχι

Απόκριση

Επιστρέφει: Option[CreateQuestionConfigResponse]

Παράδειγμα

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

deleteQuestionConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deleteQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.deleteQuestionConfig(tenantId = "my-tenant-123", id = "")
3
4if response.isSome:
5 let deleted = response.get()
6 echo "Question config deleted for tenant: ", "my-tenant-123"
7else:
8 echo "Failed to delete question config"
9

getQuestionConfig Internal Link


Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι

Response

Επιστρέφει: Option[GetQuestionConfigResponse]

Παράδειγμα

Παράδειγμα getQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfig(tenantId = "my-tenant-123", id = "qst-456")
3if response.isSome:
4 let cfg = response.get()
5 discard cfg
6

getQuestionConfigs Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetQuestionConfigsResponse]

Παράδειγμα

Παράδειγμα getQuestionConfigs
Copy Copy
1
2let (response, httpResponse) = client.getQuestionConfigs(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let configs = response.get()
5 echo "Received question configs for tenant my-tenant-123"
6 echo configs
7else:
8 echo "No question configs returned"
9

updateQuestionConfig Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateQuestionConfigBodyUpdateQuestionConfigBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα updateQuestionConfig
Copy Copy
1
2let (response, httpResponse) = client.updateQuestionConfig(tenantId = "my-tenant-123", id = "question-config-456", updateQuestionConfigBody = default(UpdateQuestionConfigBody))
3if response.isSome:
4 let apiEmpty = response.get()
5 discard apiEmpty
6

createQuestionResult Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createQuestionResultBodyCreateQuestionResultBodyΌχι

Απόκριση

Επιστρέφει: Option[CreateQuestionResultResponse]

Παράδειγμα

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

deleteQuestionResult Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deleteQuestionResult
Copy Copy
1
2let tenantId = "my-tenant-123"
3let resultId = "question-result-456"
4let (response, httpResponse) = client.deleteQuestionResult(tenantId = tenantId, id = resultId)
5if response.isSome:
6 let emptyResp = response.get()
7 echo "Deleted question result:", resultId
8

getQuestionResult Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetQuestionResultResponse]

Παράδειγμα

Παράδειγμα getQuestionResult
Copy Copy
1
2let (response, httpResponse) = client.getQuestionResult(tenantId = "my-tenant-123", id = "question-456")
3if response.isSome:
4 let result = response.get()
5 echo "Question result received:"
6 echo result
7else:
8 echo "No question result returned, HTTP status: ", $httpResponse.status
9

getQuestionResults Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
userIdstringΌχι
startDatestringΌχι
questionIdstringΌχι
questionIdsstringΌχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetQuestionResultsResponse]

Παράδειγμα

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

updateQuestionResult Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι
updateQuestionResultBodyUpdateQuestionResultBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

aggregateQuestionResults Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
questionIdstringΌχι
questionIdsseq[string]Όχι
urlIdstringΝαι
timeBucketAggregateTimeBucketΌχι
startDatestringΌχι
forceRecalculateboolΌχι

Απάντηση

Επιστρέφει: Option[AggregateQuestionResultsResponse]

Παράδειγμα

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

bulkAggregateQuestionResults Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestΌχι
forceRecalculateboolΌχι

Απόκριση

Επιστρέφει: Option[BulkAggregateQuestionResultsResponse]

Παράδειγμα

bulkAggregateQuestionResults Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.bulkAggregateQuestionResults(
3 tenantId = "my-tenant-123",
4 bulkAggregateQuestionResultsRequest = BulkAggregateQuestionResultsRequest(),
5 forceRecalculate = false
6)
7
8if response.isSome:
9 let aggregated = response.get()
10 echo "Aggregated question results received"
11

combineCommentsWithQuestionResults Internal Link


Παράμετροι

NameTypeRequiredDescription
tenantIdstringYes
questionIdstringNo
questionIdsseq[string]No
urlIdstringYes
startDatestringNo
forceRecalculateboolNo
minValuefloat64No
maxValuefloat64No
limitfloat64No

Απόκριση

Επιστρέφει: Option[CombineQuestionResultsWithCommentsResponse]

Παράδειγμα

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

addSSOUser Internal Link

Parameters

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
createAPISSOUserDataCreateAPISSOUserDataΌχι

Απόκριση

Επιστρέφει: Option[AddSSOUserAPIResponse]

Παράδειγμα

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

deleteSSOUser Internal Link


Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
idstringΌχι
deleteCommentsboolΌχι
commentDeleteModestringΌχι

Απόκριση

Επιστρέφει: Option[DeleteSSOUserAPIResponse]

Παράδειγμα

Παράδειγμα deleteSSOUser
Copy Copy
1
2let (response, httpResponse) = client.deleteSSOUser(tenantId = "my-tenant-123", id = "sso-user-9876", deleteComments = true, commentDeleteMode = "hard")
3if response.isSome:
4 let deleted = response.get()
5 discard deleted
6else:
7 discard httpResponse
8

getSSOUserByEmail Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
emailstringΌχι

Απάντηση

Επιστρέφει: Option[GetSSOUserByEmailAPIResponse]

Παράδειγμα

Παράδειγμα getSSOUserByEmail
Copy Copy
1
2let (response, httpResponse) = client.getSSOUserByEmail(tenantId = "my-tenant-123", email = "alice@newsco.com")
3if response.isSome:
4 let ssoUser = response.get()
5 echo "SSO user found: ", ssoUser.email
6else:
7 echo "No SSO user found. HTTP status: ", httpResponse.status
8

getSSOUserById Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetSSOUserByIdAPIResponse]

Παράδειγμα

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

getSSOUsers Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
skipintΌχι

Απάντηση

Επιστρέφει: Option[GetSSOUsersResponse]

Παράδειγμα

Παράδειγμα getSSOUsers
Copy Copy
1
2let (response, httpResponse) = client.getSSOUsers(tenantId = "my-tenant-123", skip = 0)
3if response.isSome:
4 let ssoUsers = response.get()
5 echo ssoUsers
6else:
7 echo "No SSO users returned; HTTP response:", httpResponse
8

patchSSOUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateAPISSOUserDataUpdateAPISSOUserDataΌχι
updateCommentsboolΌχι

Απόκριση

Επιστρέφει: Option[PatchSSOUserAPIResponse]

Παράδειγμα

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

putSSOUser Internal Link

Parameters

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateAPISSOUserDataUpdateAPISSOUserDataΌχι
updateCommentsboolΌχι

Απόκριση

Επιστρέφει: Option[PutSSOUserAPIResponse]

Παράδειγμα

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

createSubscription Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataΌχι

Απόκριση

Επιστρέφει: Option[CreateSubscriptionAPIResponse]

Παράδειγμα

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

deleteSubscription Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
userIdstringΌχι

Απόκριση

Επιστρέφει: Option[DeleteSubscriptionAPIResponse]

Παράδειγμα

deleteSubscription Παράδειγμα
Copy Copy
1
2let (response, httpResponse) = client.deleteSubscription(tenantId = "my-tenant-123", id = "sub-98765", userId = "user-456")
3if response.isSome:
4 let deleteResp = response.get()
5 echo "Delete subscription response received"
6else:
7 echo "No subscription response"
8

getSubscriptions Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι

Απάντηση

Επιστρέφει: Option[GetSubscriptionsAPIResponse]

Παράδειγμα

Παράδειγμα getSubscriptions
Copy Copy
1
2let (response, httpResponse) = client.getSubscriptions(tenantId = "my-tenant-123", userId = "")
3if response.isSome:
4 let subscriptions = response.get()
5 discard subscriptions
6

updateSubscription Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
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

getTenantDailyUsages Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
yearNumberfloat64Όχι
monthNumberfloat64Όχι
dayNumberfloat64Όχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetTenantDailyUsagesResponse]

Παράδειγμα

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

createTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαραίτητοΠεριγραφή
tenantIdstringΝαι
createTenantPackageBodyCreateTenantPackageBodyΌχι

Επιστρέφει

Επιστρέφει: Option[CreateTenantPackageResponse]

Παράδειγμα

Παράδειγμα createTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.createTenantPackage(tenantId = "my-tenant-123", createTenantPackageBody = CreateTenantPackageBody())
3
4if response.isSome:
5 let pkg = response.get()
6 echo "Created tenant package: ", $pkg
7else:
8 echo "Failed to create tenant package, HTTP response: ", $httpResponse
9

deleteTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deleteTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.deleteTenantPackage(tenantId = "my-tenant-123", id = "package-987")
3if response.isSome:
4 let emptyResp = response.get()
5 echo emptyResp
6else:
7 echo "Failed to delete tenant package"
8

getTenantPackage Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetTenantPackageResponse]

Παράδειγμα

Παράδειγμα getTenantPackage
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackage(tenantId = "my-tenant-123", id = "premium-2026")
3if response.isSome:
4 let pkg = response.get()
5 echo "Retrieved tenant package:"
6 echo pkg
7else:
8 echo "Tenant package not found"
9

getTenantPackages Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetTenantPackagesResponse]

Παράδειγμα

Παράδειγμα getTenantPackages
Copy Copy
1
2let (response, httpResponse) = client.getTenantPackages(tenantId = "my-tenant-123", skip = 0.0)
3if response.isSome:
4 let packages = response.get()
5 echo "Received tenant packages:"
6 echo packages
7else:
8 echo "No packages found for tenant 'my-tenant-123'"
9

replaceTenantPackage Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
replaceTenantPackageBodyReplaceTenantPackageBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

updateTenantPackage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateTenantPackageBodyUpdateTenantPackageBodyΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

createTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createTenantUserBodyCreateTenantUserBodyΌχι

Απάντηση

Επιστρέφει: Option[CreateTenantUserResponse]

Παράδειγμα

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

deleteTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
deleteCommentsstringΌχι
commentDeleteModestringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

getTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetTenantUserResponse]

Παράδειγμα

Παράδειγμα getTenantUser
Copy Copy
1
2let (response, httpResponse) = client.getTenantUser(tenantId = "my-tenant-123", id = "user-789")
3if response.isSome:
4 let tenantUser = response.get()
5 echo "User fetched:", tenantUser
6else:
7 echo "No user found, HTTP status:", httpResponse.status
8

getTenantUsers Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetTenantUsersResponse]

Παράδειγμα

Παράδειγμα getTenantUsers
Copy Copy
1
2let (response, httpResponse) = client.getTenantUsers(tenantId = "my-tenant-123", skip = 0.0)
3
4if response.isSome:
5 let tenantUsers = response.get()
6 echo "Retrieved tenant users"
7else:
8 echo "No tenant users returned"
9

replaceTenantUser Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
replaceTenantUserBodyReplaceTenantUserBodyΌχι
updateCommentsstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι
redirectURLstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

updateTenantUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateTenantUserBodyUpdateTenantUserBodyΌχι
updateCommentsstringΌχι

Απάντηση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

createTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
createTenantBodyCreateTenantBodyΌχι

Απάντηση

Επιστρέφει: Option[CreateTenantResponse]

Παράδειγμα

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

deleteTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
surestringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

Παράδειγμα deleteTenant
Copy Copy
1
2let (response, httpResponse) = client.deleteTenant(tenantId = "my-tenant-123", id = "", sure = "")
3if response.isSome:
4 let emptyResp = response.get()
5else:
6 discard httpResponse
7

getTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[GetTenantResponse]

Παράδειγμα

Παράδειγμα getTenant
Copy Copy
1
2let (response, httpResponse) = client.getTenant(tenantId = "my-tenant-123", id = "tenant-789")
3if response.isSome:
4 let tenant = response.get()
5 discard tenant
6else:
7 discard httpResponse
8

getTenants Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
metastringΌχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetTenantsResponse]

Παράδειγμα

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

updateTenant Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateTenantBodyUpdateTenantBodyΌχι

Απόκριση

Επιστρέφει: Option[APIEmptyResponse]

Παράδειγμα

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

changeTicketState Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringΝαι
userIdstringΌχι
idstringΌχι
changeTicketStateBodyChangeTicketStateBodyΌχι

Response

Επιστρέφει: Option[ChangeTicketStateResponse]

Παράδειγμα

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

createTicket Internal Link

Παράμετροι

ΌνομαΤύποςΥποχρεωτικόΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
createTicketBodyCreateTicketBodyΌχι

Απόκριση

Επιστρέφει: Option[CreateTicketResponse]

Παράδειγμα

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

getTicket Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
userIdstringΌχι

Απόκριση

Επιστρέφει: Option[GetTicketResponse]

Παράδειγμα

Παράδειγμα getTicket
Copy Copy
1
2let (response, httpResponse) = client.getTicket(tenantId = "my-tenant-123", id = "ticket-456", userId = "user-789")
3if response.isSome:
4 let ticket = response.get()
5 echo "Got ticket:", ticket
6else:
7 echo "No ticket returned; HTTP response:", httpResponse
8

getTickets Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
statefloat64Όχι
skipfloat64Όχι
limitfloat64Όχι

Απόκριση

Επιστρέφει: Option[GetTicketsResponse]

Παράδειγμα

Παράδειγμα getTickets
Copy Copy
1
2let (response, httpResponse) = client.getTickets(tenantId = "my-tenant-123", userId = "user-789", state = 1.0, skip = 0.0, limit = 50.0)
3if response.isSome:
4 let tickets = response.get()
5 echo tickets
6

getTranslations Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
namespacestringΌχι
componentstringΌχι
localestringΌχι
useFullTranslationIdsboolΌχι

Απόκριση

Επιστρέφει: Option[GetTranslationsResponse]

Παράδειγμα

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

uploadImage Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
filestringΌχι
sizePresetSizePresetΌχι
urlIdstringΝαι

Απόκριση

Επιστρέφει: Option[UploadImageResponse]

Παράδειγμα

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

getUserBadgeProgressById Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απάντηση

Επιστρέφει: Option[APIGetUserBadgeProgressResponse]

Παράδειγμα

Παράδειγμα getUserBadgeProgressById
Copy Copy
1
2let (response, httpResponse) = client.getUserBadgeProgressById(tenantId = "my-tenant-123", id = "")
3if response.isSome:
4 let badgeProgress = response.get()
5 echo badgeProgress
6else:
7 echo "No badge progress found"
8

getUserBadgeProgressByUserId Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringstringΌχι

Απάντηση

Επιστρέφει: Option[APIGetUserBadgeProgressResponse]

Παράδειγμα

Παράδειγμα getUserBadgeProgressByUserId
Copy Copy
1
2let tenantId = "my-tenant-123"
3let userId = "user-456"
4let (response, httpResponse) = client.getUserBadgeProgressByUserId(tenantId = tenantId, userId = userId)
5if response.isSome:
6 let badgeProgress = response.get()
7 echo "Badge progress retrieved for ", userId
8 discard badgeProgress
9

getUserBadgeProgressList Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
limitfloat64Όχι
skipfloat64Όχι

Απόκριση

Επιστρέφει: Option[APIGetUserBadgeProgressListResponse]

Παράδειγμα

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

createUserBadge Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
createUserBadgeParamsCreateUserBadgeParamsΌχι

Απόκριση

Επιστρέφει: Option[APICreateUserBadgeResponse]

Παράδειγμα

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

deleteUserBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIEmptySuccessResponse]

Παράδειγμα

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

getUserBadge Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι

Απόκριση

Επιστρέφει: Option[APIGetUserBadgeResponse]

Παράδειγμα

Παράδειγμα getUserBadge
Copy Copy
1
2let (response, httpResponse) = client.getUserBadge(tenantId = "my-tenant-123", id = "badge-9876")
3if response.isSome:
4 let badge = response.get()
5 echo "Fetched badge:"
6 echo badge
7else:
8 echo "No badge found"
9 echo httpResponse
10

getUserBadges Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
userIdstringΌχι
badgeIdstringΌχι
displayedOnCommentsboolΌχι
limitfloat64Όχι
skipfloat64Όχι

Απάντηση

Επιστρέφει: Option[APIGetUserBadgesResponse]

Παράδειγμα

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

updateUserBadge Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
idstringΌχι
updateUserBadgeParamsUpdateUserBadgeParamsΌχι

Απόκριση

Επιστρέφει: Option[APIEmptySuccessResponse]

Παράδειγμα

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

getUserNotificationCount Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[GetUserNotificationCountResponse]

Παράδειγμα

Παράδειγμα getUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.getUserNotificationCount(tenantId = "news-tenant-123", sso = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyLTI0NyIsImlhdCI6MTYw945600fQ.sflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c")
3if response.isSome:
4 let countResp = response.get()
5 echo "Received user notification count response: ", countResp
6else:
7 echo "No notification count returned"
8

getUserNotifications Internal Link


Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
pageSizeintΌχι
afterIdstringΌχι
includeContextboolΌχι
afterCreatedAtint64Όχι
unreadOnlyboolΌχι
dmOnlyboolΌχι
noDmboolΌχι
includeTranslationsboolΌχι
includeTenantNotificationsboolΌχι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[GetMyNotificationsResponse]

Παράδειγμα

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

resetUserNotificationCount Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
ssostringΌχι

Απάντηση

Επιστρέφει: Option[ResetUserNotificationsResponse]

Παράδειγμα

Παράδειγμα resetUserNotificationCount
Copy Copy
1
2let (response, httpResponse) = client.resetUserNotificationCount(tenantId = "my-tenant-123", sso = "user-sso-token-456")
3if response.isSome:
4 let result = response.get()
5 echo "ResetUserNotificationsResponse:", result
6else:
7 echo "Reset failed, HTTP response:", httpResponse
8

resetUserNotifications Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
afterIdstringΌχι
afterCreatedAtint64Όχι
unreadOnlyboolΌχι
dmOnlyboolΌχι
noDmboolΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[ResetUserNotificationsResponse]

Παράδειγμα

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

updateUserNotificationCommentSubscriptionStatus Internal Link

Ενεργοποιήστε ή απενεργοποιήστε τις ειδοποιήσεις για ένα συγκεκριμένο σχόλιο.

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
notificationIdstringΌχι
optedInOrOutstringΌχι
commentIdstringΝαι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[UpdateUserNotificationCommentSubscriptionStatusResponse]

Παράδειγμα

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

updateUserNotificationPageSubscriptionStatus Internal Link

Ενεργοποιήστε ή απενεργοποιήστε τις ειδοποιήσεις για μια σελίδα. Όταν οι χρήστες έχουν εγγραφεί σε μια σελίδα, δημιουργούνται ειδοποιήσεις για νέα κύρια σχόλια, και επίσης

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
urlstringΌχι
pageTitlestringΌχι
subscribedOrUnsubscribedstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[UpdateUserNotificationPageSubscriptionStatusResponse]

Παράδειγμα

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

updateUserNotificationStatus Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
notificationIdstringΌχι
newStatusstringΌχι
ssostringΌχι

Απόκριση

Επιστρέφει: Option[UpdateUserNotificationStatusResponse]

Παράδειγμα

Παράδειγμα updateUserNotificationStatus
Copy Copy
1
2let (response, httpResponse) = client.updateUserNotificationStatus(
3 tenantId = "my-tenant-123",
4 notificationId = "notif-456",
5 newStatus = "read",
6 sso = "sso-token-abc123"
7)
8if response.isSome:
9 let updated = response.get()
10 echo "Notification status updated successfully"
11else:
12 echo "No update response received"
13

getUserPresenceStatuses Internal Link


Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
urlIdWSstringΌχι
userIdsstringΌχι

Απόκριση

Επιστρέφει: Option[GetUserPresenceStatusesResponse]

Παράδειγμα

Παράδειγμα getUserPresenceStatuses
Copy Copy
1
2let (response, httpResponse) = client.getUserPresenceStatuses(tenantId = "my-tenant-123", urlIdWS = "news/article-title", userIds = "user-123,user-456")
3if response.isSome:
4 let presenceStatuses = response.get()
5 echo presenceStatuses
6else:
7 echo "No presence data"
8

searchUsers Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
usernameStartsWithstringΌχι
mentionGroupIdsseq[string]Όχι
ssostringΌχι
searchSectionstringΌχι

Απόκριση

Επιστρέφει: Option[SearchUsersResult]

Παράδειγμα

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

getUser Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι

Response

Επιστρέφει: Option[GetUserResponse]

Παράδειγμα

Παράδειγμα getUser
Copy Copy
1
2let (response, httpResponse) = client.getUser(tenantId = "my-tenant-123", id = "user-456")
3if response.isSome:
4 let user = response.get()
5 echo user
6else:
7 echo "User not found"
8

createVote Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
commentIdstringΝαι
directionstringΌχι
userIdstringΌχι
anonUserIdstringΌχι

Απόκριση

Επιστρέφει: Option[VoteResponse]

Παράδειγμα

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

deleteVote Internal Link

Παράμετροι

NameTypeRequiredDescription
tenantIdstringΝαι
idstringΌχι
editKeystringΌχι

Απόκριση

Επιστρέφει: Option[VoteDeleteResponse]

Παράδειγμα

Παράδειγμα deleteVote
Copy Copy
1
2let (response, httpResponse) = client.deleteVote(tenantId = "my-tenant-123", id = "vote-7f3b2a", editKey = "")
3if response.isSome:
4 let voteDelete = response.get()
5 echo "Vote deleted successfully"
6else:
7 echo "Failed to delete vote"
8

getVotes Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι

Απόκριση

Επιστρέφει: Option[GetVotesResponse]

Παράδειγμα

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

getVotesForUser Internal Link

Παράμετροι

ΌνομαΤύποςΑπαιτείταιΠεριγραφή
tenantIdstringΝαι
urlIdstringΝαι
userIdstringΌχι
anonUserIdstringΌχι

Απόκριση

Επιστρέφει: Option[GetVotesForUserResponse]

Παράδειγμα

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

Χρειάζεστε βοήθεια?

Εάν αντιμετωπίσετε οποιοδήποτε πρόβλημα ή έχετε ερωτήσεις σχετικά με το Nim SDK, παρακαλούμε:

Συνεισφορά

Οι συνεισφορές είναι ευπρόσδεκτες! Παρακαλούμε επισκεφτείτε το αποθετήριο στο GitHub για οδηγίες συνεισφοράς.