FastComments.com

FastComments JavaScript/TypeScript SDK


Dette er det officielle JavaScript/TypeScript SDK til FastComments.

Administrer kommentarer, brugere, SSO og moderering fra Node.js eller i browseren.

Arkiv

Se på GitHub


Installation Internal Link

npm

npm install fastcomments-sdk

API-dokumentation Internal Link


Fuld API-reference: docs/api/README.md

Browser vs. serverkompatibilitet Internal Link


Dette SDK bruger to indgangspunkter for at sikre optimal kompatibilitet og forhindre kørselstidsfejl:

  • fastcomments-sdk/browser - Browser-sikker version med indbygget fetch
  • fastcomments-sdk/server - Fuld Node.js-version med SSO-understøttelse
  • fastcomments-sdk (standard) - Kun typer, sikker at importere hvor som helst

Offentlige vs. sikrede API'er Internal Link

SDK'en indeholder disse API-klasser:

  • DefaultApi - Sikrede endpoints der kræver din API-nøgle for autentificering. Brug disse til server-side-operationer.
  • PublicApi - Offentlige endpoints som kan tilgås uden en API-nøgle. Disse kan kaldes direkte fra browsere/mobilenheder/etc.
  • ModerationApi - Moderator-dashboard endpoints (kommentarmodération, bans, badges, trust factor, søgning). Autentificeres via moderatorens session; send sso query-parametret for SSO-autentificerede moderatorer.
  • HiddenApi - Interne/admin endpoints til avancerede brugsscenarier.

Example: Using Public API (browser-safe)

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

const publicApi = new PublicApi();

// Hent kommentarer for en side (ingen API-nøgle kræves)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Example: Using Default API (server-side only)

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

const config = new Configuration({
  apiKey: 'your-api-key' // Hold dette hemmeligt!
});
const defaultApi = new DefaultApi(config);

// Hent kommentarer med fuld administratoradgang
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Example: Using Moderation API

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

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

// Moderator-autentificerede opkald (session-cookie, eller angiv `sso` for en 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) integration Internal Link

FastComments understøtter SSO til at integrere med dit eksisterende brugerautentifikationssystem. SSO-funktionalitet er kun tilgængelig i server-udgaven da det kræver Node.js crypto-funktioner.

Simpelt SSO (Kun server-side)

Simpelt SSO bør genereres på serversiden og sendes til klienten:

// Server-side code (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Create simple SSO using the built-in 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();

// Send ssoToken to your client-side code
// Client-side code can then use this token with the browser SDK

Sikkert SSO (Server-side, anbefalet)

Sikkert SSO bør implementeres på serversiden og giver bedre sikkerhed:

// Server-side code (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Create secure SSO using the built-in 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();

// Use with API calls on the server
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Or send ssoConfig to client for browser usage

Brug af SSO fra browseren (med servergenereret token)

// Client-side code (browser)
import { PublicApi } from 'fastcomments-sdk/browser';

// Get SSO token from your 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 // Use the server-generated SSO token
});

SSO med kommentaroprettelse

// Server-side: Create SSO and comment
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)
});

Typiske anvendelsestilfælde Internal Link

Hent kommentarer for en side

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

Oprettelse af en kommentar

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

Stem på en kommentar

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 for opstemning, -1 for nedstemning
  }
});

Brugeradministration (Kræver API-nøgle)

// Søg efter brugere (kræver DefaultApi)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Live-hændelser (opdateringer i realtid) Internal Link

Abonner på live-begivenheder for at få opdateringer i realtid om kommentarer, stemmer og andre aktiviteter.

Begivenheder på sideniveau

Lyt efter live-begivenheder på en specifik side (kommentarer, stemmer osv.):

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

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

// Abonner på live-begivenheder for en side
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (hent dette fra getComments-responsen)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Opdater din UI med den nye kommentar
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Opdater stemmetællinger i din UI
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }
    
    return true; // Returner true hvis begivenheden blev håndteret
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Luk abonnementet når det er færdigt
subscription.close();

Abonner på brugerbegivenheder

Lyt efter brugerspecifikke begivenheder (notifikationer, nævnelser osv.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Hent dette fra getComments-responsen
};

// Abonner på brugerens personlige feed
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Vis notifikation i din 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');
  }
);

// Luk når du er færdig
userSubscription.close();

Sådan får du userIdWS

Parameteren userIdWS er påkrævet for live-begivenheder og kan hentes fra API-responser:

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

// Udtræk userIdWS fra responsen
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Nu kan du abonnere på live-begivenheder
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

Broadcast-ID'er Internal Link

Du vil se, at du skal sende et broadcastId i nogle API-kald. Når du modtager hændelser, får du dette ID tilbage, så du ved, at du kan ignorere eventet, hvis du planlægger at anvende ændringer optimistisk på klienten (hvilket du sandsynligvis vil gøre, da det giver den bedste oplevelse). Send en UUID her. ID'et bør være tilstrækkeligt unikt til ikke at forekomme to gange i en browsersession.

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() // Unikt ID for denne operation
  }
});

Fejlhåndtering 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

Aggregere dokumenter ved at gruppere dem (hvis groupBy er angivet) og anvende flere operationer. Forskellige operationer (f.eks. sum, countDistinct, avg osv.) understøttes.

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
aggregationRequestAggregationRequestJa
parentTenantIdstringNej
includeStatsbooleanNej

Svar

Returnerer: AggregateResponse

Eksempel

aggregat Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
limitnumberNej
skipnumberNej
orderSORTDIRNej
afternumberNej
beforenumberNej

Svar

Returnerer: GetAuditLogsResponse1

Eksempel

getAuditLogs Eksempel
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 dage siden
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Svar

Returnerer: BlockFromCommentPublicResponse

Eksempel

blockFromCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
publicBlockFromCommentParamsPublicBlockFromCommentParamsJa
ssostringNej

Svar

Returnerer: UnBlockCommentPublicResponse

Eksempel

unBlockCommentPublic Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
commentIdsstringYes
ssostringNo

Respons

Returnerer: CheckedCommentsForBlockedResponse

Eksempel

checkedCommentsForBlocked Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
blockFromCommentParamsBlockFromCommentParamsJa
userIdstringNej
anonUserIdstringNej

Svar

