FastComments.com

SDK Nim de FastComments

Ceci est le SDK Nim officiel pour FastComments.

SDK Nim officiel pour l'API FastComments

Dépôt

Voir sur GitHub


Exigences Internal Link


  • Nim >= 1.6.0
  • nimcrypto >= 0.5.4

Installation Internal Link

Utilisation de Nimble

nimble install fastcomments

Compilation depuis les sources

nimble build

Contenu de la bibliothèque

Cette bibliothèque contient le client API généré et les utilitaires SSO pour faciliter l'utilisation de l'API.

API publiques vs sécurisées

Pour le client API, il existe deux modules API, api_default et api_public. Le api_default contient des méthodes qui nécessitent votre clé API, et api_public contient des appels d'API qui peuvent être effectués directement depuis un navigateur/appareil mobile/etc sans authentification.

Démarrage rapide Internal Link

Utilisation des API authentifiées (DefaultAPI)

Important : Les endpoints authentifiés nécessitent que votre clé API soit définie en tant qu'en-tête 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"

# Effectuer des appels API authentifiés
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"

Utilisation des API publiques (PublicAPI)

Les endpoints publics ne requièrent pas d'authentification :

import httpclient
import fastcomments
import fastcomments/apis/api_public

let client = newHttpClient()

# Effectuer des appels API publics
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"

Problèmes courants

  1. 401 authentication error : Assurez-vous de définir l'en-tête x-api-key sur votre HttpClient avant d'effectuer des requêtes DefaultAPI : client.headers["x-api-key"] = "your-api-key"
  2. Wrong API class : Utilisez api_default pour les requêtes authentifiées côté serveur, api_public pour les requêtes côté client/publiques.

Effectuer des appels API Internal Link

Toutes les méthodes d'API de ce SDK renvoient des tuples de (Option[ResponseType], Response). Le premier élément contient la réponse parsée si elle a réussi, et le deuxième élément est la réponse HTTP brute.

Exemple : Récupération des commentaires

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"

Remarques Internal Link

Identifiants de diffusion

Vous verrez que vous devez passer un broadcastId dans certaines requêtes API. Lorsque vous recevrez des événements, vous récupérerez cet ID, ce qui vous permettra d'ignorer l'événement si vous comptez appliquer les changements de façon optimiste côté client (ce que vous voudrez probablement faire car cela offre la meilleure expérience). Passez un UUID ici. L'ID doit être suffisamment unique pour ne pas se produire deux fois dans une session de navigateur.

SSO (Authentification unique)

Pour des exemples de SSO, voir ci-dessous.

Utilisation SSO Internal Link

SSO simple

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 sécurisé

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

Agrégation Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
aggregationRequestAggregationRequestNon
parentTenantIdstringNon
includeStatsboolNon

Réponse

Renvoie : Option[AggregationResponse]

Exemple

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

Obtenir les journaux d'audit Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
limitfloat64Non
skipfloat64Non
orderSORTDIRNon
afterfloat64Non
beforefloat64Non

Réponse

Renvoie : Option[GetAuditLogs_200_response]

Exemple

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

Bloquer depuis un commentaire public Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
commentIdstringOui
publicBlockFromCommentParamsPublicBlockFromCommentParamsNon
ssostringNon

Réponse

Renvoie : Option[BlockFromCommentPublic_200_response]

Exemple

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

Débloquer le commentaire public Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
publicBlockFromCommentParamsPublicBlockFromCommentParamsNon
ssostringNon

Réponse

Retourne: Option[UnBlockCommentPublic_200_response]

Exemple

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

Vérifier les commentaires bloqués Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdsstringNon
ssostringNon

Réponse

Renvoie : Option[CheckedCommentsForBlocked_200_response]

Exemple

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

Bloquer un utilisateur depuis un commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
blockFromCommentParamsBlockFromCommentParamsNon
userIdstringNon
anonUserIdstringNon

Réponse

Renvoie : Option[BlockFromCommentPublic_200_response]

Exemple

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

Créer un commentaire public Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
urlIdstringOui
broadcastIdstringNon
commentDataCommentDataNon
sessionIdstringNon
ssostringNon

Réponse

Retourne: Option[CreateCommentPublic_200_response]

Exemple

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

Supprimer un commentaire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
contextUserIdstringNon
isLiveboolNon

Réponse

Renvoie: Option[DeleteComment_200_response]

Exemple

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

