FastComments.com

FastComments JavaScript/TypeScript SDK

Dies ist das offizielle JavaScript/TypeScript-SDK für FastComments.

Offizielles JavaScript/TypeScript-SDK für die FastComments-API

Repository

Auf GitHub ansehen


Installation Internal Link

npm install fastcomments-sdk

API-Dokumentation Internal Link


Vollständige API-Referenz: docs/api/README.md

Browser- vs. Server-Kompatibilität Internal Link


Dieses SDK verwendet zwei Einstiegspunkte, um optimale Kompatibilität sicherzustellen und Laufzeitfehler zu vermeiden:

  • fastcomments-sdk/browser - Browser-sichere Version mit nativer fetch-Unterstützung
  • fastcomments-sdk/server - Vollständige Node.js-Version mit SSO-Unterstützung
  • fastcomments-sdk (Standard) - Nur Typen, sicher überall zu importieren

Öffentliche vs. geschützte APIs Internal Link


Das SDK stellt drei Haupt-API-Klassen bereit:

  • DefaultApi - Gesicherte Endpunkte, die deinen API-Schlüssel zur Authentifizierung erfordern. Verwende diese für serverseitige Operationen.
  • PublicApi - Öffentliche Endpunkte, die ohne API-Schlüssel zugänglich sind. Diese können direkt aus Browsern/Mobilgeräten/etc. aufgerufen werden.
  • HiddenApi - Interne/Admin-Endpunkte für fortgeschrittene Anwendungsfälle.

Beispiel: Verwendung der Public API (browser-sicher)

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

const publicApi = new PublicApi();

// Kommentare für eine Seite abrufen (kein API-Schlüssel erforderlich)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Beispiel: Verwendung der Default API (nur serverseitig)

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

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

// Kommentare mit vollem Admin-Zugriff abrufen
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

SSO (Single Sign-On)-Integration Internal Link

FastComments unterstützt SSO, um sich in Ihr bestehendes Benutzerauthentifizierungssystem zu integrieren. Die SSO-Funktionalität ist nur im Server-Export verfügbar, da sie Node.js-Crypto-Funktionen benötigt.

Einfache SSO (nur serverseitig)

Einfache SSO sollte serverseitig erzeugt und an den Client gesendet werden:

// Server-seitiger Code (Node.js/Backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Erstelle einfache SSO mit dem eingebauten Helfer  
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();

// Sende ssoToken an Ihren Client-Code
// Der Client-Code kann dieses Token dann mit dem Browser-SDK verwenden

Sichere SSO (serverseitig, empfohlen)

Sichere SSO sollte serverseitig implementiert werden und bietet bessere Sicherheit:

// Server-seitiger Code (Node.js/Backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Erstelle sichere SSO mit dem eingebauten Helfer
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();

// Mit API-Aufrufen auf dem Server verwenden
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Oder sende ssoConfig an den Client zur Browser-Verwendung

Verwendung von SSO im Browser (mit servergeneriertem Token)

// Client-seitiger Code (Browser)
import { PublicApi } from 'fastcomments-sdk/browser';

// Hole SSO-Token von Ihrem Server-Endpunkt
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 mit Kommentar-Erstellung

// Server-seitig: SSO und Kommentar erstellen
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)
});

Häufige Anwendungsfälle Internal Link

Kommentare für eine Seite abrufen

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

Einen Kommentar erstellen

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

Für einen Kommentar abstimmen

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 für Upvote, -1 für Downvote
  }
});

Benutzerverwaltung (erfordert API-Schlüssel)

// Benutzer suchen (erfordert DefaultApi)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Live-Events (Echtzeit-Aktualisierungen) Internal Link

Abonnieren Sie Live-Ereignisse, um Echtzeit-Updates für Kommentare, Abstimmungen und andere Aktivitäten zu erhalten.

Ereignisse auf Seitenebene

Abonnieren Sie Live-Ereignisse für eine bestimmte Seite (Kommentare, Abstimmungen usw.):

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

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

// Subscribe to live events for a page
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (get this from getComments response)
  (event: LiveEvent) => {
    console.log('Live event received:', event);

    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Aktualisieren Sie Ihre UI mit dem neuen Kommentar
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Aktualisieren Sie die Abstimmungszahlen in Ihrer UI
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }

    return true; // Geben Sie true zurück, wenn das Ereignis verarbeitet wurde
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Close the subscription when done
subscription.close();

Benutzerbezogene Ereignisse abonnieren

Abonnieren Sie benutzerspezifische Ereignisse (Benachrichtigungen, Erwähnungen usw.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Get this from getComments response
};

// Subscribe to user's personal 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);
        // Benachrichtigung in Ihrer UI anzeigen
        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');
  }
);

// Close when done
userSubscription.close();

Abrufen von userIdWS

Der userIdWS Parameter wird für Live-Ereignisse benötigt und kann aus API-Antworten abgerufen werden:

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

// Extract userIdWS from the response
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Now you can subscribe to live events
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

Broadcast-IDs Internal Link

Sie werden sehen, dass Sie in einigen API-Aufrufen eine broadcastId übergeben sollen. Wenn Sie Ereignisse erhalten, bekommen Sie diese ID zurück, sodass Sie das Ereignis ignorieren können, falls Sie Änderungen auf dem Client optimistisch anwenden möchten (was Sie wahrscheinlich tun sollten, da es die beste Erfahrung bietet). Geben Sie hier eine UUID an. Die ID sollte so eindeutig sein, dass sie in einer Browsersitzung nicht zweimal vorkommt.

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() // Eindeutige ID für diese Operation
  }
});

Fehlerbehandlung 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);
  }
}

Aggregieren Internal Link


Fasst Dokumente zusammen, indem sie gruppiert werden (falls groupBy angegeben ist) und mehrere Operationen angewendet werden. Verschiedene Operationen (z. B. sum, countDistinct, avg usw.) werden unterstützt.

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
aggregationRequest AggregationRequest Ja
parentTenantId string Nein
includeStats boolean Nein

Antwort

Gibt zurück: AggregationResponse


Audit-Logs abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
limit number Nein
skip number Nein
order SORTDIR Nein
after number Nein
before number Nein

Antwort

Gibt zurück: GetAuditLogs200Response

Beispiel

getAuditLogs Beispiel
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = 'tenant_9b8f6c';
4 const limit: number = 50;
5 const skip: number = 0;
6 const order: SORTDIR = 'desc';
7 const after: number = Date.now() - 7 * 24 * 60 * 60 * 1000;
8 const response: GetAuditLogs200Response = await getAuditLogs(tenantId, limit, skip, order, after);
9 console.log(response);
10}
11main();
12

Vom Kommentar sperren (öffentlich) Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
publicBlockFromCommentParams PublicBlockFromCommentParams Ja
sso string Nein

Antwort

Gibt zurück: BlockFromCommentPublic200Response

Beispiel

blockFromCommentPublic Beispiel
Copy Copy
1
2const tenantId: string = "site_7f9b2e";
3const commentId: string = "comment_2026-03-25_001";
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: "Repeated harassment and targeted abuse",
6 blockDurationDays: 90,
7 includeHistory: true,
8 notifyModeratorTeam: true
9};
10const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fakePayload.signature";
11const result: BlockFromCommentPublic200Response = await blockFromCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
12

Vom Kommentar entsperren (öffentlich) Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
publicBlockFromCommentParams PublicBlockFromCommentParams Ja
sso string Nein

Antwort

Gibt zurück: UnBlockCommentPublic200Response

Beispiel

unBlockCommentPublic Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_42e8a1';
3const commentId: string = 'cmt_9b3f2d';
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: 'abusive_language',
6 blockedByModeratorId: 'mod_17',
7 note: 'Targeted harassment; review complete',
8 unblockRequestedAt: new Date().toISOString()
9};
10const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
11const result: UnBlockCommentPublic200Response = await unBlockCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
12

Auf gesperrte Kommentare prüfen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentIds string Ja
sso string Nein

Antwort

Gibt zurück: CheckedCommentsForBlocked200Response

Beispiel

checkedCommentsForBlocked Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_4f3b2a1e';
3const commentIds: string = 'c_1001,c_1002,c_1003';
4const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIn0.Sf4ke7nQP3mZx9v2';
5
6const resultWithoutSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds);
7const resultWithSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds, ssoToken);
8

Benutzer vom Kommentar sperren Internal Link

Parameter

Name Type Erforderlich Beschreibung
tenantId string Ja
id string Ja
blockFromCommentParams BlockFromCommentParams Ja
userId string Nein
anonUserId string Nein

Antwort

Gibt zurück: BlockFromCommentPublic200Response

Beispiel

Beispiel für blockUserFromComment
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const id: string = "comment_67890";
4const blockFromCommentParams: BlockFromCommentParams = {
5 reason: "Repeated abusive language",
6 blockDurationHours: 168,
7 blockReplies: true,
8 notifyAuthor: true
9};
10const userId: string = "user_abc123";
11const anonUserId: string = "anon_xyz789";
12const result: BlockFromCommentPublic200Response = await blockUserFromComment(tenantId, id, blockFromCommentParams, userId, anonUserId);
13

Öffentlichen Kommentar erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
broadcastId string Ja
commentData CommentData Ja
sessionId string Nein
sso string Nein

Antwort

Rückgabe: CreateCommentPublic200Response

Beispiel

createCommentPublic Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_prod_42';
3const urlId: string = 'article-2026-03-25-tech-deep-dive';
4const broadcastId: string = 'live-broadcast-001';
5const sessionId: string = 'sess_9f8e7d6a3b';
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
7const commentData: CommentData = {
8 content: 'Great reporting — appreciated the depth on performance tradeoffs.',
9 authorName: 'Jordan M.',
10 language: 'en-US',
11 metadata: { client: 'web' }
12};
13const result: CreateCommentPublic200Response = await createCommentPublic(tenantId, urlId, broadcastId, commentData, sessionId, sso);
14

Kommentar löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
contextUserId string Nein
isLive boolean Nein

Antwort

Gibt zurück: DeleteComment200Response

Beispiel

deleteComment Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7b3f2a';
3const commentId: string = 'cmt_8a1f4d2b';
4const contextUserId: string = 'user_102';
5const isLive: boolean = true;
6const result: DeleteComment200Response = await deleteComment(tenantId, commentId, contextUserId, isLive);
7

Öffentlichen Kommentar löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
commentId string Yes
broadcastId string Yes
editKey string No
sso string No

Antwort

Gibt zurück: DeleteCommentPublic200Response

Beispiel

Beispiel für deleteCommentPublic
Copy Copy
1
2const tenantId: string = 'tenant_4f2c9b';
3const commentId: string = 'comment-7c3a9f2d';
4const broadcastId: string = 'article-2026-03-20';
5const editKey: string | undefined = 'ek_pub_abc12345';
6const sso: string | undefined = 'sso_eyJhbGciOiJIUzI1Ni';
7
8const result: DeleteCommentPublic200Response = await deleteCommentPublic(
9 tenantId,
10 commentId,
11 broadcastId,
12 editKey,
13 sso
14);
15

Kommentarstimme löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
voteId string Ja
urlId string Ja
broadcastId string Ja
editKey string Nein
sso string Nein

Antwort

Gibt zurück: DeleteCommentVote200Response

Beispiel