Returnerer: BlockUserFromCommentResponse

Eksempel

blockUserFromComment Eksempel
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'; // valgfri parameter
11
12const response: BlockUserFromCommentResponse = await blockUserFromComment(
13 tenantId,
14 commentId,
15 blockParams,
16 userId
17);
18

createCommentPublic Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
sessionIdstringNo
ssostringNo

Svar

Returnerer: CreateCommentPublicResponse

Eksempel

createCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
contextUserIdstringNo
isLivebooleanNo

Svar

Returnerer: DeleteCommentResponse

Eksempel

deleteComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
editKeystringNej
ssostringNej

Svar

Returnerer: DeleteCommentPublicResponse

Eksempel

deleteCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
voteIdstringJa
urlIdstringJa
broadcastIdstringJa
editKeystringNej
ssostringNej

Respons

Returnerer: DeleteCommentVoteResponse

Eksempel

deleteCommentVote Eksempel
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 er valgfri og udeladt
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
userIdstringNej
anonUserIdstringNej

Svar

Returnerer: FlagCommentResponse1

Eksempel

flagComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetCommentResponse

Eksempel

getComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
pagenumberNo
limitnumberNo
skipnumberNo
asTreebooleanNo
skipChildrennumberNo
limitChildrennumberNo
maxTreeDepthnumberNo
urlIdstringNo
userIdstringNo
anonUserIdstringNo
contextUserIdstringNo
hashTagstringNo
parentIdstringNo
directionSortDirectionsNo
fromDatenumberNo
toDatenumberNo

Respons

Returnerer: GetCommentsResponse

Eksempel

getComments Eksempel
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; // en uge siden
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
pagenumberNo
directionSortDirectionsNo
ssostringNo
skipnumberNo
skipChildrennumberNo
limitnumberNo
limitChildrennumberNo
countChildrenbooleanNo
fetchPageForCommentIdstringNo
includeConfigbooleanNo
countAllbooleanNo
includei10nbooleanNo
localestringNo
modulesstringNo
isCrawlerbooleanNo
includeNotificationCountbooleanNo
asTreebooleanNo
maxTreeDepthnumberNo
useFullTranslationIdsbooleanNo
parentIdstringNo
searchTextstringNo
hashTagsArrayNo
userIdstringNo
customConfigStrstringNo
afterCommentIdstringNo
beforeCommentIdstringNo

Svar

Returnerer: GetCommentsPublicResponse

Eksempel

getCommentsPublic Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
editKeystringNo
ssostringNo

Svar

Returnerer: GetCommentTextResponse1

Eksempel

getCommentText Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
dirnumberJa
ssostringNej

Svar

Returnerer: GetCommentVoteUserNamesResponse

Eksempel

getCommentVoteUserNames Eksempel
Copy Copy
1
2async function demoGetCommentVoteUserNames() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_5f2a1e3b";
5 const dir: number = 1; // stigende
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
ssostringNej

Svar

Returnerer: LockCommentResponse

Eksempel

lockComment Eksempel
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 // Med valgfri SSO-token
8 const ssoToken: string = "user-abc123";
9 const lockedWithSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
10
11 // Uden SSO-token
12 const lockedWithoutSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId);
13})();
14

pinComment Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Respons

Returnerer: PinCommentResponse

Eksempel

pinComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createCommentParamsCreateCommentParamsJa
isLivebooleanNej
doSpamCheckbooleanNej
sendEmailsbooleanNej
populateNotificationsbooleanNej

Svar

Returnerer: SaveCommentResponse

Eksempel

saveComment Eksempel
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, // erLive
14 false // udførSpamKontrol
15 );
16 console.log(response);
17}
18submitComment();
19

saveCommentsBulk Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createCommentParamsArrayYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

Svar

Returnerer: Array<SaveCommentsBulkResponse

Eksempel

saveCommentsBulk Eksempel
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 (using default)
26);
27

setCommentText Internal Link


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
broadcastIdstringJa
commentTextUpdateRequestCommentTextUpdateRequestJa
editKeystringNej
ssostringNej

Svar

Returnerer: SetCommentTextResponse1

Eksempel

setCommentText Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
unBlockFromCommentParamsUnBlockFromCommentParamsJa
userIdstringNej
anonUserIdstringNej

Svar

Returnerer: UnBlockUserFromCommentResponse

Eksempel

unBlockUserFromComment Eksempel
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 udeladt
19 );
20
21 console.log(result);
22}
23demoUnblock();
24

unFlagComment Internal Link

Parametre

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
userIdstringNo
anonUserIdstringNo

Svar

Returnerer: UnFlagCommentResponse

Eksempel

unFlagComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Svar

Returnerer: UnLockCommentResponse

Eksempel

unLockComment Eksempel
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 // Kald uden den valgfrie sso-parameter
12 const unlockedWithoutSso: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId);
13 console.log(unlockedWithoutSso);
14}
15
16run();
17

unPinComment Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Svar

Returnerer: UnPinCommentResponse

Eksempel

unPinComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updatableCommentParamsUpdatableCommentParamsJa
contextUserIdstringNej
doSpamCheckbooleanNej
isLivebooleanNej

Svar

Returnerer: UpdateCommentResponse

Eksempel

updateComment Eksempel
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const updatableCommentParams: UpdatableCommentParams = {
6 // eksempel felter; den faktiske struktur afhænger af API-definitionen
7 // f.eks., body: "Edited comment content",
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
sessionIdstringNo
ssostringNo

Svar

Returnerer: VoteCommentResponse

Eksempel

voteComment Eksempel
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", // f.eks., "up" | "down"
9 weight: 1, // valgfri vægtning af stemmen
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

Parametre

NavnTypePåkrævetBeskrivelse
userIdstringNo
directionSortDirectionsNo
repliesToUserIdstringNo
pagenumberNo
includei10nbooleanNo
localestringNo
isCrawlerbooleanNo

Svar

Returnerer: GetCommentsForUserResponse1

Eksempel

getCommentsForUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
addDomainConfigParamsAddDomainConfigParamsJa

Svar

Returnerer: AddDomainConfigResponse

Eksempel

addDomainConfig Eksempel
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const config: AddDomainConfigParams = {
5 domain: 'myblog.example.com',
6 enabled: true,
7 // beskrivelsen er valgfri og udeladt her
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

deleteDomainConfig Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
domainstringJa

Svar

Returnerer: DeleteDomainConfigResponse

Eksempel

deleteDomainConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
domainstringYes

Svar

Returnerer: GetDomainConfigResponse

Eksempel

getDomainConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa

Svar

Returnerer: GetDomainConfigsResponse

Eksempel

getDomainConfigs Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
domainToUpdatestringJa
patchDomainConfigParamsPatchDomainConfigParamsJa

Svar

Returnerer: PatchDomainConfigResponse

Eksempel

patchDomainConfig Eksempel
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, // valgfri parameter demonstreret
9 };
10 const response: PatchDomainConfigResponse = await patchDomainConfig(tenantId, domainToUpdate, patchParams);
11 console.log(response);
12}
13
14updateDomainConfig();
15

