FastComments.com

FastComments JavaScript/TypeScript SDK

Dit is de officiële JavaScript/TypeScript SDK voor FastComments.

Beheer reacties, gebruikers, SSO en moderatie vanuit Node.js of de browser.

Repository

Bekijk op GitHub


Installatie Internal Link

npm

npm install fastcomments-sdk

API-documentatie Internal Link


Volledige API-referentie: docs/api/README.md

Browser vs Server compatibiliteit Internal Link

Deze SDK gebruikt dubbele toegangspunten om optimale compatibiliteit te waarborgen en runtime-fouten te voorkomen:

  • fastcomments-sdk/browser - Browserveilige versie met native fetch
  • fastcomments-sdk/server - Volledige Node.js-versie met SSO-ondersteuning
  • fastcomments-sdk (standaard) - Alleen types, veilig om overal te importeren

Openbare vs beveiligde API's Internal Link

De SDK biedt deze API-klassen:

  • DefaultApi - Beveiligde endpoints die uw API-sleutel vereisen voor authenticatie. Gebruik deze voor server-side operaties.
  • PublicApi - Publieke endpoints die toegankelijk zijn zonder API-sleutel. Deze kunnen direct vanuit browsers/mobiele apparaten/etc. worden aangeroepen.
  • ModerationApi - Moderator-dashboard endpoints (moderatie van opmerkingen, bans, badges, vertrouwensfactor, zoeken). Geauthenticeerd via de sessie van de moderator; geef de sso query-parameter door voor SSO-geauthenticeerde moderators.
  • HiddenApi - Interne/admin endpoints voor geavanceerde gebruikssituaties.

Voorbeeld: Public API gebruiken (browser-veilig)

import { PublicApi } from 'fastcomments-sdk/browser';

const publicApi = new PublicApi();

// Haal opmerkingen voor een pagina op (geen API-sleutel vereist)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Voorbeeld: Default API gebruiken (alleen server-side)

import { DefaultApi, Configuration } from 'fastcomments-sdk/server';

const config = new Configuration({
  apiKey: 'your-api-key' // Houd deze geheim!
});
const defaultApi = new DefaultApi(config);

// Haal opmerkingen op met volledige admin-toegang
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Voorbeeld: Moderation API gebruiken

import { createFastCommentsSDK } from 'fastcomments-sdk/server';

const sdk = createFastCommentsSDK({ /* basePath, enz. */ });

// Aanroepen geauthenticeerd als moderator (sessie-cookie, of geef `sso` door voor een SSO-moderator).
const comments = await sdk.moderationApi.getApiComments({
  tenantId: 'your-tenant-id'
});

await sdk.moderationApi.postSetCommentSpamStatus({
  commentId: 'comment-id',
  spam: true
});

SSO (Single Sign-On) integratie Internal Link

FastComments ondersteunt SSO om te integreren met uw bestaande gebruikersauthenticatiesysteem. SSO-functionaliteit is alleen beschikbaar in de server-export omdat het Node.js crypto-functies vereist.

Eenvoudige SSO (Alleen serverzijde)

Eenvoudige SSO moet aan de serverzijde worden gegenereerd en naar de client worden gestuurd:

// Code aan de serverzijde (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Maak eenvoudige SSO met de ingebouwde helper  
const userData = {
  username: 'john_doe',
  email: 'john@example.com',
  displayName: 'John Doe',
  avatar: 'https://example.com/avatar.jpg'
};

const sso = FastCommentsSSO.createSimple(userData, {
  loginURL: '/login',
  logoutURL: '/logout'
});

const ssoToken = sso.createToken();

// Stuur ssoToken naar uw client-side code
// Client-side code kan dit token vervolgens gebruiken met de browser SDK

Beveiligde SSO (Server-side, aanbevolen)

Beveiligde SSO moet aan de serverzijde worden geïmplementeerd en biedt betere beveiliging:

// Code aan de serverzijde (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Maak beveiligde SSO met de ingebouwde helper
const userData = {
  id: 'user-123',
  email: 'john@example.com',
  username: 'john_doe',
  displayName: 'John Doe',
  avatar: 'https://example.com/avatar.jpg',
  isAdmin: false,
  isModerator: false
};

const sso = FastCommentsSSO.createSecure('your-api-key', userData, {
  loginURL: '/login',
  logoutURL: '/logout'
});

const ssoConfig = sso.prepareToSend();

// Gebruik met API-aanroepen op de server
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Of stuur ssoConfig naar de client voor gebruik in de browser

SSO gebruiken vanuit de browser (met door de server gegenereerd token)

// Code aan de clientzijde (browser)
import { PublicApi } from 'fastcomments-sdk/browser';

// Haal SSO-token op van uw server-endpoint
const ssoToken = await fetch('/api/sso-token').then(r => r.json());

const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: ssoToken // Gebruik het door de server gegenereerde SSO-token
});

SSO met het aanmaken van een reactie

// Server-side: Maak SSO en reactie
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

const sso = FastCommentsSSO.createSecure('your-api-key', userData);
const ssoConfig = sso.prepareToSend();

const response = await publicApi.createCommentPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  broadcastId: 'unique-broadcast-id',
  commentData: {
    comment: 'This is my comment',
    date: Date.now(),
    commenterName: 'John Doe',
    url: 'https://example.com/page',
    urlId: 'page-url-id'
  },
  sso: JSON.stringify(ssoConfig)
});

Veelvoorkomende gebruikssituaties Internal Link

Reacties ophalen voor een pagina

const comments = await sdk.publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'article-123'
});

Een reactie aanmaken

const newComment = await sdk.publicApi.createCommentPublic({
  createCommentParams: {
    tenantId: 'your-tenant-id',
    urlId: 'article-123',
    comment: 'Great article!',
    commenterName: 'John Doe',
    commenterEmail: 'john@example.com'
  }
});

Stemmen op een reactie

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 voor omhoog stemmen, -1 voor omlaag stemmen
  }
});

Gebruikersbeheer (vereist API-sleutel)

// Zoeken naar gebruikers (vereist DefaultApi)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Live gebeurtenissen (realtime updates) Internal Link

Abonneer op live-evenementen om realtime updates te ontvangen voor reacties, stemmen en andere activiteiten.

Paginaniveau-evenementen

Luister naar live-evenementen op een specifieke pagina (reacties, stemmen, enz.):

import { subscribeToChanges, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';

const config = {
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
};

// Abonneer op live-evenementen voor een pagina
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (haal dit uit het antwoord van getComments)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Werk je UI bij met de nieuwe reactie
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Werk de stemaantallen in je UI bij
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }
    
    return true; // Geef true terug als het event is verwerkt
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Sluit de subscription wanneer klaar
subscription.close();

Abonneer op gebruikersgebeurtenissen

Luister naar gebruiker-specifieke gebeurtenissen (meldingen, vermeldingen, enz.):

import { subscribeToUserFeed, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';

const userConfig = {
  userIdWS: 'user-session-id', // Verkrijg dit uit het antwoord van getComments
};

// Abonneer op de persoonlijke feed van de gebruiker
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Toon melding in je UI
        break;
      case LiveEventType.notification_update:
        console.log('Notification updated:', event.notification);
        break;
      default:
        console.log('Other user event:', event.type);
    }
    
    return true;
  },
  (isConnected: boolean) => {
    console.log('User feed connection:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Sluit wanneer klaar
userSubscription.close();

Het verkrijgen van userIdWS

De userIdWS-parameter is vereist voor live-evenementen en kan worden verkregen uit API-responses:

const response = await sdk.publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-id'
});

// Extraheer userIdWS uit het antwoord
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Nu kun je je abonneren op live-evenementen
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

Broadcast-ID's Internal Link

Je ziet dat je in sommige API-aanroepen een broadcastId moet doorgeven. Wanneer je events ontvangt, krijg je deze ID terug, zodat je het event kunt negeren als je van plan bent om wijzigingen optimistisch op de client toe te passen (wat je waarschijnlijk wilt doen omdat het de beste ervaring biedt). Geef hier een UUID door. De ID moet uniek genoeg zijn om niet twee keer in een browsersessie voor te komen.

import { v4 as uuidv4 } from 'uuid';

const response = await sdk.publicApi.createCommentPublic({
  createCommentParams: {
    tenantId: 'your-tenant-id',
    urlId: 'page-id',
    comment: 'My comment',
    broadcastId: uuidv4() // Unieke ID voor deze bewerking
  }
});

Foutafhandeling Internal Link

try {
  const comments = await sdk.publicApi.getCommentsPublic({
    tenantId: 'your-tenant-id',
    urlId: 'page-id'
  });
} catch (error) {
  if (error.response?.status === 404) {
    console.log('Page not found');
  } else {
    console.error('API Error:', error.message);
  }
}

aggregate Internal Link

Aggregates documenten door ze te groeperen (indien groupBy is opgegeven) en meerdere bewerkingen toe te passen.
Verschillende bewerkingen (bijv. sum, countDistinct, avg, enz.) worden ondersteund.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
aggregationRequestAggregationRequestYes
parentTenantIdstringNo
includeStatsbooleanNo

Respons

Retourneert: AggregateResponse

Voorbeeld

Aggregaat Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant-12345";
3
4const aggregationRequest: AggregationRequest = {
5 predicates: [
6 {
7 field: "status",
8 operator: "eq",
9 value: { type: "string", value: "approved" }
10 }
11 ],
12 operations: [
13 { type: "count", field: "commentId" }
14 ],
15 sort: { field: "createdAt", direction: "desc" }
16};
17
18const parentTenantId: string = "parent-001";
19const includeStats: boolean = true;
20
21const result: AggregateResponse = await aggregate(
22 tenantId,
23 aggregationRequest,
24 parentTenantId,
25 includeStats
26);
27

getAuditLogs Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
limitnumberNo
skipnumberNo
orderSORTDIRNo
afternumberNo
beforenumberNo

Respons

Retourneert: GetAuditLogsResponse1

Voorbeeld

getAuditLogs Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_42";
4 const limit: number = 100;
5 const skip: number = 10;
6 const order: SORTDIR = "desc";
7 const after: number = Date.now() - 3 * 24 * 60 * 60 * 1000; // 3 dagen geleden
8
9 const auditResponse: GetAuditLogsResponse1 = await getAuditLogs(
10 tenantId,
11 limit,
12 skip,
13 order,
14 after
15 );
16
17 console.log(auditResponse);
18})();
19

blockFromCommentPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNee

Respons

Retourneert: BlockFromCommentPublicResponse

Voorbeeld

blockFromCommentPublic Voorbeeld
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_9f8b7c";
4 const commentId: string = "cmt_1234567890";
5 const blockParams: PublicBlockFromCommentParams = {
6 reason: "spam",
7 durationHours: 24,
8 };
9 const ssoToken: string = "sso_ABCDEF123456";
10
11 const responseWithSso: BlockFromCommentPublicResponse = await blockFromCommentPublic(
12 tenantId,
13 commentId,
14 blockParams,
15 ssoToken
16 );
17
18 const responseWithoutSso: BlockFromCommentPublicResponse = await blockFromCommentPublic(
19 tenantId,
20 commentId,
21 blockParams
22 );
23
24 console.log(responseWithSso, responseWithoutSso);
25}
26demo();
27

unBlockCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNee

Response

Retourneert: UnBlockCommentPublicResponse

Voorbeeld

unBlockCommentPublic Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const commentId: string = "cmt-20230915-001";
4const unblockParams: PublicBlockFromCommentParams = {
5 reason: "User appealed and was cleared",
6 unblockExpiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString()
7};
8const ssoToken: string = "sso-3d9f8a7b";
9
10const result: UnBlockCommentPublicResponse = await unBlockCommentPublic(
11 tenantId,
12 commentId,
13 unblockParams,
14 ssoToken
15);
16

checkedCommentsForBlocked Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdsstringJa
ssostringNee

Respons

Retourneert: CheckedCommentsForBlockedResponse

Voorbeeld

checkedCommentsForBlocked Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const commentIds: string = "cmt_001,cmt_002";
5 const ssoToken: string = "ssoTokenXYZ";
6
7 const blockedCheck: CheckedCommentsForBlockedResponse = await checkedCommentsForBlocked(tenantId, commentIds);
8 const blockedCheckWithSso: CheckedCommentsForBlockedResponse = await checkedCommentsForBlocked(tenantId, commentIds, ssoToken);
9})();
10

blockUserFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
blockFromCommentParamsBlockFromCommentParamsJa
userIdstringNee
anonUserIdstringNee

Respons

Retourneert: BlockUserFromCommentResponse

Voorbeeld

blockUserFromComment Voorbeeld
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const commentId: string = 'cmt_20231101';
4
5const blockParams: BlockFromCommentParams = {
6 reason: 'spam',
7 blockDurationHours: 24,
8};
9
10const userId: string = 'user_123'; // optional parameter
11
12const response: BlockUserFromCommentResponse = await blockUserFromComment(
13 tenantId,
14 commentId,
15 blockParams,
16 userId
17);
18

createCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
broadcastIdstringJa
commentDataCommentDataJa
sessionIdstringNee
ssostringNee

Reactie

Retourneert: CreateCommentPublicResponse

Voorbeeld

createCommentPublic Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-abc123";
4 const urlId: string = "post-987654";
5 const broadcastId: string = "bcast-001";
6 const commentData: CommentData = {
7 content: "I really enjoyed this article!"
8 };
9 const sessionId: string = "session-xyz789";
10 const sso: string = "sso-token-456def";
11
12 const response: CreateCommentPublicResponse = await createCommentPublic(
13 tenantId,
14 urlId,
15 broadcastId,
16 commentData,
17 sessionId,
18 sso
19 );
20
21 console.log(response);
22})();
23

deleteComment Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
contextUserIdstringNee
isLivebooleanNee

Respons

Retourneert: DeleteCommentResponse

Voorbeeld

deleteComment Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_01';
4 const commentId: string = 'comment_abc123';
5 const contextUserId: string = 'user_42';
6 const isLive: boolean = false;
7
8 const deleteResult: DeleteCommentResponse = await deleteComment(tenantId, commentId, contextUserId, isLive);
9 const simpleResult: DeleteCommentResponse = await deleteComment(tenantId, commentId);
10})();
11

deleteCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
editKeystringNee
ssostringNee

Respons

Retourneert: DeleteCommentPublicResponse

Voorbeeld

deleteCommentPublic Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'c6f9a2e3-9b1d-4f8a-b2d2-1a2b3c4d5e6f';
4 const commentId: string = '7d9f0b1c-2e3f-4a5b-6c7d-8e9f0a1b2c3d';
5 const broadcastId: string = 'live-2023-09-15';
6 const editKey: string = 'ed1tK3y1234567890';
7 const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.abc123';
8
9 const result: DeleteCommentPublicResponse = await deleteCommentPublic(
10 tenantId,
11 commentId,
12 broadcastId,
13 editKey,
14 sso
15 );
16})();
17

deleteCommentVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
voteIdstringJa
urlIdstringJa
broadcastIdstringJa
editKeystringNee
ssostringNee

Response

Retourneert: DeleteCommentVoteResponse

Example

deleteCommentVote Voorbeeld
Copy Copy
1
2async function removeVote() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const voteId: string = "vote_abcde";
6 const urlId: string = "url_56789";
7 const broadcastId: string = "brd_001";
8 const editKey: string = "edit_456";
9 // sso is optioneel en weggelaten
10
11 const response: DeleteCommentVoteResponse = await deleteCommentVote(
12 tenantId,
13 commentId,
14 voteId,
15 urlId,
16 broadcastId,
17 editKey
18 );
19
20 console.log(response);
21}
22
23removeVote();
24

flagComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
idstringYes
userIdstringNo
anonUserIdstringNo

Respons

Retourneert: FlagCommentResponse1

Voorbeeld

flagComment Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_2023";
4 const commentId: string = "comment_5678";
5 const userId: string = "user_1234";
6 const anonUserId: string = "anon_4321";
7
8 const result: FlagCommentResponse1 = await flagComment(tenantId, commentId, userId);
9 const anonResult: FlagCommentResponse1 = await flagComment(tenantId, commentId, undefined, anonUserId);
10})();
11

getComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetCommentResponse

Voorbeeld

getComment Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-987654";
5 const result: GetCommentResponse = await getComment(tenantId, commentId);
6 const badgeInfo: CommentUserBadgeInfo | undefined = result.comment?.user?.badgeInfo;
7 console.log(badgeInfo?.label);
8})();
9

getComments Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
pagenumberNo
limitnumberNo
skipnumberNo
asTreebooleanNo
skipChildrennumberNo
limitChildrennumberNo
maxTreeDepthnumberNo
urlIdstringNo
userIdstringNo
anonUserIdstringNo
contextUserIdstringNo
hashTagstringNo
parentIdstringNo
directionSortDirectionsNo
fromDatenumberNo
toDatenumberNo

Respons

Retourneert: GetCommentsResponse

Voorbeeld

getComments Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const page: number = 2;
4const limit: number = 50;
5const asTree: boolean = true;
6const urlId: string = "article_5678";
7const direction: SortDirections = "desc";
8const fromDate: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // een week geleden
9const toDate: number = Date.now();
10
11const commentsResponse: GetCommentsResponse = await getComments({
12 tenantId,
13 page,
14 limit,
15 asTree,
16 urlId,
17 direction,
18 fromDate,
19 toDate,
20});
21

getCommentsPublic Internal Link