Supprimer un commentaire public Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
editKeystringNon
ssostringNon

Réponse

Retourne: Option[DeleteCommentPublic_200_response]

Exemple

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

Supprimer le vote sur un commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
voteIdstringNon
urlIdstringOui
broadcastIdstringNon
editKeystringNon
ssostringNon

Réponse

Retourne : Option[DeleteCommentVote_200_response]

Exemple

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

Signaler un commentaire Internal Link


Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
userIdstringNon
anonUserIdstringNon

Réponse

Renvoie: Option[FlagComment_200_response]

Exemple

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

Obtenir un commentaire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie : Option[GetComment_200_response]

Exemple

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

Obtenir des commentaires Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
pageintNon
limitintNon
skipintNon
asTreeboolNon
skipChildrenintNon
limitChildrenintNon
maxTreeDepthintNon
urlIdstringOui
userIdstringNon
anonUserIdstringNon
contextUserIdstringNon
hashTagstringNon
parentIdstringNon
directionSortDirectionsNon

Réponse

Renvoie: Option[GetComments_200_response]

Exemple

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

Obtenir des commentaires publics Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
urlIdstringOui
pageintNon
directionSortDirectionsNon
ssostringNon
skipintNon
skipChildrenintNon
limitintNon
limitChildrenintNon
countChildrenboolNon
fetchPageForCommentIdstringNon
includeConfigboolNon
countAllboolNon
includei10nboolNon
localestringNon
modulesstringNon
isCrawlerboolNon
includeNotificationCountboolNon
asTreeboolNon
maxTreeDepthintNon
useFullTranslationIdsboolNon
parentIdstringNon
searchTextstringNon
hashTagsseq[string]Non
userIdstringNon
customConfigStrstringNon
afterCommentIdstringNon
beforeCommentIdstringNon

Réponse

Renvoie : Option[GetCommentsPublic_200_response]

Exemple

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

Obtenir le texte du commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
editKeystringNon
ssostringNon

Réponse

Renvoie: Option[GetCommentText_200_response]

Exemple

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

Obtenir les noms d'utilisateurs des votes de commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
dirintNon
ssostringNon

Réponse

Renvoie: Option[GetCommentVoteUserNames_200_response]

Exemple

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

Verrouiller un commentaire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
ssostringNon

Réponse

Renvoie : Option[LockComment_200_response]

Exemple

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

Épingler un commentaire Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
ssostringNon

Réponse

Renvoie: Option[PinComment_200_response]

Exemple

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

Enregistrer un commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createCommentParamsCreateCommentParamsNon
isLiveboolNon
doSpamCheckboolNon
sendEmailsboolNon
populateNotificationsboolNon

Réponse

Renvoie: Option[SaveComment_200_response]

Exemple

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