putDomainConfig Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
domainToUpdatestringJa
updateDomainConfigParamsUpdateDomainConfigParamsJa

Svar

Returnerer: PutDomainConfigResponse

Eksempel

putDomainConfig Eksempel
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 // valgfrit felt udeladt, f.eks., 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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createEmailTemplateBodyCreateEmailTemplateBodyJa

Svar

Returnerer: CreateEmailTemplateResponse1

Eksempel

createEmailTemplate Eksempel
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 // valgfri felter som textContent, isActive er udeladt for at demonstrere valgfrie parametre
9};
10
11const result: CreateEmailTemplateResponse1 = await createEmailTemplate(
12 tenantId,
13 emailTemplate
14);
15
16console.log(result);
17

deleteEmailTemplate Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeleteEmailTemplateResponse

Eksempel

deleteEmailTemplate Eksempel
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 // Eksempel på at tilgå en valgfri egenskab fra svaret
9 const statusCode: number | undefined = response.status?.code;
10}();
11

deleteEmailTemplateRenderError Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
errorIdstringJa

Svar

Returnerer: DeleteEmailTemplateRenderErrorResponse

Eksempel

deleteEmailTemplateRenderError Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetEmailTemplateResponse1

Eksempel

getEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa

Svar

Returnerer: GetEmailTemplateDefinitionsResponse1

Eksempel

getEmailTemplateDefinitions Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
skipnumberNo

Svar

Returnerer: GetEmailTemplateRenderErrorsResponse1

Eksempel

getEmailTemplateRenderErrors Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipnumberNej

Svar

Returnerer: GetEmailTemplatesResponse1

Eksempel

getEmailTemplates Eksempel
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 // Kald uden valgfri 'skip'
6 const templates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId);
7
8 // Kald med valgfri 'skip' parameter
9 const pagedTemplates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId, 20);
10})();
11

renderEmailTemplate Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
renderEmailTemplateBodyRenderEmailTemplateBodyJa
localestringNej

Svar

Returnerer: RenderEmailTemplateResponse1

Eksempel

renderEmailTemplate Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateEmailTemplateBodyUpdateEmailTemplateBodyJa

Svar

Returnerer: UpdateEmailTemplateResponse

Eksempel

updateEmailTemplate Eksempel
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 // valgfrit felt eksempel
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

Parametre

NameTypePåkrævetDescription
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimenumberJa
endTimenumberNej

Svar

Returnerer: GetEventLogResponse1

Eksempel

getEventLog Eksempel
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; // en uge siden
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
userIdWSstringJa
startTimenumberJa
endTimenumberNej

Respons

Returnerer: GetGlobalEventLogResponse

Eksempel

getGlobalEventLog Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
broadcastIdstringNej
isLivebooleanNej
doSpamCheckbooleanNej
skipDupCheckbooleanNej

Svar

Returnerer: CreateFeedPostResponse1

Eksempel

createFeedPost Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createFeedPostParamsCreateFeedPostParamsJa
broadcastIdstringNej
ssostringNej

Svar

Returnerer: CreateFeedPostPublicResponse

Eksempel

createFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdstringJa
broadcastIdstringNej
ssostringNej

Svar

Returnerer: DeleteFeedPostPublicResponse

Eksempel

deleteFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
afterIdstringNo
limitnumberNo
tagsArrayNo

Svar

Returnerer: GetFeedPostsResponse1

Eksempel

getFeedPosts Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
afterIdstringNej
limitnumberNej
tagsArrayNej
ssostringNej
isCrawlerbooleanNej
includeUserInfobooleanNej

Svar

Returnerer: GetFeedPostsPublicResponse

Eksempel

getFeedPostsPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdsArrayJa
ssostringNej

Svar

Returnerer: GetFeedPostsStatsResponse

Eksempel

getFeedPostsStats Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdsArrayNej
ssostringNej

Svar

Returnerer: GetUserReactsPublicResponse

Eksempel

getUserReactsPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdstringJa
reactBodyParamsReactBodyParamsJa
isUndobooleanNej
broadcastIdstringNej
ssostringNej

Svar

Returnerer: ReactFeedPostPublicResponse

Eksempel

reactFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
feedPostFeedPostJa

Svar

Returnerer: UpdateFeedPostResponse

Eksempel

updateFeedPost Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
postIdstringJa
updateFeedPostParamsUpdateFeedPostParamsJa
broadcastIdstringNej
ssostringNej

Svar

Returnerer: UpdateFeedPostPublicResponse

Eksempel

updateFeedPostPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
isFlaggedbooleanJa
ssostringNej

Svar

Returnerer: FlagCommentPublicResponse

Eksempel

flagCommentPublic Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
largeInternalURLSanitizedstringYes

Svar

Returnerer: GetGifLargeResponse

Eksempel

getGifLarge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
searchstringJa
localestringNej
ratingstringNej
pagenumberNej

Svar

Returnerer: GetGifsSearchResponse

Eksempel

getGifsSearch Eksempel
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

NameTypeRequiredDescription
tenantIdstringYes
localestringNo
ratingstringNo
pagenumberNo

Response

Returns: GetGifsTrendingResponse

Example

getGifsTrending Eksempel
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 // Bruger kun den påkrævede parameter
12 const trendingMinimal: GetGifsTrendingResponse = await getGifsTrending(tenantId);
13 console.log(trendingMinimal);
14}
15
16runExample();
17