deleteCommentVote Beispiel
Copy Copy
1
2const tenantId: string = 'acme-tenant-87e4fd';
3const commentId: string = 'cmt-9a12b3f4';
4const voteId: string = 'vote-4f6d21b9';
5const urlId: string = 'https://www.acme.com/articles/2026/03/25/how-to-test';
6const broadcastId: string = 'broadcast-20260325-01';
7const editKey: string = 'editkey-6b7c8d9e';
8const sso: string = 'sso-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
9
10const response: DeleteCommentVote200Response = await deleteCommentVote(
11 tenantId,
12 commentId,
13 voteId,
14 urlId,
15 broadcastId,
16 editKey,
17 sso
18);
19

Kommentar melden Internal Link

Parameters

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
userId string Nein
anonUserId string Nein

Response

Gibt zurück: FlagComment200Response

Example

flagComment Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const id: string = 'comment_7f3a2b9e';
4const userId: string = 'user_jdoe_1001';
5const anonUserId: string = 'anon_3f2b_visitor';
6const result: FlagComment200Response = await flagComment(tenantId, id, userId, anonUserId);
7

Kommentar abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetComment200Response

Beispiel

getComment Beispiel
Copy Copy
1
2const tenantId: string = "acme-publishing-001";
3const commentId: string = "f3b2c1d0-9a8e-4b7c-8123-6d5f0a1e2b3c";
4const result: GetComment200Response = await getComment(tenantId, commentId);
5const wrapper: GetComment200Response & { comment?: APIComment } = result;
6const comment: APIComment | undefined = wrapper.comment;
7const authorBadge: CommentUserBadgeInfo | undefined = comment?.user?.badge;
8const userHashTags: CommentUserHashTagInfo[] | undefined = comment?.user?.hashTags
9

Kommentare abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
page number Nein
limit number Nein
skip number Nein
asTree boolean Nein
skipChildren number Nein
limitChildren number Nein
maxTreeDepth number Nein
urlId string Nein
userId string Nein
anonUserId string Nein
contextUserId string Nein
hashTag string Nein
parentId string Nein
direction SortDirections Nein

Antwort

Gibt zurück: GetComments200Response

Beispiel

getComments Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const response: GetComments200Response = await getComments(
4 tenantId,
5 1, // Seite
6 20, // Limit
7 0, // Überspringen
8 true, // als Baumstruktur
9 1, // Kinder überspringen
10 3, // maximale Kinderanzahl
11 4, // maximale Baumtiefe
12 'articles/2026/new-product-launch', // URL-ID
13 'user_7890', // Benutzer-ID
14 'anon_4f3b2', // anonyme Benutzer-ID
15 undefined, // Kontext-Benutzer-ID
16 '#launch', // Hashtag
17 undefined // Eltern-ID
18);
19

Öffentliche Kommentare abrufen Internal Link

req tenantId urlId

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
page number Nein
direction SortDirections Nein
sso string Nein
skip number Nein
skipChildren number Nein
limit number Nein
limitChildren number Nein
countChildren boolean Nein
fetchPageForCommentId string Nein
includeConfig boolean Nein
countAll boolean Nein
includei10n boolean Nein
locale string Nein
modules string Nein
isCrawler boolean Nein
includeNotificationCount boolean Nein
asTree boolean Nein
maxTreeDepth number Nein
useFullTranslationIds boolean Nein
parentId string Nein
searchText string Nein
hashTags Array Nein
userId string Nein
customConfigStr string Nein
afterCommentId string Nein
beforeCommentId string Nein

Antwort

Gibt zurück: GetCommentsPublic200Response

Beispiel

getCommentsPublic Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_eu-west_01';
3const urlId: string = 'https://www.financialtimes.com/articles/2026/market-update-q1';
4const response: GetCommentsPublic200Response = await getCommentsPublic(
5 tenantId,
6 urlId,
7 2,
8 undefined,
9 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.tokenPayload.signature',
10 undefined,
11 0,
12 50,
13 5,
14 true,
15 undefined,
16 true,
17 false,
18 true,
19 'en-US',
20 'reactions,moderation',
21 false,
22 true,
23 true,
24 3,
25 false,
26 undefined,
27 'performance',
28 ['feature','fastcomments'],
29 'user_9876',
30 undefined,
31 undefined,
32 undefined
33);
34

Kommentartext abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
editKey string Nein
sso string Nein

Antwort

Gibt zurück: GetCommentText200Response

Beispiel

Beispiel für getCommentText
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const commentId: string = 'cmt_7890b';
4const editKey: string = 'edit_4f2d9b7c';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
6
7const result: GetCommentText200Response = await getCommentText(tenantId, commentId, editKey, sso);
8

Benutzernamen der Kommentar-Stimmen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
dir number Ja
sso string Nein

Antwort

Gibt zurück: GetCommentVoteUserNames200Response

Beispiel

getCommentVoteUserNames Beispiel
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_4f2c1e';
4 const commentId: string = 'cmt_9a7b3d';
5 const dir: number = 1;
6 const resultUpvotes: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dir);
7 const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fakepayload.signature';
8 const dirDown: number = -1;
9 const resultDownvotes: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dirDown, sso);
10 console.log(resultUpvotes, resultDownvotes);
11})();
12

Kommentar sperren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
broadcastId string Ja
sso string Nein

Antwort

Gibt zurück: LockComment200Response

Beispiel

lockComment Beispiel
Copy Copy
1
2const tenantId: string = "tenant_prod_8f3a2b";
3const commentId: string = "cmt_5d7e9a92";
4const broadcastId: string = "broadcast_2026_03_25_1400";
5const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature";
6const resultWithSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId, ssoToken);
7const resultWithoutSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId);
8

Kommentar anpinnen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
broadcastId string Ja
sso string Nein

Antwort

Gibt zurück: PinComment200Response

Beispiel

pinComment Beispiel
Copy Copy
1
2const tenantId: string = "tenant_4f2b9a";
3const commentId: string = "cmt_9f8e7d6c";
4const broadcastId: string = "brd_live_concert_2026-03-25";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_payload_signature";
6
7const result: PinComment200Response = await pinComment(tenantId, commentId, broadcastId, sso);
8

Kommentar speichern Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createCommentParams CreateCommentParams Ja
isLive boolean Nein
doSpamCheck boolean Nein
sendEmails boolean Nein
populateNotifications boolean Nein

Antwort

Gibt zurück: SaveComment200Response

Beispiel

saveComment Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const createCommentParams: CreateCommentParams = {
4 content: 'Great article — helped me fix a production issue in minutes.',
5 url: 'https://app.acme.com/blog/performance-tips',
6 author: { name: 'Maya Chen', email: 'maya.chen@acme.com' },
7 metadata: { locale: 'en-US', appVersion: '4.2.1' }
8} as CreateCommentParams;
9const isLive: boolean = true;
10const doSpamCheck: boolean = true;
11const sendEmails: boolean = false;
12const populateNotifications: boolean = true;
13const result: SaveComment200Response = await saveComment(tenantId, createCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications);
14

Kommentare (stapelweise) speichern Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createCommentParams Array Ja
isLive boolean Nein
doSpamCheck boolean Nein
sendEmails boolean Nein
populateNotifications boolean Nein

Antwort

Gibt zurück: Array<SaveComment200Response

Beispiel

saveCommentsBulk Beispiel
Copy Copy
1
2const tenantId: string = 'acme-corp-01';
3const mentions1: CommentUserMentionInfo[] = [{ userId: 'user-123', displayName: 'Jane Doe' }];
4const hashtags1: CommentUserHashTagInfo[] = [{ tag: 'typescript' }];
5const createCommentParams: CreateCommentParams[] = [
6 {
7 content: 'Great insights on async/await patterns.',
8 authorName: 'John Smith',
9 authorEmail: 'john.smith@acme.com',
10 externalId: 'comment-001',
11 createdAt: '2026-03-25T10:15:00Z',
12 userMentions: mentions1,
13 userHashTags: hashtags1
14 },
15 {
16 content: 'I prefer using Promise.all for bulk ops.',
17 authorName: 'Emily Turner',
18 authorEmail: 'emily.turner@acme.com',
19 externalId: 'comment-002',
20 createdAt: '2026-03-25T10:20:00Z'
21 }
22];
23const result: SaveComment200Response[] = await saveCommentsBulk(tenantId, createCommentParams, true, true, false, true);
24

Kommentartext setzen Internal Link

Parameter

Name Type Required Description
tenantId string Ja
commentId string Ja
broadcastId string Ja
commentTextUpdateRequest CommentTextUpdateRequest Ja
editKey string Nein
sso string Nein

Antwort

Rückgabe: SetCommentText200Response

Beispiel

Beispiel für setCommentText
Copy Copy
1
2const tenantId: string = 'tenant_6721f4';
3const commentId: string = 'cmt_9a3b2d';
4const broadcastId: string = 'live_2026_03_25';
5const editKey: string = 'edit_k_4f7b9';
6const sso: string = 'sso_tok_eyJhbGciOiJIUzI1';
7const commentTextUpdateRequest: CommentTextUpdateRequest = {
8 text: 'Updated to clarify the timeline and link the relevant docs.',
9 mentions: [{ userId: 'user_102', displayName: 'Alex Rivera' }],
10 hashtags: [{ tag: 'product-update' }]
11};
12const result: SetCommentText200Response = await setCommentText(tenantId, commentId, broadcastId, commentTextUpdateRequest, editKey, sso);
13

Benutzer vom Kommentar entsperren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
unBlockFromCommentParams UnBlockFromCommentParams Ja
userId string Nein
anonUserId string Nein

Antwort

Gibt zurück: UnBlockCommentPublic200Response

Beispiel

unBlockUserFromComment Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_87f3e1';
3const id: string = 'comment_9b2a4f';
4const unBlockFromCommentParams: UnBlockFromCommentParams = {
5 reason: 'Reviewed by moderation team — reinstated',
6 moderatorId: 'mod_21',
7 unblockedAt: new Date().toISOString()
8};
9const userId: string = 'user_42';
10const anonUserId: string = 'anon_e7f9';
11const result: UnBlockCommentPublic200Response = await unBlockUserFromComment(tenantId, id, unBlockFromCommentParams, userId, anonUserId);
12

Kommentarmeldung aufheben Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
userId string Nein
anonUserId string Nein

Antwort

Gibt zurück: FlagComment200Response

Beispiel

unFlagComment Beispiel
Copy Copy
1
2const tenantId: string = 'acme-tenant-001';
3const commentId: string = 'cmt_9f8e7d6c';
4const userId: string = 'user_72b4a1c9';
5const anonUserId: string = 'anon_3d2c1b0a';
6const response: FlagComment200Response = await unFlagComment(tenantId, commentId, userId, anonUserId);
7

Kommentar entsperren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
broadcastId string Ja
sso string Nein

Antwort

Gibt zurück: LockComment200Response

Beispiel

unLockComment Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_9d4f2b';
3const commentId: string = 'cmt_8a3e1f';
4const broadcastId: string = 'broadcast_2026_03_25';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
6
7const result: LockComment200Response = await unLockComment(tenantId, commentId, broadcastId, sso);
8

Kommentar entpinnen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
broadcastId string Ja
sso string Nein

Antwort

Gibt zurück: PinComment200Response

Beispiel

Beispiel für unPinComment
Copy Copy
1
2const tenantId: string = 'tenant_7f9d2a3b';
3const commentId: string = 'comment_842b9c1f';
4const broadcastId: string = 'bcast_frontpage_202603';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.exampleSignature';
6
7const result: PinComment200Response = await unPinComment(tenantId, commentId, broadcastId, sso);
8