Enregistrer des commentaires en masse Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createCommentParamsseq[CreateCommentParams]Non
isLiveboolNon
doSpamCheckboolNon
sendEmailsboolNon
populateNotificationsbool): (Option[seq[SaveComment_200_response]]Non
idstringNon
unBlockFromCommentParamsUnBlockFromCommentParamsNon
userIdstringNon
anonUserIdstringNon

Réponse

Retourne : Option[UnBlockCommentPublic_200_response]

Exemple

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

Définir le texte du commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
commentTextUpdateRequestCommentTextUpdateRequestNon
editKeystringNon
ssostringNon

Réponse

Renvoie : Option[SetCommentText_200_response]

Exemple

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

Débloquer un utilisateur depuis un commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon
unBlockFromCommentParamsUnBlockFromCommentParamsNon
userIdstringNon
anonUserIdstringNon

Réponse

Renvoie : Option[UnBlockCommentPublic_200_response]

Exemple

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

Annuler le signalement d'un commentaire Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
idstringNon
userIdstringNon
anonUserIdstringNon

Réponse

Renvoie: Option[FlagComment_200_response]

Exemple

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

Déverrouiller un commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
ssostringNon

Réponse

Retourne: Option[LockComment_200_response]

Exemple

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

Désépingler un commentaire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
commentIdstringOui
broadcastIdstringNon
ssostringNon

Réponse

Renvoie : Option[PinComment_200_response]

Exemple

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

Mettre à jour un commentaire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
updatableCommentParamsUpdatableCommentParamsNon
contextUserIdstringNon
doSpamCheckboolNon
isLiveboolNon

Réponse

Retourne : Option[FlagCommentPublic_200_response]

Exemple

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

Voter pour un commentaire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
urlIdstringOui
broadcastIdstringNon
voteBodyParamsVoteBodyParamsNon
sessionIdstringNon
ssostringNon

Réponse

Retourne : Option[VoteComment_200_response]

Exemple

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

Ajouter une configuration de domaine Internal Link


Paramètres

NomTypeRequisDescription
tenantIdstringOui
addDomainConfigParamsAddDomainConfigParamsNon

Réponse

Renvoie : Option[AddDomainConfig_200_response]

Exemple

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

Supprimer une configuration de domaine Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
domainstringNon

Réponse

Renvoie: Option[DeleteDomainConfig_200_response]

Exemple

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

Obtenir une configuration de domaine Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
domainstringNon

Réponse

Renvoie: Option[GetDomainConfig_200_response]

Exemple

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

Obtenir les configurations de domaine Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui

Réponse

Renvoie: Option[GetDomainConfigs_200_response]

Exemple

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

Mettre à jour partiellement une configuration de domaine Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
domainToUpdatestringNon
patchDomainConfigParamsPatchDomainConfigParamsNon

Réponse

Renvoie : Option[GetDomainConfig_200_response]

Exemple

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

Remplacer une configuration de domaine Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
domainToUpdatestringNon
updateDomainConfigParamsUpdateDomainConfigParamsNon

Réponse

Renvoie: Option[GetDomainConfig_200_response]

Exemple

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

Créer un modèle d'e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createEmailTemplateBodyCreateEmailTemplateBodyNon

Réponse

Retourne : Option[CreateEmailTemplate_200_response]

Exemple

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

Supprimer un modèle d'e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Supprimer l'erreur de rendu du modèle d'e-mail Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon
errorIdstringNon

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un modèle d'e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetEmailTemplate_200_response]

Exemple

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

Obtenir les définitions des modèles d'e-mail Internal Link


Paramètres

NameTypeRequisDescription
tenantIdstringOui

Réponse

Renvoie: Option[GetEmailTemplateDefinitions_200_response]

Exemple

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

Obtenir les erreurs de rendu des modèles d'e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
skipfloat64Non

Réponse

Retourne : Option[GetEmailTemplateRenderErrors_200_response]

Exemple

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

Obtenir les modèles d'e-mail Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
skipfloat64Non

Réponse

Renvoie : Option[GetEmailTemplates_200_response]

Exemple

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

Générer un modèle d'e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
renderEmailTemplateBodyRenderEmailTemplateBodyNon
localestringNon

Réponse

Renvoie: Option[RenderEmailTemplate_200_response]

Exemple

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

Mettre à jour un modèle d'e-mail Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon
updateEmailTemplateBodyUpdateEmailTemplateBodyNon

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir le journal d'événements Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
urlIdstringOui
userIdWSstringNon
startTimeint64Non
endTimeint64Non

Réponse

Retourne: Option[GetEventLog_200_response]

Exemple

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

Obtenir le journal d'événements global Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
urlIdstringOui
userIdWSstringNon
startTimeint64Non
endTimeint64Non

Réponse

Renvoie: Option[GetEventLog_200_response]

Exemple

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

Créer une publication du fil Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createFeedPostParamsCreateFeedPostParamsNon
broadcastIdstringNon
isLiveboolNon
doSpamCheckboolNon
skipDupCheckboolNon

Réponse

Renvoie : Option[CreateFeedPost_200_response]

Exemple

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

Créer une publication publique du fil Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createFeedPostParamsCreateFeedPostParamsNon
broadcastIdstringNon
ssostringNon

Réponse

Retourne : Option[CreateFeedPostPublic_200_response]

Exemple

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

Supprimer une publication publique du fil Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
postIdstringNon
broadcastIdstringNon
ssostringNon

Réponse

Renvoie : Option[DeleteFeedPostPublic_200_response]

Exemple

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

Obtenir les publications du fil Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
afterIdstringNon
limitintNon
tagsseq[string]Non

Réponse

Retourne : Option[GetFeedPosts_200_response]

Exemple

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

Obtenir les publications publiques du fil Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
afterIdstringNon
limitintNon
tagsseq[string]Non
ssostringNon
isCrawlerboolNon
includeUserInfoboolNon

Réponse

Renvoie: Option[GetFeedPostsPublic_200_response]

Exemple

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

Obtenir les statistiques des publications du fil Internal Link


Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
postIdsseq[string]Non
ssostringNon

Réponse

Renvoie : Option[GetFeedPostsStats_200_response]

Exemple

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

Obtenir les réactions des utilisateurs (public) Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
postIdsseq[string]Non
ssostringNon

Réponse

Renvoie: Option[GetUserReactsPublic_200_response]

Exemple

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

Réagir à une publication du fil (public) Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
postIdstringNon
reactBodyParamsReactBodyParamsNon
isUndoboolNon
broadcastIdstringNon
ssostringNon

Réponse

Renvoie: Option[ReactFeedPostPublic_200_response]

Exemple

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

Mettre à jour une publication du fil Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon
feedPostFeedPostNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Mettre à jour une publication du fil (public) Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
postIdstringNon
updateFeedPostParamsUpdateFeedPostParamsNon
broadcastIdstringNon
ssostringNon

Réponse

Renvoie : Option[CreateFeedPostPublic_200_response]

Exemple

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

Signaler un commentaire public Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
isFlaggedboolNon
ssostringNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Ajouter un hashtag Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
createHashTagBodyCreateHashTagBodyNon

Réponse

Renvoie : Option[AddHashTag_200_response]

Exemple

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

Ajouter des hashtags en masse Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNon

Réponse

Retourne : Option[AddHashTagsBulk_200_response]

Exemple

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

Supprimer un hashtag Internal Link

Paramètres

NomTypeObligatoireDescription
tagstringNon
tenantIdstringOui
deleteHashTagRequestDeleteHashTagRequestNon

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir les hashtags Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
pagefloat64Non

Réponse

Renvoie: Option[GetHashTags_200_response]

Exemple

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

Mettre à jour partiellement un hashtag Internal Link


Paramètres

NomTypeRequisDescription
tagstringNon
tenantIdstringOui
updateHashTagBodyUpdateHashTagBodyNon

Réponse

Renvoie: Option[PatchHashTag_200_response]

Exemple

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

Créer un modérateur Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
createModeratorBodyCreateModeratorBodyNon

Réponse

Renvoie: Option[CreateModerator_200_response]

Exemple

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

Supprimer un modérateur Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
sendEmailstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un modérateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetModerator_200_response]