req
tenantId
urlId

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
pagenumberNee
directionSortDirectionsNee
ssostringNee
skipnumberNee
skipChildrennumberNee
limitnumberNee
limitChildrennumberNee
countChildrenbooleanNee
fetchPageForCommentIdstringNee
includeConfigbooleanNee
countAllbooleanNee
includei10nbooleanNee
localestringNee
modulesstringNee
isCrawlerbooleanNee
includeNotificationCountbooleanNee
asTreebooleanNee
maxTreeDepthnumberNee
useFullTranslationIdsbooleanNee
parentIdstringNee
searchTextstringNee
hashTagsArrayNee
userIdstringNee
customConfigStrstringNee
afterCommentIdstringNee
beforeCommentIdstringNee

Respons

Retourneert: GetCommentsPublicResponse

Voorbeeld

getCommentsPublic Voorbeeld
Copy Copy
1
2async function fetchComments() {
3 const tenantId: string = 'acme-corp';
4 const urlId: string = 'blog/post-789';
5 const page: number = 1;
6 const direction: SortDirections = SortDirections.Desc;
7 const limit: number = 25;
8 const includeConfig: boolean = true;
9 const locale: string = 'en-GB';
10 const modules: string = 'reactions,attachments';
11 const isCrawler: boolean = false;
12 const includeNotificationCount: boolean = true;
13 const asTree: boolean = true;
14 const maxTreeDepth: number = 4;
15 const searchText: string = 'TypeScript';
16 const hashTags: string[] = ['typescript', 'api'];
17 const response: GetCommentsPublicResponse = await getCommentsPublic(
18 tenantId,
19 urlId,
20 page,
21 direction,
22 undefined,
23 undefined,
24 undefined,
25 limit,
26 undefined,
27 undefined,
28 undefined,
29 includeConfig,
30 undefined,
31 undefined,
32 locale,
33 modules,
34 isCrawler,
35 includeNotificationCount,
36 asTree,
37 maxTreeDepth,
38 undefined,
39 undefined,
40 searchText,
41 hashTags,
42 undefined,
43 undefined,
44 undefined,
45 undefined
46 );
47}
48

getCommentText Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
editKeystringNee
ssostringNee

Respons

Retourneert: GetCommentTextResponse1

Voorbeeld

getCommentText Voorbeeld
Copy Copy
1
2async function run() {
3 const tenantId: string = "acme-corp-tenant";
4 const commentId: string = "cmt-5f2e9a1b";
5 const editKey: string = "edk-9b7c3";
6 const ssoToken: string = "sso-xyz789";
7
8 const commentOnly: GetCommentTextResponse1 = await getCommentText(tenantId, commentId);
9 const commentWithEdit: GetCommentTextResponse1 = await getCommentText(tenantId, commentId, editKey);
10 const commentFull: GetCommentTextResponse1 = await getCommentText(tenantId, commentId, editKey, ssoToken);
11}
12run();
13

getCommentVoteUserNames Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
commentIdstringYes
dirnumberYes
ssostringNo

Response

Retourneert: GetCommentVoteUserNamesResponse

Example

getCommentVoteUserNames Voorbeeld
Copy Copy
1
2async function demoGetCommentVoteUserNames() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_5f2a1e3b";
5 const dir: number = 1; // oplopend
6
7 const votesWithoutSSO: GetCommentVoteUserNamesResponse = await getCommentVoteUserNames(
8 tenantId,
9 commentId,
10 dir
11 );
12
13 const ssoToken: string = "sso_abcdef123456";
14 const votesWithSSO: GetCommentVoteUserNamesResponse = await getCommentVoteUserNames(
15 tenantId,
16 commentId,
17 dir,
18 ssoToken
19 );
20
21 console.log(votesWithoutSSO, votesWithSSO);
22}
23

lockComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Respons

Retourneert: LockCommentResponse

Voorbeeld

lockComment Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_54321";
6
7 // Met optionele SSO-token
8 const ssoToken: string = "user-abc123";
9 const lockedWithSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
10
11 // Zonder SSO-token
12 const lockedWithoutSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId);
13})();
14

pinComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Reactie

Retourneert: PinCommentResponse

Voorbeeld

pinComment Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant-001';
4 const commentId: string = 'comment-5678';
5 const broadcastId: string = 'broadcast-2023';
6 const ssoToken: string = 'sso-xyz-789';
7
8 const pinResult: PinCommentResponse = await pinComment(tenantId, commentId, broadcastId);
9 const pinResultWithSso: PinCommentResponse = await pinComment(tenantId, commentId, broadcastId, ssoToken);
10})();
11

saveComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createCommentParamsCreateCommentParamsJa
isLivebooleanNee
doSpamCheckbooleanNee
sendEmailsbooleanNee
populateNotificationsbooleanNee

Respons

Retourneert: SaveCommentResponse

Voorbeeld

saveComment Voorbeeld
Copy Copy
1
2async function submitComment() {
3 const tenantId: string = "tenant_9f8e7d6c";
4 const commentParams: CreateCommentParams = {
5 text: "Great post, thanks for sharing!",
6 authorId: "user_123abc",
7 mentions: [] as CommentUserMentionInfo[],
8 hashtags: [] as CommentUserHashTagInfo[]
9 };
10 const response: SaveCommentResponse = await saveComment(
11 tenantId,
12 commentParams,
13 true, // isLive
14 false // doSpamCheck
15 );
16 console.log(response);
17}
18submitComment();
19

saveCommentsBulk Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createCommentParamsArrayJa
isLivebooleanNee
doSpamCheckbooleanNee
sendEmailsbooleanNee
populateNotificationsbooleanNee

Respons

Retourneert: Array<SaveCommentsBulkResponse

Voorbeeld

saveCommentsBulk Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3
4const bulkComments: CreateCommentParams[] = [
5 {
6 content: "Welcome to the new forum thread!",
7 authorId: "user_42",
8 mentions: [{ userId: "user_84", username: "alice" }],
9 hashtags: [{ tag: "intro" }]
10 },
11 {
12 content: "Please review the updated guidelines.",
13 authorId: "moderator_1",
14 mentions: [],
15 hashtags: [{ tag: "guidelines" }, { tag: "update" }]
16 }
17];
18
19const results: SaveCommentsBulkResponse[] = await saveCommentsBulk(
20 tenantId,
21 bulkComments,
22 true, // isLive
23 false, // doSpamCheck
24 true, // sendEmails
25 undefined // populateNotifications (standaard gebruiken)
26);
27

setCommentText Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
commentTextUpdateRequestCommentTextUpdateRequestJa
editKeystringNee
ssostringNee

Respons

Retourneert: SetCommentTextResponse1

Voorbeeld

setCommentText voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const commentId: string = 'cmt_98765';
5 const broadcastId: string = 'brd_112233';
6 const commentTextUpdateRequest: CommentTextUpdateRequest = {
7 text: 'Updated comment with @john.doe and #important',
8 mentions: [{ userId: 'user_001', username: 'john.doe' }],
9 hashtags: [{ tag: 'important' }],
10 };
11 const editKey: string = 'edit_abc123';
12 const result: SetCommentTextResponse1 = await setCommentText(
13 tenantId,
14 commentId,
15 broadcastId,
16 commentTextUpdateRequest,
17 editKey,
18 );
19 console.log(result);
20})();
21

unBlockUserFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
unBlockFromCommentParamsUnBlockFromCommentParamsJa
userIdstringNee
anonUserIdstringNee

Response

Retourneert: UnBlockUserFromCommentResponse

Voorbeeld

unBlockUserFromComment Voorbeeld
Copy Copy
1
2async function demoUnblock() {
3 const tenantId: string = "acme-corp-tenant";
4 const commentId: string = "cmt_9f8b7a6d";
5
6 const params: UnBlockFromCommentParams = {
7 reason: "User resolved the issue",
8 notifyUser: true
9 };
10
11 const userId: string = "usr_12345";
12
13 const result: UnBlockUserFromCommentResponse = await unBlockUserFromComment(
14 tenantId,
15 commentId,
16 params,
17 userId
18 // anonUserId weggelaten
19 );
20
21 console.log(result);
22}
23demoUnblock();
24

unFlagComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
userIdstringNee
anonUserIdstringNee

Respons

Retourneert: UnFlagCommentResponse

Voorbeeld

unFlagComment Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3const commentId: string = "cmt_123456";
4const userId: string = "usr_98765";
5
6const result: UnFlagCommentResponse = await unFlagComment(tenantId, commentId, userId);
7
8const anonCommentId: string = "cmt_123457";
9const anonUserId: string = "anon_abc123";
10
11const anonResult: UnFlagCommentResponse = await unFlagComment(tenantId, anonCommentId, undefined, anonUserId);
12

unLockComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Respons

Retourneert: UnLockCommentResponse

Voorbeeld

unLockComment Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_9876";
4const broadcastId: string = "brd_001";
5const ssoToken: string | undefined = "sso_token_abc";
6
7async function run() {
8 const unlocked: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId, ssoToken);
9 console.log(unlocked);
10
11 // Aanroep zonder de optionele sso-parameter
12 const unlockedWithoutSso: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId);
13 console.log(unlockedWithoutSso);
14}
15
16run();
17

unPinComment Internal Link

Parameters

NaamTypeVereistOmschrijving
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNee

Respons

Retourneert: UnPinCommentResponse

Voorbeeld

unPinComment voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-001"
4 const commentId: string = "comment-123"
5 const broadcastId: string = "broadcast-456"
6 const sso: string = "sso-token-xyz"
7
8 const resultWithSso: UnPinCommentResponse = await unPinComment(tenantId, commentId, broadcastId, sso)
9 const resultWithoutSso: UnPinCommentResponse = await unPinComment(tenantId, commentId, broadcastId)
10
11 console.log(resultWithSso, resultWithoutSso)
12})()
13

updateComment Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updatableCommentParamsUpdatableCommentParamsJa
contextUserIdstringNee
doSpamCheckbooleanNee
isLivebooleanNee

Respons

Retourneert: UpdateCommentResponse

Voorbeeld

updateComment Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const updatableCommentParams: UpdatableCommentParams = {
6 // voorbeeldvelden; de werkelijke structuur is afhankelijk van de API-definitie
7 // b.v., body: "Bewerkt commentaarinhoud",
8};
9
10const contextUserId: string = "user_abcde";
11const doSpamCheck: boolean = true;
12const isLive: boolean = false;
13
14const result: UpdateCommentResponse = await updateComment(
15 tenantId,
16 commentId,
17 updatableCommentParams,
18 contextUserId,
19 doSpamCheck,
20 isLive
21);
22

voteComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringJa
urlIdstringJa
broadcastIdstringJa
voteBodyParamsVoteBodyParamsJa
sessionIdstringNee
ssostringNee

Reactie

Retourneert: VoteCommentResponse

Voorbeeld

voteComment Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3const commentId: string = "cmt_9f8e7d6c";
4const urlId: string = "url_123456";
5const broadcastId: string = "bcast_2024_01";
6
7const voteBodyParams: VoteBodyParams = {
8 vote: "up", // bijv., "up" | "down"
9 weight: 1, // optionele weging van de stem
10};
11
12const sessionId: string = "sess_abc123def";
13const sso: string = "sso_token_xyz";
14
15const result: VoteCommentResponse = await voteComment(
16 tenantId,
17 commentId,
18 urlId,
19 broadcastId,
20 voteBodyParams,
21 sessionId,
22 sso
23);
24

getCommentsForUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
userIdstringNee
directionSortDirectionsNee
repliesToUserIdstringNee
pagenumberNee
includei10nbooleanNee
localestringNee
isCrawlerbooleanNee

Response

Retourneert: GetCommentsForUserResponse1

Example

getCommentsForUser Voorbeeld
Copy Copy
1
2async function demo() {
3 const userId: string = "user-12345";
4 const direction: SortDirections = "desc";
5 const page: number = 1;
6 const includei10n: boolean = true;
7 const locale: string = "en-US";
8 const isCrawler: boolean = false;
9
10 const response: GetCommentsForUserResponse1 = await getCommentsForUser(
11 userId,
12 direction,
13 undefined,
14 page,
15 includei10n,
16 locale,
17 isCrawler
18 );
19
20 console.log(response);
21}
22

addDomainConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
addDomainConfigParamsAddDomainConfigParamsJa

Respons

Retourneert: AddDomainConfigResponse

Voorbeeld

addDomainConfig Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const config: AddDomainConfigParams = {
5 domain: 'myblog.example.com',
6 enabled: true,
7 // beschrijving is optioneel en hier weggelaten
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

deleteDomainConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
domainstringYes

Respons

Retourneert: DeleteDomainConfigResponse

Voorbeeld

deleteDomainConfig Voorbeeld
Copy Copy
1
2async function runExample() {
3 const tenantId: string = 'acme-corp';
4 const domain: string = 'blog.acme.com';
5 const response: DeleteDomainConfigResponse = await deleteDomainConfig(tenantId, domain);
6 console.log(response);
7}
8runExample();
9

getDomainConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
domainstringYes

Respons

Returns: GetDomainConfigResponse

Voorbeeld

getDomainConfig Voorbeeld
Copy Copy
1
2async function main() {
3 const tenantId: string = "acme-corp-123";
4 const domain: string = "blog.acme.com";
5 const config: GetDomainConfigResponse = await getDomainConfig(tenantId, domain);
6 console.log(config);
7}
8main();
9

getDomainConfigs Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa

Respons

Retourneert: GetDomainConfigsResponse

Voorbeeld

getDomainConfigs Voorbeeld
Copy Copy
1
2async function fetchDomainConfigs(): Promise<void> {
3 const tenantId: string = "acme-corp-567";
4 const configs: GetDomainConfigsResponse = await getDomainConfigs(tenantId);
5 console.log(configs);
6}
7

patchDomainConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
domainToUpdatestringJa
patchDomainConfigParamsPatchDomainConfigParamsJa

Response

Retourneert: PatchDomainConfigResponse

Voorbeeld

patchDomainConfig Voorbeeld
Copy Copy
1
2async function updateDomainConfig() {
3 const tenantId: string = "tenant_98765";
4 const domainToUpdate: string = "forum.mycompany.com";
5 const patchParams: PatchDomainConfigParams = {
6 enableComments: true,
7 moderationLevel: "strict",
8 allowAnonymous: false, // optionele parameter gedemonstreerd
9 };
10 const response: PatchDomainConfigResponse = await patchDomainConfig(tenantId, domainToUpdate, patchParams);
11 console.log(response);
12}
13
14updateDomainConfig();
15

putDomainConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
domainToUpdatestringJa
updateDomainConfigParamsUpdateDomainConfigParamsJa

Respons

Retourneert: PutDomainConfigResponse

Voorbeeld

putDomainConfig Voorbeeld
Copy Copy
1
2async function runExample() {
3 const tenantId: string = 'tenant-9f8c7b1a';
4 const domainToUpdate: string = 'comments.mywebsite.org';
5 const updateDomainConfigParams: UpdateDomainConfigParams = {
6 enableModeration: true,
7 // optioneel veld weggelaten, bijv., maxCommentLength?: number
8 };
9 const result: PutDomainConfigResponse = await putDomainConfig(
10 tenantId,
11 domainToUpdate,
12 updateDomainConfigParams,
13 );
14 console.log(result);
15}
16runExample();
17

createEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createEmailTemplateBodyCreateEmailTemplateBodyJa

Respons

Retourneert: CreateEmailTemplateResponse1

Voorbeeld

Voorbeeld createEmailTemplate
Copy Copy
1
2const tenantId: string = "tenant_9f8e7d6c";
3
4const emailTemplate: CreateEmailTemplateBody = {
5 name: "Account Activation",
6 subject: "Activate Your New Account",
7 htmlContent: "<p>Welcome! Please click <a href=\"\\{{activationLink}}\">here</a> to activate.</p>",
8 // optionele velden zoals textContent, isActive zijn weggelaten om optionele parameters te demonstreren
9};
10
11const result: CreateEmailTemplateResponse1 = await createEmailTemplate(
12 tenantId,
13 emailTemplate
14);
15
16console.log(result);
17

deleteEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeleteEmailTemplateResponse

Voorbeeld

deleteEmailTemplate Voorbeeld
Copy Copy
1
2async () => {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "template_abcde";
5
6 const response: DeleteEmailTemplateResponse = await deleteEmailTemplate(tenantId, templateId);
7
8 // Voorbeeld van het benaderen van een optionele eigenschap vanuit de respons
9 const statusCode: number | undefined = response.status?.code;
10}();
11

deleteEmailTemplateRenderError Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
errorIdstringJa

Respons

Retourneert: DeleteEmailTemplateRenderErrorResponse

Voorbeeld

deleteEmailTemplateRenderError Voorbeeld
Copy Copy
1
2async function executeDelete() {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "email_tpl_001";
5 const errorId: string = "render_err_2023";
6
7 const result: DeleteEmailTemplateRenderErrorResponse = await deleteEmailTemplateRenderError(
8 tenantId,
9 templateId,
10 errorId
11 );
12
13 console.log(result);
14}
15
16executeDelete();
17

getEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetEmailTemplateResponse1

Voorbeeld

getEmailTemplate Voorbeeld
Copy Copy
1
2async function fetchTemplate(): Promise<void> {
3 const tenantId: string = "tenant-12345";
4 const templateId: string = "order-confirmation";
5 const response: GetEmailTemplateResponse1 = await getEmailTemplate(tenantId, templateId);
6 const emailTemplate: CustomEmailTemplate | undefined = response.customEmailTemplate;
7 const configParams: CustomConfigParameters | undefined = response.customConfigParameters;
8}
9

getEmailTemplateDefinitions Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa

Response

Retourneert: GetEmailTemplateDefinitionsResponse1

Example

Voorbeeld getEmailTemplateDefinitions
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const emailTemplateDefs: GetEmailTemplateDefinitionsResponse1 = await getEmailTemplateDefinitions(tenantId);
5 console.log(emailTemplateDefs);
6})();
7