Kommentar aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updatableCommentParams UpdatableCommentParams Ja
contextUserId string Nein
doSpamCheck boolean Nein
isLive boolean Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für updateComment
Copy Copy
1
2const tenantId: string = "tenant_acme_corp_01";
3const id: string = "comment_20260325_4592";
4const updatableCommentParams: UpdatableCommentParams = {
5 body: "Updated the response to include a link to the RFC and fixed a typo in the second paragraph.",
6 editedByUserId: "user_8721",
7 isVisible: true
8};
9const contextUserId: string = "user_8721";
10const doSpamCheck: boolean = true;
11const isLive: boolean = true;
12const result: FlagCommentPublic200Response = await updateComment(tenantId, id, updatableCommentParams, contextUserId, doSpamCheck, isLive);
13

Kommentar abstimmen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
urlId string Ja
broadcastId string Ja
voteBodyParams VoteBodyParams Ja
sessionId string Nein
sso string Nein

Antwort

Gibt zurück: VoteComment200Response

Beispiel

Beispiel für voteComment
Copy Copy
1
2const tenantId: string = 'tenant_9f8b7c';
3const commentId: string = 'cmt_42f3a1';
4const urlId: string = 'articles/ai-trends-2026';
5const broadcastId: string = 'web';
6const voteBodyParams: VoteBodyParams = { vote: 1, reason: 'Insightful and on-topic' };
7const sessionId: string = 'sess_6d2b4c9e';
8const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
9const result: VoteComment200Response = await voteComment(tenantId, commentId, urlId, broadcastId, voteBodyParams, sessionId, sso);
10

Domain-Konfiguration hinzufügen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
addDomainConfigParams AddDomainConfigParams Ja

Antwort

Gibt zurück: AddDomainConfig200Response


Domain-Konfiguration löschen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
domain string Ja

Antwort

Gibt zurück: DeleteDomainConfig200Response


Domain-Konfiguration abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
domain string Ja

Antwort

Gibt zurück: GetDomainConfig200Response


Domain-Konfigurationen abrufen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja

Antwort

Gibt zurück: GetDomainConfigs200Response


Domain-Konfiguration teilweise aktualisieren Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
domainToUpdate string Ja
patchDomainConfigParams PatchDomainConfigParams Ja

Antwort

Gibt zurück: GetDomainConfig200Response


Domain-Konfiguration ersetzen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
domainToUpdate string Ja
updateDomainConfigParams UpdateDomainConfigParams Ja

Antwort

Gibt zurück: GetDomainConfig200Response


E-Mail-Vorlage erstellen Internal Link

Parameter

Name Type Required Description
tenantId string Ja
createEmailTemplateBody CreateEmailTemplateBody Ja

Antwort

Gibt zurück: CreateEmailTemplate200Response

Beispiel

createEmailTemplate Beispiel
Copy Copy
1
2const tenantId: string = "tenant_7a9f3c2b";
3const customConfig: CustomConfigParameters = { smtpHost: "smtp.fastmail.com", smtpPort: 587, useTLS: true };
4const createEmailTemplateBody: CreateEmailTemplateBody = {
5 name: "Account Notification",
6 subject: "Your ACME account was updated",
7 fromEmail: "no-reply@acme-corp.com",
8 replyTo: "support@acme-corp.com",
9 html: "<p>Hi {{user.firstName}}, your account settings were changed.</p>",
10 text: "Hi {{user.firstName}}, your account settings were changed.",
11 isActive: true,
12 description: "Used for transactional account update emails",
13 customConfig
14};
15const result: CreateEmailTemplate200Response = await createEmailTemplate(tenantId, createEmailTemplateBody);
16

E-Mail-Vorlage löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für deleteEmailTemplate
Copy Copy
1
2const tenantId: string = 'tenant_7f4c9d1e';
3const templateId: string = 'tmpl_welcome_2024-03';
4const notifyAdmin: boolean | undefined = true; // Beispiel für optionalen Parameter
5
6const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, templateId);
7

Renderfehler einer E-Mail-Vorlage löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
errorId string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

deleteEmailTemplateRenderError Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7f3b4c2a';
3const templateEnvironment: string | undefined = 'production'; // optionaler Umgebungsselektor
4const id: string = `emailTemplates/${templateEnvironment ?? 'staging'}/welcome_v2`;
5const errorId: string = 'err_5a9d2f1c';
6const result: FlagCommentPublic200Response = await deleteEmailTemplateRenderError(tenantId, id, errorId);
7console.log(result);
8

E-Mail-Vorlage abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetEmailTemplate200Response

Beispiel

Beispiel für getEmailTemplate
Copy Copy
1
2const tenantId: string = "acme-marketing-042";
3const templateId: string = "tpl_welcome_2026";
4const result: GetEmailTemplate200Response = await getEmailTemplate(tenantId, templateId);
5const template: CustomEmailTemplate | undefined = result.template;
6const subject: string | undefined = template?.subject;
7const customParams: CustomConfigParameters | undefined = template?.customConfigParameters;
8

Definitionen von E-Mail-Vorlagen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja

Antwort

Gibt zurück: GetEmailTemplateDefinitions200Response

Beispiel

Beispiel für getEmailTemplateDefinitions
Copy Copy
1
2const tenantId: string = 'tenant_acme_eu_01';
3const templates: GetEmailTemplateDefinitions200Response = await getEmailTemplateDefinitions(tenantId);
4console.log('Email template definitions loaded for', tenantId, templates);
5

Renderfehler von E-Mail-Vorlagen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
skip number Nein

Antwort

Gibt zurück: GetEmailTemplateRenderErrors200Response

Beispiel

Beispiel für getEmailTemplateRenderErrors
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-tenant-42';
4 const id: string = 'tmpl_3fa85f64-5717-4562-b3fc-2c963f66afa6';
5 const skip: number = 20;
6 const result: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id, skip);
7 console.log(result);
8})();
9

E-Mail-Vorlagen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
skip number Nein

Antwort

Gibt zurück: GetEmailTemplates200Response

Beispiel

getEmailTemplates Beispiel
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = 'tenant_5f3a9c2b';
4 const templates: GetEmailTemplates200Response = await getEmailTemplates(tenantId);
5 const skip: number = 20;
6 const pagedTemplates: GetEmailTemplates200Response = await getEmailTemplates(tenantId, skip);
7 console.log(templates, pagedTemplates);
8}
9main();
10

E-Mail-Vorlage rendern Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
renderEmailTemplateBody RenderEmailTemplateBody Yes
locale string No

Antwort

Gibt zurück: RenderEmailTemplate200Response

Beispiel

renderEmailTemplate Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_b6f3c2';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'comment-notification',
5 recipient: { name: 'Ava Thompson', email: 'ava.thompson@publisher.com' },
6 context: {
7 siteName: 'City Gazette',
8 commentText: 'Thanks for the in-depth coverage — very helpful.',
9 articleTitle: 'Downtown Redevelopment Plan Advances',
10 threadUrl: 'https://citygazette.example/articles/2026/redevelopment#comments'
11 }
12};
13const locale: string = 'en-US';
14const result: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
15

E-Mail-Vorlage aktualisieren Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateEmailTemplateBody UpdateEmailTemplateBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für updateEmailTemplate
Copy Copy
1
2const tenantId: string = "tenant_76a4b2";
3const id: string = "template_9f3c1e";
4const updateEmailTemplateBody: UpdateEmailTemplateBody = {
5 name: "Comment Flag Notification",
6 subject: "A comment was flagged on your-site.com",
7 bodyHtml: "<p>Admin,</p><p>User {{commenterName}} flagged a comment: “{{commentText}}”</p>",
8 isEnabled: true,
9 description: "Email sent to moderators when a comment is flagged (optional field included)"
10};
11const result: FlagCommentPublic200Response = await updateEmailTemplate(tenantId, id, updateEmailTemplateBody);
12

Ereignisprotokoll abrufen Internal Link

req tenantId urlId userIdWS

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
userIdWS string Ja
startTime number Ja
endTime number Ja

Antwort

Gibt zurück: GetEventLog200Response

Beispiel

getEventLog Beispiel
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-01';
3const urlId: string = 'article-2026-03-25';
4const userIdWS: string | undefined = undefined; // optionaler Upstream-Wert
5const startTime: number = Date.parse('2026-03-01T00:00:00Z');
6const endTime: number = Date.parse('2026-03-25T23:59:59Z');
7
8const eventLogResponse: GetEventLog200Response = await getEventLog(
9 tenantId,
10 urlId,
11 userIdWS ?? 'ws_user_8b1f',
12 startTime,
13 endTime
14);
15

Globales Ereignisprotokoll abrufen Internal Link

req tenantId urlId userIdWS

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
userIdWS string Ja
startTime number Ja
endTime number Ja

Antwort

Gibt zurück: GetEventLog200Response

Beispiel

getGlobalEventLog Beispiel
Copy Copy
1
2const tenantId: string = "tenant-84b2f1";
3const urlId: string = "article-6721";
4const userIdWS: string = "ws-conn-9a3c";
5const startTime: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // vor 7 Tagen
6const endTimeOptional: number | undefined = undefined; // optionales Ende des Zeitraums
7const endTime: number = endTimeOptional ?? Date.now();
8const eventLog: GetEventLog200Response = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
9

Feed-Beitrag erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
createFeedPostParams CreateFeedPostParams Yes
broadcastId string No
isLive boolean No
doSpamCheck boolean No
skipDupCheck boolean No

Antwort

Gibt zurück: CreateFeedPost200Response

Beispiel

createFeedPost Beispiel
Copy Copy
1
2const tenantId: string = "tenant_7f3b9a";
3const createFeedPostParams: CreateFeedPostParams = {
4 title: "Weekly Product Update — March 2026",
5 body: "We've shipped performance improvements and bug fixes across the web client. See the release notes for details.",
6 authorId: "user_86fa2b",
7 allowComments: true,
8 media: [
9 {
10 url: "https://cdn.example.com/images/update-march.png",
11 mimeType: "image/png",
12 caption: "Performance graph",
13 assets: [{ url: "https://cdn.example.com/images/update-march@2x.png", width: 1600, height: 900 }]
14 }
15 ],
16 links: [{ url: "https://www.example.com/release-notes/march-2026", title: "Release notes" }]
17};
18const broadcastId: string = "broadcast_prod_updates_202603";
19const isLive: boolean = false;
20const doSpamCheck: boolean = true;
21const skipDupCheck: boolean = false;
22const result: CreateFeedPost200Response = await createFeedPost(tenantId, createFeedPostParams, broadcastId, isLive, doSpamCheck, skipDupCheck);
23

Öffentlichen Feed-Beitrag erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createFeedPostParams CreateFeedPostParams Ja
broadcastId string Nein
sso string Nein

Antwort

Gibt zurück: CreateFeedPostPublic200Response

Beispiel

createFeedPostPublic Beispiel
Copy Copy
1
2const tenantId: string = "tenant_987654321";
3const asset: FeedPostMediaItemAsset = { url: "https://cdn.fastcomments.com/uploads/team-photo.jpg", mimeType: "image/jpeg", sizeBytes: 324512 };
4const mediaItem: FeedPostMediaItem = { type: "image", assets: [asset], caption: "Team launch day" };
5const link: FeedPostLink = { url: "https://www.example.com/blog/product-update-march-2026", title: "Product update — March 2026" };
6const createFeedPostParams: CreateFeedPostParams = {
7 title: "Product update — March 2026",
8 content: "<p>We shipped performance improvements and two new integrations.</p>",
9 media: [mediaItem],
10 link,
11 visibility: "public",
12 tags: ["product","release","march-2026"],
13 customConfig: { allowComments: true, requireTOS: false }
14};
15const broadcastId: string = "broadcast_2026_03_25_live";
16const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NSIsImlhdCI6MTY5MDI0MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
17const result: CreateFeedPostPublic200Response = await createFeedPostPublic(tenantId, createFeedPostParams, broadcastId, sso);
18