Exemple

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

Obtenir les modérateurs Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
skipfloat64Non

Réponse

Renvoie: Option[GetModerators_200_response]

Exemple

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

Mettre à jour un modérateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringYes
idstringNo
updateModeratorBodyUpdateModeratorBodyNo

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Supprimer le compteur de notifications Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Retourne : Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir le compteur de notifications en cache Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[GetCachedNotificationCount_200_response]

Exemple

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

Obtenir le nombre de notifications Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
userIdstringNon
urlIdstringOui
fromCommentIdstringNon
viewedboolNon

Réponse

Renvoie: Option[GetNotificationCount_200_response]

Exemple

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

Obtenir les notifications Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
userIdstringNon
urlIdstringOui
fromCommentIdstringNon
viewedboolNon
skipfloat64Non

Réponse

Renvoie: Option[GetNotifications_200_response]

Exemple

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

Mettre à jour une notification Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateNotificationBodyUpdateNotificationBodyNon
userIdstringNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Ajouter une page Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createAPIPageDataCreateAPIPageDataNon

Réponse

Renvoie : Option[AddPageAPIResponse]

Exemple

Exemple pour 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

Supprimer une page Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie : Option[DeletePageAPIResponse]

Exemple

Exemple 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

Obtenir la page par ID d'URL Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
urlIdstringOui

Réponse

Renvoie : Option[GetPageByURLIdAPIResponse]

Exemple

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

Obtenir les pages Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui

Réponse

Retourne: Option[GetPagesAPIResponse]

Exemple

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

Mettre à jour partiellement une page Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon
updateAPIPageDataUpdateAPIPageDataNon

Réponse

Retourne : Option[PatchPageAPIResponse]

Exemple

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

Supprimer un événement webhook en attente Internal Link


Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir le nombre d'événements webhook en attente Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
externalIdstringNon
eventTypestringNon
domainstringNon
attemptCountGTfloat64Non

Réponse

Renvoie : Option[GetPendingWebhookEventCount_200_response]

Exemple

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

Obtenir les événements webhook en attente Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
externalIdstringNon
eventTypestringNon
domainstringNon
attemptCountGTfloat64Non
skipfloat64Non