addHashTag Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringNej
createHashTagBodyCreateHashTagBodyNej

Respons

Returnerer: AddHashTagResponse

Eksempel

addHashTag Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringNej
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNej

Svar

Returnerer: AddHashTagsBulkResponse

Eksempel

addHashTagsBulk Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tagstringJa
tenantIdstringNej
deleteHashTagRequestBodyDeleteHashTagRequestBodyNej

Respons

Returnerer: DeleteHashTagResponse

Eksempel

deleteHashTag Eksempel
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

Parametre

NavnTypPåkrævetBeskrivelse
tenantIdstringJa
pagenumberNej

Svar

Returnerer: GetHashTagsResponse1

Eksempel

getHashTags Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tagstringYes
tenantIdstringNo
updateHashTagBodyUpdateHashTagBodyNo

Svar

Returnerer: PatchHashTagResponse

Eksempel

patchHashTag Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
voteIdstringJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: DeleteModerationVoteResponse

Eksempel

deleteModerationVote Eksempel
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

Parametre

NavnTypeObligatoryBeskrivelse
pagenumberNej
countnumberNej
textSearchstringNej
byIPFromCommentstringNej
filtersstringNej
searchFiltersstringNej
sortsstringNej
demobooleanNej
tenantIdstringNej
ssostringNej

Svar

Returns: GetApiCommentsResponse

Eksempel

getApiComments Eksempel
Copy Copy
1
2async function loadComments() {
3 const fullResult: GetApiCommentsResponse = await getApiComments(
4 2, // side
5 25, // antal
6 "feedback", // tekstSøgning
7 "192.168.1.100", // efterIPFraKommentar
8 "approved", // filtre
9 "hasReplies", // søgeFiltre
10 "dateDesc", // sorteringer
11 false, // demo
12 "tenant-abc123", // lejerId
13 "sso-token-xyz" // sso
14 );
15
16 const minimalResult: GetApiCommentsResponse = await getApiComments(undefined, 5);
17}
18

getApiExportStatus Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
batchJobIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetApiExportStatusResponse

Eksempel

getApiExportStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
afterIdstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Respons

Returnerer: GetApiIdsResponse

Eksempel

getApiIds Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetBanUsersFromCommentResponse

Eksempel

getBanUsersFromComment Eksempel
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 // Kald med alle parametre
8 const fullResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId, tenantId, sso);
9 console.log(fullResult);
10
11 // Kald kun med den påkrævede parameter
12 const minimalResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId);
13 console.log(minimalResult);
14}
15
16demoGetBanUsers();
17

getCommentBanStatus Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetCommentBanStatusResponse1

Eksempel

getCommentBanStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
tenantIdstringNej
ssostringNej

Svar

Returns: GetCommentChildrenResponse

Eksempel

getCommentChildren Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
textSearchstringNo
byIPFromCommentstringNo
filterstringNo
searchFiltersstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Respons

Returnerer: GetCountResponse

Eksempel

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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringNo
ssostringNo

Respons

Returnerer: GetCountsResponse

Eksempel

getCounts Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetLogsResponse

Eksempel

getLogs Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetManualBadgesResponse

Eksempel

getManualBadges Eksempel
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_ABCdef123456";
5
6 // Kald med begge valgfrie parametre
7 const responseFull: GetManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
8 console.log(responseFull);
9
10 // Kald kun med tenantId
11 const responseTenantOnly: GetManualBadgesResponse = await getManualBadges(tenantId);
12 console.log(responseTenantOnly);
13}
14
15fetchBadges();
16

getManualBadgesForUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
badgesUserIdstringNo
commentIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetManualBadgesForUserResponse

Eksempel

getManualBadgesForUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringYes
includeEmailbooleanNo
includeIPbooleanNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetModerationCommentResponse

Eksempel

getModerationComment Eksempel
Copy Copy
1
2async function fetchCommentDetails() {
3 // Fuldt parameter sæt
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 // Minimal kald ved kun at bruge det påkrævede argument
19 const minimalResult: GetModerationCommentResponse = await getModerationComment("cmt_67890def");
20
21 // Brug resultaterne efter behov...
22}
23

getModerationCommentText Internal Link

Parameters

NavnTypePåkrævetBeskrivelse
commentIdstringJa
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetModerationCommentTextResponse

Eksempel

getModerationCommentText Eksempel
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 // Kald kun med den påkrævede parameter
8 const result1: GetModerationCommentTextResponse = await getModerationCommentText(commentId);
9
10 // Kald med valgfrie parametre
11 const result2: GetModerationCommentTextResponse = await getModerationCommentText(commentId, tenantId, sso);
12}
13

getPreBanSummary Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringYes
includeByUserIdAndEmailbooleanNo
includeByIPbooleanNo
includeByEmailDomainbooleanNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetPreBanSummaryResponse

Eksempel

getPreBanSummary Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
valuestringNo
filtersstringNo
searchFiltersstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetSearchCommentsSummaryResponse

Eksempel

getSearchCommentsSummary Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
valuestringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetSearchPagesResponse

Eksempel

getSearchPages Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
valuestringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetSearchSitesResponse

Eksempel

getSearchSites Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
textSearchstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetSearchSuggestResponse

Eksempel

getSearchSuggest Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
valuestringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: GetSearchUsersResponse

Eksempel

getSearchUsers Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
userIdstringNo
tenantIdstringNo
ssostringNo

Respons

Returnerer: GetTrustFactorResponse

Eksempel

getTrustFactor Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetUserBanPreferenceResponse

Eksempel

getUserBanPreference Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: GetUserInternalProfileResponse1

Eksempel

getUserInternalProfile Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
adjustCommentVotesParamsAdjustCommentVotesParamsJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostAdjustCommentVotesResponse

Eksempel

