FastComments.com

FastComments JavaScript/TypeScript SDK

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

Επίσημο JavaScript/TypeScript SDK για το 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 (προεπιλογή) - Μόνο τύποι, ασφαλές για εισαγωγή οπουδήποτε

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

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

  • DefaultApi - Ασφαλή endpoints που απαιτούν το κλειδί API σας για αυθεντικοποίηση. Χρησιμοποιήστε αυτά για λειτουργίες από την πλευρά του διακομιστή.
  • PublicApi - Δημόσια endpoints που μπορούν να προσπελαστούν χωρίς κλειδί API. Αυτά μπορούν να κληθούν απευθείας από προγράμματα περιήγησης/κινητές συσκευές/κ.λπ.
  • HiddenApi - Εσωτερικά/διαχειριστικά endpoints για προχωρημένες περιπτώσεις χρήσης.

Παράδειγμα: Χρήση του Public API (ασφαλές για πρόγραμμα περιήγησης)

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

const publicApi = new PublicApi();

// Λήψη σχολίων για μία σελίδα (δεν απαιτείται κλειδί API)
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 είναι διαθέσιμη μόνο στο server export καθώς απαιτεί δυνατότητες crypto του Node.js.

Simple SSO (Server-Side Only)

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

// Κώδικας στο server (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Create simple SSO using the built-in helper  
const userData = {
  username: 'john_doe',
  email: 'john@example.com',
  displayName: 'John Doe',
  avatar: 'https://example.com/avatar.jpg'
};

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

const ssoToken = sso.createToken();

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

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

// Κώδικας στο server (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Create secure SSO using the built-in helper
const userData = {
  id: 'user-123',
  email: 'john@example.com',
  username: 'john_doe',
  displayName: 'John Doe',
  avatar: 'https://example.com/avatar.jpg',
  isAdmin: false,
  isModerator: false
};

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

const ssoConfig = sso.prepareToSend();

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

// Or send ssoConfig to client for browser usage

Using SSO from Browser (with Server-Generated Token)

Χρήση SSO από το πρόγραμμα περιήγησης (με token που δημιουργείται από τον server)

// Κώδικας client-side (πρόγραμμα περιήγησης)
import { PublicApi } from 'fastcomments-sdk/browser';

// Get SSO token from your server endpoint
const ssoToken = await fetch('/api/sso-token').then(r => r.json());

const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: ssoToken // Χρησιμοποιήστε το SSO token που δημιουργήθηκε από τον server
});

SSO with Comment Creation

SSO με δημιουργία σχολίου

// Server-side: Create SSO and comment
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

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

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

Συνήθη σενάρια χρήσης 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 για ψήφο κατά
  }
});

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

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

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

Εγγραφείτε σε ζωντανά γεγονότα για να λαμβάνετε ενημερώσεις σε πραγματικό χρόνο για σχόλια, ψήφους και άλλες δραστηριότητες.

Συμβάντα σε επίπεδο σελίδας

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

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);
        // Update your UI with the new comment
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Update vote counts in your UI
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }

    return true; // Return true if event was handled
  },
  (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', // 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);
        // Show notification in your 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

Η παράμετρος userIdWS απαιτείται για τα ζωντανά συμβάντα και μπορεί να ληφθεί από τις απαντήσεις του API:

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

Αναγνωριστικά μετάδοσης Internal Link


Θα δείτε ότι πρέπει να περάσετε ένα broadcastId σε ορισμένες κλήσεις API. Όταν λαμβάνετε συμβάντα, θα λάβετε πίσω αυτό το ID, ώστε να γνωρίζετε να αγνοήσετε το συμβάν εάν σκοπεύετε να εφαρμόσετε αλλαγές με αισιοδοξία στον πελάτη (κάτι που πιθανόν θα θελήσετε να κάνετε, καθώς προσφέρει την καλύτερη εμπειρία). Περάστε εδώ ένα 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 (UUID) για αυτήν την ενέργεια
  }
});

Διαχείριση σφαλμάτων 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);
  }
}

Συναθροισμός Internal Link

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

Παράμετροι

Όνομα Τύπος Απαιτείται Περιγραφή
tenantId string Ναι
aggregationRequest AggregationRequest Ναι
parentTenantId string Όχι
includeStats boolean Όχι

