FastComments.com

FastComments JavaScript/TypeScript SDK


Αυτό είναι το επίσημο SDK JavaScript/TypeScript για το FastComments.

Επίσημο SDK JavaScript/TypeScript για το API του FastComments

Αποθετήριο

Προβολή στο GitHub


Εγκατάσταση Internal Link

npm install fastcomments-sdk

Τεκμηρίωση API Internal Link


Πλήρης αναφορά API: docs/api/README.md

Συμβατότητα Περιηγητή και Διακομιστή Internal Link

Αυτό το SDK χρησιμοποιεί διπλά σημεία εισόδου για να εξασφαλίσει βέλτιστη συμβατότητα και να αποτρέψει σφάλματα χρόνου εκτέλεσης:

  • fastcomments-sdk/browser - Έκδοση ασφαλής για περιηγητές με ενσωματωμένο fetch
  • fastcomments-sdk/server - Πλήρης έκδοση για Node.js με υποστήριξη SSO
  • fastcomments-sdk (προεπιλογή) - Μόνο τύποι, ασφαλές για εισαγωγή οπουδήποτε

Δημόσια και Ασφαλή APIs Internal Link

The SDK παρέχει τρεις κύριες κλάσεις API:

  • DefaultApi - Secured endpoints that require your API key for authentication. Use these for server-side operations.
  • PublicApi - Public endpoints that can be accessed without an API key. These can be called directly from browsers/mobile devices/etc.
  • HiddenApi - Internal/admin endpoints for advanced use cases.

Παράδειγμα: Χρήση Public API (ασφαλές για browsers)

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

const publicApi = new PublicApi();

// Λήψη σχολίων για σελίδα (δεν απαιτείται API key)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Παράδειγμα: Χρήση Default API (μόνο στην πλευρά του διακομιστή)

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

const config = new Configuration({
  apiKey: 'your-api-key' // Κρατήστε το μυστικό!
});
const defaultApi = new DefaultApi(config);

// Λήψη σχολίων με πλήρη διαχειριστική πρόσβαση
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Ενσωμάτωση SSO (Single Sign-On) Internal Link

FastComments υποστηρίζει SSO για ενσωμάτωση με το υπάρχον σύστημα πιστοποίησης χρηστών σας. Η λειτουργία SSO είναι διαθέσιμη μόνο στην έκδοση για διακομιστή καθώς απαιτεί δυνατότητες κρυπτογράφησης του Node.js.

Απλό SSO (Μόνο στην πλευρά διακομιστή)

Το απλό SSO θα πρέπει να δημιουργείται στην πλευρά διακομιστή και να αποστέλλεται στον πελάτη:

// Κώδικας πλευράς διακομιστή (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Δημιουργία απλού SSO χρησιμοποιώντας τον ενσωματωμένο βοηθό  
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();

// Στείλτε το ssoToken στον κώδικα της πλευράς πελάτη σας
// Ο κώδικας της πλευράς πελάτη μπορεί στη συνέχεια να χρησιμοποιήσει αυτό το token με το browser SDK

Ασφαλές SSO (Πλευρά Διακομιστή, Συνιστάται)

Το ασφαλές SSO θα πρέπει να υλοποιείται στην πλευρά διακομιστή και παρέχει καλύτερη ασφάλεια:

// Κώδικας πλευράς διακομιστή (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Δημιουργία ασφαλούς SSO χρησιμοποιώντας τον ενσωματωμένο βοηθό
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();

// Χρήση με κλήσεις API στον διακομιστή
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Ή στείλτε το ssoConfig στον πελάτη για χρήση στον browser

Χρήση SSO από τον Browser (με Token που δημιουργείται από τον διακομιστή)

// Κώδικας πλευράς πελάτη (browser)
import { PublicApi } from 'fastcomments-sdk/browser';

// Λάβετε το SSO token από το endpoint του διακομιστή σας
const ssoToken = await fetch('/api/sso-token').then(r => r.json());

const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: ssoToken // Use the server-generated SSO token
});

SSO με Δημιουργία Σχολίου

// Πλευρά διακομιστή: Δημιουργία SSO και σχολίου
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)
});

Συνήθη Σενάρια Χρήσης Internal Link

Λήψη Σχολίων για μια Σελίδα

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

Δημιουργία Σχολίου

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

Ψήφιση Σχολίου

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 για ψήφο υπέρ, -1 για ψήφο κατά
  }
});

Διαχείριση Χρηστών (Απαιτεί API Key)

// Αναζήτηση χρηστών (απαιτεί DefaultApi)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Ζωντανά Γεγονότα (Ενημερώσεις σε Πραγματικό Χρόνο) Internal Link

Subscribe to live events to get real-time updates for comments, votes, and other activities.

Γεγονότα σε επίπεδο σελίδας

Ακούστε για ζωντανά γεγονότα σε μια συγκεκριμένη σελίδα (σχόλια, ψήφοι, κ.λπ.):

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

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

// Εγγραφή σε ζωντανά γεγονότα για μια σελίδα
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (πάρτε αυτό από την απόκριση του getComments)
  (event: LiveEvent) => {
    console.log('Live event received:', event);

    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Ενημερώστε το UI σας με το νέο σχόλιο
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Ενημερώστε τους μετρητές ψήφων στο UI σας
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }

    return true; // Επιστρέψτε true αν το γεγονός χειρίστηκε
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

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

Εγγραφή σε γεγονότα χρήστη

Ακούστε για γεγονότα που αφορούν συγκεκριμένο χρήστη (ειδοποιήσεις, αναφορές, κ.λπ.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Πάρτε αυτό από την απάντηση του getComments
};

// Εγγραφή στο προσωπικό 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);
        // Εμφανίστε την ειδοποίηση στο UI σας
        break;
      case LiveEventType.notification_update:
        console.log('Notification updated:', event.notification);
        break;
      default:
        console.log('Other user event:', event.type);
    }

    return true;
  },
  (isConnected: boolean) => {
    console.log('User feed connection:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Close when done
userSubscription.close();

Λήψη userIdWS

The userIdWS parameter is required for live events and can be obtained from API responses:

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

// Εξαγάγετε το userIdWS από την απάντηση
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Τώρα μπορείτε να εγγραφείτε σε ζωντανά γεγονότα
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

IDs Εκπομπής Internal Link

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

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() // Μοναδικό ID για αυτήν την ενέργεια
  }
});

Διαχείριση Σφαλμάτων Internal Link

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

aggregate Internal Link

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

Parameters

Name Type Required Description
tenantId string Ναι
aggregationRequest AggregationRequest Ναι
parentTenantId string Όχι
includeStats boolean Όχι

Response

Επιστρέφει: AggregationResponse


getAuditLogs Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
limit number Όχι
skip number Όχι
order SORTDIR Όχι
after number Όχι
before number Όχι