getEmailTemplateRenderErrors Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
skipnumberNee

Respons

Retourneert: GetEmailTemplateRenderErrorsResponse1

Voorbeeld

getEmailTemplateRenderErrors Voorbeeld
Copy Copy
1
2const tenantId: string = "c2f5a8d9-4b3e-4f6a-9e1b-2d5c6f7a8b9c";
3const templateId: string = "welcome-email-template";
4const skip: number = 20;
5
6const result: GetEmailTemplateRenderErrorsResponse1 = await getEmailTemplateRenderErrors(
7 tenantId,
8 templateId,
9 skip
10);
11

getEmailTemplates Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
skipnumberNee

Respons

Retourneert: GetEmailTemplatesResponse1

Voorbeeld

getEmailTemplates Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 // Aanroep zonder optionele 'skip'
6 const templates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId);
7
8 // Aanroep met optionele 'skip' parameter
9 const pagedTemplates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId, 20);
10})();
11

renderEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyJa
localestringNee

Response

Retourneert: RenderEmailTemplateResponse1

Example

renderEmailTemplate Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-01";
4 const templateBody: RenderEmailTemplateBody = {
5 templateId: "welcome-email",
6 placeholders: {
7 userName: "John Doe",
8 signupDate: "2024-04-01"
9 }
10 };
11 const locale: string = "en-US";
12 const result: RenderEmailTemplateResponse1 = await renderEmailTemplate(tenantId, templateBody, locale);
13 console.log(result);
14})();
15

updateEmailTemplate Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateEmailTemplateBodyUpdateEmailTemplateBodyJa

Response

Retourneert: UpdateEmailTemplateResponse

Example

updateEmailTemplate Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "email_tpl_67890";
5
6 const updateBody: UpdateEmailTemplateBody = {
7 subject: "Comment reply notification",
8 htmlContent: "<p>Someone replied to your comment.</p>",
9 plainTextContent: "Someone replied to your comment.",
10 // optioneel veld voorbeeld
11 isActive: true,
12 };
13
14 const result: UpdateEmailTemplateResponse = await updateEmailTemplate(
15 tenantId,
16 templateId,
17 updateBody
18 );
19
20 console.log(result);
21})();
22

getEventLog Internal Link

req tenantId urlId userIdWS

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimenumberJa
endTimenumberNee

Respons

Retourneert: GetEventLogResponse1

Voorbeeld

Voorbeeld getEventLog
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9876";
4 const urlId: string = "page_54321";
5 const userIdWS: string = "ws_user_1122";
6 const startTime: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // een week geleden
7 const endTime: number = Date.now();
8
9 const log: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const recentLog: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime);
11})();
12

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimenumberYes
endTimenumberNo

Response

Retourneert: GetGlobalEventLogResponse

Example

Voorbeeld getGlobalEventLog
Copy Copy
1
2(async () => {
3 const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
4 const urlId: string = 'article-2023-09-15';
5 const userIdWS: string = 'ws_987654321';
6 const startTime: number = Date.now() - 86400000;
7 const endTime: number = Date.now();
8
9 const fullLog: GetGlobalEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const recentLog: GetGlobalEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime);
11
12 console.log(fullLog, recentLog);
13})();
14

createFeedPost Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
broadcastIdstringNee
isLivebooleanNee
doSpamCheckbooleanNee
skipDupCheckbooleanNee

Respons

Retour: CreateFeedPostResponse1

Voorbeeld

createFeedPost Voorbeeld
Copy Copy
1
2async function run() {
3 const tenantId = "tenant-12345";
4 const feedParams: CreateFeedPostParams = {
5 text: "New product launch!",
6 mediaItems: [{ type: "image", asset: { url: "https://cdn.example.com/img.jpg", width: 800, height: 600 } as FeedPostMediaItemAsset } as FeedPostMediaItem],
7 link: { url: "https://example.com/product", title: "Product" } as FeedPostLink
8 };
9 const result: CreateFeedPostResponse1 = await createFeedPost(tenantId, feedParams, "broadcast-987", true, false, true);
10 console.log(result);
11}
12run();
13

createFeedPostPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
broadcastIdstringNee
ssostringNee

Respons

Retourneert: CreateFeedPostPublicResponse

Voorbeeld

createFeedPostPublic Voorbeeld
Copy Copy
1
2async function submitPost() {
3 const tenantId: string = "tenant_12345";
4
5 const mediaItem: FeedPostMediaItem = {
6 asset: {
7 url: "https://cdn.example.com/image.jpg",
8 mimeType: "image/jpeg",
9 size: 104857,
10 },
11 type: "image",
12 };
13
14 const link: FeedPostLink = {
15 url: "https://example.com/blog/new-feature",
16 title: "New Feature Release",
17 description: "Details about our latest product update.",
18 };
19
20 const createFeedPostParams: CreateFeedPostParams = {
21 content: "Check out our new feature!",
22 media: [mediaItem],
23 link: link,
24 };
25
26 const broadcastId: string = "broadcast_9876";
27 const sso: string = "sso_token_abc123";
28
29 const response: CreateFeedPostPublicResponse = await createFeedPostPublic(
30 tenantId,
31 createFeedPostParams,
32 broadcastId,
33 sso
34 );
35}
36

deleteFeedPostPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
postIdstringJa
broadcastIdstringNee
ssostringNee

Respons

Retourneert: DeleteFeedPostPublicResponse

Voorbeeld

deleteFeedPostPublic Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const postId: string = "post_987654321";
5 const broadcastId: string = "broadcast_2024Q1";
6 const sso: string = "sso_4fa3b9c2";
7
8 const response1: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId);
9 const response2: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId, broadcastId);
10 const response3: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId, broadcastId, sso);
11})();
12

getFeedPosts Internal Link

req tenantId afterId

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
afterIdstringNee
limitnumberNee
tagsArrayNee

Respons

Retourneert: GetFeedPostsResponse1

Voorbeeld

getFeedPosts Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const afterId: string = 'post_9876';
5 const limit: number = 20;
6 const tags: string[] = ['news', 'sports'];
7
8 const feedResult: GetFeedPostsResponse1 = await getFeedPosts(tenantId, afterId, limit, tags);
9})();
10

getFeedPostsPublic Internal Link

req tenantId afterId

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
afterIdstringNee
limitnumberNee
tagsArrayNee
ssostringNee
isCrawlerbooleanNee
includeUserInfobooleanNee

Respons

Retourneert: GetFeedPostsPublicResponse

Voorbeeld

getFeedPostsPublic Voorbeeld
Copy Copy
1
2async function example() {
3 const tenantId: string = "tenant_12345";
4 const afterId: string = "post_9876";
5 const limit: number = 20;
6 const tags: string[] = ["news", "tech"];
7 const sso: string = "userToken123";
8 const isCrawler: boolean = false;
9 const includeUserInfo: boolean = true;
10 const response: GetFeedPostsPublicResponse = await getFeedPostsPublic(
11 tenantId,
12 afterId,
13 limit,
14 tags,
15 sso,
16 isCrawler,
17 includeUserInfo
18 );
19}
20example();
21

getFeedPostsStats Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
postIdsArrayJa
ssostringNee

Respons

Geeft terug: GetFeedPostsStatsResponse

Voorbeeld

getFeedPostsStats Voorbeeld
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const postIds: string[] = ["post_a1b2c3", "post_d4e5f6"];
5 const ssoToken: string = "sso_abcdef123456";
6
7 const statsWithoutSso: GetFeedPostsStatsResponse = await getFeedPostsStats(tenantId, postIds);
8 const statsWithSso: GetFeedPostsStatsResponse = await getFeedPostsStats(tenantId, postIds, ssoToken);
9}
10
11runExample();
12

getUserReactsPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
postIdsArrayNo
ssostringNo

Respons

Retourneert: GetUserReactsPublicResponse

Voorbeeld

getUserReactsPublic Voorbeeld
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const postIds: string[] = ["post_1a2b3c", "post_4d5e6f"];
5 const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
6
7 const fullResponse: GetUserReactsPublicResponse = await getUserReactsPublic(tenantId, postIds, ssoToken);
8 const minimalResponse: GetUserReactsPublicResponse = await getUserReactsPublic(tenantId);
9}
10
11demo();
12

reactFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
isUndobooleanNo
broadcastIdstringNo
ssostringNo

Response

Retourneert: ReactFeedPostPublicResponse

Example

reactFeedPostPublic Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const postId: string = 'post_98765';
5 const reactBodyParams: ReactBodyParams = { reaction: 'thumbs_up' };
6 const isUndo: boolean = false;
7 const broadcastId: string = 'broadcast_abcde';
8 const sso: string = 'sso_token_xyz';
9
10 const response: ReactFeedPostPublicResponse = await reactFeedPostPublic(
11 tenantId,
12 postId,
13 reactBodyParams,
14 isUndo,
15 broadcastId,
16 sso
17 );
18
19 console.log(response);
20})();
21

updateFeedPost Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
feedPostFeedPostJa

Response

Retourneert: UpdateFeedPostResponse

Voorbeeld

updateFeedPost Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_3421";
3const postId: string = "feedpost_a9b8c7";
4
5const feedPost: FeedPost = {
6 content: "We've refreshed the announcement with the latest project milestones.",
7 media: [
8 {
9 type: "image",
10 url: "https://assets.example.com/images/milestone.png",
11 caption: "Project Milestones"
12 } as FeedPostMediaItem
13 ],
14 link: {
15 url: "https://example.com/project-updates",
16 title: "Project Updates",
17 description: "Read about the recent progress and upcoming goals."
18 } as FeedPostLink
19};
20
21const result: UpdateFeedPostResponse = await updateFeedPost(tenantId, postId, feedPost);
22

updateFeedPostPublic Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
postIdstringJa
updateFeedPostParamsUpdateFeedPostParamsJa
broadcastIdstringNee
ssostringNee

Respons

Returns: UpdateFeedPostPublicResponse

Voorbeeld

updateFeedPostPublic Voorbeeld
Copy Copy
1
2async function updatePostExample() {
3 const tenantId: string = 'tenant-9f8b7c';
4 const postId: string = 'post-3a4d5e';
5 const updateParams: UpdateFeedPostParams = {
6 title: 'New Announcement',
7 content: 'We have updated our terms of service.',
8 media: [
9 {
10 url: 'https://cdn.example.com/assets/image.png',
11 type: 'image',
12 asset: {
13 width: 800,
14 height: 600,
15 size: 124000
16 } as FeedPostMediaItemAsset
17 } as FeedPostMediaItem
18 ],
19 link: {
20 url: 'https://example.com/terms',
21 title: 'Read the new TOS'
22 } as FeedPostLink
23 };
24 const broadcastId: string = 'broadcast-2023-09';
25 const sso: string = 'sso-abc123xyz';
26 const result: UpdateFeedPostPublicResponse = await updateFeedPostPublic(
27 tenantId,
28 postId,
29 updateParams,
30 broadcastId,
31 sso
32 );
33}
34

flagCommentPublic Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
isFlaggedbooleanJa
ssostringNee

Response

Retourneert: FlagCommentPublicResponse

Example

flagCommentPublic Voorbeeld
Copy Copy
1
2async function demoFlagComment() {
3 const tenantId: string = "acme-tenant-123";
4 const commentId: string = "comment-987654";
5 const isFlagged: boolean = true;
6 const sso: string = "sso-token-abc123";
7
8 const result: FlagCommentPublicResponse = await flagCommentPublic(
9 tenantId,
10 commentId,
11 isFlagged,
12 sso
13 );
14
15 console.log(result);
16}
17
18demoFlagComment();
19

getGifLarge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
largeInternalURLSanitizedstringJa

Respons

Retourneert: GetGifLargeResponse

Voorbeeld

getGifLarge Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'c9f4a1b2-3d5e-4f6a-8b9c-0d1e2f3a4b5c';
4 const largeInternalURLSanitized: string = 'https://cdn.fastcomments.com/gifs/awesome-cat-large.gif';
5 const result: GetGifLargeResponse = await getGifLarge(tenantId, largeInternalURLSanitized);
6 console.log(result);
7})();
8

getGifsSearch Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
searchstringYes
localestringNo
ratingstringNo
pagenumberNo

Respons

Retourneert: GetGifsSearchResponse

Voorbeeld

getGifsSearch Voorbeeld
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_9f8b7c";
4 const search: string = "funny cats";
5 const locale: string = "en-US";
6 const rating: string = "pg";
7 const page: number = 1;
8
9 const result: GetGifsSearchResponse = await getGifsSearch(
10 tenantId,
11 search,
12 locale,
13 rating,
14 page
15 );
16
17 console.log(result);
18}
19
20demo();
21

getGifsTrending Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
localestringNee
ratingstringNee
pagenumberNee

Response

Returns: GetGifsTrendingResponse

Voorbeeld

getGifsTrending Voorbeeld
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6d";
4 const locale: string = "en-US";
5 const rating: string = "PG-13";
6 const page: number = 1;
7
8 const trendingAll: GetGifsTrendingResponse = await getGifsTrending(tenantId, locale, rating, page);
9 console.log(trendingAll);
10
11 // Alleen de verplichte parameter gebruiken
12 const trendingMinimal: GetGifsTrendingResponse = await getGifsTrending(tenantId);
13 console.log(trendingMinimal);
14}
15
16runExample();
17

addHashTag Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringNo
createHashTagBodyCreateHashTagBodyNo

Response

Retourneert: AddHashTagResponse

Voorbeeld

addHashTag Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_9876";
3
4const newHashTag: CreateHashTagBody = {
5 tag: "typescript",
6 description: "Discussions about TypeScript"
7};
8
9const responseWithTenant: AddHashTagResponse = await addHashTag(tenantId, newHashTag);
10
11const responseWithoutTenant: AddHashTagResponse = await addHashTag(undefined, newHashTag);
12

addHashTagsBulk Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringNee
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNee

Respons

Retourneert: AddHashTagsBulkResponse

Voorbeeld

addHashTagsBulk Voorbeeld
Copy Copy
1
2async () => {
3 const tenantId: string | undefined = "tenant_9f8b7c6d";
4 const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
5 tags: [
6 {
7 name: "typescript",
8 description: "Discussions about TypeScript",
9 color: "#3178c6"
10 },
11 {
12 name: "fastcomments",
13 description: "Tags for FastComments integration",
14 color: "#00aaff"
15 }
16 ]
17 };
18 const result: AddHashTagsBulkResponse = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
19 console.log(result);
20}();
21

deleteHashTag Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tagstringJa
tenantIdstringNee
deleteHashTagRequestBodyDeleteHashTagRequestBodyNee

Respons

Retourneert: DeleteHashTagResponse

Voorbeeld

deleteHashTag Voorbeeld
Copy Copy
1
2(async () => {
3 const tag: string = "announcement";
4 const tenantId: string = "tenant_9876";
5 const requestBody: DeleteHashTagRequestBody = {
6 confirmDeletion: true
7 };
8 const response: DeleteHashTagResponse = await deleteHashTag(tag, tenantId, requestBody);
9 console.log(response);
10})();
11

getHashTags Internal Link


Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
pagenumberNee

Respons

Retourneert: GetHashTagsResponse1

Voorbeeld

Voorbeeld getHashTags
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 const responseWithPage: GetHashTagsResponse1 = await getHashTags(tenantId, 1);
6 const responseDefault: GetHashTagsResponse1 = await getHashTags(tenantId);
7
8 console.log(responseWithPage, responseDefault);
9})();
10

patchHashTag Internal Link

Parameters

NaamTypeVereistBeschrijving
tagstringJa
tenantIdstringNee
updateHashTagBodyUpdateHashTagBodyNee

Response

Retourneert: PatchHashTagResponse

Example

patchHashTag Voorbeeld
Copy Copy
1
2const response1: PatchHashTagResponse = await patchHashTag("new-feature");
3
4const response2: PatchHashTagResponse = await patchHashTag(
5 "beta-release",
6 "tenant-9f8b7c"
7);
8
9const updateBody: UpdateHashTagBody = {
10 description: "Mark comments related to the upcoming beta release",
11 color: "#1e90ff"
12};
13
14const response3: PatchHashTagResponse = await patchHashTag(
15 "beta-release",
16 "tenant-9f8b7c",
17 updateBody
18);
19

deleteModerationVote Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
voteIdstringJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: DeleteModerationVoteResponse

Voorbeeld

deleteModerationVote Voorbeeld
Copy Copy
1
2const commentId: string = "cmt_12345";
3const voteId: string = "vote_9876";
4const broadcastId: string = "brd_001";
5const tenantId: string = "tenant_42";
6const sso: string = "sso_token_abc";
7
8const result: DeleteModerationVoteResponse = await deleteModerationVote(
9 commentId,
10 voteId,
11 broadcastId,
12 tenantId,
13 sso
14);
15

getApiComments Internal Link

Parameters

NameTypeRequiredDescription
pagenumberNo
countnumberNo
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetApiCommentsResponse

Voorbeeld

getApiComments Voorbeeld
Copy Copy
1
2async function loadComments() {
3 const fullResult: GetApiCommentsResponse = await getApiComments(
4 2, // pagina
5 25, // aantal
6 "feedback", // tekstZoekopdracht
7 "192.168.1.100", // IPVanCommentaar
8 "approved", // filters
9 "hasReplies", // zoekFilters
10 "dateDesc", // sorteringen
11 false, // demo
12 "tenant-abc123", // tenantId
13 "sso-token-xyz" // sso
14 );
15
16 const minimalResult: GetApiCommentsResponse = await getApiComments(undefined, 5);
17}
18

getApiExportStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
batchJobIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetApiExportStatusResponse

Voorbeeld