Απόκριση

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


Λήψη ημερολογίων ελέγχου Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
limit number Όχι
skip number Όχι
order SORTDIR Όχι
after number Όχι
before number Όχι

Απόκριση

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

Παράδειγμα

Παράδειγμα getAuditLogs
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

Αποκλεισμός από δημόσιο σχόλιο Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα blockFromCommentPublic
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

Άρση αποκλεισμού δημόσιου σχολίου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα unBlockCommentPublic
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

Έλεγχος σχολίων για αποκλεισμό Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα checkedCommentsForBlocked
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

Αποκλεισμός χρήστη από σχόλιο Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Δημιουργία δημόσιου σχολίου Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createCommentPublic
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

Διαγραφή σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteComment
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

Διαγραφή δημόσιου σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Διαγραφή ψήφου σχολίου Internal Link


Παράμετροι

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

Απάντηση

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

Παράδειγμα

deleteCommentVote Παράδειγμα
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

Σήμανση σχολίου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα flagComment
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

Λήψη σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getComment
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

Λήψη σχολίων 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

Παράδειγμα

Παράδειγμα getComments
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const response: GetComments200Response = await getComments(
4 tenantId,
5 1, // σελίδα
6 20, // όριο
7 0, // παράλειψη
8 true, // ως δέντρο
9 1, // παράλειψη παιδιών
10 3, // όριο παιδιών
11 4, // μέγιστο βάθος δέντρου
12 'articles/2026/new-product-launch', // αναγνωριστικό διεύθυνσης URL
13 'user_7890', // αναγνωριστικό χρήστη
14 'anon_4f3b2', // ανώνυμο αναγνωριστικό χρήστη
15 undefined, // αναγνωριστικό χρήστη πλαισίου
16 '#launch', // hashtag
17 undefined // αναγνωριστικό γονέα
18);
19

Λήψη δημόσιων σχολίων 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

Παράδειγμα

Παράδειγμα getCommentsPublic
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

Λήψη κειμένου σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη ονομάτων χρηστών που ψήφισαν σχόλιο Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
commentId string Ναι
dir number Ναι
sso string Όχι

Απόκριση

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

Παράδειγμα

Παράδειγμα getCommentVoteUserNames
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

Κλείδωμα σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα lockComment
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

Καρφίτσωμα σχολίου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα pinComment
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

Αποθήκευση σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα saveComment
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

Μαζική αποθήκευση σχολίων Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα saveCommentsBulk
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

Ορισμός κειμένου σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Άρση αποκλεισμού χρήστη από σχόλιο Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα unBlockUserFromComment
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

Αφαίρεση σήμανσης σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα unFlagComment
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

Ξεκλείδωμα σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα unLockComment
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

Αφαίρεση καρφίτσας από σχόλιο Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Ενημέρωση σχολίου Internal Link

Parameters

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

Response

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

Παράδειγμα

Παράδειγμα 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

Ψήφιση σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Προσθήκη ρύθμισης τομέα Internal Link

Παράμετροι

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

Απόκριση

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


Διαγραφή ρύθμισης τομέα Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη ρύθμισης τομέα Internal Link


Παράμετροι

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

Απόκριση

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


Λήψη ρυθμίσεων τομέα Internal Link


Παράμετροι

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

Απόκριση

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


Μερική ενημέρωση ρύθμισης τομέα Internal Link


Παράμετροι

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

Απάντηση

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


Αντικατάσταση ρύθμισης τομέα Internal Link

Παράμετροι

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

Απόκριση

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


Δημιουργία προτύπου email Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createEmailTemplate
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

Διαγραφή προτύπου email Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteEmailTemplate
Copy Copy
1
2const tenantId: string = 'tenant_7f4c9d1e';
3const templateId: string = 'tmpl_welcome_2024-03';
4const notifyAdmin: boolean | undefined = true; // παράδειγμα προαιρετικής παραμέτρου
5
6const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, templateId);
7

Διαγραφή σφάλματος απόδοσης προτύπου email Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteEmailTemplateRenderError
Copy Copy
1
2const tenantId: string = 'tenant_7f3b4c2a';
3const templateEnvironment: string | undefined = 'production'; // προαιρετικός επιλογέας περιβάλλοντος
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