Απάντηση

Επιστρέφει: GetAuditLogs200Response


blockFromCommentPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
publicBlockFromCommentParams PublicBlockFromCommentParams Ναι
sso string Όχι

Απόκριση

Επιστρέφει: BlockFromCommentPublic200Response


unBlockCommentPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
publicBlockFromCommentParams PublicBlockFromCommentParams Ναι
sso string Όχι

Απάντηση

Επιστρέφει: UnBlockCommentPublic200Response


checkedCommentsForBlocked Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentIds string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: CheckedCommentsForBlocked200Response


blockUserFromComment Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
blockFromCommentParams BlockFromCommentParams Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: BlockFromCommentPublic200Response


createCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
broadcastId string Ναι
commentData CommentData Ναι
sessionId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateCommentPublic200Response

deleteComment Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
contextUserId string Όχι
isLive boolean Όχι

Απάντηση

Επιστρέφει: DeleteComment200Response


deleteCommentPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: DeleteCommentPublic200Response


deleteCommentVote Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
voteId string Ναι
urlId string Ναι
broadcastId string Ναι
editKey string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: DeleteCommentVote200Response


flagComment Internal Link


Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
id string Ναι
userId string Όχι
anonUserId string Όχι

Απάντηση

Επιστρέφει: FlagComment200Response


getComment Internal Link


Παράμετροι

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

Απάντηση

Επιστρέφει: GetComment200Response


getComments Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
page number Όχι
limit number Όχι
skip number Όχι
asTree boolean Όχι
skipChildren number Όχι
limitChildren number Όχι
maxTreeDepth number Όχι
urlId string Όχι
userId string Όχι
anonUserId string Όχι
contextUserId string Όχι
hashTag string Όχι
parentId string Όχι
direction SortDirections Όχι

Απόκριση

Επιστρέφει: GetComments200Response


getCommentsPublic Internal Link

req tenantId urlId

Παράμετροι

Name Type Required Description
tenantId string Ναι
urlId string Ναι
page number Όχι
direction SortDirections Όχι
sso string Όχι
skip number Όχι
skipChildren number Όχι
limit number Όχι
limitChildren number Όχι
countChildren boolean Όχι
fetchPageForCommentId string Όχι
includeConfig boolean Όχι
countAll boolean Όχι
includei10n boolean Όχι
locale string Όχι
modules string Όχι
isCrawler boolean Όχι
includeNotificationCount boolean Όχι
asTree boolean Όχι
maxTreeDepth number Όχι
useFullTranslationIds boolean Όχι
parentId string Όχι
searchText string Όχι
hashTags Array Όχι
userId string Όχι
customConfigStr string Όχι
afterCommentId string Όχι
beforeCommentId string Όχι

Απόκριση

Επιστρέφει: GetCommentsPublic200Response


getCommentText Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
editKey string Όχι
sso string Όχι

Απάντηση

Επιστρέφει: GetCommentText200Response


getCommentVoteUserNames Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
dir number Ναι
sso string Όχι

Απόκριση

Επιστρέφει: GetCommentVoteUserNames200Response


lockComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: LockComment200Response


pinComment Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: PinComment200Response


saveComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createCommentParams CreateCommentParams Ναι
isLive boolean Όχι
doSpamCheck boolean Όχι
sendEmails boolean Όχι
populateNotifications boolean Όχι

Απόκριση

Επιστρέφει: SaveComment200Response


saveCommentsBulk Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createCommentParams Array Ναι
isLive boolean Όχι
doSpamCheck boolean Όχι
sendEmails boolean Όχι
populateNotifications boolean Όχι

Απόκριση

Επιστρέφει: Array<SaveComment200Response

setCommentText Internal Link

Parameters

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
commentTextUpdateRequest CommentTextUpdateRequest Ναι
editKey string Όχι
sso string Όχι

Response

Επιστρέφει: SetCommentText200Response


unBlockUserFromComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
unBlockFromCommentParams UnBlockFromCommentParams Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: UnBlockCommentPublic200Response


unFlagComment Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: FlagComment200Response


unLockComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: LockComment200Response


unPinComment Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
broadcastId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: PinComment200Response


updateComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
body PickAPICommentUpdatableCommentFields Ναι
contextUserId string Όχι
doSpamCheck boolean Όχι
isLive boolean Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response


voteComment Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
urlId string Ναι
broadcastId string Ναι
voteBodyParams VoteBodyParams Ναι
sessionId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: VoteComment200Response


addDomainConfig Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: AddDomainConfig200Response

deleteDomainConfig Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: DeleteDomainConfig200Response


getDomainConfig Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetDomainConfig200Response


getDomainConfigs Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetDomainConfigs200Response


patchDomainConfig Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
domainToUpdate string Ναι
patchDomainConfigParams PatchDomainConfigParams Ναι

Απόκριση

Επιστρέφει: GetDomainConfig200Response


putDomainConfig Internal Link


Παράμετροι

Name Type Required Description
tenantId string Ναι
domainToUpdate string Ναι
updateDomainConfigParams UpdateDomainConfigParams Ναι

Απόκριση

Επιστρέφει: GetDomainConfig200Response


createEmailTemplate Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: CreateEmailTemplate200Response

Παράδειγμα

Παράδειγμα createEmailTemplate
Copy Copy
1
2const tenantId: string = "tenant_7a9f2b3d";
3
4const createEmailTemplateBody: CreateEmailTemplateBody = {
5 name: "Comment Notification",
6 subject: "New comment on your article: ",
7 htmlBody: "<p> left a comment:</p><blockquote></blockquote>",
8 enabled: true,
9 defaultLocale: "en-US",
10 metadata: { createdBy: "admin@example.com", purpose: "notify_comment" } // προαιρετικά επιπλέον δεδομένα
11};
12
13const result: CreateEmailTemplate200Response = await createEmailTemplate(tenantId, createEmailTemplateBody);
14

deleteEmailTemplate Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteEmailTemplate
Copy Copy
1
2const tenantId: string = "tenant_4b2f6a-4b2f6a2d";
3const templateId: string = "email_template_9f8b7c3e";
4const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, templateId);
5const status: APIStatus | undefined = result?.status
6

deleteEmailTemplateRenderError Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
errorId string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteEmailTemplateRenderError
Copy Copy
1
2const tenantId: string = "tenant_8f3b2a9c";
3const id: string = "template_4a1c9f7e";
4const errorId: string = "err_20260112_abc123";
5const result: FlagCommentPublic200Response = await deleteEmailTemplateRenderError(tenantId, id, errorId);
6

getEmailTemplate Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetEmailTemplate200Response

Παράδειγμα

Παράδειγμα getEmailTemplate
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-enterprises-123';
4 const id: string = 'welcome-email-template-v2';
5 const locale: string | undefined = 'en-US'; // παράδειγμα προαιρετικής παραμέτρου
6 const template: GetEmailTemplate200Response = await getEmailTemplate(tenantId, id);
7 console.log(template, locale);
8})();
9