postAdjustCommentVotes Eksempel
Copy Copy
1
2const commentId: string = "cmt_9f8b7a6d";
3
4const adjustParams: AdjustCommentVotesParams = {
5 voteDelta: 1,
6 // additional fields as required by 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

Parametre

NavnTypePåkrævetBeskrivelse
textSearchstringNej
byIPFromCommentstringNej
filtersstringNej
searchFiltersstringNej
sortsstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostApiExportResponse

Eksempel

postApiExport Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
banEmailbooleanNej
banEmailDomainbooleanNej
banIPbooleanNej
deleteAllUsersCommentsbooleanNej
bannedUntilstringNej
isShadowBanbooleanNej
updateIdstringNej
banReasonstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostBanUserFromCommentResponse

Eksempel

postBanUserFromComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
banUserUndoParamsBanUserUndoParamsJa
tenantIdstringNej
ssostringNej

Respons

Returnerer: PostBanUserUndoResponse

Eksempel

postBanUserUndo Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
bulkPreBanParamsBulkPreBanParamsJa
includeByUserIdAndEmailbooleanNej
includeByIPbooleanNej
includeByEmailDomainbooleanNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostBulkPreBanSummaryResponse

Eksempel

postBulkPreBanSummary Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentsByIdsParamsCommentsByIdsParamsJa
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostCommentsByIdsResponse

Eksempel

postCommentsByIds Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
commentIdstringJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostFlagCommentResponse

Eksempel

postFlagComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostRemoveCommentResponse

Eksempel

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

Parametre

NavnTypeObligatoriskBeskrivelse
commentIdstringJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostRestoreDeletedCommentResponse

Eksempel

postRestoreDeletedComment Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
approvedbooleanNej
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostSetCommentApprovalStatusResponse

Eksempel

postSetCommentApprovalStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringYes
reviewedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: PostSetCommentReviewStatusResponse

Eksempel

postSetCommentReviewStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringYes
spambooleanNo
permNotSpambooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: PostSetCommentSpamStatusResponse

Eksempel

postSetCommentSpamStatus Eksempel
Copy Copy
1
2async function demoSpamStatus(): Promise<void> {
3 const commentId: string = "cmt_5f2a1b3c4d6e7f8g9h0i";
4
5 // Kun påkrævet parameter
6 const resultSimple: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(commentId, true);
7
8 // Alle valgfrie parametre leveret
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

Parametre

NavnTypePåkrævetBeskrivelse
commentIdstringJa
setCommentTextParamsSetCommentTextParamsJa
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostSetCommentTextResponse

Eksempel

postSetCommentText Eksempel
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

Parametre

NameTypeRequiredDescription
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returns: PostUnFlagCommentResponse

Eksempel

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

postVote Internal Link

Parametre

NavnTypeObligatoriskBeskrivelse
commentIdstringJa
directionstringNej
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PostVoteResponse

Eksempel

postVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
badgeIdstringJa
userIdstringNej
commentIdstringNej
broadcastIdstringNej
tenantIdstringNej
ssostringNej

Svar

Returnerer: PutAwardBadgeResponse

Eksempel

putAwardBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
urlIdstringYes
tenantIdstringNo
ssostringNo

Svar

Returnerer: PutCloseThreadResponse

Eksempel

putCloseThread Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Svar

Returnerer: PutRemoveBadgeResponse

Eksempel

putRemoveBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
urlIdstringYes
tenantIdstringNo
ssostringNo

Svar

Returnerer: PutReopenThreadResponse

Eksempel

putReopenThread Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
userIdstringNo
trustFactorstringNo
tenantIdstringNo
ssostringNo

Respons

Returnerer: SetTrustFactorResponse

Eksempel

setTrustFactor Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createModeratorBodyCreateModeratorBodyYes

Svar

Returns: CreateModeratorResponse1

Eksempel

createModerator Eksempel
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 // valgfri felter som beskrivelse udelades
8 };
9 const result: CreateModeratorResponse1 = await createModerator(tenantId, moderatorPayload);
10 console.log(result);
11}
12
13runExample();
14

deleteModerator Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
sendEmailstringNej

Svar

Returnerer: DeleteModeratorResponse

Eksempel

deleteModerator Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returns: GetModeratorResponse1

Eksempel

getModerator Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
skipnumberNo

Svar

Returnerer: GetModeratorsResponse1

Eksempel

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

sendInvite Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
fromNamestringJa

Svar

Returnerer: SendInviteResponse

Eksempel

sendInvite Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Svar

Returnerer: UpdateModeratorResponse

Eksempel

Eksempel på updateModerator
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 // valgfrit felt
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeleteNotificationCountResponse

Eksempel

deleteNotificationCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetCachedNotificationCountResponse1

Eksempel

getCachedNotificationCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo

Respons

Returnerer: GetNotificationCountResponse1

Eksempel

getNotificationCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo
skipnumberNo

Svar

Returnerer: GetNotificationsResponse1

Eksempel

getNotifications Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateNotificationBodyUpdateNotificationBodyYes
userIdstringNo

Respons

Returnerer: UpdateNotificationResponse

Eksempel

updateNotification Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
titlestringNej

Svar

Returnerer: CreateV1PageReactResponse

Eksempel

createV1PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

Svar

Returnerer: CreateV2PageReactResponse

Eksempel

createV2PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Svar

Returnerer: DeleteV1PageReactResponse

Eksempel

deleteV1PageReact Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
idstringYes

Svar

Returnerer: DeleteV2PageReactResponse

Eksempel

deleteV2PageReact Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Svar

Returnerer: GetV1PageLikesResponse

Eksempel

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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa

Svar

Returnerer: GetV2PageReactsResponse

Eksempel

getV2PageReacts Eksempel
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 // eksempel på valgfri egenskadsadgang
9 const customConfig: CustomConfigParameters | undefined = reacts.customConfig;
10 console.log(reacts);
11}
12
13demoGetPageReacts();
14

getV2PageReactUsers Internal Link

Parametre

NameTypePåkrævetDescription
tenantIdstringJa
urlIdstringJa
idstringJa

Svar

Returnerer: GetV2PageReactUsersResponse1

Eksempel

getV2PageReactUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

Svar

Returnerer: AddPageAPIResponse

Eksempel

addPage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Respons

Returnerer: DeletePageAPIResponse

Eksempel

deletePage Eksempel
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

Past commenters on the page who are NOT currently online. Sorted by displayName.
Brug dette efter at have udtømt /users/online for at gengive en "Members"-sektion.
Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName} index from afterName forward via $gt, no $skip cost.

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa
afterNamestringNej
afterUserIdstringNej

Respons

Returnerer: GetOfflineUsersResponse

Eksempel

getOfflineUsers Eksempel
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