Λήψη προτύπου email Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα 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

Λήψη ορισμών προτύπων email Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη σφαλμάτων απόδοσης προτύπων email Internal Link

Παράμετροι

Name Type Required Description
tenantId string Yes
id string Yes
skip number No

Απόκριση

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

Παράδειγμα

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

Λήψη προτύπων email Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getEmailTemplates
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

Απόδοση προτύπου email Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα renderEmailTemplate
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

Ενημέρωση προτύπου email Internal Link


Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα 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

Λήψη καταγραφής συμβάντων Internal Link

req tenantId urlId userIdWS

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getEventLog
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-01';
3const urlId: string = 'article-2026-03-25';
4const userIdWS: string | undefined = undefined; // προαιρετική τιμή upstream
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

Λήψη παγκόσμιας καταγραφής συμβάντων Internal Link

req tenantId urlId userIdWS

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getGlobalEventLog
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; // 7 ημέρες πριν
6const endTimeOptional: number | undefined = undefined; // προαιρετικό τέλος χρονικού διαστήματος
7const endTime: number = endTimeOptional ?? Date.now();
8const eventLog: GetEventLog200Response = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
9

Δημιουργία δημοσίευσης ροής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createFeedPost
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

Δημιουργία δημόσιας δημοσίευσης ροής Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createFeedPostParams CreateFeedPostParams Ναι
broadcastId string Όχι
sso string Όχι

Απόκριση

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

Παράδειγμα

Παράδειγμα createFeedPostPublic
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

Διαγραφή δημόσιας δημοσίευσης ροής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteFeedPostPublic
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

Λήψη δημοσιεύσεων ροής Internal Link

req tenantId afterId

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getFeedPosts
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

Λήψη δημόσιων δημοσιεύσεων ροής Internal Link

req tenantId afterId

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getFeedPostsPublic
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

Λήψη στατιστικών δημοσιεύσεων ροής Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getFeedPostsStats
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

Λήψη δημόσιων αντιδράσεων χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserReactsPublic
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

Αντίδραση σε δημόσια δημοσίευση ροής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα reactFeedPostPublic
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

Ενημέρωση δημοσίευσης ροής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα updateFeedPost
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], // προαιρετικός πίνακας περιλαμβάνεται
27 links: [link], // προαιρετικοί σύνδεσμοι περιλαμβάνονται
28 isPublished: true // προαιρετική σημαία δημοσίευσης που χρησιμοποιείται εδώ
29};
30
31const result: FlagCommentPublic200Response = await updateFeedPost(tenantId, id, feedPost);
32

Ενημέρωση δημόσιας δημοσίευσης ροής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Σήμανση δημόσιου σχολίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα flagCommentPublic
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 Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα addHashTag
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 Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα addHashTagsBulk
Copy Copy
1
2// Δημιουργία αναγνωριστικού tenant (προαιρετική παράμετρος)
3const tenantId: string = "tenant_9f8c2b7a";
4
5// Προετοιμασία μεμονωμένων καταχωρήσεων ετικετών
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// Σώμα για μαζική δημιουργία (προαιρετική παράμετρος)
23const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
24 tags: [tag1, tag2]
25};
26
27// Κλήση της παγκόσμιας ασύγχρονης συνάρτησης και ανάθεση τυποποιημένου αποτελέσματος
28const result: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
29

Διαγραφή hashtag Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteHashTag
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 Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getHashTags
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 Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα patchHashTag
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

Δημιουργία συντονιστή Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createModerator
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

Διαγραφή συντονιστή Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη συντονιστή Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

getModerator Παράδειγμα
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-123';
3const id: string = 'mod-987654321';
4const moderatorResponse: GetModerator200Response = await getModerator(tenantId, id);
5

Λήψη συντονιστών Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getModerators
Copy Copy
1
2const tenantId: string = 'tenant-12345-prod';
3const moderatorsPage1: GetModerators200Response = await getModerators(tenantId);
4const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, 50);
5

Αποστολή πρόσκλησης Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα sendInvite
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

Ενημέρωση συντονιστή Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα updateModerator
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" // προαιρετικό πεδίο για επίδειξη
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBody);
12