getEmailTemplateDefinitions Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetEmailTemplateDefinitions200Response

Παράδειγμα

Παράδειγμα getEmailTemplateDefinitions
Copy Copy
1
2const tenantId: string = 'acme-enterprises-78f2';
3const emailTemplates: GetEmailTemplateDefinitions200Response = await getEmailTemplateDefinitions(tenantId);
4

getEmailTemplateRenderErrors Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
id string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetEmailTemplateRenderErrors200Response

Παράδειγμα

Παράδειγμα getEmailTemplateRenderErrors
Copy Copy
1
2const tenantId: string = "tenant_7b3f2a9c";
3const id: string = "tmpl_4f1b2c9e";
4const skip: number = 25;
5const result: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id, skip);
6

getEmailTemplates Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetEmailTemplates200Response

Παράδειγμα

Παράδειγμα getEmailTemplates
Copy Copy
1
2const tenantId: string = 'tenant_8f4d2b7c';
3const responseWithoutSkip: GetEmailTemplates200Response = await getEmailTemplates(tenantId);
4const skip: number = 20;
5const responseWithSkip: GetEmailTemplates200Response = await getEmailTemplates(tenantId, skip);
6

renderEmailTemplate Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
renderEmailTemplateBody RenderEmailTemplateBody Ναι
locale string Όχι

Απόκριση

Επιστρέφει: RenderEmailTemplate200Response

Παράδειγμα

Παράδειγμα renderEmailTemplate
Copy Copy
1
2const tenantId: string = 'acme-corp-7f3';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'new-comment-notification',
5 recipientEmail: 'jane.doe@acme.com',
6 variables: {
7 commenterName: 'Samir Patel',
8 commentText: 'I found this article really helpful — thanks for sharing!',
9 threadUrl: 'https://acme.com/blog/123#comments'
10 },
11 includeUnsubscribeLink: true
12};
13const locale: string = 'en-US';
14const response: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
15

updateEmailTemplate Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateEmailTemplateBody UpdateEmailTemplateBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateEmailTemplate
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-01';
3const id: string = 'email_tpl_42b7a9';
4const updateEmailTemplateBody: UpdateEmailTemplateBody = {
5 name: 'Comment Flag Notification',
6 subject: 'A comment was flagged on acme.com',
7 html: '<p>A comment by was flagged. Review at </p>',
8 replyTo: 'noreply@acme.com', // προαιρετικό πεδίο (παράδειγμα)
9 enabled: true,
10 customConfig: { priority: 'high' } // προαιρετικές προσαρμοσμένες παράμετροι
11};
12const response: FlagCommentPublic200Response = await updateEmailTemplate(tenantId, id, updateEmailTemplateBody);
13

getEventLog Internal Link


req tenantId urlId userIdWS

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
userIdWS string Ναι
startTime number Ναι
endTime number Ναι

Απόκριση

Επιστρέφει: GetEventLog200Response


getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
userIdWS string Ναι
startTime number Ναι
endTime number Ναι

Απόκριση

Επιστρέφει: GetEventLog200Response

createFeedPost Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createFeedPostParams CreateFeedPostParams Ναι
broadcastId string Όχι
isLive boolean Όχι
doSpamCheck boolean Όχι
skipDupCheck boolean Όχι

Απόκριση

Επιστρέφει: CreateFeedPost200Response


createFeedPostPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
createFeedPostParams CreateFeedPostParams Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateFeedPostPublic200Response


deleteFeedPostPublic Internal Link


Parameters

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
broadcastId string Όχι
sso string Όχι

Response

Επιστρέφει: DeleteFeedPostPublic200Response


getFeedPosts Internal Link

req tenantId afterId

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
afterId string Όχι
limit number Όχι
tags Array Όχι

Απόκριση

Επιστρέφει: GetFeedPosts200Response

getFeedPostsPublic Internal Link

req tenantId afterId

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
afterId string Όχι
limit number Όχι
tags Array Όχι
sso string Όχι
isCrawler boolean Όχι
includeUserInfo boolean Όχι

Απόκριση

Επιστρέφει: GetFeedPostsPublic200Response


getFeedPostsStats Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postIds Array Ναι
sso string Όχι

Απάντηση

Επιστρέφει: GetFeedPostsStats200Response


getUserReactsPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postIds Array Όχι
sso string Όχι

Απάντηση

Επιστρέφει: GetUserReactsPublic200Response


reactFeedPostPublic Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
reactBodyParams ReactBodyParams Ναι
isUndo boolean Όχι
broadcastId string Όχι
sso string Όχι

Απάντηση

Επιστρέφει: ReactFeedPostPublic200Response


updateFeedPost Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
feedPost FeedPost Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response


updateFeedPostPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
postId string Ναι
updateFeedPostParams UpdateFeedPostParams Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

Επιστρέφει: CreateFeedPostPublic200Response


flagCommentPublic Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Ναι
isFlagged boolean Ναι
sso string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response


addHashTag Internal Link

Παράμετροι

Name Type Required Description
tenantId string Όχι
createHashTagBody CreateHashTagBody Όχι

Απόκριση

Επιστρέφει: AddHashTag200Response

Παράδειγμα

Παράδειγμα addHashTag
Copy Copy
1
2const tenantId: string = 'tenant_7b2f6c2b';
3const createBody: CreateHashTagBody = {
4 tag: 'feature-request',
5 label: 'Feature Request',
6 description: 'Requests for new functionality in the web client',
7 isActive: true,
8 visibility: 'public',
9 allowedDomains: ['example.com', 'internal.example.com']
10};
11const result: AddHashTag200Response = await addHashTag(tenantId, createBody);
12const resultWithoutTenant: AddHashTag200Response = await addHashTag(undefined, {
13 tag: 'bug',
14 label: 'Bug',
15 description: 'Use for reproducible bugs reported by users',
16 isActive: true,
17 visibility: 'public'
18});
19

addHashTagsBulk Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Όχι
bulkCreateHashTagsBody BulkCreateHashTagsBody Όχι

Απόκριση

Επιστρέφει: AddHashTagsBulk200Response

Παράδειγμα

Παράδειγμα addHashTagsBulk
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_3f2b9a';
4 const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
5 tags: [
6 { name: 'performance', description: 'Comments about site performance', visibleToModeratorsOnly: false },
7 { name: 'feature-request', description: 'Requests for new features', visibleToModeratorsOnly: true }
8 ]
9 };
10 const result: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
11 const resultWithNoTenant: AddHashTagsBulk200Response = await addHashTagsBulk(undefined, bulkCreateHashTagsBody);
12 console.log(result, resultWithNoTenant);
13})();
14