Voorbeeld getApiExportStatus
Copy Copy
1
2async function demoExportStatus() {
3 const batchJobId: string = "exportBatch-20231101-001";
4 const tenantId: string = "tenant-abc123";
5 const ssoToken: string = "sso-xyz789";
6
7 const fullStatus: GetApiExportStatusResponse = await getApiExportStatus(batchJobId, tenantId, ssoToken);
8 const simpleStatus: GetApiExportStatusResponse = await getApiExportStatus(batchJobId);
9 console.log(fullStatus, simpleStatus);
10}
11

getApiIds Internal Link

Parameters

NaamTypeVerplichtBeschrijving
textSearchstringNee
byIPFromCommentstringNee
filtersstringNee
searchFiltersstringNee
afterIdstringNee
demobooleanNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetApiIdsResponse

Voorbeeld

getApiIds Voorbeeld
Copy Copy
1
2const textSearch: string = "urgent feedback";
3const byIPFromComment: string = "203.0.113.42";
4const filters: string = "status:approved";
5const afterId: string = "comment-789";
6const demo: boolean = true;
7const tenantId: string = "tenant-001";
8
9const apiIds: GetApiIdsResponse = await getApiIds({
10 textSearch,
11 byIPFromComment,
12 filters,
13 afterId,
14 demo,
15 tenantId,
16});
17

getBanUsersFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetBanUsersFromCommentResponse

Voorbeeld

getBanUsersFromComment Voorbeeld
Copy Copy
1
2async function demoGetBanUsers() {
3 const commentId: string = "cmt_5f8e3a9b2d";
4 const tenantId: string = "tenant_42";
5 const sso: string = "sso_token_abc123";
6
7 // Aanroep met alle parameters
8 const fullResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId, tenantId, sso);
9 console.log(fullResult);
10
11 // Aanroep met alleen de verplichte parameter
12 const minimalResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId);
13 console.log(minimalResult);
14}
15
16demoGetBanUsers();
17

getCommentBanStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetCommentBanStatusResponse1

Voorbeeld

getCommentBanStatus Voorbeeld
Copy Copy
1
2async function checkCommentBanStatus() {
3 const banStatus: GetCommentBanStatusResponse1 = await getCommentBanStatus('cmt_987654321', 'tenant_42', 'sso_token_abc123');
4 const banStatusNoTenant: GetCommentBanStatusResponse1 = await getCommentBanStatus('cmt_987654322', undefined, 'sso_token_def456');
5}
6

getCommentChildren Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
tenantIdstringNee
ssostringNee

Response

Retourneert: GetCommentChildrenResponse

Voorbeeld

getCommentChildren voorbeeld
Copy Copy
1
2const commentId: string = "cmt_12345";
3const tenantId: string = "tenant_xyz";
4const sso: string = "sso_987654";
5
6const fullResponse: GetCommentChildrenResponse = await getCommentChildren(commentId, tenantId, sso);
7const minimalResponse: GetCommentChildrenResponse = await getCommentChildren(commentId);
8

getCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
textSearchstringNee
byIPFromCommentstringNee
filterstringNee
searchFiltersstringNee
demobooleanNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetCountResponse

Voorbeeld

getCount Voorbeeld
Copy Copy
1
2async function main(): Promise<void> {
3 const count: GetCountResponse = await getCount({
4 textSearch: "order issue",
5 byIPFromComment: "198.51.100.23",
6 filter: "pending",
7 demo: true,
8 tenantId: "acme_corp",
9 sso: "sso_abcdef123456"
10 });
11 console.log(count);
12}
13main();
14

getCounts Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetCountsResponse

Voorbeeld

Voorbeeld getCounts
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "acme-corp";
4 const ssoToken: string = "sso-token-2024";
5
6 const withBoth: GetCountsResponse = await getCounts(tenantId, ssoToken);
7 const withTenantOnly: GetCountsResponse = await getCounts(tenantId);
8 const withoutParams: GetCountsResponse = await getCounts();
9
10 console.log(withBoth, withTenantOnly, withoutParams);
11}
12runExample();
13

getLogs Internal Link


Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetLogsResponse

Voorbeeld

Voorbeeld getLogs
Copy Copy
1
2async function fetchLogs() {
3 const commentId: string = "cmt_9a8b7c6d5e4f3a2b";
4 const tenantId: string = "tenant_9876";
5 const sso: string = "sso_abcdef123456";
6
7 const fullResponse: GetLogsResponse = await getLogs(commentId, tenantId, sso);
8 const minimalResponse: GetLogsResponse = await getLogs(commentId);
9}
10

getManualBadges Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetManualBadgesResponse

Voorbeeld

getManualBadges Voorbeeld
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_ABCdef123456";
5
6 // Aanroep met beide optionele parameters
7 const responseFull: GetManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
8 console.log(responseFull);
9
10 // Aanroep met alleen tenantId
11 const responseTenantOnly: GetManualBadgesResponse = await getManualBadges(tenantId);
12 console.log(responseTenantOnly);
13}
14
15fetchBadges();
16

getManualBadgesForUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
badgesUserIdstringNo
commentIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetManualBadgesForUserResponse

Voorbeeld

getManualBadgesForUser Voorbeeld
Copy Copy
1
2(async () => {
3 const userId: string = "user_42";
4 const commentId: string = "comment_1001";
5 const tenantId: string = "tenant_acme";
6 const ssoToken: string = "sso_5f6g7h8i9j";
7
8 const badges: GetManualBadgesForUserResponse = await getManualBadgesForUser(userId, commentId, tenantId, ssoToken);
9 const limitedBadges: GetManualBadgesForUserResponse = await getManualBadgesForUser(userId);
10})();
11

getModerationComment Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
includeEmailbooleanNee
includeIPbooleanNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetModerationCommentResponse

Voorbeeld

getModerationComment Voorbeeld
Copy Copy
1
2async function fetchCommentDetails() {
3 // Volledig parameterset
4 const commentId: string = "cmt_12345abc";
5 const includeEmail: boolean = true;
6 const includeIP: boolean = false;
7 const tenantId: string = "tenant_9876";
8 const sso: string = "sso_token_xyz";
9
10 const fullResult: GetModerationCommentResponse = await getModerationComment(
11 commentId,
12 includeEmail,
13 includeIP,
14 tenantId,
15 sso
16 );
17
18 // Minimale aanroep met alleen het vereiste argument
19 const minimalResult: GetModerationCommentResponse = await getModerationComment("cmt_67890def");
20
21 // Gebruik resultaten naar behoefte...
22}
23

getModerationCommentText Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
tenantIdstringNee
ssostringNee

Response

Retourneert: GetModerationCommentTextResponse

Example

Voorbeeld van getModerationCommentText
Copy Copy
1
2async function exampleUsage(): Promise<void> {
3 const commentId: string = "cmt_9f8e7d6c5b4a3b2c1d0e";
4 const tenantId: string = "tenant_67890";
5 const sso: string = "sso_token_abc123";
6
7 // Roep aan met alleen de verplichte parameter
8 const result1: GetModerationCommentTextResponse = await getModerationCommentText(commentId);
9
10 // Roep aan met optionele parameters
11 const result2: GetModerationCommentTextResponse = await getModerationCommentText(commentId, tenantId, sso);
12}
13

getPreBanSummary Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
includeByUserIdAndEmailbooleanNee
includeByIPbooleanNee
includeByEmailDomainbooleanNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetPreBanSummaryResponse

Voorbeeld

getPreBanSummary Voorbeeld
Copy Copy
1
2const commentId: string = "5f8d0c2e4b1a2c3d4e5f6a7b";
3const includeByUserIdAndEmail: boolean = true;
4const includeByIP: boolean = true;
5const includeByEmailDomain: boolean = false;
6const tenantId: string = "tenant-001";
7const sso: string = "sso-xyz-123";
8
9const preBanSummary: GetPreBanSummaryResponse = await getPreBanSummary(
10 commentId,
11 includeByUserIdAndEmail,
12 includeByIP,
13 includeByEmailDomain,
14 tenantId,
15 sso
16);
17

getSearchCommentsSummary Internal Link

Parameters

NaamTypeVerplichtBeschrijving
valuestringNo
filtersstringNo
searchFiltersstringNo
tenantIdstringNo
ssostringNo

Respons

Returns: GetSearchCommentsSummaryResponse

Voorbeeld

getSearchCommentsSummary Voorbeeld
Copy Copy
1
2async function runExample(): Promise<void> {
3 const searchTerm: string = "fastcomments integration";
4 const filterString: string = "status:approved";
5 const searchFilterString: string = "author:jane";
6 const tenantId: string = "123e4567-e89b-12d3-a456-426614174000";
7 const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
8
9 const summary: GetSearchCommentsSummaryResponse = await getSearchCommentsSummary(
10 searchTerm,
11 filterString,
12 searchFilterString,
13 tenantId,
14 ssoToken
15 );
16
17 console.log(summary);
18}
19runExample();
20

getSearchPages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
valuestringNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetSearchPagesResponse

Voorbeeld

getSearchPages Voorbeeld
Copy Copy
1
2(async () => {
3 const query: string = "network outage";
4 const tenantId: string = "tenant-9876";
5 const ssoToken: string = "sso-abc123def456";
6
7 const searchResult: GetSearchPagesResponse = await getSearchPages(query, tenantId, ssoToken);
8 const searchResultNoSso: GetSearchPagesResponse = await getSearchPages(query, tenantId);
9})();
10

getSearchSites Internal Link

Parameters

NaamTypeVerplichtBeschrijving
valuestringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetSearchSitesResponse

Voorbeeld

getSearchSites Voorbeeld
Copy Copy
1
2async function fetchSites() {
3 const value: string = "customer support"
4 const tenantId: string = "tenant-9876"
5 const sso: string = "sso-abc123"
6
7 const sites: GetSearchSitesResponse = await getSearchSites(value, tenantId, sso)
8 const sitesOnlyTenant: GetSearchSitesResponse = await getSearchSites(undefined, tenantId)
9}
10

getSearchSuggest Internal Link

Parameters

NaamTypeVereistBeschrijving
textSearchstringNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: GetSearchSuggestResponse

Voorbeeld

getSearchSuggest Voorbeeld
Copy Copy
1
2async function example(): Promise<void> {
3 const term: string = "fastcomments api";
4 const tenant: string = "tenant_001";
5 const sso: string = "sso_9a8b7c";
6
7 const fullResult: GetSearchSuggestResponse = await getSearchSuggest(term, tenant, sso);
8 const partialResult: GetSearchSuggestResponse = await getSearchSuggest(term);
9}
10
11example();
12

getSearchUsers Internal Link

Parameters

NameTypeRequiredDescription
valuestringNo
tenantIdstringNo
ssostringNo

Reactie

Retourneert: GetSearchUsersResponse

Voorbeeld

getSearchUsers Voorbeeld
Copy Copy
1
2async function demoSearch() {
3 const query: string = "john.doe@example.com";
4 const tenantId: string = "tenant_12345";
5 const ssoToken: string = "sso_token_abc";
6
7 const resultWithSso: GetSearchUsersResponse = await getSearchUsers(query, tenantId, ssoToken);
8 const resultWithoutSso: GetSearchUsersResponse = await getSearchUsers(query, tenantId);
9}
10

getTrustFactor Internal Link

Parameters

NaamTypeVerplichtBeschrijving
userIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetTrustFactorResponse

Voorbeeld

getTrustFactor Voorbeeld
Copy Copy
1
2async function runDemo(): Promise<void> {
3 const trustFull: GetTrustFactorResponse = await getTrustFactor("user_12345", "tenant_abc", "sso_token_987");
4 const trustUserOnly: GetTrustFactorResponse = await getTrustFactor("user_12345");
5 console.log(trustFull, trustUserOnly);
6}
7runDemo();
8

getUserBanPreference Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetUserBanPreferenceResponse

Voorbeeld

Voorbeeld getUserBanPreference
Copy Copy
1
2async function demoGetUserBanPreference(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant-2024";
4 const sso: string = "sso-token-9f8b7a6c";
5
6 const result: GetUserBanPreferenceResponse = await getUserBanPreference(tenantId, sso);
7 console.log(result);
8}
9
10demoGetUserBanPreference();
11

getUserInternalProfile Internal Link


Parameters

NameTypeRequiredDescription
commentIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: GetUserInternalProfileResponse1

Voorbeeld

getUserInternalProfile Voorbeeld
Copy Copy
1
2(async () => {
3 const fullProfile: GetUserInternalProfileResponse1 = await getUserInternalProfile({
4 commentId: "cmt_12345",
5 tenantId: "tenant_67890",
6 sso: "sso_token_abcdef"
7 });
8
9 const partialProfile: GetUserInternalProfileResponse1 = await getUserInternalProfile({
10 commentId: "cmt_98765"
11 });
12})();
13

postAdjustCommentVotes Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
adjustCommentVotesParamsAdjustCommentVotesParamsJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Response

Retourneert: PostAdjustCommentVotesResponse

Voorbeeld

postAdjustCommentVotes Voorbeeld
Copy Copy
1
2const commentId: string = "cmt_9f8b7a6d";
3
4const adjustParams: AdjustCommentVotesParams = {
5 voteDelta: 1,
6 // extra velden zoals vereist door AdjustCommentVotesParams
7};
8
9const broadcastId: string = "brd_20230915";
10const tenantId: string = "tenant_42";
11const sso: string = "sso-token-abc123";
12
13const result: PostAdjustCommentVotesResponse = await postAdjustCommentVotes(
14 commentId,
15 adjustParams,
16 broadcastId,
17 tenantId,
18 sso
19);
20

postApiExport Internal Link

Parameters

NaamTypeVereistBeschrijving
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: PostApiExportResponse

Voorbeeld

postApiExport Voorbeeld
Copy Copy
1
2(async () => {
3 const textSearch: string = "keyword:feedback"
4 const byIPFromComment: string = "203.0.113.45"
5 const filters: string = "status:pending,category:support"
6 const searchFilters: string = "createdAt>2023-01-01"
7 const sorts: string = "createdAt:desc"
8 const tenantId: string = "tenant_9876"
9 const sso: string = "sso_7e2a9b"
10
11 const exportResult: PostApiExportResponse = await postApiExport(
12 textSearch,
13 byIPFromComment,
14 filters,
15 searchFilters,
16 sorts,
17 tenantId,
18 sso
19 )
20
21 console.log(exportResult)
22})()
23

postBanUserFromComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
banEmailbooleanNee
banEmailDomainbooleanNee
banIPbooleanNee
deleteAllUsersCommentsbooleanNee
bannedUntilstringNee
isShadowBanbooleanNee
updateIdstringNee
banReasonstringNee
tenantIdstringNee
ssostringNee

Respons

Retouneert: PostBanUserFromCommentResponse

Voorbeeld

postBanUserFromComment Voorbeeld
Copy Copy
1
2async function runBan() {
3 const commentId: string = "cmt_5f8a2b3c";
4 const banEmail: boolean = true;
5 const banIP: boolean = false;
6 const deleteAllUsersComments: boolean = true;
7 const bannedUntil: string = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString();
8 const isShadowBan: boolean = false;
9 const banReason: string = "Repeated spam posting";
10 const tenantId: string = "tenant_12345";
11
12 const response: PostBanUserFromCommentResponse = await postBanUserFromComment(
13 commentId,
14 banEmail,
15 undefined,
16 banIP,
17 deleteAllUsersComments,
18 bannedUntil,
19 isShadowBan,
20 undefined,
21 banReason,
22 tenantId
23 );
24 console.log(response);
25}
26runBan();
27

postBanUserUndo Internal Link

Parameters

NaamTypeVereistBeschrijving
banUserUndoParamsBanUserUndoParamsJa
tenantIdstringNee
ssostringNee

Response

Returns: PostBanUserUndoResponse

Example

postBanUserUndo Voorbeeld
Copy Copy
1
2const undoParams: BanUserUndoParams = {
3 userId: "user-8421",
4 commentId: "comment-6702",
5 reason: "Accidental ban"
6};
7
8const tenantId: string = "tenant-7f9e";
9const ssoToken: string = "sso-4b2c1d";
10
11async function runUndo() {
12 const resultAll: PostBanUserUndoResponse = await postBanUserUndo(undoParams, tenantId, ssoToken);
13 console.log(resultAll);
14
15 const resultMinimal: PostBanUserUndoResponse = await postBanUserUndo(undoParams);
16 console.log(resultMinimal);
17}
18
19runUndo();
20

postBulkPreBanSummary Internal Link

Parameters

NaamTypeVereistBeschrijving
bulkPreBanParamsBulkPreBanParamsJa
includeByUserIdAndEmailbooleanNee
includeByIPbooleanNee
includeByEmailDomainbooleanNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: PostBulkPreBanSummaryResponse

Voorbeeld

postBulkPreBanSummary Voorbeeld
Copy Copy
1
2async function runExample() {
3 const bulkPreBanParams: BulkPreBanParams = {
4 userIds: [10234, 56789],
5 emails: ["spam_user@example.com", "abuse@badsite.org"],
6 ips: ["203.0.113.45", "198.51.100.22"],
7 emailDomains: ["maliciousdomain.com"]
8 };
9
10 const includeByUserIdAndEmail: boolean = true;
11 const includeByIP: boolean = false;
12 const includeByEmailDomain: boolean = true;
13 const tenantId: string = "tenant_8f4b2c1a";
14 const sso: string = "sso-3948abf0";
15
16 const summary: PostBulkPreBanSummaryResponse = await postBulkPreBanSummary(
17 bulkPreBanParams,
18 includeByUserIdAndEmail,
19 includeByIP,
20 includeByEmailDomain,
21 tenantId,
22 sso
23 );
24
25 console.log(summary);
26}
27
28runExample();
29