Öffentlichen Feed-Beitrag löschen Internal Link

Parameter

Name Type Erforderlich Beschreibung
tenantId string Ja
postId string Ja
broadcastId string Nein
sso string Nein

Antwort

Gibt zurück: DeleteFeedPostPublic200Response

Beispiel

deleteFeedPostPublic Beispiel
Copy Copy
1
2const tenantId: string = "tenant_5f8a9b3c";
3const postId: string = "post_a1b2c3d4";
4const broadcastId: string = "broadcast_2026-03-25T10:00:00Z";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIiwiaWF0IjoxNjE5MjM5MjAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6
7const resultWithOptional: DeleteFeedPostPublic200Response = await deleteFeedPostPublic(tenantId, postId, broadcastId, sso);
8const resultRequiredOnly: DeleteFeedPostPublic200Response = await deleteFeedPostPublic(tenantId, postId);
9

Feed-Beiträge abrufen Internal Link

req tenantId afterId

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
afterId string Nein
limit number Nein
tags Array Nein

Antwort

Gibt zurück: GetFeedPosts200Response

Beispiel

getFeedPosts Beispiel
Copy Copy
1
2const initialPage: GetFeedPosts200Response = await getFeedPosts('tenant_9f1b3d', undefined, 20, ['sports', 'local']);
3const nextPage: GetFeedPosts200Response = await getFeedPosts('tenant_9f1b3d', 'post_abc123', 20, ['sports', 'local']);
4

Öffentliche Feed-Beiträge abrufen Internal Link

req tenantId afterId

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
afterId string Nein
limit number Nein
tags Array Nein
sso string Nein
isCrawler boolean Nein
includeUserInfo boolean Nein

Antwort

Gibt zurück: GetFeedPostsPublic200Response

Beispiel

getFeedPostsPublic Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const afterId: string = 'fp_20260301_042';
4const limit: number = 25;
5const tags: Array<string> = ['technology', 'announcement'];
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiamRvZSJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
7const isCrawler: boolean = false;
8const includeUserInfo: boolean = true;
9const response: GetFeedPostsPublic200Response = await getFeedPostsPublic(tenantId, afterId, limit, tags, sso, isCrawler, includeUserInfo);
10

Statistiken der Feed-Beiträge abrufen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
postIds Array Ja
sso string Nein

Antwort

Gibt zurück: GetFeedPostsStats200Response

Beispiel

getFeedPostsStats Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_9b2f1c4a';
3const postIds: Array<string> = [
4 '8f14e45f-ea82-4c7a-b6b2-1a2b3c4d5e6f',
5 'd0e1f2a3-b4c5-6d7e-8f90-1234567890ab'
6];
7const sso: string = 'sso_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.signature';
8const statsWithoutSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds);
9const statsWithSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds, sso);
10

Öffentliche Reaktionen eines Benutzers abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
postIds Array Nein
sso string Nein

Antwort

Gibt zurück: GetUserReactsPublic200Response

Beispiel

getUserReactsPublic Beispiel
Copy Copy
1
2const tenantId: string = "acme-tenant-8a4d2c";
3const postIds: string[] = ["post-645a2f", "post-645a30"];
4const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsImlhdCI6MTY2MTYwMDAwMH0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
5const result: GetUserReactsPublic200Response = await getUserReactsPublic(tenantId, postIds, sso);
6

Auf öffentlichen Feed-Beitrag reagieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
postId string Ja
reactBodyParams ReactBodyParams Ja
isUndo boolean Nein
broadcastId string Nein
sso string Nein

Antwort

Gibt zurück: ReactFeedPostPublic200Response

Beispiel

reactFeedPostPublic Beispiel
Copy Copy
1
2const tenantId: string = 'd290f1ee-6c54-4b01-90e6-d701748f0851';
3const postId: string = 'c1a2b3d4-5678-90ab-cdef-1234567890ab';
4const reactBodyParams: ReactBodyParams = { reaction: 'like', emoji: '👍', source: 'web' };
5const isUndo: boolean = false;
6const broadcastId: string = 'broadcast-2026-03-25-001';
7const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
8const result: ReactFeedPostPublic200Response = await reactFeedPostPublic(tenantId, postId, reactBodyParams, isUndo, broadcastId, sso);
9

Feed-Beitrag aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
feedPost FeedPost Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

updateFeedPost Beispiel
Copy Copy
1
2const tenantId: string = 'acme-global-tenant-42';
3const id: string = 'f47ac10b-58cc-4372-a567-0e02b2c3d479';
4
5const asset: FeedPostMediaItemAsset = {
6 url: 'https://cdn.acme.com/images/product-launch.jpg',
7 mimeType: 'image/jpeg',
8 width: 1200,
9 height: 630
10};
11
12const mediaItem: FeedPostMediaItem = {
13 id: 'media-001',
14 type: 'image',
15 asset
16};
17
18const link: FeedPostLink = {
19 url: 'https://acme.com/blog/product-launch',
20 title: 'Product Launch Details'
21};
22
23const feedPost: FeedPost = {
24 title: 'Introducing the Q3 Product Suite',
25 body: 'We are excited to unveil our new lineup for Q3, focusing on performance and security improvements.',
26 media: [mediaItem], // optionales Array eingeschlossen
27 links: [link], // optionale Links eingeschlossen
28 isPublished: true // optionales Veröffentlichungs-Flag verwendet
29};
30
31const result: FlagCommentPublic200Response = await updateFeedPost(tenantId, id, feedPost);
32

Öffentlichen Feed-Beitrag aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
postId string Ja
updateFeedPostParams UpdateFeedPostParams Ja
broadcastId string Nein
sso string Nein

Antwort

Gibt zurück: CreateFeedPostPublic200Response

Beispiel

Beispiel für updateFeedPostPublic
Copy Copy
1
2const tenantId: string = "tenant_9f4b2";
3const postId: string = "post_21a8e";
4const updateFeedPostParams: UpdateFeedPostParams = {
5 title: "Quarterly product update",
6 body: "Major performance improvements and bug fixes deployed today. See release notes and schedule.",
7 links: [{ url: "https://status.example.com/release-notes", title: "Release notes" }],
8 media: [
9 {
10 type: "image",
11 assets: [{ url: "https://cdn.example.com/updates/q2.png", mimeType: "image/png", width: 1200, height: 628 }]
12 }
13 ]
14};
15const broadcastId: string = "broadcast_live_202603";
16const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature";
17const result: CreateFeedPostPublic200Response = await updateFeedPostPublic(tenantId, postId, updateFeedPostParams, broadcastId, sso);
18

Kommentar öffentlich melden Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
isFlagged boolean Ja
sso string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

flagCommentPublic Beispiel
Copy Copy
1
2const tenantId: string = "tenant_9f8b3c";
3const commentId: string = "comment_72a1d4";
4const isFlagged: boolean = true;
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1Njc4OSJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6const result: FlagCommentPublic200Response = await flagCommentPublic(tenantId, commentId, isFlagged, sso);
7

Hashtag hinzufügen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Nein
createHashTagBody CreateHashTagBody Nein

Antwort

Gibt zurück: AddHashTag200Response

Beispiel

addHashTag Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const createHashTagBody: CreateHashTagBody = {
4 name: 'feature-request',
5 label: 'Feature Request',
6 color: '#FF5722',
7 enabled: true
8};
9const response: AddHashTag200Response = await addHashTag(tenantId, createHashTagBody);
10const responseWithoutTenant: AddHashTag200Response = await addHashTag(undefined, createHashTagBody);
11

Hashtags (stapelweise) hinzufügen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Nein
bulkCreateHashTagsBody BulkCreateHashTagsBody Nein

Antwort

Gibt zurück: AddHashTagsBulk200Response

Beispiel

addHashTagsBulk Beispiel
Copy Copy
1
2// Erstelle Mandantenkennung (optionaler Parameter)
3const tenantId: string = "tenant_9f8c2b7a";
4
5// Bereite einzelne Tag-Einträge vor
6const tag1: BulkCreateHashTagsBodyTagsInner = {
7 name: "product-feedback",
8 label: "Product Feedback",
9 color: "#1f8a70",
10 description: "User suggestions and enhancement requests",
11 isActive: true
12};
13
14const tag2: BulkCreateHashTagsBodyTagsInner = {
15 name: "bug-report",
16 label: "Bug Report",
17 color: "#d64545",
18 description: "User-reported defects and issues",
19 isActive: true
20};
21
22// Body für die Bulk-Erstellung (optionaler Parameter)
23const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
24 tags: [tag1, tag2]
25};
26
27// Rufe die globale asynchrone Funktion auf und weise das typisierte Ergebnis zu
28const result: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
29

Hashtag löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tag string Ja
tenantId string Nein
deleteHashTagRequest DeleteHashTagRequest Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

deleteHashTag Beispiel
Copy Copy
1
2const tag: string = "breaking-news";
3const tenantId: string = "tenant_12345";
4const deleteRequest: DeleteHashTagRequest = { initiatedBy: "moderator@newsorg.com", purgeAllOccurrences: true };
5const result: FlagCommentPublic200Response = await deleteHashTag(tag, tenantId, deleteRequest);
6

Hashtags abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
page number Nein

Antwort

Gibt zurück: GetHashTags200Response

Beispiel

getHashTags Beispiel
Copy Copy
1
2const tenantId: string = 'acme-tenant-42';
3const pageNumber: number = 2;
4const responseWithPage: GetHashTags200Response = await getHashTags(tenantId, pageNumber);
5const responseWithoutPage: GetHashTags200Response = await getHashTags(tenantId);
6

Hashtag teilweise aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tag string Ja
tenantId string Nein
updateHashTagBody UpdateHashTagBody Nein

Antwort

Gibt zurück: PatchHashTag200Response

Beispiel

patchHashTag Beispiel
Copy Copy
1
2const tag: string = "feature-ux-refresh";
3const tenantId: string = "tenant_4f92c1";
4const updateHashTagBody: UpdateHashTagBody = {
5 label: "UX Refresh",
6 description: "Track comments related to the 2026 UX redesign",
7 isActive: true,
8 metadata: { owner: "product-design", rolloutPhase: "phase-2" }
9};
10const response: PatchHashTag200Response = await patchHashTag(tag, tenantId, updateHashTagBody);
11

Moderator erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createModeratorBody CreateModeratorBody Ja

Antwort

Gibt zurück: CreateModerator200Response

Beispiel

createModerator Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7d9f2b4a';
3const customConfig: CustomConfigParameters = { timezone: 'UTC', moderationQueueEnabled: true };
4const createModeratorBody: CreateModeratorBody = {
5 email: 'jane.martin@publisher.com',
6 displayName: 'Jane Martin',
7 roles: ['moderator'],
8 sendWelcomeEmail: true,
9 customConfig
10};
11const response: CreateModerator200Response = await createModerator(tenantId, createModeratorBody);
12

Moderator löschen Internal Link

Parameter