Réponse

Renvoie: Option[GetPendingWebhookEvents_200_response]

Exemple

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

Créer une configuration de question Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createQuestionConfigBodyCreateQuestionConfigBodyNon

Réponse

Retourne : Option[CreateQuestionConfig_200_response]

Exemple

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

Supprimer une configuration de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir une configuration de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetQuestionConfig_200_response]

Exemple

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

Obtenir les configurations de questions Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
skipfloat64Non

Réponse

Renvoie: Option[GetQuestionConfigs_200_response]

Exemple

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

Mettre à jour une configuration de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateQuestionConfigBodyUpdateQuestionConfigBodyNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Créer un résultat de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createQuestionResultBodyCreateQuestionResultBodyNon

Réponse

Renvoie: Option[CreateQuestionResult_200_response]

Exemple

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

Supprimer un résultat de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un résultat de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[GetQuestionResult_200_response]

Exemple

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

Obtenir les résultats de questions Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
urlIdstringOui
userIdstringNon
startDatestringNon
questionIdstringNon
questionIdsstringNon
skipfloat64Non

Réponse

Retourne: Option[GetQuestionResults_200_response]

Exemple

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

Mettre à jour un résultat de question Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateQuestionResultBodyUpdateQuestionResultBodyNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Agrégation des résultats de questions Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
questionIdstringNon
questionIdsseq[string]Non
urlIdstringOui
timeBucketAggregateTimeBucketNon
startDatestringNon
forceRecalculateboolNon

Réponse

Renvoie : Option[AggregateQuestionResults_200_response]

Exemple

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

Agrégation en masse des résultats de questions Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestNon
forceRecalculateboolNon

Réponse

Renvoie : Option[BulkAggregateQuestionResults_200_response]

Exemple

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

Combiner les commentaires avec les résultats de questions Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
questionIdstringNon
questionIdsseq[string]Non
urlIdstringOui
startDatestringNon
forceRecalculateboolNon
minValuefloat64Non
maxValuefloat64Non
limitfloat64Non

Réponse

Renvoie: Option[CombineCommentsWithQuestionResults_200_response]

Exemple

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

Ajouter un utilisateur SSO Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createAPISSOUserDataCreateAPISSOUserDataNon

Réponse

Renvoie : Option[AddSSOUserAPIResponse]

Exemple

Exemple 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

Supprimer un utilisateur SSO Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
deleteCommentsboolNon
commentDeleteModestringNon

Réponse

Retourne: Option[DeleteSSOUserAPIResponse]

Exemple

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

Obtenir un utilisateur SSO par e-mail Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringYes
emailstringNo

Réponse

Renvoie : Option[GetSSOUserByEmailAPIResponse]

Exemple

Exemple 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

Obtenir un utilisateur SSO par ID Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetSSOUserByIdAPIResponse]

Exemple

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

Obtenir les utilisateurs SSO Internal Link


Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
skipintNon

Réponse

Renvoie: Option[GetSSOUsers_200_response]

Exemple

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

Mettre à jour partiellement un utilisateur SSO Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
updateAPISSOUserDataUpdateAPISSOUserDataNon
updateCommentsboolNon

Réponse

Renvoie : Option[PatchSSOUserAPIResponse]

Exemple

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

Remplacer un utilisateur SSO Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateAPISSOUserDataUpdateAPISSOUserDataNon
updateCommentsboolNon

Réponse

Renvoie: Option[PutSSOUserAPIResponse]

Exemple

Exemple de 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

Créer un abonnement Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataNon

Réponse

Retourne: Option[CreateSubscriptionAPIResponse]

Exemple

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

Supprimer un abonnement Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
userIdstringNon

Réponse

Renvoie : Option[DeleteSubscriptionAPIResponse]

Exemple

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

Obtenir les abonnements Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
userIdstringNon

Réponse

Renvoie : Option[GetSubscriptionsAPIResponse]

Exemple

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

Mettre à jour un abonnement Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataNon
userIdstringNon

Réponse

Renvoie: Option[UpdateSubscriptionAPIResponse]

Exemple

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

Obtenir les utilisations quotidiennes du locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
yearNumberfloat64Non
monthNumberfloat64Non
dayNumberfloat64Non
skipfloat64Non

Réponse

Renvoie : Option[GetTenantDailyUsages_200_response]

Exemple

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