postCommentsByIds Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentsByIdsParamsCommentsByIdsParamsJa
tenantIdstringNee
ssostringNee

Respons

Retourneert: PostCommentsByIdsResponse

Voorbeeld

postCommentsByIds Voorbeeld
Copy Copy
1
2const commentsByIdsParams: CommentsByIdsParams = {
3 commentIds: ['cmt001', 'cmt002'],
4 includeUserInfo: true,
5 includeThreadInfo: false,
6} as CommentsByIdsParams;
7
8const fullResponse: PostCommentsByIdsResponse = await postCommentsByIds(
9 commentsByIdsParams,
10 'tenant-12345',
11 'sso-token-xyz'
12);
13
14const minimalResponse: PostCommentsByIdsResponse = await postCommentsByIds(
15 commentsByIdsParams
16);
17

postFlagComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: PostFlagCommentResponse

Voorbeeld

postFlagComment Voorbeeld
Copy Copy
1
2const commentId: string = "cmt_20230915_001";
3const broadcastId: string = "brd_20230915_live";
4const tenantId: string = "tenant_42";
5const sso: string = "sso_token_abc123";
6
7const flaggedResponse: PostFlagCommentResponse = await postFlagComment(
8 commentId,
9 broadcastId,
10 tenantId,
11 sso
12);
13

postRemoveComment Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: PostRemoveCommentResponse

Voorbeeld

postRemoveComment Voorbeeld
Copy Copy
1
2async function removeCommentExample(): Promise<void> {
3 const commentId: string = "cmt_7f9a3e2b";
4
5 const result1: PostRemoveCommentResponse = await postRemoveComment(commentId);
6
7 const broadcastId: string = "brd_12ab34cd";
8 const tenantId: string = "tenant_5678efgh";
9 const sso: string = "sso_XYZ12345";
10
11 const result2: PostRemoveCommentResponse = await postRemoveComment(commentId, broadcastId, tenantId, sso);
12
13 console.log(result1, result2);
14}
15

postRestoreDeletedComment Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Response

Retourneert: PostRestoreDeletedCommentResponse

Example

postRestoreDeletedComment voorbeeld
Copy Copy
1
2async function restoreCommentDemo(): Promise<void> {
3 const commentId: string = "cmt_5f2a9b7e1234567890abcd";
4 const broadcastId: string | undefined = "brd_2023_09";
5 const tenantId: string | undefined = "tenant_42";
6 const sso: string | undefined = "sso_token_abcdef123456";
7
8 const response: PostRestoreDeletedCommentResponse = await postRestoreDeletedComment(
9 commentId,
10 broadcastId,
11 tenantId,
12 sso
13 );
14
15 console.log(response);
16}
17
18restoreCommentDemo();
19

postSetCommentApprovalStatus Internal Link

Parameters

NameTypeRequiredDescription
commentIdstringYes
approvedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: PostSetCommentApprovalStatusResponse

Voorbeeld

postSetCommentApprovalStatus Voorbeeld
Copy Copy
1
2async function main() {
3 const commentIdOnly: string = "cmt_1001";
4 const resultOnly: PostSetCommentApprovalStatusResponse = await postSetCommentApprovalStatus(commentIdOnly);
5
6 const commentIdFull: string = "cmt_2002";
7 const approvedFull: boolean = true;
8 const broadcastIdFull: string = "brd_3003";
9 const tenantIdFull: string = "tenant_abc";
10 const ssoFull: string = "sso_token_xyz";
11 const resultFull: PostSetCommentApprovalStatusResponse = await postSetCommentApprovalStatus(
12 commentIdFull,
13 approvedFull,
14 broadcastIdFull,
15 tenantIdFull,
16 ssoFull
17 );
18
19 console.log(resultOnly, resultFull);
20}
21main();
22

postSetCommentReviewStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringYes
reviewedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: PostSetCommentReviewStatusResponse

Voorbeeld

postSetCommentReviewStatus Voorbeeld
Copy Copy
1
2async function updateCommentReviewStatus(): Promise<void> {
3 const commentId: string = "cmt_9f8a7b6c5d4e3f2a1b0c";
4 const reviewed: boolean = true;
5 const broadcastId: string = "broadcast_2024Q1";
6 const tenantId: string = "tenant_1001";
7 const sso: string = "alice@example.com";
8
9 const response: PostSetCommentReviewStatusResponse = await postSetCommentReviewStatus(
10 commentId,
11 reviewed,
12 broadcastId,
13 tenantId,
14 sso
15 );
16
17 console.log(response);
18}
19

postSetCommentSpamStatus Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringYes
spambooleanNo
permNotSpambooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Response

Retourneert: PostSetCommentSpamStatusResponse

Example

postSetCommentSpamStatus Voorbeeld
Copy Copy
1
2async function demoSpamStatus(): Promise<void> {
3 const commentId: string = "cmt_5f2a1b3c4d6e7f8g9h0i";
4
5 // Alleen benodigde parameter
6 const resultSimple: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(commentId, true);
7
8 // Alle optionele parameters opgegeven
9 const resultFull: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(
10 commentId,
11 false,
12 true,
13 "brd_1234abcd",
14 "tenant_42",
15 "sso_9876xyz"
16 );
17
18 console.log(resultSimple, resultFull);
19}
20

postSetCommentText Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
setCommentTextParamsSetCommentTextParamsJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Response

Returns: PostSetCommentTextResponse

Example

postSetCommentText Voorbeeld
Copy Copy
1
2(async () => {
3 const commentId: string = "cmt_9f8b7a6d5e4c3b2a1";
4 const setParams: SetCommentTextParams = {
5 text: "Edited comment to correct a typo and add clarification."
6 };
7 const broadcastId: string = "brd_1a2b3c4d5e6f7g8h9";
8 const tenantId: string = "tenant_xyz123";
9 const sso: string = "sso_user_456def";
10
11 const fullResult: PostSetCommentTextResponse = await postSetCommentText(
12 commentId,
13 setParams,
14 broadcastId,
15 tenantId,
16 sso
17 );
18
19 const minimalResult: PostSetCommentTextResponse = await postSetCommentText(
20 commentId,
21 setParams
22 );
23
24 console.log(fullResult, minimalResult);
25})();
26

postUnFlagComment Internal Link

Parameters

NaamTypeVereistBeschrijving
commentIdstringJa
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Response

Retourneert: PostUnFlagCommentResponse

Voorbeeld

postUnFlagComment Voorbeeld
Copy Copy
1
2async () => {
3 const response: PostUnFlagCommentResponse = await postUnFlagComment(
4 "cmt_12345", // commentId
5 "brd_67890", // broadcastId (optioneel)
6 "tenant_abc", // tenantId (optioneel)
7 "sso_user_token_789" // sso (optioneel)
8 );
9};
10

postVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
commentIdstringJa
directionstringNee
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Respons

Retourneert: PostVoteResponse

Voorbeeld

postVote Voorbeeld
Copy Copy
1
2let commentId: string = 'cmt_12345';
3let direction: string = 'up';
4let broadcastId: string = 'brd_67890';
5let tenantId: string = 'tenant_abc';
6let sso: string = 'sso_token_xyz';
7
8const fullVote: PostVoteResponse = await postVote(
9 commentId,
10 direction,
11 broadcastId,
12 tenantId,
13 sso
14);
15
16const simpleVote: PostVoteResponse = await postVote('cmt_67890');
17

putAwardBadge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Respons

Retourneert: PutAwardBadgeResponse

Voorbeeld

putAwardBadge Voorbeeld
Copy Copy
1
2(async () => {
3 const badgeId: string = "badge-superstar"
4 const userId: string = "user-42"
5 const commentId: string = "comment-7f9c3"
6 const broadcastId: string = "broadcast-2023-09"
7 const result: PutAwardBadgeResponse = await putAwardBadge(badgeId, userId, commentId, broadcastId)
8 console.log(result)
9})()
10

putCloseThread Internal Link

Parameters

NameTypeRequiredDescription
urlIdstringYes
tenantIdstringNo
ssostringNo

Respons

Retourneert: PutCloseThreadResponse

Voorbeeld

putCloseThread Voorbeeld
Copy Copy
1
2async function closeThreadDemo(): Promise<void> {
3 const urlId: string = "article-2023-09-15";
4 const tenantId: string = "tenant-42";
5 const sso: string = "sso-token-xyz";
6
7 const response: PutCloseThreadResponse = await putCloseThread(urlId, tenantId, sso);
8 console.log(response);
9}
10
11closeThreadDemo();
12

putRemoveBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
badgeIdstringJa
userIdstringNee
commentIdstringNee
broadcastIdstringNee
tenantIdstringNee
ssostringNee

Response

Retour: PutRemoveBadgeResponse

Voorbeeld

putRemoveBadge voorbeeld
Copy Copy
1
2const badgeId: string = "badge-12345";
3const userId: string = "user-9876";
4const commentId: string = "comment-5555";
5const broadcastId: string = "broadcast-001";
6
7const result: PutRemoveBadgeResponse = await putRemoveBadge(
8 badgeId,
9 userId,
10 commentId,
11 broadcastId
12);
13

putReopenThread Internal Link

Parameters

NaamTypeVerplichtBeschrijving
urlIdstringYes
tenantIdstringNo
ssostringNo

Response

Retourneert: PutReopenThreadResponse

Example

putReopenThread Voorbeeld
Copy Copy
1
2async function exampleUsage() {
3 const urlId: string = "thread-9f8b7c6a";
4 const tenantId: string = "tenant-001";
5 const sso: string = "sso-3f9d2e1a";
6
7 const resultAll: PutReopenThreadResponse = await putReopenThread(urlId, tenantId, sso);
8 console.log(resultAll);
9
10 const resultMinimal: PutReopenThreadResponse = await putReopenThread(urlId);
11 console.log(resultMinimal);
12}
13

setTrustFactor Internal Link

Parameters

NameTypeRequiredDescription
userIdstringNo
trustFactorstringNo
tenantIdstringNo
ssostringNo

Response

Returns: SetTrustFactorResponse

Example

setTrustFactor Voorbeeld
Copy Copy
1
2(async () => {
3 const userId: string = "user_8421";
4 const trustFactor: string = "high";
5 const tenantId: string = "tenant_33";
6 const ssoToken: string = "sso_7d9f";
7
8 const fullResult: SetTrustFactorResponse = await setTrustFactor(userId, trustFactor, tenantId, ssoToken);
9 const minimalResult: SetTrustFactorResponse = await setTrustFactor(userId, trustFactor);
10})();
11

createModerator Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createModeratorBodyCreateModeratorBodyJa

Respons

Retourneert: CreateModeratorResponse1

Voorbeeld

createModerator voorbeeld
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_9876";
4 const moderatorPayload: CreateModeratorBody = {
5 name: "Alice Johnson",
6 email: "alice.johnson@example.com"
7 // optionele velden zoals beschrijving zijn weggelaten
8 };
9 const result: CreateModeratorResponse1 = await createModerator(tenantId, moderatorPayload);
10 console.log(result);
11}
12
13runExample();
14

deleteModerator Internal Link

Parameters

NaamTypeVerplichtOmschrijving
tenantIdstringJa
idstringJa
sendEmailstringNee

Reactie

Retourneert: DeleteModeratorResponse

Voorbeeld

deleteModerator Voorbeeld
Copy Copy
1
2async function runDeleteModeratorExample() {
3 const tenantId: string = "tenant_2023";
4 const moderatorId: string = "mod_001";
5 const notificationEmail: string = "admin@mycompany.com";
6
7 const resultWithEmail: DeleteModeratorResponse = await deleteModerator(tenantId, moderatorId, notificationEmail);
8 const resultWithoutEmail: DeleteModeratorResponse = await deleteModerator(tenantId, moderatorId);
9}
10

getModerator Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetModeratorResponse1

Voorbeeld

getModerator Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-001";
4 const id: string = "mod-12345";
5
6 const result: GetModeratorResponse1 = await getModerator(tenantId, id);
7
8 const moderatorName: string | undefined = result.moderator?.name;
9 console.log(moderatorName);
10})();
11

getModerators Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
skipnumberNee

Response

Retourneert: GetModeratorsResponse1

Voorbeeld

getModerators Voorbeeld
Copy Copy
1
2async function fetchModerators(): Promise<void> {
3 const tenantId: string = "tenant-9876";
4 const skip: number = 30; // optionele paginatie offset
5 const moderators: GetModeratorsResponse1 = await getModerators(tenantId, skip);
6 // Voorbeeld zonder paginatie:
7 // const allModerators: GetModeratorsResponse1 = await getModerators(tenantId);
8}
9

sendInvite Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
fromNamestringJa

Response

Retourneert: SendInviteResponse

Example

sendInvite Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const inviteId: string = "invite-12345";
4const fromName: string = "John Doe";
5
6const inviteResult: SendInviteResponse = await sendInvite(tenantId, inviteId, fromName);
7

updateModerator Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateModeratorBodyUpdateModeratorBodyJa

Response

Retourneert: UpdateModeratorResponse

Voorbeeld

updateModerator Voorbeeld
Copy Copy
1
2async function demoUpdateModerator(): Promise<void> {
3 const tenantId: string = "tenant_42abc";
4 const moderatorId: string = "moderator_8f9e";
5 const updateBody: UpdateModeratorBody = {
6 isActive: true,
7 role: "admin",
8 // optioneel veld
9 notes: "Promoted to senior moderator"
10 };
11 const result: UpdateModeratorResponse = await updateModerator(tenantId, moderatorId, updateBody);
12 console.log(result);
13}
14
15demoUpdateModerator();
16

deleteNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeleteNotificationCountResponse

Voorbeeld

deleteNotificationCount Voorbeeld
Copy Copy
1
2async function run() {
3 const tenantId: string = "tenant_12345";
4 const notificationId: string = "notif_98765";
5 const result: DeleteNotificationCountResponse = await deleteNotificationCount(tenantId, notificationId);
6 console.log(result);
7}
8run();
9

getCachedNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetCachedNotificationCountResponse1

Voorbeeld

getCachedNotificationCount Voorbeeld
Copy Copy
1
2const tenantId: string = "e3f1a9b2-4c5d-6e7f-8a9b-0c1d2e3f4a5b";
3const userId: string = "u-20231101-001";
4
5const notificationResult: GetCachedNotificationCountResponse1 = await getCachedNotificationCount(tenantId, userId);
6
7console.log(notificationResult);
8

getNotificationCount Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
userIdstringNee
urlIdstringNee
fromCommentIdstringNee
viewedbooleanNee
typestringNee

Respons

Retourneert: GetNotificationCountResponse1

Voorbeeld

getNotificationCount Voorbeeld
Copy Copy
1
2async function demoNotificationCount() {
3 const tenantId: string = "tenant_001";
4 const userId: string = "user_42";
5 const urlId: string = "url_9f8e7d";
6 const fromCommentId: string = "comment_12345";
7 const viewed: boolean = false;
8 const type: string = "mention";
9
10 const result: GetNotificationCountResponse1 = await getNotificationCount(
11 tenantId,
12 userId,
13 urlId,
14 fromCommentId,
15 viewed,
16 type
17 );
18
19 console.log(result);
20}
21
22demoNotificationCount();
23

getNotifications Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo
skipnumberNo

Respons

Retourneert: GetNotificationsResponse1

Voorbeeld

Voorbeeld getNotifications
Copy Copy
1
2async function demo() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5
6 const notifications: GetNotificationsResponse1 = await getNotifications(tenantId, userId);
7 console.log(notifications);
8
9 const more: GetNotificationsResponse1 = await getNotifications(
10 tenantId,
11 undefined,
12 "article-5678",
13 undefined,
14 true,
15 "reply",
16 10
17 );
18 console.log(more);
19}
20demo();
21

updateNotification Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateNotificationBodyUpdateNotificationBodyJa
userIdstringNee

Response

Retourneert: UpdateNotificationResponse

Voorbeeld

updateNotification Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_5f4d2c";
3const notificationId: string = "notif_9b8a7c";
4
5const updateBody: UpdateNotificationBody = {
6 enabled: false,
7 sendEmail: true,
8 schedule: "2023-12-01T08:00:00Z"
9};
10
11const userId: string = "user_123e4567";
12
13const responseWithUser: UpdateNotificationResponse = await updateNotification(
14 tenantId,
15 notificationId,
16 updateBody,
17 userId
18);
19
20const responseWithoutUser: UpdateNotificationResponse = await updateNotification(
21 tenantId,
22 notificationId,
23 updateBody
24);
25

createV1PageReact Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
titlestringNo

Response

Retourneert: CreateV1PageReactResponse

Example

createV1PageReact Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "article-2024-06-improvements";
4const title: string = "FastComments API Integration Guide";
5
6const responseWithTitle: CreateV1PageReactResponse = await createV1PageReact(tenantId, urlId, title);
7const responseWithoutTitle: CreateV1PageReactResponse = await createV1PageReact(tenantId, urlId);
8

createV2PageReact Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa
titlestringNee

Response

Retourneert: CreateV2PageReactResponse

Voorbeeld

createV2PageReact Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "blog/posts/fastcomments-integration";
5 const pageId: string = "page-12345";
6 const title: string = "FastComments API Integration Guide";
7
8 const responseWithoutTitle: CreateV2PageReactResponse = await createV2PageReact(tenantId, urlId, pageId);
9 const responseWithTitle: CreateV2PageReactResponse = await createV2PageReact(tenantId, urlId, pageId, title);
10
11 console.log(responseWithoutTitle, responseWithTitle);
12})();
13

deleteV1PageReact Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Retourneert: DeleteV1PageReactResponse

Voorbeeld

deleteV1PageReact Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3const urlId: string = "article-2024-06-01";
4
5const response: DeleteV1PageReactResponse = await deleteV1PageReact(tenantId, urlId);
6console.log(response);
7