Name Type Erforderlich Beschreibung
tenantId string Ja
id string Ja
sendEmail string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für deleteModerator
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2d4a6c';
3const moderatorId: string = 'moderator_84a1b9c2';
4const sendEmail: string = 'true';
5const result: FlagCommentPublic200Response = await deleteModerator(tenantId, moderatorId, sendEmail);
6

Moderator abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetModerator200Response

Beispiel

Beispiel für getModerator
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-123';
3const id: string = 'mod-987654321';
4const moderatorResponse: GetModerator200Response = await getModerator(tenantId, id);
5

Moderatoren abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
skip number Nein

Antwort

Gibt zurück: GetModerators200Response

Beispiel

getModerators Beispiel
Copy Copy
1
2const tenantId: string = 'tenant-12345-prod';
3const moderatorsPage1: GetModerators200Response = await getModerators(tenantId);
4const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, 50);
5

Einladung senden Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
fromName string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

sendInvite Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme-42';
3const id: string = 'comment_8f3b21a7';
4const fromName: string = 'Elena Morales';
5const replyToEmail: string | undefined = undefined;
6
7const result: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName, replyToEmail);
8

Moderator aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateModeratorBody UpdateModeratorBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

updateModerator Beispiel
Copy Copy
1
2const tenantId: string = "acme-enterprises-42";
3const id: string = "moderator_517";
4const updateModeratorBody: UpdateModeratorBody = {
5 displayName: "Sofia Martinez",
6 email: "sofia.martinez@acme.com",
7 permissions: ["approve_comments", "flag_spam", "suspend_users"],
8 active: true,
9 avatarUrl: "https://cdn.acme.com/avatars/sofia.jpg" // optionales Feld zur Demonstration
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBody);
12

Benachrichtigungszähler löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für deleteNotificationCount
Copy Copy
1
2const tenantSuffix: string | undefined = undefined;
3const tenantId: string = tenantSuffix ? `tenant-${tenantSuffix}` : 'tenant-9142a7';
4const id: string = '3f9b2a44-1c2e-4d3b-9f6a-8e7c6d5b2a1f';
5const result: FlagCommentPublic200Response = await deleteNotificationCount(tenantId, id);
6console.log(result);
7

Zwischengespeicherten Benachrichtigungszähler abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetCachedNotificationCount200Response

Beispiel

getCachedNotificationCount Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const id: string = 'user_00012345';
4const includeUnreadOnly: boolean | undefined = true; // optionales Parameter-Flag (dargestellt)
5const result: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, id);
6

Benachrichtigungsanzahl abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein
urlId string Nein
fromCommentId string Nein
viewed boolean Nein
type string Nein

Antwort

Gibt zurück: GetNotificationCount200Response

Beispiel

Beispiel für getNotificationCount
Copy Copy
1
2const tenantId: string = 'tenant_abc123';
3const userId: string = 'user_987654321';
4const urlId: string = 'https://example.com/news/2026/new-features';
5const viewed: boolean = false;
6const type: string = 'reply';
7const notificationCountResponse: GetNotificationCount200Response = await getNotificationCount(tenantId, userId, urlId, undefined, viewed, type);
8

Benachrichtigungen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein
urlId string Nein
fromCommentId string Nein
viewed boolean Nein
type string Nein
skip number Nein

Antwort

Gibt zurück: GetNotifications200Response

Beispiel

getNotifications Beispiel
Copy Copy
1
2const tenantId: string = "tenant_84b3f2";
3const userId: string = "user_1279";
4const urlId: string = "https://www.example.com/articles/2026/03/25/new-feature";
5const fromCommentId: string = "cmt_5421";
6const viewed: boolean = false;
7const type: string = "mention";
8const skip: number = 0;
9const notifications: GetNotifications200Response = await getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip);
10

Benachrichtigung aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateNotificationBody UpdateNotificationBody Ja
userId string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für updateNotification
Copy Copy
1
2const tenantId: string = 'tenant_prod_8f4b2c';
3const id: string = 'notification_61a2e9';
4const userId: string = 'moderator_107';
5const updateNotificationBody: UpdateNotificationBody = {
6 name: 'Flagged Comment Notification',
7 enabled: true,
8 channels: ['email', 'inbox'],
9 templateId: 'tmpl_mod_alerts_01',
10 severity: 'high'
11};
12const result: FlagCommentPublic200Response = await updateNotification(tenantId, id, updateNotificationBody, userId);
13

Seite hinzufügen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createAPIPageData CreateAPIPageData Ja

Antwort

Gibt zurück: AddPageAPIResponse


Seite löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: DeletePageAPIResponse


Seite nach URL-ID abrufen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja

Antwort

Gibt zurück: GetPageByURLIdAPIResponse


Seiten abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja

Antwort

Gibt zurück: GetPagesAPIResponse


Seite teilweise aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateAPIPageData UpdateAPIPageData Ja

Antwort

Gibt zurück: PatchPageAPIResponse


Ausstehendes Webhook-Ereignis löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

deletePendingWebhookEvent Beispiel
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_42f7c9b1';
4 const id: string = 'pending_webhook_ev_8f3b9a2d';
5 const reason?: string = undefined; // Beispiel für einen optionalen Parameter (nicht erforderlich für die Funktion)
6 const result: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, id);
7 console.log(result);
8})();
9

Anzahl ausstehender Webhook-Ereignisse abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Nein
externalId string Nein
eventType string Nein
type string Nein
domain string Nein
attemptCountGT number Nein

Antwort

Gibt zurück: GetPendingWebhookEventCount200Response

Beispiel

Beispiel für getPendingWebhookEventCount
Copy Copy
1
2const tenantId: string = "tenant_8d3b7a2f";
3const commentId: string | undefined = "comment_79a2b";
4const eventType: string | undefined = "comment.created";
5const domain: string | undefined = "forum.acme-corp.com";
6const attemptCountGT: number | undefined = 1;
7const result: GetPendingWebhookEventCount200Response = await getPendingWebhookEventCount(
8 tenantId,
9 commentId,
10 undefined,
11 eventType,
12 undefined,
13 domain,
14 attemptCountGT
15);
16

Ausstehende Webhook-Ereignisse abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Nein
externalId string Nein
eventType string Nein
type string Nein
domain string Nein
attemptCountGT number Nein
skip number Nein

Antwort

Gibt zurück: GetPendingWebhookEvents200Response

Beispiel

getPendingWebhookEvents Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_9b3f7c';
3const commentId: string | undefined = undefined;
4const externalId: string | undefined = 'external-572a';
5const eventType: string | undefined = 'comment.updated';
6const type: string | undefined = 'outbound';
7const domain: string | undefined = 'reviews.example.com';
8const attemptCountGT: number | undefined = 1;
9const skip: number | undefined = 20;
10
11const result: GetPendingWebhookEvents200Response = await getPendingWebhookEvents(
12 tenantId,
13 commentId,
14 externalId,
15 eventType,
16 type,
17 domain,
18 attemptCountGT,
19 skip
20);
21

Fragekonfiguration erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createQuestionConfigBody CreateQuestionConfigBody Ja

Antwort

Gibt zurück: CreateQuestionConfig200Response

Beispiel

createQuestionConfig Beispiel
Copy Copy
1
2const tenantId: string = "tenant_9f8b2c";
3const option: QuestionConfigCustomOptionsInner = { id: "opt_yes", label: "Yes, helpful", value: "yes" };
4const createQuestionConfigBody: CreateQuestionConfigBody = {
5 title: "Article usefulness",
6 prompt: "Was this article helpful?",
7 type: "singleChoice",
8 required: false, // optionaler Parameter demonstriert
9 options: [option],
10 saveBehavior: "immediate"
11};
12const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
13

Fragekonfiguration löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

deleteQuestionConfig Beispiel
Copy Copy
1
2const tenantId: string = "acme-enterprises-01";
3const idOptional: string | undefined = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
4const id: string = idOptional ?? "11111111-1111-1111-1111-111111111111";
5const response: FlagCommentPublic200Response = await deleteQuestionConfig(tenantId, id);
6

Fragekonfiguration abrufen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetQuestionConfig200Response

Beispiel

getQuestionConfig Beispiel
Copy Copy
1
2const tenantId: string = 'acme-tenant-92';
3const id: string = 'question-2026-07-42';
4const response: GetQuestionConfig200Response = await getQuestionConfig(tenantId, id);
5
6function summarize(cfg: GetQuestionConfig200Response, includeDetails?: boolean): string {
7 return includeDetails ? 'Question config (detailed)' : 'Question config (summary)';
8}
9
10const summary: string = summarize(response);
11

Fragekonfigurationen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
skip number No

Antwort

Gibt zurück: GetQuestionConfigs200Response

Beispiel

getQuestionConfigs Beispiel
Copy Copy
1
2const tenantId: string = "tenant_acme_9876";
3const configsWithoutSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const configsWithSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, 20);
5

Fragekonfiguration aktualisieren Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateQuestionConfigBody UpdateQuestionConfigBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

updateQuestionConfig Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_42e8b';
3const id: string = 'question_9f4a2';
4const updateQuestionConfigBody: UpdateQuestionConfigBody = {
5 questionText: 'How helpful was this article?',
6 description: 'Shown to users below the question (optional)',
7 required: true,
8 renderingType: 'Likert' as QuestionRenderingType,
9 customOptions: [
10 { label: 'Very helpful', value: '5' } as QuestionConfigCustomOptionsInner,
11 { label: 'Somewhat helpful', value: '3' } as QuestionConfigCustomOptionsInner,
12 { label: 'Not helpful', value: '1' } as QuestionConfigCustomOptionsInner
13 ],
14 whenSave: 'notify' as QuestionWhenSave
15};
16const result: FlagCommentPublic200Response = await updateQuestionConfig(tenantId, id, updateQuestionConfigBody);
17

Frageergebnis erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createQuestionResultBody CreateQuestionResultBody Ja

Antwort

Gibt zurück: CreateQuestionResult200Response

Beispiel

createQuestionResult Beispiel
Copy Copy
1
2const tenantId: string = "tenant-72b1f4";
3const meta: MetaItem[] = [{ key: "platform", value: "web" }];
4const createQuestionResultBody: CreateQuestionResultBody = {
5 questionId: "question-83472",
6 commenterId: "user-5521",
7 answers: [{ subQuestionId: "sq-1", value: "Yes" }],
8 meta, // optionale Metadaten
9 note: "Follow-up requested" // optionaler Parameter demonstriert
10};
11const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, createQuestionResultBody);
12

Frageergebnis löschen Internal Link

Parameters

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Response

Gibt zurück: FlagCommentPublic200Response

Beispiel

deleteQuestionResult Beispiel
Copy Copy
1
2const tenantId: string = "org-82479";
3const questionId: string = "q-6a3d2e1f";
4const includeArchived?: boolean = false; // optionaler Parameter zur Demonstration der alternativen Zielauswahl
5const targetId: string = includeArchived ? "q-archived-112233" : questionId;
6const result: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, targetId);
7

Frageergebnis abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetQuestionResult200Response

Beispiel

Beispiel für getQuestionResult
Copy Copy
1
2const post: { title: string; questionId?: string } = { title: 'Product feedback' };
3const tenantId: string = 'acme-corp-tenant-01';
4const id: string = post.questionId ?? 'q-8f3a7b2c4d9e';
5const result: GetQuestionResult200Response = await getQuestionResult(tenantId, id);
6

Frageergebnisse abrufen Internal Link

Parameter