deleteHashTag Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tag string Ναι
tenantId string Όχι
deleteHashTagRequest DeleteHashTagRequest Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteHashTag
Copy Copy
1
2const tag: string = 'breaking-news';
3const tenantId: string = 'tenant_42';
4const deleteReq: DeleteHashTagRequest = { removedBy: 'moderator_jane', reason: 'off-topic for this community', deleteAssociatedComments: true } as DeleteHashTagRequest;
5const result: FlagCommentPublic200Response = await deleteHashTag(tag, tenantId, deleteReq);
6

getHashTags Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
page number Όχι

Απόκριση

Επιστρέφει: GetHashTags200Response

Παράδειγμα

Παράδειγμα getHashTags
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-7a9f";
4 const tagsPage1: GetHashTags200Response = await getHashTags(tenantId);
5 const tagsPage2: GetHashTags200Response = await getHashTags(tenantId, 2);
6 console.log(tagsPage1, tagsPage2);
7})();
8

patchHashTag Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tag string Ναι
tenantId string Όχι
updateHashTagBody UpdateHashTagBody Όχι

Απάντηση

Επιστρέφει: PatchHashTag200Response

Παράδειγμα

Παράδειγμα patchHashTag
Copy Copy
1
2const tag: string = 'release-2026';
3const tenantId: string = 'tenant_42';
4const updateHashTagBody: UpdateHashTagBody = {
5 displayName: 'Release 2026',
6 description: 'Discussions and notes for the 2026 product release',
7 isActive: true
8};
9const result: PatchHashTag200Response = await patchHashTag(tag, tenantId, updateHashTagBody);
10

createModerator Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: CreateModerator200Response

Παράδειγμα

Παράδειγμα createModerator
Copy Copy
1
2const tenantId: string = "tenant_prod_us-east_01";
3const createModeratorBody: CreateModeratorBody = {
4 email: "maria.lopez+mod@fastcompany.com",
5 username: "mlopez_mod",
6 displayName: "Maria Lopez",
7 roles: ["content_moderator"],
8 notifyOnReports: true,
9 metadata: { region: "us-east", team: "community" }
10};
11const result: CreateModerator200Response = await createModerator(tenantId, createModeratorBody);
12

deleteModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
sendEmail string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

deleteModerator Παράδειγμα
Copy Copy
1
2const tenantId: string = 'acme-tenant-987';
3const moderatorId: string = 'mod-78b2c9a4-3f1e-4d6a';
4const sendEmail: string = 'true';
5const result: FlagCommentPublic200Response = await deleteModerator(tenantId, moderatorId, sendEmail);
6

getModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Yes
id string Yes

Απόκριση

Επιστρέφει: GetModerator200Response

Παράδειγμα

Παράδειγμα getModerator
Copy Copy
1
2const tenantId: string = "tenant_eu_4f8d2b9e";
3const maybeModeratorId: string | undefined = "mod_91c3b7a2"; // προαιρετική πηγή (μπορεί να είναι undefined)
4const moderator: GetModerator200Response = await getModerator(tenantId, maybeModeratorId!);
5

getModerators Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetModerators200Response

Παράδειγμα

Παράδειγμα getModerators
Copy Copy
1
2const tenantId: string = "tenant_corp_7f9b2a";
3const moderatorsPage1: GetModerators200Response = await getModerators(tenantId);
4const skip: number = 50;
5const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, skip);
6

sendInvite Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα sendInvite
Copy Copy
1
2const tenantId: string = 'acme-tenant-004';
3const id: string = 'comment_9b7f3a2c';
4const fromName: string = 'María Hernández';
5const response: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName);
6

updateModerator Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateModeratorBody UpdateModeratorBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateModerator
Copy Copy
1
2const tenantId: string = '4f8a9c2e-3b6d-4d9e-8c2f-1a2b3c4d5e6f';
3const id: string = 'mod_92a7c4';
4const updateModeratorBodyMinimal: UpdateModeratorBody = { displayName: 'Sophia Patel' };
5const updateModeratorBodyWithOptional: UpdateModeratorBody = {
6 displayName: 'Sophia Patel',
7 email: 'sophia.patel@newsroom.example',
8 permissions: ['remove_comments', 'ban_user'],
9 notifyOnFlag: true // προαιρετική παράμετρος (παράδειγμα)
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBodyWithOptional);
12

deleteNotificationCount Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteNotificationCount
Copy Copy
1
2const tenantId: string = 'tenant_7f3a1b2c4d9e';
3const notificationId: string = 'notif_8c9d0a1b2f3e4b7';
4const result: FlagCommentPublic200Response = await deleteNotificationCount(tenantId, notificationId);
5

getCachedNotificationCount Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetCachedNotificationCount200Response

Παράδειγμα

Παράδειγμα getCachedNotificationCount
Copy Copy
1
2const tenantId: string = 'acme-tenant-01';
3const baseNotificationId: string = 'notif-000123';
4const idSuffix: string | undefined = undefined; // παράδειγμα προαιρετικής παραμέτρου
5const notificationId: string = idSuffix ? `${baseNotificationId}-${idSuffix}` : baseNotificationId;
6const result: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, notificationId);
7console.log(result);
8

getNotificationCount Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
userId string Όχι
urlId string Όχι
fromCommentId string Όχι
viewed boolean Όχι
type string Όχι

Απόκριση

Επιστρέφει: GetNotificationCount200Response

Παράδειγμα

Παράδειγμα getNotificationCount
Copy Copy
1
2const tenantId: string = 'tenant_8a9b7c';
3const userId: string = 'user_42b3c';
4const urlId: string = 'https://blog.example.com/posts/introducing-new-editor';
5const fromCommentId: string | undefined = undefined;
6const viewed: boolean = false;
7const type: string = 'mention';
8const result: GetNotificationCount200Response = await getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, type);
9

getNotifications Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι
urlId string Όχι
fromCommentId string Όχι
viewed boolean Όχι
type string Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetNotifications200Response

Παράδειγμα

Παράδειγμα getNotifications
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_8f3b1a2c';
4 const userId: string = 'user_42';
5 const urlId: string = 'https://news.example.com/articles/2026/01/11/comment-thread';
6 const fromCommentId: string = 'cmt_9a7b';
7 const viewed: boolean = false;
8 const type: string = 'mention';
9 const skip: number = 0;
10 const response: GetNotifications200Response = await getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip);
11 console.log(response);
12})();
13

updateNotification Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateNotificationBody UpdateNotificationBody Ναι
userId string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateNotification
Copy Copy
1
2const tenantId: string = "tenant_86a7b3";
3const id: string = "notif_20260112_01";
4const userId: string = "moderator_42";
5const updateNotificationBody: UpdateNotificationBody = {
6 name: "Flagged comment alert",
7 enabled: true,
8 channels: ["email"],
9 recipients: ["mod-team@news-site.com"],
10 threshold: 1
11};
12
13(async () => {
14 const result: FlagCommentPublic200Response = await updateNotification(tenantId, id, updateNotificationBody, userId);
15 console.log(result);
16})();
17