Créer un forfait du locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createTenantPackageBodyCreateTenantPackageBodyNon

Réponse

Renvoie : Option[CreateTenantPackage_200_response]

Exemple

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

Supprimer un forfait du locataire Internal Link


Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un forfait du locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringYes
idstringNo

Réponse

Renvoie: Option[GetTenantPackage_200_response]

Exemple

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

Obtenir les forfaits du locataire Internal Link


Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
skipfloat64Non

Réponse

Renvoie: Option[GetTenantPackages_200_response]

Exemple

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

Remplacer un forfait du locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringYes
idstringNo
replaceTenantPackageBodyReplaceTenantPackageBodyNo

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Mettre à jour un forfait du locataire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateTenantPackageBodyUpdateTenantPackageBodyNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Créer un utilisateur du locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
createTenantUserBodyCreateTenantUserBodyNon

Réponse

Renvoie : Option[CreateTenantUser_200_response]

Exemple

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

Supprimer un utilisateur du locataire Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
idstringNon
deleteCommentsstringNon
commentDeleteModestringNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un utilisateur du locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetTenantUser_200_response]

Exemple

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

Obtenir les utilisateurs du locataire Internal Link


Paramètres

NomTypeRequisDescription
tenantIdstringOui
skipfloat64Non

Réponse

Renvoie: Option[GetTenantUsers_200_response]

Exemple

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

Remplacer un utilisateur du locataire Internal Link


Paramètres

NameTypeRequisDescription
tenantIdstringOui
idstringNon
replaceTenantUserBodyReplaceTenantUserBodyNon
updateCommentsstringNon

Réponse

Renvoie : Option[FlagCommentPublic_200_response]

Exemple

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

Paramètres

NameTypeRequisDescription
tenantIdstringOui
idstringNon
redirectURLstringNon

Réponse

Retourne: Option[FlagCommentPublic_200_response]

Exemple

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

Mettre à jour un utilisateur du locataire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateTenantUserBodyUpdateTenantUserBodyNon
updateCommentsstringNon

Réponse

Renvoie: Option[FlagCommentPublic_200_response]

Exemple

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

Créer un locataire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
createTenantBodyCreateTenantBodyNon

Réponse

Retourne: Option[CreateTenant_200_response]

Exemple

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

Supprimer un locataire Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
surestringNon

Réponse

Retourne : Option[FlagCommentPublic_200_response]

Exemple

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

Obtenir un locataire Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie : Option[GetTenant_200_response]

Exemple

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

Obtenir les locataires Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
metastringNon
skipfloat64Non

Réponse

Renvoie : Option[GetTenants_200_response]

Exemple

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

Mettre à jour un locataire Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
updateTenantBodyUpdateTenantBodyNon

Réponse

Retourne : Option[FlagCommentPublic_200_response]

Exemple

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

Changer l'état du ticket Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
userIdstringNon
idstringNon
changeTicketStateBodyChangeTicketStateBodyNon

Réponse

Renvoie : Option[ChangeTicketState_200_response]

Exemple

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

Créer un ticket Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
userIdstringNon
createTicketBodyCreateTicketBodyNon

Réponse

Retourne : Option[CreateTicket_200_response]

Exemple

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

Obtenir un ticket Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
idstringNon
userIdstringNon

Réponse

Renvoie: Option[GetTicket_200_response]

Exemple

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

Obtenir les tickets Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
userIdstringNon
statefloat64Non
skipfloat64Non
limitfloat64Non

Réponse

Renvoie: Option[GetTickets_200_response]

Exemple

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

Téléverser une image Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
filestringNon
sizePresetSizePresetNon
urlIdstringOui

Réponse

Renvoie : Option[UploadImageResponse]

Exemple

Exemple pour 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

Obtenir la progression du badge utilisateur par ID Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie: Option[GetUserBadgeProgressById_200_response]

Exemple

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

Obtenir la progression du badge utilisateur par ID d'utilisateur Internal Link

Paramètres

NameTypeObligatoireDescription
tenantIdstringOui
userIdstringNon

Réponse

Retourne: Option[GetUserBadgeProgressById_200_response]

Exemple

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

Obtenir la liste de progression des badges utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
userIdstringNon
limitfloat64Non
skipfloat64Non

Réponse

Renvoie : Option[GetUserBadgeProgressList_200_response]

Exemple

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

Créer un badge utilisateur Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
createUserBadgeParamsCreateUserBadgeParamsNon