Name Type Erforderlich Beschreibung
tenantId string Ja
urlId string Nein
userId string Nein
startDate string Nein
questionId string Nein
questionIds string Nein
skip number Nein

Antwort

Gibt zurück: GetQuestionResults200Response

Beispiel

getQuestionResults Beispiel
Copy Copy
1
2const tenantId: string = "tenant_acme_001";
3const urlId: string = "articles/product-launch-2026";
4const userId: string = "user_2048";
5const startDate: string = "2026-03-01T00:00:00Z";
6const questionId: string | undefined = undefined;
7const questionIds: string | undefined = "q_101,q_102";
8const skip: number | undefined = 0;
9
10const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip);
11

Frageergebnis aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateQuestionResultBody UpdateQuestionResultBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für updateQuestionResult
Copy Copy
1
2const tenantId: string = 'tenant_7f8b3c';
3const id: string = 'questionResult_4621';
4const updateQuestionResultBody: UpdateQuestionResultBody = {
5 questionId: 'q_1024',
6 result: 'flagged',
7 score: 0.92,
8 notes: 'Automated moderation flagged for review',
9 meta: [{ key: 'source', value: 'ai-moderator' }] as MetaItem[], // optionale Metadaten
10 status: { code: 'review_pending' } as APIStatus
11} as UpdateQuestionResultBody;
12const result: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
13

Frageergebnisse aggregieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
questionId string Nein
questionIds Array Nein
urlId string Nein
timeBucket AggregateTimeBucket Nein
startDate Date Nein
forceRecalculate boolean Nein

Antwort

Gibt zurück: AggregateQuestionResults200Response

Beispiel

Beispiel für aggregateQuestionResults
Copy Copy
1
2const tenantId: string = 'tenant_acme_98765';
3const questionIds: Array<string> = ['q-102', 'q-103'];
4const urlId: string = 'url_55b3';
5const timeBucket: AggregateTimeBucket = { unit: 'day', size: 7 };
6const startDate: Date = new Date('2026-01-01T00:00:00Z');
7const forceRecalculate: boolean = true;
8
9const result: AggregateQuestionResults200Response = await aggregateQuestionResults(
10 tenantId,
11 undefined, // questionId weggelassen, stattdessen questionIds verwendet
12 questionIds,
13 urlId,
14 timeBucket,
15 startDate,
16 forceRecalculate
17);
18

Frageergebnisse (stapelweise) aggregieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
bulkAggregateQuestionResultsRequest BulkAggregateQuestionResultsRequest Ja
forceRecalculate boolean Nein

Antwort

Gibt zurück: BulkAggregateQuestionResults200Response

Beispiel

bulkAggregateQuestionResults Beispiel
Copy Copy
1
2const tenantId: string = "tenant_live_7c9d";
3const bulkAggregateQuestionResultsRequest: BulkAggregateQuestionResultsRequest = {
4 items: [
5 { questionId: "q_feedback_rating", includeSubQuestions: false, filters: { locale: "en-US" } }
6 ],
7 timeBuckets: [
8 { granularity: "day", startUtc: "2026-03-01T00:00:00Z", endUtc: "2026-03-15T00:00:00Z" }
9 ]
10};
11const forceRecalculate: boolean = true;
12const result: BulkAggregateQuestionResults200Response = await bulkAggregateQuestionResults(tenantId, bulkAggregateQuestionResultsRequest, forceRecalculate);
13

Kommentare mit Frageergebnissen kombinieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
questionId string Nein
questionIds Array Nein
urlId string Nein
startDate Date Nein
forceRecalculate boolean Nein
minValue number Nein
maxValue number Nein
limit number Nein

Antwort

Rückgabe: CombineCommentsWithQuestionResults200Response

Beispiel

Beispiel für combineCommentsWithQuestionResults
Copy Copy
1
2const tenantId: string = 'tenant_9f3a2';
3const questionIds: string[] = ['question-42', 'question-43'];
4const urlId: string = 'url_5d7b';
5const startDate: Date = new Date('2026-02-01T00:00:00Z');
6const forceRecalculate: boolean = true;
7const minValue: number = 1;
8const maxValue: number = 5;
9const limit: number = 50;
10const result: CombineCommentsWithQuestionResults200Response = await combineCommentsWithQuestionResults(
11 tenantId,
12 undefined,
13 questionIds,
14 urlId,
15 startDate,
16 forceRecalculate,
17 minValue,
18 maxValue,
19 limit
20);
21

SSO-Benutzer hinzufügen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createAPISSOUserData CreateAPISSOUserData Ja

Antwort

Gibt zurück: AddSSOUserAPIResponse


SSO-Benutzer löschen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
deleteComments boolean Nein
commentDeleteMode string Nein

Antwort

Gibt zurück: DeleteSSOUserAPIResponse


SSO-Benutzer per E-Mail abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
email string Ja

Antwort

Gibt zurück: GetSSOUserByEmailAPIResponse


SSO-Benutzer per ID abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetSSOUserByIdAPIResponse


SSO-Benutzer abrufen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
skip number Nein

Antwort

Gibt zurück: GetSSOUsers200Response


SSO-Benutzer teilweise aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateAPISSOUserData UpdateAPISSOUserData Ja
updateComments boolean Nein

Antwort

Gibt zurück: PatchSSOUserAPIResponse


SSO-Benutzer ersetzen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateAPISSOUserData UpdateAPISSOUserData Ja
updateComments boolean Nein

Antwort

Gibt zurück: PutSSOUserAPIResponse


Abonnement erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createAPIUserSubscriptionData CreateAPIUserSubscriptionData Ja

Antwort

Gibt zurück: CreateSubscriptionAPIResponse

Beispiel

createSubscription Beispiel
Copy Copy
1
2const tenantId: string = "acme-corp-123";
3const createAPIUserSubscriptionData: CreateAPIUserSubscriptionData = {
4 userId: "u_987654",
5 planId: "pro_monthly",
6 startDate: new Date().toISOString(),
7 trialDays: 14, // optionaler Parameter demonstriert
8 metadata: { source: "marketing-email" } // optionaler Parameter demonstriert
9};
10const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, createAPIUserSubscriptionData);
11const subscription: APIUserSubscription = result.subscription;
12

Abonnement löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
userId string Nein

Antwort

Gibt zurück: DeleteSubscriptionAPIResponse


Abonnements abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein

Antwort

Gibt zurück: GetSubscriptionsAPIResponse

Beispiel

Beispiel für getSubscriptions
Copy Copy
1
2const tenantId: string = 'tenant_acme_corp_01';
3const userId: string = 'user_76a3b9f2';
4const subscriptionsForUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId, userId);
5const subscriptionsForTenant: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId);
6

Abonnement aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateAPIUserSubscriptionData UpdateAPIUserSubscriptionData Ja
userId string Nein

Antwort

Gibt zurück: UpdateSubscriptionAPIResponse

Beispiel

Beispiel für updateSubscription
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2c';
3const subscriptionId: string = 'sub_7641a2b3';
4const updateData: UpdateAPIUserSubscriptionData = {
5 status: 'active',
6 planId: 'pro_annual',
7 autoRenew: true,
8 renewalDate: '2026-04-15T00:00:00Z',
9 metadata: { upgradedBy: 'billing-team' }
10};
11const userId: string = 'user_215';
12const result: UpdateSubscriptionAPIResponse = await updateSubscription(tenantId, subscriptionId, updateData, userId);
13

Tägliche Nutzung des Mandanten abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
yearNumber number Nein
monthNumber number Nein
dayNumber number Nein
skip number Nein

Antwort

Gibt zurück: GetTenantDailyUsages200Response

Beispiel

getTenantDailyUsages Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_5f4a3b2c-1d6e-4f9a-b9d8-123456789abc';
3const yearNumber: number = 2026;
4const monthNumber: number = 3;
5const dayNumber: number = 24;
6const skip: number = 0;
7
8const result: GetTenantDailyUsages200Response = await getTenantDailyUsages(tenantId, yearNumber, monthNumber, dayNumber, skip);
9

Mandantenpaket erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createTenantPackageBody CreateTenantPackageBody Ja

Antwort

Gibt zurück: CreateTenantPackage200Response

Beispiel

createTenantPackage Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const createTenantPackageBody: CreateTenantPackageBody = {
4 packageName: 'Standard Moderation',
5 description: 'Suitable for small-to-medium sites: basic moderation, spam rules, and analytics',
6 maxCommentsPerMinute: 50,
7 allowAnonymousComments: false, // optionaler Parameter angegeben
8 // optionale Felder weggelassen: z. B. erweiterte Moderationsregeln, benutzerdefiniertes CSS
9 customConfigParameters: {
10 enableProfanityFilter: true,
11 imageContentProfanityLevel: 'medium' // beispielhafter Wert; verwendet die Struktur von CustomConfigParameters
12 }
13};
14const response: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
15console.log(response);
16

Mandantenpaket löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

deleteTenantPackage Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_corp_987';
3const packageId: string = 'pkg_pro_2026_01';
4type DeleteOptions = { force?: boolean; notify?: boolean };
5const options: DeleteOptions = { force: true }; // optionale Parameter demonstriert
6const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
7

Mandantenpaket abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetTenantPackage200Response

Beispiel

getTenantPackage Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7f3b2c8';
3const packageId: string = 'pkg_standard_2026';
4const requestOptions: { includeConfig?: boolean } = { includeConfig: true };
5const packageResponse: GetTenantPackage200Response = await getTenantPackage(tenantId, packageId);
6

Mandantenpakete abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
skip number Nein

Antwort

Gibt zurück: GetTenantPackages200Response

Beispiel

getTenantPackages Beispiel
Copy Copy
1
2const tenantId: string = "tenant_7f8e3b4c";
3const skip: number = 20;
4const packagesDefault: GetTenantPackages200Response = await getTenantPackages(tenantId);
5const packagesWithSkip: GetTenantPackages200Response = await getTenantPackages(tenantId, skip);
6

Mandantenpaket ersetzen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
replaceTenantPackageBody ReplaceTenantPackageBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

replaceTenantPackage Beispiel
Copy Copy
1
2const tenantId: string = "tenant-9f3c2a";
3const id: string = "pkg_4f8b21";
4const replaceTenantPackageBody: ReplaceTenantPackageBody = {
5 packageName: "Premium Moderation Pack",
6 enabled: true,
7 apiStatus: { mode: "active" } as APIStatus,
8 customConfigParameters: { maxFlagsBeforeReview: 5 } as CustomConfigParameters,
9 voteStyle: "thumbs" as VoteStyle,
10 tosConfig: { requireAcceptance: true } as TOSConfig
11};
12const result: FlagCommentPublic200Response = await replaceTenantPackage(tenantId, id, replaceTenantPackageBody);
13

Mandantenpaket aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateTenantPackageBody UpdateTenantPackageBody Ja

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

updateTenantPackage Beispiel
Copy Copy
1
2const tenantId: string = "tenant_3b7f9d-prod";
3const id: string = "pkg_enterprise_2026";
4const updateTenantPackageBody: UpdateTenantPackageBody = {
5 name: "Enterprise Plus",
6 isActive: true,
7 // optionale Felder absichtlich weggelassen (z. B. Beschreibung, Limits)
8} as UpdateTenantPackageBody;
9const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, id, updateTenantPackageBody);
10

Mandanten-Benutzer erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createTenantUserBody CreateTenantUserBody Ja

Antwort

Gibt zurück: CreateTenantUser200Response

Beispiel