addPage Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: AddPageAPIResponse


deletePage Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: DeletePageAPIResponse


getPageByURLId Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetPageByURLIdAPIResponse


getPages Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetPagesAPIResponse


patchPage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateAPIPageData UpdateAPIPageData Ναι

Απόκριση

Επιστρέφει: PatchPageAPIResponse


deletePendingWebhookEvent Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deletePendingWebhookEvent
Copy Copy
1
2const tenantId: string = 'tenant_7f4e2b';
3const pendingEventId: string = '9f7b6a8c-3b2a-4c0d-a8e5-1234567890ab';
4const result: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, pendingEventId);
5console.log(result);
6

getPendingWebhookEventCount Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Όχι
externalId string Όχι
eventType string Όχι
type string Όχι
domain string Όχι
attemptCountGT number Όχι

Απόκριση

Επιστρέφει: GetPendingWebhookEventCount200Response

Παράδειγμα

Παράδειγμα getPendingWebhookEventCount
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_9c3b2b';
4 const commentId: string = 'cmt_f4a1b2';
5 const externalId: string = 'ext-789';
6 const eventType: string = 'comment.created';
7 const type: string = 'delivery';
8 const domain: string = 'app.example.com';
9 const attemptCountGT: number = 2;
10
11 const result: GetPendingWebhookEventCount200Response = await getPendingWebhookEventCount(
12 tenantId,
13 commentId,
14 externalId,
15 eventType,
16 type,
17 domain,
18 attemptCountGT
19 );
20
21 console.log(result);
22})();
23

getPendingWebhookEvents Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
commentId string Όχι
externalId string Όχι
eventType string Όχι
type string Όχι
domain string Όχι
attemptCountGT number Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetPendingWebhookEvents200Response

Παράδειγμα

Παράδειγμα getPendingWebhookEvents
Copy Copy
1
2const tenantId: string = "tenant_78b2f1";
3const commentId: string = "cmt_0042";
4const eventType: string = "comment.created";
5const domain: string = "blog.example.com";
6const attemptCountGT: number = 1;
7const skip: number = 0;
8
9const pending: GetPendingWebhookEvents200Response = await getPendingWebhookEvents(
10 tenantId,
11 commentId,
12 undefined, // externalId
13 eventType,
14 undefined, // type
15 domain,
16 attemptCountGT,
17 skip
18);
19

createQuestionConfig Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createQuestionConfigBody CreateQuestionConfigBody Ναι

Απάντηση

Επιστρέφει: CreateQuestionConfig200Response

Παράδειγμα

Παράδειγμα createQuestionConfig
Copy Copy
1
2const tenantId: string = "tenant_live_7f8b3c2a";
3const customOptions: QuestionConfigCustomOptionsInner[] = [
4 { value: "under18", label: "Under 18" },
5 { value: "18-24", label: "18-24" },
6 { value: "25-34", label: "25-34", defaultSelected: true }
7];
8const createQuestionConfigBody: CreateQuestionConfigBody = {
9 key: "age_range",
10 label: "What is your age range?",
11 required: false, // προαιρετικό: δείχνει παράλειψη έναντι συμπερίληψης προαιρετικών πεδίων
12 renderingType: QuestionRenderingType.Dropdown,
13 options: customOptions,
14 whenSave: QuestionWhenSave.Always
15};
16const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
17

deleteQuestionConfig Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteQuestionConfig
Copy Copy
1
2async function deleteIfPresent(tenantId: string, id?: string): Promise<FlagCommentPublic200Response | null> {
3 if (!id) return null;
4 const result: FlagCommentPublic200Response = await deleteQuestionConfig(tenantId, id);
5 return result;
6}
7const tenantId: string = 'tenant_acme_001';
8const optionalConfigId: string | undefined = 'qcfg_20260112_01';
9(async (): Promise<void> => {
10 const deleted: FlagCommentPublic200Response | null = await deleteIfPresent(tenantId, optionalConfigId);
11 void deleted;
12})();
13

getQuestionConfig Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetQuestionConfig200Response

Παράδειγμα

Παράδειγμα getQuestionConfig
Copy Copy
1
2const tenantId: string = 'acme-corp-47';
3const questionId: string = 'q-2026-01-12-01';
4const result: GetQuestionConfig200Response = await getQuestionConfig(tenantId, questionId);
5function summarizeConfig(cfg: GetQuestionConfig200Response, includeMetadata?: boolean): QuestionConfig | undefined {
6 // Το includeMetadata είναι προαιρετικό; η υλοποίηση παραλείπεται για συντομία
7 return undefined;
8}
9const summarizedWithMeta: QuestionConfig | undefined = summarizeConfig(result, true);
10const summarizedDefault: QuestionConfig | undefined = summarizeConfig(result);
11

getQuestionConfigs Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetQuestionConfigs200Response

Παράδειγμα

Παράδειγμα getQuestionConfigs
Copy Copy
1
2const tenantId: string = 'tenant-42a7b9';
3const firstPage: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const secondPage: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, 50);
5

updateQuestionConfig Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateQuestionConfigBody UpdateQuestionConfigBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateQuestionConfig
Copy Copy
1
2const tenantId: string = 'tenant-82b3a';
3const id: string = 'qst-20260112';
4const updateQuestionConfigBody: UpdateQuestionConfigBody = { label: 'Age verification', required: true, renderingType: 'singleChoice', customOptions: [{ value: '18-24', label: '18–24' }] } as UpdateQuestionConfigBody;
5const result: FlagCommentPublic200Response = await updateQuestionConfig(tenantId, id, updateQuestionConfigBody);
6

createQuestionResult Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: CreateQuestionResult200Response

Παράδειγμα

Παράδειγμα createQuestionResult
Copy Copy
1
2const tenantId: string = "fc_tenant_7a3c_us-east-1";
3const metaItem: MetaItem = { key: "referrer", value: "/blog/how-to-comment" };
4const createQuestionResultBody: CreateQuestionResultBody = {
5 questionId: "q_42",
6 commenterId: "user_1984",
7 answer: "yes",
8 score: 4,
9 meta: [metaItem] // προαιρετικά μεταδεδομένα (παράδειγμα)
10} as CreateQuestionResultBody;
11const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, createQuestionResultBody);
12

deleteQuestionResult Internal Link

Parameters

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

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteQuestionResult
Copy Copy
1
2const tenantId: string = 'acme-tenant-01';
3const questionResultId: string = '6f1a2b3c-4d5e-6789-abcd-ef0123456789';
4const deletedResult: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, questionResultId);
5console.log(deletedResult);
6