Réponse

Renvoie: Option[CreateUserBadge_200_response]

Exemple

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

Supprimer un badge utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Renvoie : Option[UpdateUserBadge_200_response]

Exemple

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

Obtenir un badge utilisateur Internal Link


Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne : Option[GetUserBadge_200_response]

Exemple

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

Obtenir les badges utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
userIdstringNon
badgeIdstringNon
displayedOnCommentsboolNon
limitfloat64Non
skipfloat64Non

Réponse

Retourne : Option[GetUserBadges_200_response]

Exemple

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

Mettre à jour un badge utilisateur Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
idstringNon
updateUserBadgeParamsUpdateUserBadgeParamsNon

Réponse

Retourne : Option[UpdateUserBadge_200_response]

Exemple

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

Obtenir le nombre de notifications d'un utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
ssostringNon

Réponse

Renvoie : Option[GetUserNotificationCount_200_response]

Exemple

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

Obtenir les notifications d'un utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
pageSizeintNon
afterIdstringNon
includeContextboolNon
afterCreatedAtint64Non
unreadOnlyboolNon
dmOnlyboolNon
noDmboolNon
includeTranslationsboolNon
ssostringNon

Réponse

Renvoie : Option[GetUserNotifications_200_response]

Exemple

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

Réinitialiser le nombre de notifications d'un utilisateur Internal Link

Paramètres

NameTypeRequiredDescription
tenantIdstringOui
ssostringNon

Réponse

Renvoie: Option[ResetUserNotifications_200_response]

Exemple

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

Réinitialiser les notifications d'un utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
afterIdstringNon
afterCreatedAtint64Non
unreadOnlyboolNon
dmOnlyboolNon
noDmboolNon
ssostringNon

Réponse

Retourne: Option[ResetUserNotifications_200_response]

Exemple

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

Mettre à jour le statut d'abonnement aux notifications de commentaires de l'utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
notificationIdstringNon
optedInOrOutstringNon
commentIdstringOui
ssostringNon

Réponse

Retourne : Option[UpdateUserNotificationStatus_200_response]

Exemple

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

Mettre à jour le statut d'abonnement aux pages pour les notifications utilisateur Internal Link

Paramètres

NameTypeRequisDescription
tenantIdstringOui
urlIdstringOui
urlstringNon
pageTitlestringNon
subscribedOrUnsubscribedstringNon
ssostringNon

Réponse

Retourne: Option[UpdateUserNotificationStatus_200_response]

Exemple

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

Mettre à jour le statut de notification de l'utilisateur Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
notificationIdstringNon
newStatusstringNon
ssostringNon

Réponse

Renvoie : Option[UpdateUserNotificationStatus_200_response]

Exemple

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

Obtenir les statuts de présence des utilisateurs Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
urlIdWSstringNon
userIdsstringNon

Réponse

Renvoie : Option[GetUserPresenceStatuses_200_response]

Exemple

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

Rechercher des utilisateurs Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
urlIdstringOui
usernameStartsWithstringNon
mentionGroupIdsseq[string]Non
ssostringNon
searchSectionstringNon

Réponse

Renvoie : Option[SearchUsers_200_response]

Exemple

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

Obtenir un utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon

Réponse

Retourne: Option[GetUser_200_response]

Exemple

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

Créer un vote Internal Link

Paramètres

NomTypeObligatoireDescription
tenantIdstringOui
commentIdstringOui
directionstringNon
userIdstringNon
anonUserIdstringNon

Réponse

Renvoie: Option[VoteComment_200_response]

Exemple

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

Supprimer un vote Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
idstringNon
editKeystringNon

Réponse

Renvoie : Option[DeleteCommentVote_200_response]

Exemple

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

Obtenir les votes Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
urlIdstringOui

Réponse

Renvoie : Option[GetVotes_200_response]

Exemple

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

Obtenir les votes pour un utilisateur Internal Link

Paramètres

NomTypeRequisDescription
tenantIdstringOui
urlIdstringOui
userIdstringNon
anonUserIdstringNon

Réponse

Retourne : Option[GetVotesForUser_200_response]

Exemple

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

Besoin d'aide ?

Si vous rencontrez des problèmes ou avez des questions concernant le Nim SDK, veuillez :

Contribuer

Les contributions sont les bienvenues ! Veuillez visiter le dépôt GitHub pour les directives de contribution.