deleteV2PageReact Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa

Response

Retourneert: DeleteV2PageReactResponse

Example

deleteV2PageReact Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "page_98765";
4const reactionId: string = "react_abcde";
5
6const deleteResult: DeleteV2PageReactResponse = await deleteV2PageReact(tenantId, urlId, reactionId);
7

getV1PageLikes Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Returns: GetV1PageLikesResponse

Voorbeeld

getV1PageLikes Voorbeeld
Copy Copy
1
2async function fetchPageLikes() {
3 const tenantId: string = "acme-corp-tenant-42";
4 const urlId: string = "blog-post-2024-06-typescript-best-practices";
5
6 const likes: GetV1PageLikesResponse = await getV1PageLikes(tenantId, urlId);
7 console.log(likes);
8}
9

getV2PageReacts Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Retourneert: GetV2PageReactsResponse

Voorbeeld

getV2PageReacts Voorbeeld
Copy Copy
1
2async function demoGetPageReacts(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant";
4 const urlId: string = "article-2024-06-01";
5
6 const reacts: GetV2PageReactsResponse = await getV2PageReacts(tenantId, urlId);
7
8 // optioneel voorbeeld van eigenschaptoegang
9 const customConfig: CustomConfigParameters | undefined = reacts.customConfig;
10 console.log(reacts);
11}
12
13demoGetPageReacts();
14

getV2PageReactUsers Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
urlIdstringJa
idstringJa

Respons

Retourneert: GetV2PageReactUsersResponse1

Voorbeeld

Voorbeeld getV2PageReactUsers
Copy Copy
1
2async function fetchReactUsers() {
3 const tenantId: string = 'tenant_12345';
4 const urlId: string = 'article-9876';
5 const id: string = 'user_abcde';
6 const response: GetV2PageReactUsersResponse1 = await getV2PageReactUsers(tenantId, urlId, id);
7 console.log(response);
8}
9fetchReactUsers();
10

addPage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createAPIPageDataCreateAPIPageDataJa

Respons

Retourneert: AddPageAPIResponse

Voorbeeld

addPage Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_9f8432b1-4c2e-4f9d-8a5d-7bc9e2f6d9a0";
3
4const pageData: CreateAPIPageData = {
5 url: "https://example.com/articles/fastcomments-intro",
6 title: "FastComments Introduction",
7 description: "An introductory guide to FastComments API usage.",
8 tags: ["fastcomments", "api", "tutorial"],
9 metadata: {
10 author: "Jane Doe",
11 publishedAt: "2024-03-15T08:00:00Z"
12 }
13};
14
15const response: AddPageAPIResponse = await addPage(tenantId, pageData);
16

deletePage Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Respons

Retourneert: DeletePageAPIResponse

Voorbeeld

deletePage Voorbeeld
Copy Copy
1
2async function example() {
3 const tenantId: string = "acme-corp-001";
4 const pageId: string = "page-987654321";
5 const result: DeletePageAPIResponse = await deletePage(tenantId, pageId);
6 console.log(result);
7}
8example();
9

getOfflineUsers Internal Link


Eerdere commentatoren op de pagina die NIET momenteel online zijn. Gesorteerd op displayName.
Gebruik dit nadat /users/online is uitgeput om een "Members" sectie weer te geven.
Cursor-paginering op commenterName: server doorloopt de gedeeltelijke {tenantId, urlId, commenterName} index vanaf afterName vooruit via $gt, zonder $skip‑kost.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Response

Returns: GetOfflineUsersResponse

Example

getOfflineUsers voorbeeld
Copy Copy
1
2async function fetchOfflineUsers(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "thread_9876";
5 const afterName: string = "Jane Smith";
6 const afterUserId: string = "user_7f9b3c";
7
8 const offlineUsers: GetOfflineUsersResponse = await getOfflineUsers(
9 tenantId,
10 urlId,
11 afterName,
12 afterUserId
13 );
14
15 console.log(offlineUsers);
16}
17

getOnlineUsers Internal Link

Momenteel online kijkers van een pagina: personen wiens websocketsessie op dit moment op de pagina geabonneerd is.
Retourneert anonCount + totalCount (abonnees voor de hele ruimte, inclusief anonieme kijkers die we niet opsommen).

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
afterNamestringNee
afterUserIdstringNee

Respons

Retourneert: GetOnlineUsersResponse

Voorbeeld

getOnlineUsers Voorbeeld
Copy Copy
1
2async function demoOnlineUsers() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_98765";
5
6 // Met optionele paginatieparameters
7 const pagedResult: GetOnlineUsersResponse = await getOnlineUsers(
8 tenantId,
9 urlId,
10 "alice_smith",
11 "user_9"
12 );
13
14 // Zonder optionele paginatieparameters
15 const fullResult: GetOnlineUsersResponse = await getOnlineUsers(tenantId, urlId);
16}
17

getPageByURLId Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
urlIdstringYes

Respons

Retourneert: GetPageByURLIdAPIResponse

Voorbeeld

getPageByURLId Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_9876";
5
6 const response: GetPageByURLIdAPIResponse = await getPageByURLId(tenantId, urlId);
7 const page: APIPage | undefined = response.page;
8})();
9

getPages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa

Respons

Retourneert: GetPagesAPIResponse

Voorbeeld

Voorbeeld getPages
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4(async () => {
5 const response: GetPagesAPIResponse = await getPages(tenantId);
6 const firstPage: APIPage | undefined = response.pages?.[0];
7 console.log(firstPage?.title);
8})();
9

getPagesPublic Internal Link

List pagina’s voor een tenant. Gebruikt door de FChat desktopclient om zijn kamerlijst te vullen.
Vereist dat enableFChat true is in de opgeloste aangepaste configuratie voor elke pagina.
Pagina’s die SSO vereisen, worden gefilterd op basis van de groepstoegang van de aanvragende gebruiker.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
cursorstringNo
limitnumberNo
qstringNo
sortByPagesSortByNo
hasCommentsbooleanNo

Response

Retourneert: GetPagesPublicResponse

Example

getPagesPublic Voorbeeld
Copy Copy
1
2async function fetchPages() {
3 const tenantId: string = "tenant_12345";
4 const cursor: string = "nextPageToken";
5 const limit: number = 20;
6 const q: string = "blog";
7 const sortBy: PagesSortBy = "createdAt";
8 const hasComments: boolean = true;
9
10 const response: GetPagesPublicResponse = await getPagesPublic(
11 tenantId,
12 cursor,
13 limit,
14 q,
15 sortBy,
16 hasComments
17 );
18
19 console.log(response);
20}
21

getUsersInfo Internal Link

Bulk gebruikersinformatie voor een tenant. Gegeven userIds, retourneer weergave‑informatie van User / SSOUser.
Gebruikt door de commentaarwidget om gebruikers die net verschenen via een aanwezigheids‑evenement te verrijken.
Geen paginacontext: privacy wordt uniform afgedwongen (private profielen worden gemaskeerd).

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idsstringYes

Response

Retourneert: GetUsersInfoResponse

Voorbeeld

getUsersInfo Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const ids: string = "user-1001,user-1002";
4
5const usersInfo: GetUsersInfoResponse = await getUsersInfo(tenantId, ids);
6
7// Optional fields in the response may be undefined
8const firstUser: PageUserEntry | undefined = usersInfo?.users?.[0];
9

patchPage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPIPageDataUpdateAPIPageDataJa

Respons

Retourneert: PatchPageAPIResponse

Voorbeeld

patchPage Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const pageId: string = "page_98765";
5
6 const updateData: UpdateAPIPageData = {
7 title: "Updated FAQ Page"
8 // description?: string kan worden weggelaten
9 };
10
11 const response: PatchPageAPIResponse = await patchPage(tenantId, pageId, updateData);
12})();
13

deletePendingWebhookEvent Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeletePendingWebhookEventResponse

Voorbeeld

deletePendingWebhookEvent Voorbeeld
Copy Copy
1
2async function runDemo() {
3 const tenantId: string = 'c3f5e9d2-1a2b-4c3d-9e7f-1234567890ab';
4 const eventId: string = 'event_987654321';
5 const response: DeletePendingWebhookEventResponse = await deletePendingWebhookEvent(tenantId, eventId);
6 console.log(response);
7}
8runDemo();
9

getPendingWebhookEventCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
commentIdstringNee
externalIdstringNee
eventTypestringNee
typestringNee
domainstringNee
attemptCountGTnumberNee

Respons

Retourneert: GetPendingWebhookEventCountResponse1

Voorbeeld

getPendingWebhookEventCount Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_001";
4
5 const responseAll: GetPendingWebhookEventCountResponse1 = await getPendingWebhookEventCount(
6 tenantId,
7 "comment_456",
8 "ext_789",
9 "comment.updated",
10 "webhook",
11 "mydomain.com",
12 3
13 );
14
15 const responseMinimal: GetPendingWebhookEventCountResponse1 = await getPendingWebhookEventCount(tenantId);
16
17 console.log(responseAll, responseMinimal);
18})();
19

getPendingWebhookEvents Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

Respons

Retourneert: GetPendingWebhookEventsResponse1

Voorbeeld

getPendingWebhookEvents Voorbeeld
Copy Copy
1
2async function fetchPendingEvents(): Promise<void> {
3 const tenantId: string = "123e4567-e89b-12d3-a456-426614174000";
4 const commentId: string = "cmt-987654321";
5 const externalId: string = "ext-abc-123";
6 const eventType: string = "comment_created";
7 const type: string = "outbound";
8 const domain: string = "myblog.com";
9 const attemptCountGT: number = 3;
10 const skip: number = 0;
11
12 const pending: GetPendingWebhookEventsResponse1 = await getPendingWebhookEvents(
13 tenantId,
14 commentId,
15 externalId,
16 eventType,
17 type,
18 domain,
19 attemptCountGT,
20 skip
21 );
22
23 console.log(pending);
24}
25
26fetchPendingEvents();
27

createQuestionConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createQuestionConfigBodyCreateQuestionConfigBodyJa

Respons

Retourneert: CreateQuestionConfigResponse1

Voorbeeld

createQuestionConfig Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const customOption: QuestionConfigCustomOptionsInner = {
5 label: "Option A",
6 value: "a",
7};
8
9const createQuestionConfigBody: CreateQuestionConfigBody = {
10 questionText: "What is your favorite color?",
11 isActive: true,
12 // optionele velden kunnen weggelaten worden
13 customOptions: [customOption],
14};
15
16const response: CreateQuestionConfigResponse1 = await createQuestionConfig(
17 tenantId,
18 createQuestionConfigBody
19);
20

deleteQuestionConfig Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeleteQuestionConfigResponse

Voorbeeld

deleteQuestionConfig Voorbeeld
Copy Copy
1
2async function runDeletion(): Promise<void> {
3 const tenantId: string = "tenant_8f5a2c9d";
4 const configId: string = "questionConfig_4b7e1f";
5 const deleteResult: DeleteQuestionConfigResponse = await deleteQuestionConfig(tenantId, configId);
6 console.log(deleteResult);
7}
8void runDeletion();
9

getQuestionConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes

Respons

Retourneert: GetQuestionConfigResponse1

Voorbeeld

getQuestionConfig voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant-42";
3const questionId: string = "question-7f9b3e";
4
5const response: GetQuestionConfigResponse1 = await getQuestionConfig(tenantId, questionId);
6

getQuestionConfigs Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
skipnumberNo

Respons

Returned: GetQuestionConfigsResponse1

Voorbeeld

Voorbeeld getQuestionConfigs
Copy Copy
1
2async function fetchQuestionConfigs() {
3 const tenantId: string = "tenant-9876";
4
5 // Call without the optional 'skip' parameter
6 const configsWithoutSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId);
7
8 // Call with the optional 'skip' parameter
9 const skip: number = 10;
10 const configsWithSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId, skip);
11
12 console.log(configsWithoutSkip, configsWithSkip);
13}
14

updateQuestionConfig Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateQuestionConfigBodyUpdateQuestionConfigBodyJa

Reactie

Retourneert: UpdateQuestionConfigResponse

Voorbeeld

updateQuestionConfig Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const questionId: string = "qstn-2023-04";
4
5const updateBody: UpdateQuestionConfigBody = {
6 // optionele velden gedemonstreerd
7 customOptions: [
8 {
9 id: "opt-001",
10 label: "Extra Details",
11 required: true,
12 },
13 ],
14 renderingType: "markdown",
15};
16
17const response: UpdateQuestionConfigResponse = await updateQuestionConfig(
18 tenantId,
19 questionId,
20 updateBody
21);
22

createQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createQuestionResultBodyCreateQuestionResultBodyJa

Respons

Retourneert: CreateQuestionResultResponse1

Voorbeeld

createQuestionResult Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3
4const metaItem: MetaItem = {
5 key: "campaign",
6 value: "spring-launch"
7};
8
9const questionResultBody: CreateQuestionResultBody = {
10 questionId: "question-42",
11 answer: "Positive",
12 metadata: [metaItem]
13 // optionele velden zoals notities zijn weggelaten
14};
15
16const result: CreateQuestionResultResponse1 = await createQuestionResult(tenantId, questionResultBody);
17

deleteQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeleteQuestionResultResponse

Voorbeeld

deleteQuestionResult Voorbeeld
Copy Copy
1
2async function runDeletion(): Promise<void> {
3 const tenantId: string = "tenant-001";
4 const resultId: string = "c9f2a5b3-7e6d-4c9a-8b1f-2d3e4f5a6b7c";
5 const result: DeleteQuestionResultResponse = await deleteQuestionResult(tenantId, resultId);
6 console.log(result);
7}
8
9runDeletion();
10

getQuestionResult Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Response

Returns: GetQuestionResultResponse1

Example

getQuestionResult Voorbeeld
Copy Copy
1
2async function fetchQuestionResult(): Promise<void> {
3 const tenantId: string = "acme-corp-001";
4 const questionId: string = "question-7a9b8c";
5 const result: GetQuestionResultResponse1 = await getQuestionResult(tenantId, questionId);
6
7 const question: QuestionResult | undefined = result.questionResult;
8 const firstMeta: MetaItem | undefined = result.meta?.[0];
9
10 console.log(question?.id, firstMeta?.key);
11}
12

getQuestionResults Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
urlIdstringNo
userIdstringNo
startDatestringNo
questionIdstringNo
questionIdsstringNo
skipnumberNo

Respons

Retourneert: GetQuestionResultsResponse1

Voorbeeld

getQuestionResults Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const urlId: string = "post-456";
5 const userId: string = "user-789";
6 const startDate: string = "2023-09-01T00:00:00Z";
7 const questionId: string = "q-101";
8 const questionIds: string = "q-102,q-103";
9 const skip: number = 20;
10
11 const results: GetQuestionResultsResponse1 = await getQuestionResults(
12 tenantId,
13 urlId,
14 userId,
15 startDate,
16 questionId,
17 questionIds,
18 skip
19 );
20
21 console.log(results);
22})();
23

updateQuestionResult Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateQuestionResultBodyUpdateQuestionResultBodyJa

Respons

Retourneert: UpdateQuestionResultResponse

Voorbeeld

updateQuestionResult Voorbeeld
Copy Copy
1
2async function runUpdate() {
3 const tenantId: string = "acme-corp-01";
4 const id: string = "qr-20230915-001";
5
6 const updateQuestionResultBody: UpdateQuestionResultBody = {
7 // verplichte velden
8 answer: "No",
9 // optionele velden
10 comment: "User clarified their response",
11 // anotherOptionalField?: value,
12 };
13
14 const result: UpdateQuestionResultResponse = await updateQuestionResult(
15 tenantId,
16 id,
17 updateQuestionResultBody
18 );
19
20 console.log(result);
21}
22
23runUpdate();
24

aggregateQuestionResults Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
timeBucketAggregateTimeBucketNo
startDateDateNo
forceRecalculatebooleanNo

Respons

Retourneert: AggregateQuestionResultsResponse1

Voorbeeld

aggregateQuestionResults Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const questionId: string = "feedback-rating";
5 const questionIds: string[] = ["feedback-rating", "recommendation"];
6 const urlId: string = "https://myblog.com/articles/42";
7 const timeBucket: AggregateTimeBucket = "month";
8 const startDate: Date = new Date("2023-01-01T00:00:00Z");
9 const forceRecalculate: boolean = true;
10
11 const result: AggregateQuestionResultsResponse1 = await aggregateQuestionResults(
12 tenantId,
13 questionId,
14 questionIds,
15 urlId,
16 timeBucket,
17 startDate,
18 forceRecalculate
19 );
20
21 console.log(result);
22})();
23

bulkAggregateQuestionResults Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestJa
forceRecalculatebooleanNee

Respons

Retourneert: BulkAggregateQuestionResultsResponse1

Voorbeeld

bulkAggregateQuestionResults Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3
4const request: BulkAggregateQuestionResultsRequest = {
5 questionIds: ["product-satisfaction", "feature-usage"],
6 startDate: "2024-01-01T00:00:00Z",
7 endDate: "2024-01-31T23:59:59Z",
8 timeBucket: "day"
9};
10
11const result: BulkAggregateQuestionResultsResponse1 = await bulkAggregateQuestionResults(
12 tenantId,
13 request,
14 true
15);
16

combineCommentsWithQuestionResults Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
questionIdstringNee
questionIdsArrayNee
urlIdstringNee
startDateDateNee
forceRecalculatebooleanNee
minValuenumberNee
maxValuenumberNee
limitnumberNee

Respons

Retourneert: CombineCommentsWithQuestionResultsResponse

Voorbeeld