Aktuelt online‑seere af en side: personer, hvis websocket‑session er abonneret på siden lige nu.
Returnerer anonCount + totalCount (rum‑omfattende abonnenter, inklusive anonyme seere, som vi ikke optæller).

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Svar

Returnerer: GetOnlineUsersResponse

Eksempel

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

getPageByURLId Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes

Svar

Returnerer: GetPageByURLIdAPIResponse

Eksempel

getPageByURLId Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa

Svar

Returnerer: GetPagesAPIResponse

Eksempel

getPages Eksempel
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 sider for en lejer. Bruges af FChat desktopklienten til at udfylde dens rumliste.
Kræver at enableFChat er true på den løste brugerdefinerede konfiguration for hver side.
Sider, der kræver SSO, filtreres i henhold til den anmodende brugers gruppeadgang.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
cursorstringNo
limitnumberNo
qstringNo
sortByPagesSortByNo
hasCommentsbooleanNo

Response

Returnerer: GetPagesPublicResponse

Example

getPagesPublic Eksempel
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

Massebrugerinfo for en lejer. Givet bruger-id'er returneres visningsinfo fra User / SSOUser.
Brugt af kommentarwidgeten til at berige brugere, der lige er dukket op via en tilstedeværelseshændelse.
Ingen sidekontekst: privatliv håndhæves ensartet (private profiler maskeres).

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idsstringJa

Svar

Returnerer: GetUsersInfoResponse

Eksempel

getUsersInfo Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPIPageDataUpdateAPIPageDataJa

Svar

Returnerer: PatchPageAPIResponse

Eksempel

patchPage Eksempel
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 udelades
9 };
10
11 const response: PatchPageAPIResponse = await patchPage(tenantId, pageId, updateData);
12})();
13

deletePendingWebhookEvent Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeletePendingWebhookEventResponse

Eksempel

deletePendingWebhookEvent Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo

Svar

Returnerer: GetPendingWebhookEventCountResponse1

Eksempel

getPendingWebhookEventCount Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

Svar

Returnerer: GetPendingWebhookEventsResponse1

Eksempel

getPendingWebhookEvents Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

Svar

Returnerer: CreateQuestionConfigResponse1

Eksempel

createQuestionConfig Eksempel
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 // valgfrie felter kan udelades
13 customOptions: [customOption],
14};
15
16const response: CreateQuestionConfigResponse1 = await createQuestionConfig(
17 tenantId,
18 createQuestionConfigBody
19);
20

deleteQuestionConfig Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeleteQuestionConfigResponse

Eksempel

deleteQuestionConfig Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetQuestionConfigResponse1

Eksempel

getQuestionConfig Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
skipnumberNo

Svar

Returnerer: GetQuestionConfigsResponse1

Eksempel

getQuestionConfigs Eksempel
Copy Copy
1
2async function fetchQuestionConfigs() {
3 const tenantId: string = "tenant-9876";
4
5 // Kald uden den valgfrie 'skip'-parameter
6 const configsWithoutSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId);
7
8 // Kald med den valgfrie '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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

Svar

Returnerer: UpdateQuestionConfigResponse

Eksempel

updateQuestionConfig Eksempel
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const questionId: string = "qstn-2023-04";
4
5const updateBody: UpdateQuestionConfigBody = {
6 // valgfri felter demonstreret
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createQuestionResultBodyCreateQuestionResultBodyYes

Svar

Returnerer: CreateQuestionResultResponse1

Eksempel

createQuestionResult Eksempel
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 // valgfrie felter såsom notes er udeladt
14};
15
16const result: CreateQuestionResultResponse1 = await createQuestionResult(tenantId, questionResultBody);
17

deleteQuestionResult Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeleteQuestionResultResponse

Eksempel

deleteQuestionResult Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Svar

Returnerer: GetQuestionResultResponse1

Eksempel

getQuestionResult Eksempel
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


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringNej
userIdstringNej
startDatestringNej
questionIdstringNej
questionIdsstringNej
skipnumberNej

Svar

Returnerer: GetQuestionResultsResponse1

Eksempel

getQuestionResults Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateQuestionResultBodyUpdateQuestionResultBodyJa

Svar

Returnerer: UpdateQuestionResultResponse

Eksempel

updateQuestionResult Eksempel
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 // obligatoriske felter
8 answer: "No",
9 // valgfri felter
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
timeBucketAggregateTimeBucketNo
startDateDateNo
forceRecalculatebooleanNo

Svar

Returnerer: AggregateQuestionResultsResponse1

Eksempel

aggregateQuestionResults Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestJa
forceRecalculatebooleanNej

Svar

Returnerer: BulkAggregateQuestionResultsResponse1

Eksempel

bulkAggregateQuestionResults Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
questionIdstringNej
questionIdsArrayNej
urlIdstringNej
startDateDateNej
forceRecalculatebooleanNej
minValuenumberNej
maxValuenumberNej
limitnumberNej

Svar

Returnerer: CombineCommentsWithQuestionResultsResponse

Eksempel

combineCommentsWithQuestionResults Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createAPISSOUserDataCreateAPISSOUserDataJa

Respons

Returnerer: AddSSOUserAPIResponse

Eksempel

addSSOUser Eksempel
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 // valgfrit felt
9 avatarUrl: "https://example.com/avatars/jane.jpg",
10};
11
12const result: AddSSOUserAPIResponse = await addSSOUser(tenantId, newUser);
13

deleteSSOUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
deleteCommentsbooleanNej
commentDeleteModestringNej

Svar

Returnerer: DeleteSSOUserAPIResponse

Eksempel

deleteSSOUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
emailstringJa

Svar

Returnerer: GetSSOUserByEmailAPIResponse

Eksempel

getSSOUserByEmail Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetSSOUserByIdAPIResponse

Eksempel

getSSOUserById Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
skipnumberNo

Svar

Returnerer: GetSSOUsersResponse

Eksempel

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

patchSSOUser Internal Link

Parameters

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsbooleanNo

Response

Returnerer: PatchSSOUserAPIResponse

Example

patchSSOUser Eksempel
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsbooleanNo

Svar

Returns: PutSSOUserAPIResponse

Eksempel

putSSOUser Eksempel
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


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

Svar

Returnerer: CreateSubscriptionAPIResponse

Eksempel