getQuestionResult Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: GetQuestionResult200Response

Παράδειγμα

Παράδειγμα getQuestionResult
Copy Copy
1
2const tenantId: string = "3fa85f64-5717-4562-b3fc-2c963f66afa6";
3const questionId: string = "question_72f1b9c3a4";
4const result: GetQuestionResult200Response = await getQuestionResult(tenantId, questionId);
5console.log(result);
6

getQuestionResults Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Όχι
userId string Όχι
startDate string Όχι
questionId string Όχι
questionIds string Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetQuestionResults200Response

Παράδειγμα

Παράδειγμα getQuestionResults
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const urlId: string = 'news/2025/fastcomments-release';
4const userId: string = 'user_8b7f3c';
5const startDate: string = '2025-01-01T00:00:00Z';
6const questionIds: string = 'q123,q124';
7const skip: number = 20;
8const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, undefined, questionIds, skip);
9

updateQuestionResult Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateQuestionResultBody UpdateQuestionResultBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateQuestionResult
Copy Copy
1
2const tenantId: string = 'tenant_84f2b9';
3const id: string = 'question_3a7c1d';
4const updateQuestionResultBody: UpdateQuestionResultBody = {
5 result: { verdict: 'helpful', confidence: 0.92 },
6 reviewer: { id: 'mod_102', name: 'Aisha Rahman' },
7 notifyUser: true // προαιρετική παράμετρος που συμπεριλαμβάνεται
8};
9const response: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
10

aggregateQuestionResults Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
questionId string Όχι
questionIds Array Όχι
urlId string Όχι
timeBucket AggregateTimeBucket Όχι
startDate Date Όχι
forceRecalculate boolean Όχι

Απόκριση

Επιστρέφει: AggregateQuestionResults200Response


bulkAggregateQuestionResults Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
bulkAggregateQuestionResultsRequest BulkAggregateQuestionResultsRequest Ναι
forceRecalculate boolean Όχι

Απόκριση

Επιστρέφει: BulkAggregateQuestionResults200Response


combineCommentsWithQuestionResults Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
questionId string Όχι
questionIds Array Όχι
urlId string Όχι
startDate Date Όχι
forceRecalculate boolean Όχι
minValue number Όχι
maxValue number Όχι
limit number Όχι

Απόκριση

Επιστρέφει: CombineCommentsWithQuestionResults200Response


addSSOUser Internal Link


Παράμετροι

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

Απάντηση

Επιστρέφει: AddSSOUserAPIResponse


deleteSSOUser Internal Link


Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
id string Ναι
deleteComments boolean Όχι
commentDeleteMode string Όχι

Απόκριση

Επιστρέφει: DeleteSSOUserAPIResponse


getSSOUserByEmail Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetSSOUserByEmailAPIResponse


getSSOUserById Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetSSOUserByIdAPIResponse


getSSOUsers Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip number Όχι

Response

Επιστρέφει: GetSSOUsers200Response


patchSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateAPISSOUserData UpdateAPISSOUserData Ναι
updateComments boolean Όχι

Απόκριση

Επιστρέφει: PatchSSOUserAPIResponse


putSSOUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateAPISSOUserData UpdateAPISSOUserData Ναι
updateComments boolean Όχι

Απάντηση

Επιστρέφει: PutSSOUserAPIResponse


createSubscription Internal Link

Παράμετροι

Όνομα Τύπος Απαραίτητο Περιγραφή
tenantId string Ναι
createAPIUserSubscriptionData CreateAPIUserSubscriptionData Ναι

Απόκριση

Επιστρέφει: CreateSubscriptionAPIResponse


deleteSubscription Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
userId string Όχι

Απόκριση

Επιστρέφει: DeleteSubscriptionAPIResponse


getSubscriptions Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
userId string Όχι

Απόκριση

Επιστρέφει: GetSubscriptionsAPIResponse


getTenantDailyUsages Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
yearNumber number Όχι
monthNumber number Όχι
dayNumber number Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetTenantDailyUsages200Response

Παράδειγμα

Παράδειγμα getTenantDailyUsages
Copy Copy
1
2const tenantId: string = "tenant_89f3c2-prod";
3const yearNumber: number = 2026;
4const monthNumber: number = 1;
5const skip: number = 0;
6const usages: GetTenantDailyUsages200Response = await getTenantDailyUsages(tenantId, yearNumber, monthNumber, undefined, skip);
7

createTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Yes
createTenantPackageBody CreateTenantPackageBody Yes

Απάντηση

Επιστρέφει: CreateTenantPackage200Response

Παράδειγμα

Παράδειγμα createTenantPackage
Copy Copy
1
2const tenantId: string = "tenant_7f3b1a9c";
3const tenantPackage: TenantPackage = { id: "pkg_001", name: "Premium Plan", seats: 100 };
4const customConfig: CustomConfigParameters = { enableImages: true, maxImageSizeMb: 10 };
5const createTenantPackageBody: CreateTenantPackageBody = {
6 packageName: "Premium Plus",
7 tenantPackage,
8 customConfig,
9 notes: "Enable advanced moderation and image uploads" // προαιρετική παράμετρος για επίδειξη
10};
11const result: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
12

deleteTenantPackage Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteTenantPackage
Copy Copy
1
2const tenantId: string = 'fc-tenant-8a9c2b';
3const packageId: string = 'pkg-47f3c9';
4const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
5

getTenantPackage Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetTenantPackage200Response

Παράδειγμα

Παράδειγμα getTenantPackage
Copy Copy
1
2const tenantId: string = 'tenant_westus_01';
3const packageId: string = 'pkg_premium_annual_2026';
4interface FetchOptions { includeArchived?: boolean }
5const options: FetchOptions = { includeArchived: false };
6const result: GetTenantPackage200Response = await getTenantPackage(tenantId, packageId);
7

getTenantPackages Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetTenantPackages200Response

Παράδειγμα

Παράδειγμα getTenantPackages
Copy Copy
1
2const tenantId: string = 'tenant_4f3a9c2d';
3const skip: number = 25;
4const packagesResponse: GetTenantPackages200Response = await getTenantPackages(tenantId);
5const pagedPackagesResponse: GetTenantPackages200Response = await getTenantPackages(tenantId, skip);
6

replaceTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
replaceTenantPackageBody ReplaceTenantPackageBody Ναι

Απάντηση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα replaceTenantPackage
Copy Copy
1
2const tenantId: string = 'tenant-9b72f2';
3const packageId: string = 'pkg-prod-v2';
4const replaceTenantPackageBody: ReplaceTenantPackageBody = {
5 name: 'Premium Moderation Bundle',
6 enabled: true,
7 maxModerators: 4,
8 // προαιρετικά πεδία όπως τα "notes" ή "trialExpiry" έχουν σκόπιμα παραληφθεί εδώ
9} as ReplaceTenantPackageBody;
10const result: FlagCommentPublic200Response = await replaceTenantPackage(
11 tenantId,
12 packageId,
13 replaceTenantPackageBody
14);
15