combineCommentsWithQuestionResults Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const questionIds: string[] = ["question_1", "question_2"];
4const urlId: string = "article-9876";
5const startDate: Date = new Date("2023-01-01T00:00:00Z");
6const forceRecalculate: boolean = false;
7const minValue: number = 1;
8const maxValue: number = 5;
9const limit: number = 50;
10
11const result: CombineCommentsWithQuestionResultsResponse = await combineCommentsWithQuestionResults(
12 tenantId,
13 undefined,
14 questionIds,
15 urlId,
16 startDate,
17 forceRecalculate,
18 minValue,
19 maxValue,
20 limit
21);
22

addSSOUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createAPISSOUserDataCreateAPISSOUserDataJa

Response

Retourneert: AddSSOUserAPIResponse

Example

addSSOUser voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const newUser: CreateAPISSOUserData = {
5 userId: "sso_user_987",
6 name: "Jane Doe",
7 email: "jane.doe@example.com",
8 // optional field
9 avatarUrl: "https://example.com/avatars/jane.jpg",
10};
11
12const result: AddSSOUserAPIResponse = await addSSOUser(tenantId, newUser);
13

deleteSSOUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
deleteCommentsbooleanNee
commentDeleteModestringNee

Response

Retourneert: DeleteSSOUserAPIResponse

Example

deleteSSOUser Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const userId: string = "sso-user-42";
4const deleteComments: boolean = true;
5const commentDeleteMode: string = "hard";
6
7const detailedResult: DeleteSSOUserAPIResponse = await deleteSSOUser(
8 tenantId,
9 userId,
10 deleteComments,
11 commentDeleteMode
12);
13
14const simpleResult: DeleteSSOUserAPIResponse = await deleteSSOUser(
15 tenantId,
16 userId
17);
18

getSSOUserByEmail Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
emailstringJa

Respons

Retourneert: GetSSOUserByEmailAPIResponse

Voorbeeld

getSSOUserByEmail Voorbeeld
Copy Copy
1
2async function fetchSSOUser() {
3 const tenantId: string = "tenant_12345";
4 const email: string = "john.doe@example.com";
5
6 const result: GetSSOUserByEmailAPIResponse = await getSSOUserByEmail(tenantId, email);
7 const user: APISSOUser | undefined = result?.user;
8}
9

getSSOUserById Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetSSOUserByIdAPIResponse

Voorbeeld

getSSOUserById Voorbeeld
Copy Copy
1
2async function fetchUser() {
3 const tenantId: string = "tenant-987654321";
4 const userId: string = "sso-user-abc123";
5 const result: GetSSOUserByIdAPIResponse = await getSSOUserById(tenantId, userId);
6 const ssoUser: APISSOUser = result.user;
7}
8

getSSOUsers Internal Link

Parameters

NameTypeVereistBeschrijving
tenantIdstringJa
skipnumberNee

Respons

Retourneert: GetSSOUsersResponse

Voorbeeld

Voorbeeld getSSOUsers
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4
5 // Aanroep zonder optionele `skip`
6 const firstPage: GetSSOUsersResponse = await getSSOUsers(tenantId);
7
8 // Aanroep met optionele `skip`
9 const secondPage: GetSSOUsersResponse = await getSSOUsers(tenantId, 100);
10
11 console.log(firstPage, secondPage);
12}
13
14runExample();
15

patchSSOUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsbooleanNee

Response

Retourneert: PatchSSOUserAPIResponse

Example

patchSSOUser Voorbeeld
Copy Copy
1
2const tenantId: string = "c1f2a3b4-5678-90ab-cdef-1234567890ab";
3const userId: string = "user-987654321";
4const updateData: UpdateAPISSOUserData = {
5 email: "jane.smith@enterprise.com",
6 displayName: "Jane Smith",
7 role: "editor"
8};
9
10const responseWithComments: PatchSSOUserAPIResponse = await patchSSOUser(
11 tenantId,
12 userId,
13 updateData,
14 true
15);
16
17const responseWithoutComments: PatchSSOUserAPIResponse = await patchSSOUser(
18 tenantId,
19 userId,
20 updateData
21);
22

putSSOUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPISSOUserDataUpdateAPISSOUserDataJa
updateCommentsbooleanNee

Reactie

Retourneert: PutSSOUserAPIResponse

Voorbeeld

putSSOUser Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_abc123";
4 const userId: string = "user_456def";
5
6 const updateData: UpdateAPISSOUserData = {
7 email: "jane.doe@example.com",
8 displayName: "Jane Doe",
9 isActive: true,
10 };
11
12 const response: PutSSOUserAPIResponse = await putSSOUser(tenantId, userId, updateData, true);
13})();
14

createSubscription Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataJa

Respons

Retourneert: CreateSubscriptionAPIResponse

Voorbeeld

createSubscription Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4
5 const subscriptionData: CreateAPIUserSubscriptionData = {
6 userId: "user-456",
7 planId: "premium-monthly",
8 startDate: new Date(),
9 trialPeriodDays: 14 // optioneel veld
10 };
11
12 const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, subscriptionData);
13 console.log(result);
14})();
15

deleteSubscription Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
userIdstringNo

Respons

Retourneert: DeleteSubscriptionAPIResponse

Voorbeeld

deleteSubscription Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9876";
4 const subscriptionId: string = "sub_54321";
5 const userId: string = "user_abc123";
6
7 // Met optionele userId
8 const responseWithUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId, userId);
9
10 // Zonder optionele userId
11 const responseWithoutUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId);
12})();
13

getSubscriptions Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
userIdstringNee

Respons

Retourneert: GetSubscriptionsAPIResponse

Voorbeeld

getSubscriptions Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const userId: string = "user-789";
5
6 const responseWithUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId, userId);
7 const responseWithoutUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId);
8})();
9

updateSubscription Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataJa
userIdstringNee

Respons

Retourneert: UpdateSubscriptionAPIResponse

Voorbeeld

updateSubscription Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const subscriptionId: string = "sub_98765";
4
5const updateData: UpdateAPIUserSubscriptionData = {
6 planId: "premium_plan",
7 status: "active",
8 renewalDate: "2024-12-31",
9};
10
11const userId: string = "user_abcde";
12
13const response: UpdateSubscriptionAPIResponse = await updateSubscription(
14 tenantId,
15 subscriptionId,
16 updateData,
17 userId
18);
19

getTenantDailyUsages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
yearNumbernumberNee
monthNumbernumberNee
dayNumbernumberNee
skipnumberNee

Response

Retourneert: GetTenantDailyUsagesResponse1

Voorbeeld

getTenantDailyUsages Voorbeeld
Copy Copy
1
2async function fetchDailyUsage() {
3 const tenantId: string = "tenant-9876";
4 const yearNumber: number = 2024;
5 const monthNumber: number = 5; // mei
6 const dayNumber: number = 12;
7 const skip: number = 0;
8
9 const fullResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
10 tenantId,
11 yearNumber,
12 monthNumber,
13 dayNumber,
14 skip
15 );
16
17 // Alleen vereiste en één optionele parameter gebruiken
18 const partialResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
19 tenantId,
20 yearNumber
21 );
22
23 console.log(fullResult, partialResult);
24}
25
26fetchDailyUsage();
27

createTenantPackage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createTenantPackageBodyCreateTenantPackageBodyJa

Respons

Retourneert: CreateTenantPackageResponse1

Voorbeeld

createTenantPackage Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9876";
4
5 const body: CreateTenantPackageBody = {
6 packageName: "Standard",
7 quota: 5000,
8 // optioneel veld
9 description: "Standard package for medium traffic",
10 };
11
12 const result: CreateTenantPackageResponse1 = await createTenantPackage(tenantId, body);
13 console.log(result);
14})();
15

deleteTenantPackage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Reactie

Retourneert: DeleteTenantPackageResponse

Voorbeeld

deleteTenantPackage Voorbeeld
Copy Copy
1
2async function removeTenantPackage(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const packageId: string = "pkg_67890";
5
6 const result: DeleteTenantPackageResponse = await deleteTenantPackage(tenantId, packageId);
7 // gebruik het resultaat indien nodig
8}
9
10removeTenantPackage();
11

getTenantPackage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetTenantPackageResponse1

Voorbeeld

getTenantPackage Voorbeeld
Copy Copy
1
2async function fetchTenantPackage(): Promise<void> {
3 const tenantId: string = "acme-tenant-2024";
4 const packageId: string = "premium-package-01";
5 const response: GetTenantPackageResponse1 = await getTenantPackage(tenantId, packageId);
6
7 // Optionele velden in de respons
8 const tenantPackage: TenantPackage | undefined = response.tenantPackage;
9 const customConfig: CustomConfigParameters | undefined = response.customConfigParameters;
10}
11

getTenantPackages Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
skipnumberNee

Respons

Retourneert: GetTenantPackagesResponse1

Voorbeeld

getTenantPackages Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_67890';
4 const skip: number = 30;
5
6 const packagesWithSkip: GetTenantPackagesResponse1 = await getTenantPackages(tenantId, skip);
7 const packagesWithoutSkip: GetTenantPackagesResponse1 = await getTenantPackages(tenantId);
8
9 console.log(packagesWithSkip, packagesWithoutSkip);
10})();
11

replaceTenantPackage Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
replaceTenantPackageBodyReplaceTenantPackageBodyJa

Response

Retourneert: ReplaceTenantPackageResponse

Voorbeeld

replaceTenantPackage voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant-01";
4 const packageId: string = "pkg-2024-annual";
5
6 const config: CustomConfigParameters = {
7 // custom configuration fields here
8 };
9
10 const body: ReplaceTenantPackageBody = {
11 name: "Enterprise Package",
12 // optional custom configuration
13 customConfig: config,
14 };
15
16 const response: ReplaceTenantPackageResponse = await replaceTenantPackage(tenantId, packageId, body);
17 console.log(response);
18})();
19

updateTenantPackage Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Respons

Retourneert: UpdateTenantPackageResponse

Voorbeeld

updateTenantPackage Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant-9876";
3const packageId: string = "pkg-2023";
4
5const customConfig: CustomConfigParameters = {
6 enableSpamFilter: true,
7 spamRatingThreshold: 4,
8};
9
10const updateBody: UpdateTenantPackageBody = {
11 displayName: "Enterprise Pro",
12 customConfig,
13};
14
15const response: UpdateTenantPackageResponse = await updateTenantPackage(
16 tenantId,
17 packageId,
18 updateBody
19);
20

createTenantUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createTenantUserBodyCreateTenantUserBodyJa

Respons

Retourneert: CreateTenantUserResponse1

Voorbeeld

createTenantUser Voorbeeld
Copy Copy
1
2const tenantId: string = "a1b2c3d4-5678-90ab-cdef-1234567890ab";
3
4const newUser: CreateTenantUserBody = {
5 email: "jane.doe@example.com",
6 firstName: "Jane",
7 lastName: "Doe",
8 role: "admin",
9 // optionele parameters
10 phoneNumber: "+15551234567",
11 isActive: true,
12};
13
14const result: CreateTenantUserResponse1 = await createTenantUser(tenantId, newUser);
15

deleteTenantUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
deleteCommentsstringNee
commentDeleteModestringNee

Respons

Retourneert: DeleteTenantUserResponse

Voorbeeld

deleteTenantUser Voorbeeld
Copy Copy
1
2async function demoDeleteTenantUser() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-9876";
5
6 // Verwijder de gebruiker en al zijn reacties, met hard delete-modus
7 const resultWithOptions: DeleteTenantUserResponse = await deleteTenantUser(
8 tenantId,
9 userId,
10 "true",
11 "hard"
12 );
13
14 // Verwijder de gebruiker zonder opmerkingen te verwijderen (standaardgedrag)
15 const resultBasic: DeleteTenantUserResponse = await deleteTenantUser(tenantId, userId);
16}
17

getTenantUser Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetTenantUserResponse1

Voorbeeld

getTenantUser Voorbeeld
Copy Copy
1
2async function fetchUser(): Promise<void> {
3 const tenantId: string = "tenant-01a2b3c";
4 const userId: string = "user-7890";
5 const result: GetTenantUserResponse1 = await getTenantUser(tenantId, userId);
6 console.log(result);
7}
8

getTenantUsers Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
skipnumberNee

Respons

Retourneert: GetTenantUsersResponse1

Voorbeeld

getTenantUsers Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9f7a2c";
4 const skip: number = 25;
5
6 const usersPage: GetTenantUsersResponse1 = await getTenantUsers(tenantId, skip);
7 const allUsers: GetTenantUsersResponse1 = await getTenantUsers(tenantId);
8})();
9

replaceTenantUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
replaceTenantUserBodyReplaceTenantUserBodyJa
updateCommentsstringNee

Respons

Retourneert: ReplaceTenantUserResponse

Voorbeeld

replaceTenantUser Voorbeeld
Copy Copy
1
2async function updateUser() {
3 const tenantId: string = "c3d1f2e4-5b6a-4c7d-9f2e-1234567890ab";
4 const userId: string = "u-654321";
5 const replaceBody: ReplaceTenantUserBody = {
6 email: "newuser@example.com",
7 username: "newusername"
8 };
9 const response: ReplaceTenantUserResponse = await replaceTenantUser(
10 tenantId,
11 userId,
12 replaceBody,
13 "true"
14 );
15 console.log(response);
16}
17updateUser();
18

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
redirectURLstringNee

Respons

Retourneert: SendLoginLinkResponse

Voorbeeld

sendLoginLink voorbeeld
Copy Copy
1
2async function demoSendLoginLink() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-9876";
5 const redirectURL: string = "https://app.acme-corp.com/auth/callback";
6
7 const resultWithRedirect: SendLoginLinkResponse = await sendLoginLink(tenantId, userId, redirectURL);
8 const resultWithoutRedirect: SendLoginLinkResponse = await sendLoginLink(tenantId, userId);
9}
10

updateTenantUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateTenantUserBodyUpdateTenantUserBodyJa
updateCommentsstringNee

Respons

Retourneert: UpdateTenantUserResponse

Voorbeeld

updateTenantUser Voorbeeld
Copy Copy
1
2let tenantId: string = "5f8f8c1a2e9b3c001c2a9b2d";
3let userId: string = "user_98765";
4
5let updateBody: UpdateTenantUserBody = {
6 email: "jane.smith@example.com",
7 role: "moderator",
8 isActive: false,
9};
10
11let updateComments: string = "Deactivated user due to policy violation.";
12
13let result: UpdateTenantUserResponse = await updateTenantUser(tenantId, userId, updateBody, updateComments);
14

createTenant Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
createTenantBodyCreateTenantBodyJa

Respons

Retourneert: CreateTenantResponse1

Voorbeeld

createTenant Voorbeeld
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-2024-01';
4 const createTenantBody: CreateTenantBody = {
5 // verplichte velden
6 name: 'Acme International',
7 // optionele velden kunnen worden toegevoegd indien nodig, bijv.:
8 // billingInfo: { address: '123 Main St', city: 'Metropolis' } as BillingInfo,
9 };
10 const response: CreateTenantResponse1 = await createTenant(tenantId, createTenantBody);
11 console.log(response);
12}
13

deleteTenant Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
surestringNee

Respons

Retourneert: DeleteTenantResponse

Voorbeeld

deleteTenant voorbeeld
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const id: string = "resource_98765";
5 const sure: string = "confirm";
6
7 // Aanroep met optionele 'sure' parameter
8 const responseWithSure: DeleteTenantResponse = await deleteTenant(tenantId, id, sure);
9 console.log(responseWithSure);
10
11 // Aanroep zonder optionele 'sure' parameter
12 const responseWithoutSure: DeleteTenantResponse = await deleteTenant(tenantId, id);
13 console.log(responseWithoutSure);
14}
15
16runExample();
17

getTenant Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
idstringYes

Respons

Retourneert: GetTenantResponse1

Voorbeeld

getTenant Voorbeeld
Copy Copy
1
2async function fetchTenant(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const id: string = "user_9876";
5 const tenantInfo: GetTenantResponse1 = await getTenant(tenantId, id);
6 console.log(tenantInfo);
7}
8
9fetchTenant();
10

getTenants Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
metastringNee
skipnumberNee

Respons

Retourneert: GetTenantsResponse1

Voorbeeld

Voorbeeld getTenants
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9f8e7d6c";
4 const resultOnlyId: GetTenantsResponse1 = await getTenants(tenantId);
5 const resultWithMeta: GetTenantsResponse1 = await getTenants(tenantId, "full");
6 const resultAllParams: GetTenantsResponse1 = await getTenants(tenantId, "full", 15);
7 console.log(resultOnlyId, resultWithMeta, resultAllParams);
8})();
9

updateTenant Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa
updateTenantBodyUpdateTenantBodyJa

Response

Retourneert: UpdateTenantResponse

Voorbeeld

updateTenant Voorbeeld
Copy Copy
1
2const tenantId: string = "c8f9e3d2-4b6a-11ee-8c99-0242ac130003";
3const id: string = "tenant-config-01";
4
5const updateBody: UpdateTenantBody = {
6 domain: "mytenant.fastcomments.io",
7 branding: {
8 logoUrl: "https://cdn.mytenant.com/assets/logo.png"
9 },
10 description: "Branding update for Q3"
11};
12
13const response: UpdateTenantResponse = await updateTenant(tenantId, id, updateBody);
14console.log(response);
15

changeTicketState Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
userIdstringJa
idstringJa
changeTicketStateBodyChangeTicketStateBodyJa

Respons

Retourneert: ChangeTicketStateResponse1

Voorbeeld

changeTicketState Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3const userId: string = "user-97123";
4const ticketId: string = "ticket-45001";
5
6const changeTicketStateBody: ChangeTicketStateBody = {
7 state: "closed",
8 // optional field in the body
9 comment: "Issue resolved after code fix"
10};
11
12const response: ChangeTicketStateResponse1 = await changeTicketState(
13 tenantId,
14 userId,
15 ticketId,
16 changeTicketStateBody
17);
18