createTenantUser Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_6f4b2c';
3const createTenantUserBody: CreateTenantUserBody = {
4 email: 'sara.kim@example.com',
5 displayName: 'Sara Kim',
6 role: 'moderator',
7 notifyOnMentions: true
8};
9const result: CreateTenantUser200Response = await createTenantUser(tenantId, createTenantUserBody);
10

Mandanten-Benutzer löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
deleteComments string Nein
commentDeleteMode string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für deleteTenantUser
Copy Copy
1
2const tenantId: string = '4f3a9b2e-1c6a-4f7b-9e2a-0b8d6f1c2a3e';
3const userId: string = '9d2f7b3a-5c4e-48a2-b1f0-6c7d8e9f0a12';
4const deleteComments: string = 'true';
5const commentDeleteMode: string = 'permanent';
6const result: FlagCommentPublic200Response = await deleteTenantUser(tenantId, userId, deleteComments, commentDeleteMode);
7

Mandanten-Benutzer abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetTenantUser200Response

Beispiel

Beispiel für getTenantUser
Copy Copy
1
2const tenantId: string = 'tenant_fc5a9b2c';
3const userId: string = 'user_0a12b3';
4const result: GetTenantUser200Response = await getTenantUser(tenantId, userId);
5const user: User | undefined = (result as any).user; // accessing payload
6const userEmail: string | undefined = user?.email;
7console.log('Fetched user email:', userEmail);
8

Mandanten-Benutzer abrufen Internal Link

Parameters

Name Typ Erforderlich Beschreibung
tenantId string Ja
skip number Nein

Response

Gibt zurück: GetTenantUsers200Response

Beispiel

Beispiel für getTenantUsers
Copy Copy
1
2const tenantId: string = 'tenant_prod_8a3f2c';
3const skip: number = 50;
4const usersWithSkip: GetTenantUsers200Response = await getTenantUsers(tenantId, skip);
5const usersNoSkip: GetTenantUsers200Response = await getTenantUsers(tenantId);
6

Mandanten-Benutzer ersetzen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
replaceTenantUserBody ReplaceTenantUserBody Ja
updateComments string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

replaceTenantUser Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_9d8f4b2c';
3const id: string = 'user_f47ac10b';
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 externalId: 'ext-5234',
6 email: 'jane.doe@acme.com',
7 displayName: 'Jane Doe',
8 roles: ['moderator'],
9 metadata: { department: 'product', region: 'us-east-1' }
10};
11const updateComments: string = 'propagate-display-name-to-comments';
12
13const result: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
14

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
redirectURL string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

sendLoginLink Beispiel
Copy Copy
1
2const tenantId: string = "tenant_12a9f3b7";
3const id: string = "user_84b2c7d1";
4const redirectURL: string = "https://app.mycompany.com/welcome?ref=login_email";
5const resultWithoutRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id);
6const resultWithRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id, redirectURL);
7

Mandanten-Benutzer aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateTenantUserBody UpdateTenantUserBody Ja
updateComments string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

updateTenantUser Beispiel
Copy Copy
1
2const tenantId: string = "tenant_8f3b2a9d";
3const id: string = "user_52c9f1ab";
4const updateTenantUserBody: UpdateTenantUserBody = {
5 email: "jane.doe@example.com",
6 displayName: "Jane Doe",
7 roles: ["moderator"],
8 isActive: true,
9 metadata: { signupSource: "sso", locale: "en-US" }
10};
11const updateComments: string = "Promoted to moderator and updated display name";
12const result: FlagCommentPublic200Response = await updateTenantUser(tenantId, id, updateTenantUserBody, updateComments);
13

Mandant erstellen Internal Link


Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createTenantBody CreateTenantBody Ja

Antwort

Gibt zurück: CreateTenant200Response

Beispiel

createTenant Beispiel
Copy Copy
1
2const tenantId: string = "acme-corp-001";
3const createTenantBody: CreateTenantBody = {
4 name: "Acme Corporation",
5 domain: "comments.acme.com",
6 adminContact: { name: "Jane Doe", email: "jane.doe@acme.com" },
7 billingInfo: { planId: "pro-monthly", billingContactEmail: "billing@acme.com" },
8 importedSite: { siteId: "site-123", siteName: "Acme Blog" } // optionale importierte Website
9};
10const result: CreateTenant200Response = await createTenant(tenantId, createTenantBody);
11

Mandant löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
sure string Nein

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für deleteTenant
Copy Copy
1
2const tenantId: string = "tenant_7f3d2c";
3const id: string = "flag_8392b1a7";
4const sure: string = "confirmed";
5
6const responseWithoutSure: FlagCommentPublic200Response = await deleteTenant(tenantId, id);
7const responseWithSure: FlagCommentPublic200Response = await deleteTenant(tenantId, id, sure);
8

Mandant abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetTenant200Response

Beispiel

getTenant Beispiel
Copy Copy
1
2const tenantId: string = "tenant_9f4b2c1a";
3const idOverride: string | undefined = undefined; // optionale Überschreibung, falls verfügbar
4const id: string = idOverride ?? "site_3e7a6b2f";
5const response: GetTenant200Response = await getTenant(tenantId, id);
6console.log(response);
7

Mandanten abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
meta string Nein
skip number Nein

Antwort

Gibt zurück: GetTenants200Response

Beispiel

getTenants Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_8421e7';
3const meta: string = 'include=domains,billing,customConfig';
4const skip: number = 20;
5
6const tenantsBasic: GetTenants200Response = await getTenants(tenantId);
7const tenantsWithOptions: GetTenants200Response = await getTenants(tenantId, meta, skip);
8

Mandant aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
id string Yes
updateTenantBody UpdateTenantBody Yes

Antwort

Gibt zurück: FlagCommentPublic200Response

Beispiel

Beispiel für updateTenant
Copy Copy
1
2const tenantId: string = "tenant_4821";
3const id: string = "flag_7b9e";
4const billingInfo: BillingInfo | undefined = undefined; // optional, weglassen, um die aktuellen Abrechnungsinformationen beizubehalten
5const updateTenantBody: UpdateTenantBody = {
6 name: "Acme News Comments",
7 defaultDomain: "comments.acme.com",
8 ...(billingInfo ? { billingInfo } : {})
9};
10const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
11

Ticketstatus ändern Internal Link

Parameter

Name Type Erforderlich Beschreibung
tenantId string Ja
userId string Ja
id string Ja
changeTicketStateBody ChangeTicketStateBody Ja

Antwort

Gibt zurück: ChangeTicketState200Response

Beispiel

changeTicketState Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_82f9b3';
3const userId: string = 'user_9472';
4const id: string = 'ticket_550e8400-e29b-41d4-a716-446655440000';
5const changeTicketStateBody: ChangeTicketStateBody = {
6 state: 'resolved',
7 comment: 'Confirmed fix deployed to production; closing ticket.',
8 notifySubscribers: true
9};
10const result: ChangeTicketState200Response = await changeTicketState(tenantId, userId, id, changeTicketStateBody);
11

Ticket erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Ja
createTicketBody CreateTicketBody Ja

Antwort

Gibt zurück: CreateTicket200Response

Beispiel

createTicket Beispiel
Copy Copy
1
2const tenantId: string = "acme-corp-001";
3const userId: string = "user_72b9f4";
4const createTicketBody: CreateTicketBody = {
5 subject: "Subscription renewal failed for card on file",
6 description: "Customer's card was declined by the payment processor during automatic renewal. Transaction ID: txn_9a8b7c. Please review gateway logs and retry.",
7 priority: "high", // optionales Feld demonstriert
8 contactEmail: "billing@acme-corp.com", // optionale Kontaktinformationen
9 relatedUrl: "https://acme-corp.com/account/billing"
10};
11const ticketResponse: CreateTicket200Response = await createTicket(tenantId, userId, createTicketBody);
12

Ticket abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
userId string Nein

Antwort

Gibt zurück: GetTicket200Response

Beispiel

getTicket Beispiel
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-01';
3const ticketId: string = 'tkt-20260325-42';
4const userId: string = 'user-8452';
5
6const ticketResponseWithUser: GetTicket200Response = await getTicket(tenantId, ticketId, userId);
7const ticketResponseWithoutUser: GetTicket200Response = await getTicket(tenantId, ticketId);
8

Tickets abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein
state number Nein
skip number Nein
limit number Nein

Antwort

Gibt zurück: GetTickets200Response

Beispiel

getTickets Beispiel
Copy Copy
1
2const tenantId: string = "tenant_92f3b4c1";
3const userId: string = "user_742a9f3e";
4const state: number = 1;
5const skip: number = 0;
6const limit: number = 25;
7const ticketsFull: GetTickets200Response = await getTickets(tenantId, userId, state, skip, limit);
8const ticketsMinimal: GetTickets200Response = await getTickets("tenant_92f3b4c1");
9

Bild hochladen Internal Link

Bild hochladen und skalieren

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
file Blob Ja
sizePreset SizePreset Nein
urlId string Nein

Antwort

Gibt zurück: UploadImageResponse

Fortschritt des Nutzerabzeichens nach ID abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetUserBadgeProgressById200Response

Beispiel

getUserBadgeProgressById Beispiel
Copy Copy
1
2const optionalTenantSuffix: string | undefined = undefined;
3const tenantId: string = `5f8d0d55-1234-4ab1-9e2a-3f2b5c6d7e8f${optionalTenantSuffix ?? ''}`;
4const id: string = '3a2b1c4d-5678-4ef0-9abc-def123456789';
5const result: GetUserBadgeProgressById200Response = await getUserBadgeProgressById(tenantId, id);
6

Fortschritt des Nutzerabzeichens nach Benutzer-ID abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Ja

Antwort

Gibt zurück: GetUserBadgeProgressById200Response

Beispiel

getUserBadgeProgressByUserId Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7f9c2d3b';
3const maybeUserId: string | undefined = 'user_4b8e1f9a'; // optionale Quelle (kann undefined sein)
4const userId: string = maybeUserId ?? 'user_fallback0001';
5const result: GetUserBadgeProgressById200Response = await getUserBadgeProgressByUserId(tenantId, userId);
6console.log(result);
7

Liste des Fortschritts der Nutzerabzeichen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein
limit number Nein
skip number Nein

Antwort

Gibt zurück: GetUserBadgeProgressList200Response

Beispiel

getUserBadgeProgressList Beispiel
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_4f8c2b9d';
4 const userId: string = 'user_9a7e215c';
5 const limit: number = 25;
6 const skip: number = 0;
7 const resultMinimal: GetUserBadgeProgressList200Response = await getUserBadgeProgressList(tenantId);
8 const resultFull: GetUserBadgeProgressList200Response = await getUserBadgeProgressList(tenantId, userId, limit, skip);
9 console.log(resultMinimal, resultFull);
10})();
11

Nutzerabzeichen erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
createUserBadgeParams CreateUserBadgeParams Ja

Antwort

Gibt zurück: CreateUserBadge200Response

Beispiel

createUserBadge Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_84f3b2';
3const createUserBadgeParams: CreateUserBadgeParams = {
4 name: 'Top Contributor',
5 slug: 'top-contributor',
6 imageUrl: 'https://assets.fastcomments.com/badges/top-contributor.png',
7 description: 'Awarded for 100 helpful comments',
8 active: true,
9 criteria: { commentsCount: 100 }, // optionale Kriterien
10 displayOrder: 10,
11 metadata: { featured: true } // optionale Metadaten
12};
13const result: CreateUserBadge200Response = await createUserBadge(tenantId, createUserBadgeParams);
14console.log(result);
15