createSubscription Eksempel
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 // valgfrit felt
10 };
11
12 const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, subscriptionData);
13 console.log(result);
14})();
15

deleteSubscription Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
userIdstringNo

Svar

Returns: DeleteSubscriptionAPIResponse

Eksempel

deleteSubscription Eksempel
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 // Med valgfri userId
8 const responseWithUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId, userId);
9
10 // Uden valgfri userId
11 const responseWithoutUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId);
12})();
13

getSubscriptions Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringNej

Svar

Returnerer: GetSubscriptionsAPIResponse

Eksempel

getSubscriptions Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataJa
userIdstringNej

Svar

Returnerer: UpdateSubscriptionAPIResponse

Eksempel

updateSubscription Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
yearNumbernumberNej
monthNumbernumberNej
dayNumbernumberNej
skipnumberNej

Svar

Returnerer: GetTenantDailyUsagesResponse1

Eksempel

getTenantDailyUsages Eksempel
Copy Copy
1
2async function fetchDailyUsage() {
3 const tenantId: string = "tenant-9876";
4 const yearNumber: number = 2024;
5 const monthNumber: number = 5; // Maj
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 // Bruger kun påkrævet og en valgfri parameter
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

NameTypeRequiredDescription
tenantIdstringYes
createTenantPackageBodyCreateTenantPackageBodyYes

Response

Returnerer: CreateTenantPackageResponse1

Example

createTenantPackage Eksempel
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9876";
4
5 const body: CreateTenantPackageBody = {
6 packageName: "Standard",
7 quota: 5000,
8 // valgfrit felt
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Respons

Returnerer: DeleteTenantPackageResponse

Eksempel

deleteTenantPackage Eksempel
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 // use result as needed
8}
9
10removeTenantPackage();
11

getTenantPackage Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetTenantPackageResponse1

Eksempel

getTenantPackage Eksempel
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 // Valgfri felter i svaret
8 const tenantPackage: TenantPackage | undefined = response.tenantPackage;
9 const customConfig: CustomConfigParameters | undefined = response.customConfigParameters;
10}
11

getTenantPackages Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipnumberNej

Svar

Returnerer: GetTenantPackagesResponse1

Eksempel

getTenantPackages Eksempel
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
idstringJa
replaceTenantPackageBodyReplaceTenantPackageBodyJa

Svar

Returnerer: ReplaceTenantPackageResponse

Eksempel

replaceTenantPackage Eksempel
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 // brugerdefinerede konfigurationsfelter her
8 };
9
10 const body: ReplaceTenantPackageBody = {
11 name: "Enterprise Package",
12 // valgfri brugerdefineret konfiguration
13 customConfig: config,
14 };
15
16 const response: ReplaceTenantPackageResponse = await replaceTenantPackage(tenantId, packageId, body);
17 console.log(response);
18})();
19

updateTenantPackage Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateTenantPackageBodyUpdateTenantPackageBodyJa

Svar

Returnerer: UpdateTenantPackageResponse

Eksempel

updateTenantPackage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createTenantUserBodyCreateTenantUserBodyJa

Svar

Returnerer: CreateTenantUserResponse1

Eksempel

createTenantUser Eksempel
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 // valgfrie parametre
10 phoneNumber: "+15551234567",
11 isActive: true,
12};
13
14const result: CreateTenantUserResponse1 = await createTenantUser(tenantId, newUser);
15

deleteTenantUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
deleteCommentsstringNo
commentDeleteModestringNo

Svar

Returnerer: DeleteTenantUserResponse

Eksempel

deleteTenantUser Eksempel
Copy Copy
1
2async function demoDeleteTenantUser() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-9876";
5
6 // Slet brugeren og alle deres kommentarer, ved brug af hard delete-tilstand
7 const resultWithOptions: DeleteTenantUserResponse = await deleteTenantUser(
8 tenantId,
9 userId,
10 "true",
11 "hard"
12 );
13
14 // Slet brugeren uden at fjerne kommentarer (standardadfærd)
15 const resultBasic: DeleteTenantUserResponse = await deleteTenantUser(tenantId, userId);
16}
17

getTenantUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetTenantUserResponse1

Eksempel

getTenantUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
skipnumberNej

Svar

Returnerer: GetTenantUsersResponse1

Eksempel

getTenantUsers Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
replaceTenantUserBodyReplaceTenantUserBodyJa
updateCommentsstringNej

Svar

Returnerer: ReplaceTenantUserResponse

Eksempel

replaceTenantUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
redirectURLstringNej

Svar

Returnerer: SendLoginLinkResponse

Eksempel

sendLoginLink Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateTenantUserBodyUpdateTenantUserBodyJa
updateCommentsstringNej

Svar

Returnerer: UpdateTenantUserResponse

Eksempel

updateTenantUser Eksempel
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


Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
createTenantBodyCreateTenantBodyYes

Svar

Returnerer: CreateTenantResponse1

Eksempel

createTenant Eksempel
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-2024-01';
4 const createTenantBody: CreateTenantBody = {
5 // påkrævede felter
6 name: 'Acme International',
7 // valgfrie felter kan tilføjes efter behov, f.eks.:
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

Parametre

NavnTypeObligatoriskBeskrivelse
tenantIdstringJa
idstringJa
surestringNej

Svar

Returnerer: DeleteTenantResponse

Eksempel

deleteTenant Eksempel
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 // Kald med valgfri 'sure' parameter
8 const responseWithSure: DeleteTenantResponse = await deleteTenant(tenantId, id, sure);
9 console.log(responseWithSure);
10
11 // Kald uden valgfri 'sure' parameter
12 const responseWithoutSure: DeleteTenantResponse = await deleteTenant(tenantId, id);
13 console.log(responseWithoutSure);
14}
15
16runExample();
17

getTenant Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetTenantResponse1

Eksempel

getTenant Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
metastringNej
skipnumberNej

Svar

Returnerer: GetTenantsResponse1

Eksempel

getTenants Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateTenantBodyUpdateTenantBodyJa

Svar

Returnerer: UpdateTenantResponse

Eksempel

updateTenant Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringJa
idstringJa
changeTicketStateBodyChangeTicketStateBodyJa

Svar

Returnerer: ChangeTicketStateResponse1

Eksempel