Διαγραφή καταμέτρησης ειδοποιήσεων Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη προσωρινά αποθηκευμένης καταμέτρησης ειδοποιήσεων Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getCachedNotificationCount
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const id: string = 'user_00012345';
4const includeUnreadOnly: boolean | undefined = true; // προαιρετική σημαία παραμέτρου (παραδειγματική)
5const result: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, id);
6

Λήψη αριθμού ειδοποιήσεων Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη ειδοποιήσεων Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getNotifications
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

Ενημέρωση ειδοποίησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Προσθήκη σελίδας Internal Link

Παράμετροι

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

Απόκριση

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


Διαγραφή σελίδας Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη σελίδας ανά URL Id Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη σελίδων Internal Link


Παράμετροι

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

Απάντηση

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


Μερική ενημέρωση σελίδας Internal Link

Παράμετροι

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

Απόκριση

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


Διαγραφή εκκρεμούς γεγονότος webhook Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deletePendingWebhookEvent
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_42f7c9b1';
4 const id: string = 'pending_webhook_ev_8f3b9a2d';
5 const reason?: string = undefined; // προαιρετικό παράδειγμα παραμέτρου (δεν απαιτείται από τη συνάρτηση)
6 const result: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, id);
7 console.log(result);
8})();
9

Λήψη αριθμού εκκρεμών γεγονότων webhook Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη εκκρεμών γεγονότων webhook 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_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

Δημιουργία ρύθμισης ερώτησης Internal Link


Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα createQuestionConfig
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, // προαιρετική παράμετρος για επίδειξη
9 options: [option],
10 saveBehavior: "immediate"
11};
12const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
13

Διαγραφή ρύθμισης ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteQuestionConfig
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

Λήψη ρύθμισης ερώτησης Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getQuestionConfig
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

Λήψη ρυθμίσεων ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getQuestionConfigs
Copy Copy
1
2const tenantId: string = "tenant_acme_9876";
3const configsWithoutSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const configsWithSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, 20);
5

Ενημέρωση ρύθμισης ερώτησης Internal Link

Parameters

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

Response

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

Παράδειγμα

Παράδειγμα updateQuestionConfig
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

Δημιουργία αποτελέσματος ερώτησης Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createQuestionResultBody CreateQuestionResultBody Ναι

Απάντηση

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

Παράδειγμα

Παράδειγμα createQuestionResult
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, // προαιρετικά μεταδεδομένα
9 note: "Follow-up requested" // επίδειξη προαιρετικής παραμέτρου
10};
11const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, createQuestionResultBody);
12

Διαγραφή αποτελέσματος ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteQuestionResult
Copy Copy
1
2const tenantId: string = "org-82479";
3const questionId: string = "q-6a3d2e1f";
4const includeArchived?: boolean = false; // προαιρετική παράμετρος που δείχνει εναλλακτική επιλογή στόχου
5const targetId: string = includeArchived ? "q-archived-112233" : questionId;
6const result: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, targetId);
7

Λήψη αποτελέσματος ερώτησης Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα 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

Λήψη αποτελεσμάτων ερώτησης Internal Link

Παράμετροι

Name Type Required Description
tenantId string Yes
urlId string No
userId string No
startDate string No
questionId string No
questionIds string No
skip number No

Απόκριση

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

Παράδειγμα

Παράδειγμα getQuestionResults
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

Ενημέρωση αποτελέσματος ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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[], // προαιρετικά μεταδεδομένα
10 status: { code: 'review_pending' } as APIStatus
11} as UpdateQuestionResultBody;
12const result: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
13

Συναθροισμός αποτελεσμάτων ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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 παραλείπεται, αντί γι' αυτό χρησιμοποιούνται τα questionIds
12 questionIds,
13 urlId,
14 timeBucket,
15 startDate,
16 forceRecalculate
17);
18

Μαζικός συναθροισμός αποτελεσμάτων ερώτησης Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα bulkAggregateQuestionResults
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

Συνδυασμός σχολίων με αποτελέσματα ερώτησης Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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 Internal Link

Παράμετροι

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

Απόκριση

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


Διαγραφή χρήστη SSO Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη χρήστη SSO με email Internal Link


Παράμετροι

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

Απόκριση

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


Λήψη χρήστη SSO με Id Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη χρηστών SSO Internal Link