updateTenantPackage Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateTenantPackageBody UpdateTenantPackageBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateTenantPackage
Copy Copy
1
2const tenantId: string = 'tenant_8a4f1c9b';
3const packageId: string = 'pkg_premium_v2';
4const customConfig: CustomConfigParameters = { enableRichText: true, maxImagesPerComment: 5 };
5const updateTenantPackageBody: UpdateTenantPackageBody = {
6 name: 'Premium Moderation Package',
7 enabled: true,
8 description: 'Adds advanced spam rules, image moderation and priority support',
9 customConfigParameters: customConfig
10};
11const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, packageId, updateTenantPackageBody);
12

createTenantUser Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: CreateTenantUser200Response

Παράδειγμα

createTenantUser Παράδειγμα
Copy Copy
1
2const tenantId: string = "tenant_9a8c7e4b";
3const createTenantUserBody: CreateTenantUserBody = {
4 email: "julia.smith@acme-corp.com",
5 displayName: "Julia Smith",
6 role: "moderator",
7 password: "Str0ngP@ssword!23",
8 sendInviteEmail: true, // προαιρετική παράμετρος για επίδειξη
9 locale: "en-US",
10 metadata: { department: "Customer Success" }
11};
12const result: CreateTenantUser200Response = await createTenantUser(tenantId, createTenantUserBody);
13

deleteTenantUser Internal Link

Παράμετροι

Όνομα Τύπος Υποχρεωτικό Περιγραφή
tenantId string Ναι
id string Ναι
deleteComments string Όχι
commentDeleteMode string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteTenantUser
Copy Copy
1
2const tenantId: string = 'tenant_8f3b2a9c';
3const id: string = 'user_4e5f6a7b';
4const deleteComments: string = 'true';
5const commentDeleteMode: string = 'hard';
6
7const result: FlagCommentPublic200Response = await deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode);
8

getTenantUser Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: GetTenantUser200Response

Παράδειγμα

Παράδειγμα getTenantUser
Copy Copy
1
2const tenantId: string = "tenant_9f7d4b2a-1c3e";
3const id: string = "user_6a12b3c4d5";
4const includeProfile: boolean | undefined = true; // παράδειγμα προαιρετικής παραμέτρου
5const response: GetTenantUser200Response = await getTenantUser(tenantId, id);
6console.log("Tenant user fetched", response);
7

getTenantUsers Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
skip number Όχι

Απόκριση

Επιστρέφει: GetTenantUsers200Response

Παράδειγμα

Παράδειγμα getTenantUsers
Copy Copy
1
2const tenantId: string = 'tenant_8f3b2c1a';
3const skip: number = 50;
4const firstPage: GetTenantUsers200Response = await getTenantUsers(tenantId);
5const nextPage: GetTenantUsers200Response = await getTenantUsers(tenantId, skip);
6

replaceTenantUser Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
replaceTenantUserBody ReplaceTenantUserBody Ναι
updateComments string Όχι

Απάντηση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα replaceTenantUser
Copy Copy
1
2const tenantId: string = "tenant_5f8b9a";
3const id: string = "user_92bf21";
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 email: "jane.doe@acme-corp.com",
6 displayName: "Jane Doe",
7 externalId: "acme|12345",
8 roles: ["commenter", "moderator"],
9 isActive: true,
10 metadata: { team: "product", location: "NYC" }
11};
12const updateComments: string = "Update historical comments to reflect new display name";
13const result: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
14

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
redirectURL string Όχι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα sendLoginLink
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const id: string = 'user_9f3b2a';
4const redirectURL: string = 'https://app.example.com/onboard?source=login-email';
5const result: FlagCommentPublic200Response = await sendLoginLink(tenantId, id, redirectURL);
6

updateTenantUser Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Yes
id string Yes
updateTenantUserBody UpdateTenantUserBody Yes
updateComments string No

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateTenantUser
Copy Copy
1
2const tenantId: string = 'tenant_84f3b2';
3const id: string = 'user_7a9d1c';
4const updateComments: string = 'Promoted to moderator and updated contact email';
5const updateTenantUserBody: UpdateTenantUserBody = {
6 email: 'jane.doe+mod@example.com',
7 displayName: 'Jane D.',
8 roles: ['moderator'],
9 isBanned: false,
10 metadata: { department: 'community' }
11};
12const result: FlagCommentPublic200Response = await updateTenantUser(tenantId, id, updateTenantUserBody, updateComments);
13

createTenant Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createTenantBody CreateTenantBody Ναι

Απόκριση

Επιστρέφει: CreateTenant200Response

Παράδειγμα

Παράδειγμα createTenant
Copy Copy
1
2const tenantId: string = "acme-corporation";
3const billing: BillingInfo = { planId: "pro", billingContactEmail: "finance@acme-corp.com", currency: "USD" };
4const domainConfig: APIDomainConfiguration = { primaryDomain: "comments.acme-corp.com", allowedDomains: ["acme-corp.com", "www.acme-corp.com"], enforceHttps: true };
5const importedSites: ImportedSiteType[] = [{ siteId: "site-001", url: "https://blog.acme-corp.com", name: "Acme Blog" }]; // optional
6const createBody: CreateTenantBody = { tenantName: "Acme Corporation", adminEmail: "admin@acme-corp.com", billingInfo: billing, domainConfiguration: domainConfig, importedSites, enableModeration: true };
7const response: CreateTenant200Response = await createTenant(tenantId, createBody);
8

deleteTenant Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
sure string Όχι

Απάντηση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα deleteTenant
Copy Copy
1
2const tenantId: string = "tenant_7b3f1a9e";
3const id: string = "flag_9c4d2b1a";
4const sure: string = "yes_confirm_delete";
5
6const result: FlagCommentPublic200Response = await deleteTenant(tenantId, id, sure);
7console.log(result);
8

getTenant Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetTenant200Response

Παράδειγμα

Παράδειγμα getTenant
Copy Copy
1
2const tenantId: string = "tenant_acme_corp";
3const id: string = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
4interface GetOptions { includeDeleted?: boolean; locale?: string; }
5const options: GetOptions = { locale: "en-US" };
6const result: GetTenant200Response = await getTenant(tenantId, id);
7

getTenants Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
meta string Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetTenants200Response

Παράδειγμα

Παράδειγμα getTenants
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_9f2d1b7c';
4 const meta: string = 'include=domains,billing,customConfig';
5 const skip: number = 20;
6 const response: GetTenants200Response = await getTenants(tenantId, meta, skip);
7 console.log(response);
8})();
9

updateTenant Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateTenantBody UpdateTenantBody Ναι