createTicket Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
userIdstringJa
createTicketBodyCreateTicketBodyJa

Respons

Retourneert: CreateTicketResponse1

Voorbeeld

createTicket Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const userId: string = "user_98765";
4
5const ticketBody: CreateTicketBody = {
6 subject: "Issue with payment processing"
7 // description?: string is optioneel en weggelaten
8};
9
10const response: CreateTicketResponse1 = await createTicket(tenantId, userId, ticketBody);
11// Voorbeeld van het gebruiken van een optioneel veld uit de respons
12// console.log(response.ticket?.id);
13

getTicket Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
userIdstringNee

Respons

Retour: GetTicketResponse1

Voorbeeld

getTicket Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-inc";
3const ticketId: string = "ticket-3421";
4const userId: string = "alice.smith";
5
6const ticketWithUser: GetTicketResponse1 = await getTicket(tenantId, ticketId, userId);
7const ticketWithoutUser: GetTicketResponse1 = await getTicket(tenantId, ticketId);
8

getTickets Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
userIdstringNo
statenumberNo
skipnumberNo
limitnumberNo

Respons

Retourneert: GetTicketsResponse1

Voorbeeld

getTickets Voorbeeld
Copy Copy
1
2async function loadTickets() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5 const state: number = 2; // bijv., gesloten
6 const skip: number = 10;
7 const limit: number = 5;
8
9 const ticketsFull: GetTicketsResponse1 = await getTickets(tenantId, userId, state, skip, limit);
10 const ticketsPartial: GetTicketsResponse1 = await getTickets(tenantId);
11}
12
13loadTickets();
14

getTranslations Internal Link

Parameters

NaamTypeVerplichtBeschrijving
namespacestringYes
componentstringYes
localestringNo
useFullTranslationIdsbooleanNo

Respons

Returns: GetTranslationsResponse1

Voorbeeld

getTranslations Voorbeeld
Copy Copy
1
2(async () => {
3 const namespace: string = 'blog';
4 const component: string = 'comment-editor';
5 const locale: string = 'fr-FR';
6 const useFullTranslationIds: boolean = true;
7
8 const basicTranslations: GetTranslationsResponse1 = await getTranslations(namespace, component);
9 const fullTranslations: GetTranslationsResponse1 = await getTranslations(namespace, component, locale, useFullTranslationIds);
10})();
11

uploadImage Internal Link

Uploaden en een afbeelding verkleinen

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
fileBlobJa
sizePresetSizePresetNee
urlIdstringNee

Response

Retourneert: UploadImageResponse

Voorbeeld

uploadImage Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-tenant-01";
3const imageBlob: Blob = new Blob([new Uint8Array([137,80,78,71])], { type: "image/png" });
4
5const uploadResult1: UploadImageResponse = await uploadImage(tenantId, imageBlob);
6
7const sizePreset: SizePreset = { presetName: "medium" };
8const urlId: string = "article-9876";
9
10const uploadResult2: UploadImageResponse = await uploadImage(tenantId, imageBlob, sizePreset, urlId);
11

getUserBadgeProgressById Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetUserBadgeProgressByIdResponse

Voorbeeld

getUserBadgeProgressById Voorbeeld
Copy Copy
1
2async function demo(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-42";
5 const result: GetUserBadgeProgressByIdResponse = await getUserBadgeProgressById(tenantId, userId);
6 const progress: UserBadgeProgress | undefined = result.progress;
7 const earnedAt: Date | undefined = progress?.earnedAt;
8 console.log(`Badge earned at: ${earnedAt?.toISOString() ?? "not earned yet"}`);
9}
10demo();
11

getUserBadgeProgressByUserId Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
userIdstringJa

Respons

Retourneert: GetUserBadgeProgressByUserIdResponse

Voorbeeld

Voorbeeld getUserBadgeProgressByUserId
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-12345";
5
6 const badgeProgress: GetUserBadgeProgressByUserIdResponse = await getUserBadgeProgressByUserId(tenantId, userId);
7 console.log(badgeProgress);
8})();
9

getUserBadgeProgressList Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
userIdstringNee
limitnumberNee
skipnumberNee

Respons

Retourneert: GetUserBadgeProgressListResponse

Voorbeeld

getUserBadgeProgressList Voorbeeld
Copy Copy
1
2async function fetchBadgeProgress() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe@example.com";
5 const limit: number = 10;
6 const skip: number = 5;
7
8 const fullList: GetUserBadgeProgressListResponse = await getUserBadgeProgressList(
9 tenantId,
10 userId,
11 limit,
12 skip
13 );
14
15 const simpleList: GetUserBadgeProgressListResponse = await getUserBadgeProgressList(tenantId);
16}
17
18fetchBadgeProgress();
19

createUserBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
createUserBadgeParamsCreateUserBadgeParamsJa

Respons

Retourneert: CreateUserBadgeResponse

Voorbeeld

createUserBadge Voorbeeld
Copy Copy
1
2const tenantId: string = "company-42";
3
4const badgeParams: CreateUserBadgeParams = {
5 name: "Community Champion",
6 iconUrl: "https://assets.example.com/badges/champion.png",
7 // beschrijving is optioneel en hier weggelaten
8};
9
10const result: CreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
11

deleteUserBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: DeleteUserBadgeResponse

Voorbeeld

deleteUserBadge Voorbeeld
Copy Copy
1
2async function exampleDeleteBadge(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6a";
4 const badgeId: string = "badge_4e3d2c1b";
5 const result: DeleteUserBadgeResponse = await deleteUserBadge(tenantId, badgeId);
6 console.log(result);
7}
8exampleDeleteBadge();
9

getUserBadge Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
idstringJa

Respons

Retourneert: GetUserBadgeResponse

Voorbeeld

getUserBadge Voorbeeld
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant-001";
4 const badgeId: string = "badge-5f9d3a2b";
5
6 const badgeResponse: GetUserBadgeResponse = await getUserBadge(tenantId, badgeId);
7
8 // Toegang tot optionele velden veilig
9 const badgeName: string | undefined = badgeResponse.userBadge?.name;
10 console.log(`Badge ID: ${badgeId}, Name: ${badgeName ?? "Unnamed"}`);
11}
12
13runExample();
14

getUserBadges Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
userIdstringNo
badgeIdstringNo
typenumberNo
displayedOnCommentsbooleanNo
limitnumberNo
skipnumberNo

Respons

Retourneert: GetUserBadgesResponse

Voorbeeld

getUserBadges Voorbeeld
Copy Copy
1
2async function example() {
3 const tenantId: string = "tenant-01";
4 const userId: string = "user-42";
5 const badgeId: string = "badge-gold";
6 const type: number = 1;
7 const displayedOnComments: boolean = true;
8 const limit: number = 10;
9 const skip: number = 5;
10
11 const fullResult: GetUserBadgesResponse = await getUserBadges(
12 tenantId,
13 userId,
14 badgeId,
15 type,
16 displayedOnComments,
17 limit,
18 skip
19 );
20
21 const minimalResult: GetUserBadgesResponse = await getUserBadges(tenantId);
22}
23example();
24

updateUserBadge Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
updateUserBadgeParamsUpdateUserBadgeParamsJa

Response

Retourneert: UpdateUserBadgeResponse

Example

Voorbeeld updateUserBadge
Copy Copy
1
2async function applyBadge() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-98765";
5
6 const params: UpdateUserBadgeParams = {
7 badgeId: "gold-contributor",
8 // voorbeeld van optioneel veld
9 expiresAt: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
10 };
11
12 const result: UpdateUserBadgeResponse = await updateUserBadge(tenantId, userId, params);
13 console.log(result);
14}
15
16applyBadge();
17

getUserNotificationCount Internal Link

Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
ssostringNee

Respons

Retourneert: GetUserNotificationCountResponse1

Voorbeeld

Voorbeeld getUserNotificationCount
Copy Copy
1
2async function demoGetUserNotificationCount() {
3 const tenantId: string = "acme-corp-01";
4
5 // Aanroep met optionele SSO-token
6 const countWithSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
7 tenantId,
8 "sso-token-abc123"
9 );
10
11 // Aanroep zonder SSO-token
12 const countWithoutSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
13 tenantId
14 );
15
16 console.log(countWithSSO, countWithoutSSO);
17}
18

getUserNotifications Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringYes
urlIdstringNo
pageSizenumberNo
afterIdstringNo
includeContextbooleanNo
afterCreatedAtnumberNo
unreadOnlybooleanNo
dmOnlybooleanNo
noDmbooleanNo
includeTranslationsbooleanNo
includeTenantNotificationsbooleanNo
ssostringNo

Respons

Retourneert: GetUserNotificationsResponse

Voorbeeld

getUserNotifications Voorbeeld
Copy Copy
1
2async function fetchUserNotifications() {
3 const tenantId: string = "tenant_9f4b2c";
4 const urlId: string = "post_1234";
5 const pageSize: number = 25;
6 const afterId: string = "notif_5678";
7 const includeContext: boolean = true;
8 const unreadOnly: boolean = false;
9 const dmOnly: boolean = false;
10 const includeTranslations: boolean = true;
11
12 const notifications: GetUserNotificationsResponse = await getUserNotifications(
13 tenantId,
14 urlId,
15 pageSize,
16 afterId,
17 includeContext,
18 undefined,
19 unreadOnly,
20 dmOnly,
21 undefined,
22 includeTranslations,
23 undefined,
24 undefined
25 );
26
27 console.log(notifications);
28}
29

resetUserNotificationCount Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
ssostringNee

Respons

Retourneert: ResetUserNotificationCountResponse

Example

resetUserNotificationCount Voorbeeld
Copy Copy
1
2async function demoResetCount() {
3 const tenantId: string = "acme-corp-tenant";
4 const sso: string = "sso-user-9876";
5
6 // Aanroep met optionele sso-parameter
7 const resultWithSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId, sso);
8
9 // Aanroep zonder optionele sso-parameter
10 const resultWithoutSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId);
11
12 console.log(resultWithSso, resultWithoutSso);
13}
14

resetUserNotifications Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
afterIdstringNee
afterCreatedAtnumberNee
unreadOnlybooleanNee
dmOnlybooleanNee
noDmbooleanNee
ssostringNee

Respons

Retourneert: ResetUserNotificationsResponse1

Voorbeeld

resetUserNotifications Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-001";
4 const afterId: string = "notif-123";
5 const afterCreatedAt: number = 1697049600; // voorbeeld UNIX-tijdstempel
6 const unreadOnly: boolean = true;
7 const dmOnly: boolean = false;
8 const noDm: boolean = false;
9 const sso: string = "sso-token-xyz";
10
11 const result: ResetUserNotificationsResponse1 = await resetUserNotifications(
12 tenantId,
13 afterId,
14 afterCreatedAt,
15 unreadOnly,
16 dmOnly,
17 noDm,
18 sso
19 );
20
21 console.log(result);
22})();
23

updateUserNotificationCommentSubscriptionStatus Internal Link

Enable of schakel meldingen in voor een specifieke reactie.

Parameters

NaamTypeVereistBeschrijving
tenantIdstringYes
notificationIdstringYes
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumYes
commentIdstringYes
ssostringNo

Response

Retourneert: UpdateUserNotificationCommentSubscriptionStatusResponse

Voorbeeld

updateUserNotificationCommentSubscriptionStatus Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const notificationId: string = "notif_9876";
4const commentId: string = "comment_abc123";
5const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum =
6 UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptIn;
7const sso: string = "ssoTokenXYZ";
8
9const responseWithSso: UpdateUserNotificationCommentSubscriptionStatusResponse =
10 await updateUserNotificationCommentSubscriptionStatus(
11 tenantId,
12 notificationId,
13 optedInOrOut,
14 commentId,
15 sso
16 );
17
18const responseWithoutSso: UpdateUserNotificationCommentSubscriptionStatusResponse =
19 await updateUserNotificationCommentSubscriptionStatus(
20 tenantId,
21 notificationId,
22 optedInOrOut,
23 commentId
24 );
25

updateUserNotificationPageSubscriptionStatus Internal Link

Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
urlstringJa
pageTitlestringJa
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumJa
ssostringNee

Respons

Retourneert: UpdateUserNotificationPageSubscriptionStatusResponse

Voorbeeld

updateUserNotificationPageSubscriptionStatus Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-2024";
4 const urlId: string = "page-5678";
5 const url: string = "https://example.com/articles/typescript-tips";
6 const pageTitle: string = "Top TypeScript Tips";
7 const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum =
8 UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
9 const sso: string = "sso-token-xyz";
10
11 const resultWithSso: UpdateUserNotificationPageSubscriptionStatusResponse = await updateUserNotificationPageSubscriptionStatus(
12 tenantId,
13 urlId,
14 url,
15 pageTitle,
16 subscribedOrUnsubscribed,
17 sso
18 );
19
20 const resultWithoutSso: UpdateUserNotificationPageSubscriptionStatusResponse = await updateUserNotificationPageSubscriptionStatus(
21 tenantId,
22 urlId,
23 url,
24 pageTitle,
25 subscribedOrUnsubscribed
26 );
27})();
28

updateUserNotificationStatus Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
notificationIdstringJa
newStatusUpdateUserNotificationStatusNewStatusEnumJa
ssostringNee

Response

Retourneert: UpdateUserNotificationStatusResponse

Voorbeeld

updateUserNotificationStatus Voorbeeld
Copy Copy
1
2const tenantId: string = "acme-corp";
3const notificationId: string = "notif-20231101-001";
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.Dismissed;
5const ssoToken: string = "sso-9f8e7d6c5b4a";
6
7const result: UpdateUserNotificationStatusResponse = await updateUserNotificationStatus(
8 tenantId,
9 notificationId,
10 newStatus,
11 ssoToken
12);
13

getUserPresenceStatuses Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdWSstringJa
userIdsstringJa

Respons

Returns: GetUserPresenceStatusesResponse1

Voorbeeld

getUserPresenceStatuses Voorbeeld
Copy Copy
1
2async function fetchUserPresences() {
3 const tenantId: string = "tenant_9f8e2d";
4 const urlIdWS: string = "blog.mycompany.com/thread/12345";
5 const userIds: string = "alice,bob,carol";
6
7 const result: GetUserPresenceStatusesResponse1 = await getUserPresenceStatuses(
8 tenantId,
9 urlIdWS,
10 userIds
11 );
12
13 console.log(result);
14}
15

searchUsers Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
usernameStartsWithstringNee
mentionGroupIdsArrayNee
ssostringNee
searchSectionSearchUsersSearchSectionEnumNee

Respons

Retourneert: SearchUsersResponse1

Voorbeeld

searchUsers Voorbeeld
Copy Copy
1
2async function demoSearch(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "article-9876";
5 const usernameStartsWith: string = "john";
6 const mentionGroupIds: string[] = ["groupA", "groupB"];
7 const sso: string = "sso_abc123";
8 const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.Users;
9
10 const response: SearchUsersResponse1 = await searchUsers(
11 tenantId,
12 urlId,
13 usernameStartsWith,
14 mentionGroupIds,
15 sso,
16 searchSection
17 );
18
19 console.log(response);
20}
21
22demoSearch();
23

getUser Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringJa
idstringJa

Response

Retourneert: GetUserResponse1

Example

getUser Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const userId: string = "user_98765";
5 const result: GetUserResponse1 = await getUser(tenantId, userId);
6})();
7

createVote Internal Link


Parameters

NaamTypeVereistBeschrijving
tenantIdstringJa
commentIdstringJa
directionCreateVoteDirectionEnumJa
userIdstringNee
anonUserIdstringNee

Response

Retourneert: CreateVoteResponse

Voorbeeld

createVote Voorbeeld
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "comment_987654";
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.Upvote;
5const userId: string = "user_7f9a2b";
6
7const voteResult: CreateVoteResponse = await createVote(
8 tenantId,
9 commentId,
10 direction,
11 userId
12);
13

deleteVote Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
idstringJa
editKeystringNee

Respons

Retourneert: DeleteVoteResponse

Voorbeeld

deleteVote Voorbeeld
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-9876";
5 const editKey: string = "edit-key-123";
6
7 const resultWithEdit: DeleteVoteResponse = await deleteVote(tenantId, commentId, editKey);
8 const resultWithoutEdit: DeleteVoteResponse = await deleteVote(tenantId, commentId);
9})();
10

getVotes Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa

Respons

Retourneert: GetVotesResponse1

Voorbeeld

getVotes Voorbeeld
Copy Copy
1
2async function fetchVotes(): Promise<void> {
3 const tenantId: string = "acme-corp-01";
4 const urlId: string = "article-2024-05-15";
5
6 const response: GetVotesResponse1 = await getVotes(tenantId, urlId);
7
8 // Voorbeeld van het benaderen van een optioneel veld in de respons
9 const firstVoteId: string | undefined = response?.votes?.[0]?.id;
10}
11

getVotesForUser Internal Link

Parameters

NaamTypeVerplichtBeschrijving
tenantIdstringJa
urlIdstringJa
userIdstringNee
anonUserIdstringNee

Response

Retourneert: GetVotesForUserResponse1

Example

getVotesForUser Voorbeeld
Copy Copy
1
2async function demo() {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "post-9f8b7c";
5 const userId: string = "user-42";
6 const anonUserId: string = "anon-123";
7
8 const votesRequiredOnly: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId);
9 const votesWithUserId: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId, userId);
10 const votesWithAnonId: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId, undefined, anonUserId);
11}
12demo();
13

Hulp nodig?

Als u problemen ondervindt of vragen heeft over de JavaScript/TypeScript SDK, kunt u:

Bijdragen

Bijdragen zijn welkom! Bezoek de GitHub-repository voor richtlijnen voor bijdragen.