Παράμετροι

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

Απόκριση

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


Μερική ενημέρωση χρήστη SSO Internal Link


Παράμετροι

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

Απόκριση

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


Αντικατάσταση χρήστη SSO Internal Link


Παράμετροι

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

Απάντηση

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


Δημιουργία συνδρομής Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createSubscription
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, // προαιρετική παράμετρος (παράδειγμα)
8 metadata: { source: "marketing-email" } // προαιρετική παράμετρος (παράδειγμα)
9};
10const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, createAPIUserSubscriptionData);
11const subscription: APIUserSubscription = result.subscription;
12

Διαγραφή συνδρομής Internal Link

Παράμετροι

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

Απόκριση

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


Λήψη συνδρομών Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Ενημέρωση συνδρομής Internal Link


Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη ημερήσιας χρήσης tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenantDailyUsages
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

Δημιουργία πακέτου tenant Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createTenantPackageBody CreateTenantPackageBody Ναι

Απόκριση

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

Παράδειγμα

Παράδειγμα createTenantPackage
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, // προαιρετική παράμετρος που παρέχεται
8 // παραλείπονται προαιρετικά πεδία: π.χ., προηγμένοι κανόνες εποπτείας, προσαρμοσμένο CSS
9 customConfigParameters: {
10 enableProfanityFilter: true,
11 imageContentProfanityLevel: 'medium' // τιμή για παραδειγματισμό; χρησιμοποιεί τη δομή CustomConfigParameters
12 }
13};
14const response: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
15console.log(response);
16

Διαγραφή πακέτου tenant Internal Link


Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα deleteTenantPackage
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 }; // επιδεικνύονται προαιρετικές παράμετροι
6const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
7

Λήψη πακέτου tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenantPackage
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

Λήψη πακέτων tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenantPackages
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

Αντικατάσταση πακέτου tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα replaceTenantPackage
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

Ενημέρωση πακέτου tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα updateTenantPackage
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 // προαιρετικά πεδία παραλείπονται σκόπιμα (π.χ., description, limits)
8} as UpdateTenantPackageBody;
9const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, id, updateTenantPackageBody);
10

Δημιουργία χρήστη tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createTenantUser
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

Διαγραφή χρήστη tenant Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα 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

Λήψη χρήστη tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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; // πρόσβαση στο payload
6const userEmail: string | undefined = user?.email;
7console.log('Fetched user email:', userEmail);
8

Λήψη χρηστών tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Αντικατάσταση χρήστη tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα replaceTenantUser
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

Παράμετροι

Name Type Required Description
tenantId string Yes
id string Yes
redirectURL string No

Απόκριση

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

Παράδειγμα

Παράδειγμα sendLoginLink
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

Ενημέρωση χρήστη tenant Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
id string Ναι
updateTenantUserBody UpdateTenantUserBody Ναι
updateComments string Όχι

Απόκριση

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

Παράδειγμα

Παράδειγμα updateTenantUser
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

Δημιουργία tenant Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα createTenant
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" } // προαιρετικός εισαγόμενος ιστότοπος
9};
10const result: CreateTenant200Response = await createTenant(tenantId, createTenantBody);
11

Διαγραφή tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη tenant Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenant
Copy Copy
1
2const tenantId: string = "tenant_9f4b2c1a";
3const idOverride: string | undefined = undefined; // προαιρετική παράκαμψη, αν είναι διαθέσιμη
4const id: string = idOverride ?? "site_3e7a6b2f";
5const response: GetTenant200Response = await getTenant(tenantId, id);
6console.log(response);
7

Λήψη tenants Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTenants
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

Ενημέρωση tenant Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα updateTenant
Copy Copy
1
2const tenantId: string = "tenant_4821";
3const id: string = "flag_7b9e";
4const billingInfo: BillingInfo | undefined = undefined; // προαιρετικό, παραλείψτε για να διατηρήσετε την τρέχουσα χρέωση
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

Αλλαγή κατάστασης εισιτηρίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα changeTicketState
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

Δημιουργία εισιτηρίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα createTicket
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", // προαιρετικό πεδίο (παράδειγμα)
8 contactEmail: "billing@acme-corp.com", // προαιρετικές πληροφορίες επαφής
9 relatedUrl: "https://acme-corp.com/account/billing"
10};
11const ticketResponse: CreateTicket200Response = await createTicket(tenantId, userId, createTicketBody);
12