Απόκριση

Επιστρέφει: FlagCommentPublic200Response

Παράδειγμα

Παράδειγμα updateTenant
Copy Copy
1
2const tenantId: string = "tenant_01H4ZQ7KABCD";
3const id: string = "site_9f8e7d6c";
4const apiDomainConfiguration: APIDomainConfiguration = {
5 primaryDomain: "comments.acme.com",
6 allowSubdomains: true
7};
8const billingInfo: BillingInfo = {
9 planName: "Business",
10 billingContactEmail: "billing@acme.com",
11 seats: 25
12};
13const updateTenantBody: UpdateTenantBody = {
14 displayName: "Acme Corporation Comments",
15 apiDomainConfiguration,
16 billingInfo, // προαιρετική παράμετρος για επίδειξη
17 enableModeration: true
18};
19const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
20

uploadImage Internal Link

Ανέβασμα και αλλαγή μεγέθους εικόνας

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
file Blob Ναι
sizePreset SizePreset Όχι
urlId string Όχι

Απόκριση

Επιστρέφει: UploadImageResponse

getUserBadgeProgressById Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetUserBadgeProgressById200Response


getUserBadgeProgressByUserId Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetUserBadgeProgressById200Response


getUserBadgeProgressList Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι
limit number Όχι
skip number Όχι

Απόκριση

Επιστρέφει: GetUserBadgeProgressList200Response


createUserBadge Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: CreateUserBadge200Response


deleteUserBadge Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: UpdateUserBadge200Response


getUserBadge Internal Link

Παράμετροι

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

Απάντηση

Επιστρέφει: GetUserBadge200Response


getUserBadges Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
userId string Όχι
badgeId string Όχι
type number Όχι
displayedOnComments boolean Όχι
limit number Όχι
skip number Όχι

Απάντηση

Επιστρέφει: GetUserBadges200Response


updateUserBadge Internal Link


Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
updateUserBadgeParams UpdateUserBadgeParams Ναι

Απόκριση

Επιστρέφει: UpdateUserBadge200Response


getUserNotificationCount Internal Link

Παράμετροι

Name Type Απαραίτητο Περιγραφή
tenantId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: GetUserNotificationCount200Response

getUserNotifications Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
pageSize number Όχι
afterId string Όχι
includeContext boolean Όχι
afterCreatedAt number Όχι
unreadOnly boolean Όχι
dmOnly boolean Όχι
noDm boolean Όχι
includeTranslations boolean Όχι
sso string Όχι

Απόκριση

Επιστρέφει: GetUserNotifications200Response


resetUserNotificationCount Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: ResetUserNotifications200Response


resetUserNotifications Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
afterId string Όχι
afterCreatedAt number Όχι
unreadOnly boolean Όχι
dmOnly boolean Όχι
noDm boolean Όχι
sso string Όχι

Απόκριση

Επιστρέφει: ResetUserNotifications200Response


updateUserNotificationCommentSubscriptionStatus Internal Link


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

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
notificationId string Ναι
optedInOrOut UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum Ναι
commentId string Ναι
sso string Όχι

Απόκριση

Επιστρέφει: UpdateUserNotificationStatus200Response


updateUserNotificationPageSubscriptionStatus Internal Link

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

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
url string Ναι
pageTitle string Ναι
subscribedOrUnsubscribed UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum Ναι
sso string Όχι

Απάντηση

Επιστρέφει: UpdateUserNotificationStatus200Response

updateUserNotificationStatus Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
notificationId string Ναι
newStatus UpdateUserNotificationStatusNewStatusEnum Ναι
sso string Όχι

Απόκριση

Επιστρέφει: UpdateUserNotificationStatus200Response


getUserPresenceStatuses Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetUserPresenceStatuses200Response


searchUsers Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
urlId string Ναι
usernameStartsWith string Ναι
mentionGroupIds Array Όχι
sso string Όχι

Απόκριση

Επιστρέφει: SearchUsers200Response


getUser Internal Link


Παράμετροι

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

Απόκριση

Επιστρέφει: GetUser200Response

Παράδειγμα

Παράδειγμα getUser
Copy Copy
1
2const tenantId: string = "acme-publishing-42";
3const userIdOptional: string | undefined = "user_9d7b4c"; // ενδέχεται να είναι undefined σε ορισμένες ροές (προαιρετικό)
4const id: string = userIdOptional ?? "user_default_0001";
5const result: GetUser200Response = await getUser(tenantId, id);
6console.log(result);
7

createVote Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
commentId string Ναι
direction CreateVoteDirectionEnum Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: VoteComment200Response

Παράδειγμα

Παράδειγμα createVote
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-tenant-812';
4 const commentId: string = '5e8f8b7a-3d4b-4f1b-9a2e-1c9f2d6a7b8c';
5 const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.UP;
6 const anonUserId: string = 'anon-84b9c2d';
7 const voteResult: VoteComment200Response = await createVote(tenantId, commentId, direction, undefined, anonUserId);
8 console.log(voteResult);
9})();
10

deleteVote Internal Link

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
id string Ναι
editKey string Όχι

Απόκριση

Επιστρέφει: DeleteCommentVote200Response

Παράδειγμα

Παράδειγμα deleteVote
Copy Copy
1
2const tenantId: string = 'tenant_7f3b21c9';
3const id: string = 'vote_4a2d9f1b';
4const editKey: string = 'edit_92b7c6a1';
5
6const resultWithoutEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id);
7const resultWithEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id, editKey);
8

getVotes Internal Link

Παράμετροι

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

Απόκριση

Επιστρέφει: GetVotes200Response

Παράδειγμα

Παράδειγμα getVotes
Copy Copy
1
2const tenantId: string = 'tenant_9f8b3c_prod';
3const urlId: string = '/news/2026/typescript-ecosystem-update';
4const votes: GetVotes200Response = await getVotes(tenantId, urlId);
5// Εάν υπήρχε προαιρετική παράμετρος, π.χ. includeHidden, θα μπορούσε να χρησιμοποιηθεί ως εξής:
6// const votesWithHidden: GetVotes200Response = await getVotes(tenantId, urlId, { includeHidden: true });
7

getVotesForUser Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
urlId string Ναι
userId string Όχι
anonUserId string Όχι

Απόκριση

Επιστρέφει: GetVotesForUser200Response

Παράδειγμα

Παράδειγμα getVotesForUser
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const urlId: string = 'news/2026/01/12/product-launch';
4const userId: string = 'user_9c3f2b';
5const anonUserId: string = 'anon_d4e7a1';
6
7const votesForUser: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, userId);
8const votesForAnon: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, undefined, anonUserId);
9


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

Εάν αντιμετωπίσετε προβλήματα ή έχετε ερωτήσεις σχετικά με το JavaScript/TypeScript SDK, παρακαλούμε:

Συνεισφορές

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