changeTicketState Eksempel
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 // valgfrit felt i kroppen
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringJa
createTicketBodyCreateTicketBodyJa

Svar

Returnerer: CreateTicketResponse1

Eksempel

createTicket Eksempel
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 er valgfri og udeladt
8};
9
10const response: CreateTicketResponse1 = await createTicket(tenantId, userId, ticketBody);
11// Eksempel på brug af et valgfrit felt fra svaret
12// console.log(response.ticket?.id);
13

getTicket Internal Link

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa
userIdstringNej

Svar

Returnerer: GetTicketResponse1

Eksempel

getTicket Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringNej
statenumberNej
skipnumberNej
limitnumberNej

Svar

Returnerer: GetTicketsResponse1

Eksempel

getTickets Eksempel
Copy Copy
1
2async function loadTickets() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5 const state: number = 2; // f.eks., lukket
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

Parametre

NavnTypePåkrævetBeskrivelse
namespacestringJa
componentstringJa
localestringNej
useFullTranslationIdsbooleanNej

Svar

Returnerer: GetTranslationsResponse1

Eksempel

getTranslations Eksempel
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


Upload og ændre størrelse på et billede

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
fileBlobJa
sizePresetSizePresetNej
urlIdstringNej

Svar

Returnerer: UploadImageResponse

Eksempel

uploadImage Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: GetUserBadgeProgressByIdResponse

Eksempel

getUserBadgeProgressById Eksempel
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


Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
userIdstringJa

Svar

Returnerer: GetUserBadgeProgressByUserIdResponse

Eksempel

getUserBadgeProgressByUserId Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
userIdstringNej
limitnumberNej
skipnumberNej

Svar

Returnerer: GetUserBadgeProgressListResponse

Eksempel

getUserBadgeProgressList Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
createUserBadgeParamsCreateUserBadgeParamsJa

Svar

Returnerer: CreateUserBadgeResponse

Eksempel

createUserBadge Eksempel
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 // description is optional and omitted here
8};
9
10const result: CreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
11

deleteUserBadge Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa

Svar

Returnerer: DeleteUserBadgeResponse

Eksempel

deleteUserBadge Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes

Svar

Returnerer: GetUserBadgeResponse

Eksempel

getUserBadge Eksempel
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 // Adgang til valgfrie felter sikkert
9 const badgeName: string | undefined = badgeResponse.userBadge?.name;
10 console.log(`Badge ID: ${badgeId}, Name: ${badgeName ?? "Unnamed"}`);
11}
12
13runExample();
14

getUserBadges Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
userIdstringNo
badgeIdstringNo
typenumberNo
displayedOnCommentsbooleanNo
limitnumberNo
skipnumberNo

Svar

Returnerer: GetUserBadgesResponse

Eksempel

getUserBadges Eksempel
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

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
idstringJa
updateUserBadgeParamsUpdateUserBadgeParamsJa

Response

Returnerer: UpdateUserBadgeResponse

Eksempel

updateUserBadge Eksempel
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 // eksempel på valgfrit felt
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

Parametre

NameTypeRequiredDescription
tenantIdstringYes
ssostringNo

Svar

Returnerer: GetUserNotificationCountResponse1

Eksempel

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

getUserNotifications Internal Link

Parametre

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

Svar

Returnerer: GetUserNotificationsResponse

Eksempel

getUserNotifications Eksempel
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

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
ssostringNo

Response

Returnerer: ResetUserNotificationCountResponse

Eksempel

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

resetUserNotifications Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
afterIdstringNo
afterCreatedAtnumberNo
unreadOnlybooleanNo
dmOnlybooleanNo
noDmbooleanNo
ssostringNo

Svar

Returnerer: ResetUserNotificationsResponse1

Eksempel

resetUserNotifications Eksempel
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-001";
4 const afterId: string = "notif-123";
5 const afterCreatedAt: number = 1697049600; // eksempel UNIX-tidsstempel
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 or disable notifications for a specific comment.

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
notificationIdstringYes
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumYes
commentIdstringYes
ssostringNo

Svar

Returnerer: UpdateUserNotificationCommentSubscriptionStatusResponse

Eksempel

updateUserNotificationCommentSubscriptionStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumYes
ssostringNo

Svar

Returns: UpdateUserNotificationPageSubscriptionStatusResponse

Eksempel

updateUserNotificationPageSubscriptionStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
notificationIdstringJa
newStatusUpdateUserNotificationStatusNewStatusEnumJa
ssostringNej

Svar

Returnerer: UpdateUserNotificationStatusResponse

Eksempel

updateUserNotificationStatus Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdWSstringJa
userIdsstringJa

Svar

Returnerer: GetUserPresenceStatusesResponse1

Eksempel

getUserPresenceStatuses Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
usernameStartsWithstringNo
mentionGroupIdsArrayNo
ssostringNo
searchSectionSearchUsersSearchSectionEnumNo

Svar

Returnerer: SearchUsersResponse1

Eksempel

searchUsers Eksempel
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

Parametre

NavnTypeKrævetBeskrivelse
tenantIdstringJa
idstringJa

Respons

Returnerer: GetUserResponse1

Eksempel

getUser Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
commentIdstringJa
directionCreateVoteDirectionEnumJa
userIdstringNej
anonUserIdstringNej

Respons

Returnerer: CreateVoteResponse

Eksempel

createVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
idstringYes
editKeystringNo

Svar

Returnerer: DeleteVoteResponse

Eksempel

deleteVote Eksempel
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

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringJa
urlIdstringJa

Svar

Returnerer: GetVotesResponse1

Eksempel

getVotes Eksempel
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 // Eksempel på at få adgang til et valgfrit felt i svaret
9 const firstVoteId: string | undefined = response?.votes?.[0]?.id;
10}
11

getVotesForUser Internal Link

Parametre

NavnTypePåkrævetBeskrivelse
tenantIdstringYes
urlIdstringYes
userIdstringNo
anonUserIdstringNo

Svar

Returnerer: GetVotesForUserResponse1

Eksempel

getVotesForUser Eksempel
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

Brug for hjælp?

Hvis du støder på problemer eller har spørgsmål om JavaScript/TypeScript SDK'en, så:

Bidrag

Bidrag er velkomne! Besøg venligst GitHub-repositoriet for retningslinjer for bidrag.