Λήψη εισιτηρίου Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTicket
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

Λήψη εισιτηρίων Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getTickets
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

Μεταφόρτωση εικόνας Internal Link

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

Παράμετροι

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

Απόκριση

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


Λήψη προόδου σήματος χρήστη κατά Id Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserBadgeProgressById
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

Λήψη προόδου σήματος χρήστη με UserId Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα για getUserBadgeProgressByUserId
Copy Copy
1
2const tenantId: string = 'tenant_7f9c2d3b';
3const maybeUserId: string | undefined = 'user_4b8e1f9a'; // optional source (could be undefined)
4const userId: string = maybeUserId ?? 'user_fallback0001';
5const result: GetUserBadgeProgressById200Response = await getUserBadgeProgressByUserId(tenantId, userId);
6console.log(result);
7

Λήψη λίστας προόδου σημάτων χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserBadgeProgressList
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

Δημιουργία σήματος χρήστη Internal Link

Παράμετροι

Name Type Required Description
tenantId string Ναι
createUserBadgeParams CreateUserBadgeParams Ναι

Απόκριση

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

Παράδειγμα

Παράδειγμα createUserBadge
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 }, // προαιρετικά κριτήρια
10 displayOrder: 10,
11 metadata: { featured: true } // προαιρετικά μεταδεδομένα
12};
13const result: CreateUserBadge200Response = await createUserBadge(tenantId, createUserBadgeParams);
14console.log(result);
15

Διαγραφή σήματος χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα deleteUserBadge
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

Λήψη σήματος χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserBadge
Copy Copy
1
2const tenantId: string = "tenant_acme_01";
3const id: string = "badge_8c7d2f";
4const response: GetUserBadge200Response = await getUserBadge(tenantId, id);
5

Λήψη σηματών χρήστη Internal Link

Παράμετροι

Name Type Required Description
tenantId string Yes
userId string No
badgeId string No
type number No
displayedOnComments boolean No
limit number No
skip number No

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserBadges
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

Ενημέρωση σήματος χρήστη Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα updateUserBadge
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

Λήψη αριθμού ειδοποιήσεων χρήστη Internal Link

Παράμετροι

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

Response

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

Παράδειγμα

Παράδειγμα getUserNotificationCount
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

Λήψη ειδοποιήσεων χρήστη Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα getUserNotifications
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

Επαναφορά αριθμού ειδοποιήσεων χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Επαναφορά ειδοποιήσεων χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Ενημέρωση κατάστασης εγγραφής ειδοποίησης σχολίου χρήστη Internal Link

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

Parameters

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Ενημέρωση κατάστασης εγγραφής ειδοποίησης σελίδας χρήστη Internal Link

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

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Ενημέρωση κατάστασης ειδοποίησης χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα 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

Λήψη καταστάσεων παρουσίας χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUserPresenceStatuses
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'; // προαιρετική πηγή
5const userIds: string = maybeUserIds ?? 'user_123';
6const presence: GetUserPresenceStatuses200Response = await getUserPresenceStatuses(tenantId, urlIdWS, userIds);
7

Αναζήτηση χρηστών Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα searchUsers
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

Λήψη χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getUser
Copy Copy
1
2const tenantId: string = 'tenant_7b3f42';
3const id: string = 'user_9c4d2a';
4const userResponse: GetUser200Response = await getUser(tenantId, id);
5console.log(userResponse);
6

Δημιουργία ψήφου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα createVote
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

Διαγραφή ψήφου Internal Link

Παράμετροι

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

Απάντηση

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

Παράδειγμα

Παράδειγμα deleteVote
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

Λήψη ψήφων Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getVotes
Copy Copy
1
2const tenantId: string = 'acme-corp-8f3b';
3const refCampaign: string | undefined = 'newsletter-march2026'; // προαιρετική παράμετρος ερωτήματος
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

Λήψη ψήφων για χρήστη Internal Link

Παράμετροι

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

Απόκριση

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

Παράδειγμα

Παράδειγμα getVotesForUser
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

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

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

Συνεισφορές

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