Nutzerabzeichen löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: UpdateUserBadge200Response

Beispiel

deleteUserBadge Beispiel
Copy Copy
1
2type DeleteOptions = { notifyModerators?: boolean };
3
4const tenantId: string = 'tenant_8a3f21';
5const id: string = 'badge_71f2b';
6const options: DeleteOptions = { notifyModerators: true };
7
8const result: UpdateUserBadge200Response = await deleteUserBadge(tenantId, id);
9

Nutzerabzeichen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetUserBadge200Response

Beispiel

getUserBadge Beispiel
Copy Copy
1
2const tenantId: string = "tenant_acme_01";
3const id: string = "badge_8c7d2f";
4const response: GetUserBadge200Response = await getUserBadge(tenantId, id);
5

Nutzerabzeichen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
userId string Nein
badgeId string Nein
type number Nein
displayedOnComments boolean Nein
limit number Nein
skip number Nein

Antwort

Gibt zurück: GetUserBadges200Response

Beispiel

getUserBadges Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const userId: string = 'user_5f4d3c2a';
4const badgeId: string = 'badge_top_contributor';
5const type: number = 1;
6const displayedOnComments: boolean = true;
7const limit: number = 50;
8const skip: number = 0;
9
10const result: GetUserBadges200Response = await getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip);
11

Nutzerabzeichen aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
updateUserBadgeParams UpdateUserBadgeParams Ja

Antwort

Gibt zurück: UpdateUserBadge200Response

Beispiel

updateUserBadge Beispiel
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_acme_987';
4 const id: string = 'badge_top_contributor_42';
5 const updateUserBadgeParams: UpdateUserBadgeParams = {
6 title: 'Top Contributor',
7 description: 'Awarded for reaching 100 high-quality comments',
8 color: '#FFD700',
9 iconUrl: 'https://cdn.acme.com/badges/top-contributor.svg',
10 active: true,
11 notifyUsers: true
12 } as UpdateUserBadgeParams;
13 const result: UpdateUserBadge200Response = await updateUserBadge(tenantId, id, updateUserBadgeParams);
14 console.log(result);
15})();
16

Benachrichtigungsanzahl des Benutzers abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
sso string Nein

Antwort

Gibt zurück: GetUserNotificationCount200Response

Beispiel

getUserNotificationCount Beispiel
Copy Copy
1
2(async () => {
3 const tenantId: string = '9f1e2d3c-4b5a-6d7e-8f90-123456789abc';
4 const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0MjMifQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
5 const resultWithSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId, ssoToken);
6 const resultWithoutSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId);
7 console.log(resultWithSSO, resultWithoutSSO);
8})();
9

Benutzerbenachrichtigungen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
pageSize number Nein
afterId string Nein
includeContext boolean Nein
afterCreatedAt number Nein
unreadOnly boolean Nein
dmOnly boolean Nein
noDm boolean Nein
includeTranslations boolean Nein
sso string Nein

Antwort

Gibt zurück: GetUserNotifications200Response

Beispiel

getUserNotifications Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7f3b1c';
3const pageSize: number = 25;
4const afterId: string = 'notif_b2f9e4';
5const includeContext: boolean = true;
6const afterCreatedAt: number = Date.now() - 24 * 60 * 60 * 1000;
7const unreadOnly: boolean = true;
8const dmOnly: boolean = false;
9const noDm: boolean = false;
10const includeTranslations: boolean = true;
11const sso: string = 'sso_tok_user_9f8d7c';
12const response: GetUserNotifications200Response = await getUserNotifications(
13 tenantId,
14 pageSize,
15 afterId,
16 includeContext,
17 afterCreatedAt,
18 unreadOnly,
19 dmOnly,
20 noDm,
21 includeTranslations,
22 sso
23);
24

Benachrichtigungszähler des Benutzers zurücksetzen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
sso string Nein

Antwort

Gibt zurück: ResetUserNotifications200Response

Beispiel

Beispiel für resetUserNotificationCount
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9f3b2c4a";
4 const ssoToken: string | undefined = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9._sample_payload_.signature";
5 const responseWithSSO: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId, ssoToken);
6 const responseWithoutSSO: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId);
7 console.log(responseWithSSO, responseWithoutSSO);
8})();
9

Benutzerbenachrichtigungen zurücksetzen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
afterId string Nein
afterCreatedAt number Nein
unreadOnly boolean Nein
dmOnly boolean Nein
noDm boolean Nein
sso string Nein

Antwort

Gibt zurück: ResetUserNotifications200Response

Beispiel

Beispiel für resetUserNotifications
Copy Copy
1
2const tenantId: string = "tenant_prod_4a9f12";
3const afterId: string = "notification_87213";
4const afterCreatedAt: number = Math.floor(Date.now() / 1000) - 3600;
5const unreadOnly: boolean = true;
6const dmOnly: boolean = false;
7const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.payload";
8const result: ResetUserNotifications200Response = await resetUserNotifications(tenantId, afterId, afterCreatedAt, unreadOnly, dmOnly, undefined, sso);
9

Kommentar-Abonnementstatus des Benutzers aktualisieren Internal Link


Benachrichtigungen für einen bestimmten Kommentar aktivieren oder deaktivieren.

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
notificationId string Ja
optedInOrOut UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum Ja
commentId string Ja
sso string Nein

Antwort

Gibt zurück: UpdateUserNotificationStatus200Response

Beispiel

Beispiel für updateUserNotificationCommentSubscriptionStatus
Copy Copy
1
2const tenantId: string = 'acme-tenant-001';
3const notificationId: string = 'notif-2026-03-25-01';
4const commentId: string = 'cmt-8f3a2b';
5const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum = UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptIn;
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso-payload.signature';
7const result: UpdateUserNotificationStatus200Response = await updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso);
8

Seiten-Abonnementstatus des Benutzers aktualisieren Internal Link


Aktivieren oder deaktivieren Sie Benachrichtigungen für eine Seite. Wenn Benutzer für eine Seite abonniert sind, werden Benachrichtigungen erstellt für neue Root-Kommentare, und auch

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
url string Ja
pageTitle string Ja
subscribedOrUnsubscribed UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum Ja
sso string Nein

Antwort

Gibt zurück: UpdateUserNotificationStatus200Response

Beispiel

Beispiel für updateUserNotificationPageSubscriptionStatus
Copy Copy
1
2const tenantId: string = 'acme-tenant-42';
3const urlId: string = 'blog-launch-2026';
4const url: string = 'https://acme.example.com/blog/launch-march-2026';
5const pageTitle: string = 'Acme Product Launch — March 2026';
6const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum = UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
7const sso: string = 'sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
8const response: UpdateUserNotificationStatus200Response = await updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso);
9

Benachrichtigungsstatus des Benutzers aktualisieren Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
notificationId string Ja
newStatus UpdateUserNotificationStatusNewStatusEnum Ja
sso string Nein

Antwort

Gibt zurück: UpdateUserNotificationStatus200Response

Beispiel

Beispiel für updateUserNotificationStatus
Copy Copy
1
2const tenantId: string = 'tenant_84a2c3';
3const notificationId: string = 'notif_20260325_01';
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.Read;
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_signature_example';
6const result: UpdateUserNotificationStatus200Response = await updateUserNotificationStatus(tenantId, notificationId, newStatus, sso);
7

Anwesenheitsstatus der Benutzer abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlIdWS string Ja
userIds string Ja

Antwort

Gibt zurück: GetUserPresenceStatuses200Response

Beispiel

getUserPresenceStatuses Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7f3a2b';
3const urlIdWS: string = 'articles/2026/03/25/fastcomments-integration';
4const maybeUserIds: string | undefined = 'user_123,user_456'; // optionale Quelle
5const userIds: string = maybeUserIds ?? 'user_123';
6const presence: GetUserPresenceStatuses200Response = await getUserPresenceStatuses(tenantId, urlIdWS, userIds);
7

Benutzer suchen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
usernameStartsWith string Nein
mentionGroupIds Array Nein
sso string Nein
searchSection SearchUsersSearchSectionEnum Nein

Antwort

Gibt zurück: SearchUsers200Response

Beispiel

searchUsers Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_8392';
3const urlId: string = 'articles/2026/03/25/fastcomments-release';
4const usernameStartsWith: string = 'jo';
5const mentionGroupIds: Array<string> = ['editors', 'senior-writers'];
6const sso: string = 'sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
7const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.ALL;
8const result: SearchUsers200Response = await searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso, searchSection);
9

Benutzer abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja

Antwort

Gibt zurück: GetUser200Response

Beispiel

getUser Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_7b3f42';
3const id: string = 'user_9c4d2a';
4const userResponse: GetUser200Response = await getUser(tenantId, id);
5console.log(userResponse);
6

Stimme erstellen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
commentId string Ja
direction CreateVoteDirectionEnum Ja
userId string Nein
anonUserId string Nein

Antwort

Gibt zurück: VoteComment200Response

Beispiel

createVote Beispiel
Copy Copy
1
2const tenantId: string = 'tenant_9f8b6a';
3const commentId: string = 'comment_3b7d2e';
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.Up;
5const anonUserId: string = 'anon_4c2a1f';
6
7const voteResult: VoteComment200Response = await createVote(tenantId, commentId, direction, undefined, anonUserId);
8

Stimme löschen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
id string Ja
editKey string Nein

Antwort

Gibt zurück: DeleteCommentVote200Response

Beispiel

deleteVote Beispiel
Copy Copy
1
2const tenantId: string = "tenant_7c3f2b4a";
3const voteId: string = "vote_4f8d9a11";
4const editKey: string = "edit_2b9f8c";
5const resultWithoutKey: DeleteCommentVote200Response = await deleteVote(tenantId, voteId);
6const resultWithKey: DeleteCommentVote200Response = await deleteVote(tenantId, voteId, editKey);
7

Stimmen abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Yes
urlId string Yes

Antwort

Gibt zurück: GetVotes200Response

Beispiel

getVotes Beispiel
Copy Copy
1
2const tenantId: string = 'acme-corp-8f3b';
3const refCampaign: string | undefined = 'newsletter-march2026'; // optionaler Abfrageparameter
4const urlId: string = `https://www.example.com/articles/2026/03/25/fastcomments-integration${refCampaign ? `?ref=${refCampaign}` : ''}`;
5
6const votes: GetVotes200Response = await getVotes(tenantId, urlId);
7

Stimmen für einen Benutzer abrufen Internal Link

Parameter

Name Typ Erforderlich Beschreibung
tenantId string Ja
urlId string Ja
userId string Nein
anonUserId string Nein

Antwort

Gibt zurück: GetVotesForUser200Response

Beispiel

getVotesForUser Beispiel
Copy Copy
1
2(async (): Promise<void> => {
3 const tenantId: string = "local-news-ny";
4 const urlId: string = "articles/2026-03-25/ev-infrastructure-update";
5 const userId: string = "user_78b6f3d9";
6 const anonUserId: string = "anon_9c3f7a1b";
7 const result: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, userId, anonUserId);
8 console.log(result);
9})();
10

Benötigen Sie Hilfe?

Wenn Sie auf Probleme stoßen oder Fragen zum JavaScript-/TypeScript-SDK haben, bitte:

Mitwirken

Beiträge sind willkommen! Bitte besuchen Sie das GitHub-Repository für Richtlinien zur Mitarbeit.