FastComments.com

FastComments SDK za JavaScript/TypeScript

To je uradni JavaScript/TypeScript SDK za FastComments.

Upravljajte komentarje, uporabnike, SSO in moderiranje iz Node.js ali iz brskalnika.

Repozitorij

Poglej na GitHub


Namestitev Internal Link


npm

npm install fastcomments-sdk

Dokumentacija API-ja Internal Link


Popolna referenca API: docs/api/README.md

Združljivost brskalnika in strežnika Internal Link


Ta SDK uporablja dvojne vstopne točke za zagotavljanje optimalne združljivosti in preprečevanje napak med izvajanjem:

  • fastcomments-sdk/browser - Različica varna za brskalnik z nativnim fetch
  • fastcomments-sdk/server - Polna Node.js različica s podporo za SSO
  • fastcomments-sdk (privzeto) - Samo tipi, varno za uvoz kjerkoli

Javni in zaščiteni API-ji Internal Link

The SDK zagotavlja naslednje API razrede:

  • DefaultApi - Zaščitene končne točke, ki zahtevajo vaš API ključ za overjanje. Uporabite jih za operacije na strežniku.
  • PublicApi - Javne končne točke, do katerih je mogoče dostopati brez API ključa. Te lahko kličete neposredno iz brskalnikov/mobilnih naprav/itd.
  • ModerationApi - Končne točke nadzorne plošče moderatorja (moderacija komentarjev, prepovedi, značke, faktor zaupanja, iskanje). Avtenticirano z moderatorjevo sejo; posredujte poizvedni parameter sso za moderatorje, avtenticirane preko SSO.
  • HiddenApi - Notranje/admin končne točke za napredne primere uporabe.

Primer: Uporaba Public API (varno v brskalniku)

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

const publicApi = new PublicApi();

// Pridobi komentarje za stran (API ključ ni potreben)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Primer: Uporaba Default API (samo na strežniku)

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

const config = new Configuration({
  apiKey: 'your-api-key' // Hranite to skrivno!
});
const defaultApi = new DefaultApi(config);

// Pridobi komentarje z polnim administratorskim dostopom
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Primer: Uporaba Moderation API

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

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

// Klici, avtenticirani z moderatorsko sejo (sejni piškotek) ali posredujte `sso` za moderatorja, avtenticiranega preko SSO.
const comments = await sdk.moderationApi.getApiComments({
  tenantId: 'your-tenant-id'
});

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

Integracija enotne prijave (SSO) Internal Link

FastComments podpira SSO za integracijo z vašim obstoječim sistemom za preverjanje pristnosti uporabnikov. Funkcionalnost SSO je na voljo le v strežniškem izvozu saj zahteva Node.js kriptografske funkcije.

Preprosto SSO (samo strežniško)

Preprosto SSO je treba generirati na strežniku in poslati odjemalcu:

// Strežniška koda (Node.js/strežnik)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Ustvari preprosto SSO z vgrajenim pripomočkom  
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();

// Pošlji ssoToken vaši odjemalski kodi
// Odjemalska koda lahko nato uporabi ta žeton z brskalniškim SDK-jem

Varen SSO (strežniško, priporočeno)

Varen SSO je treba implementirati na strežniku in nudi boljšo varnost:

// Strežniška koda (Node.js/strežnik)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Ustvari varen SSO z vgrajenim pripomočkom
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();

// Uporabi z API klici na strežniku
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Ali pošlji ssoConfig odjemalcu za uporabo v brskalniku

Uporaba SSO iz brskalnika (z žetonom, ustvarjenim na strežniku)

// Odjemalska koda (brskalnik)
import { PublicApi } from 'fastcomments-sdk/browser';

// Pridobi SSO žeton iz vašega strežniškega končnega mesta
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 // Uporabi strežniško ustvarjen SSO žeton
});

SSO z ustvarjanjem komentarja

// Strežniško: ustvari SSO in komentar
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)
});

Pogosti primeri uporabe Internal Link

Pridobivanje komentarjev za stran

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

Ustvarjanje komentarja

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

Glasovanje za komentar

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

Upravljanje uporabnikov (zahteva API ključ)

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

Dogodki v živo (posodobitve v realnem času) Internal Link

Naročite se na dogodke v živo, da dobite posodobitve v realnem času za komentarje, glasove in druge dejavnosti.

Dogodki na ravni strani

Poslušajte dogodke v živo na določeni strani (komentarji, glasovi itd.):

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

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

// Naroči se na dogodke v živo za stran
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (pridobite ga iz odgovora getComments)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Posodobite svoj uporabniški vmesnik z novim komentarjem
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Posodobite število glasov v vašem uporabniškem vmesniku
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }
    
    return true; // Vrni true, če je bil dogodek obdelan
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Zaprite naročnino, ko končate
subscription.close();

Naročite se na uporabniške dogodke

Poslušajte dogodke, ki so specifični za uporabnika (obvestila, omembe itd.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Pridobite to iz odgovora getComments
};

// Naročite se na osebni vir uporabnika
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Prikažite obvestilo v vašem uporabniškem vmesniku
        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');
  }
);

// Zaprite, ko končate
userSubscription.close();

Pridobivanje userIdWS

Parameter userIdWS je obvezen za dogodke v živo in ga je mogoče pridobiti iz odgovorov API-ja:

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

// Izvlecite userIdWS iz odgovora
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Zdaj se lahko naročite na dogodke v živo
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

ID-ji za oddajanje Internal Link

Videli boste, da naj bi pri nekaterih klicih API posredovali broadcastId. Ko prejmete dogodke, boste to ID prejeli nazaj, tako da boste vedeli, da dogodek prezrete, če nameravate optimistično uporabiti spremembe na odjemalcu (kar boste verjetno želeli storiti, saj ponuja najboljšo izkušnjo). Tukaj posredujte UUID. ID naj bo dovolj edinstven, da se v isti brskalni seji ne pojavi dvakrat.

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() // Edinstven ID za to operacijo
  }
});

Ravnanje z napakami 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);
  }
}

Agregiraj Internal Link

Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations.
Različne operacije (npr. sum, countDistinct, avg, itd.) so podprte.

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
aggregationRequestAggregationRequestYes
parentTenantIdstringNo
includeStatsbooleanNo

Odgovor

Vrne: AggregateResponse

Primer

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

Pridobi revizijske dnevnike Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
limitnumberNo
skipnumberNo
orderSORTDIRNo
afternumberNo
beforenumberNo

Odgovor

Vrne: GetAuditLogsResponse1

Primer

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

Blokiraj iz javnega komentarja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
commentIdstringDa
publicBlockFromCommentParamsPublicBlockFromCommentParamsDa
ssostringNe

Odgovor

Vrne: BlockFromCommentPublicResponse

Primer

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

Odblokiraj javni komentar Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Odgovor

Vrne: UnBlockCommentPublicResponse

Primer

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

Preveri blokirane komentarje Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
commentIdsstringDa
ssostringNe

Odgovor

Vrne: CheckedCommentsForBlockedResponse

Primer

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

Blokiraj uporabnika iz komentarja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
idstringYes
blockFromCommentParamsBlockFromCommentParamsYes
userIdstringNo
anonUserIdstringNo

Odgovor

Vrne: BlockUserFromCommentResponse

Primer

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

Ustvari javni komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringDa
broadcastIdstringDa
commentDataCommentDataDa
sessionIdstringNe
ssostringNe

Odgovor

Vrne: CreateCommentPublicResponse

Primer

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

Izbriši komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
contextUserIdstringNo
isLivebooleanNo

Odgovor

Vrne: DeleteCommentResponse

Primer

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

Izbriši javni komentar Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
editKeystringNo
ssostringNo

Odgovor

Vrne: DeleteCommentPublicResponse

Primer

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

Izbriši glas za komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
editKeystringNo
ssostringNo

Odgovor

Vrne: DeleteCommentVoteResponse

Primer

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

Označi komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
userIdstringNo
anonUserIdstringNo

Odgovor

Vrne: FlagCommentResponse1

Primer

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

Pridobi komentar Internal Link

Parametri

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Odgovor

Vrne: GetCommentResponse

Primer

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

Pridobi komentarje Internal Link

Parametri

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

Odgovor

Vrne: GetCommentsResponse

Primer

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

Pridobi javne komentarje Internal Link

req tenantId urlId

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
urlIdstringDa
pagenumberNe
directionSortDirectionsNe
ssostringNe
skipnumberNe
skipChildrennumberNe
limitnumberNe
limitChildrennumberNe
countChildrenbooleanNe
fetchPageForCommentIdstringNe
includeConfigbooleanNe
countAllbooleanNe
includei10nbooleanNe
localestringNe
modulesstringNe
isCrawlerbooleanNe
includeNotificationCountbooleanNe
asTreebooleanNe
maxTreeDepthnumberNe
useFullTranslationIdsbooleanNe
parentIdstringNe
searchTextstringNe
hashTagsArrayNe
userIdstringNe
customConfigStrstringNe
afterCommentIdstringNe
beforeCommentIdstringNe

Odgovor

Vrne: GetCommentsPublicResponse

Primer

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

Pridobi besedilo komentarja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
commentIdstringDa
editKeystringNe
ssostringNe

Odgovor

Vrne: GetCommentTextResponse1

Primer

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

Pridobi uporabniška imena glasovalcev za komentar Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
commentIdstringDa
dirnumberDa
ssostringNe

Odgovor

Vrne: GetCommentVoteUserNamesResponse

Primer

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

Zakleni komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Odgovor

Vrne: LockCommentResponse

Primer

lockComment Primer
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_54321";
6
7 // Z neobveznim SSO žetonom
8 const ssoToken: string = "user-abc123";
9 const lockedWithSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
10
11 // Brez SSO žetona
12 const lockedWithoutSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId);
13})();
14

Pripni komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Odziv

Returns: PinCommentResponse

Primer

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

Shrani komentar Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

Odgovor

Vrne: SaveCommentResponse

Primer

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

Masovno shranjevanje komentarjev Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
createCommentParamsArrayDa
isLivebooleanNe
doSpamCheckbooleanNe
sendEmailsbooleanNe
populateNotificationsbooleanNe

Odgovor

Vrne: Array<SaveCommentsBulkResponse

Primer

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

Nastavi besedilo komentarja Internal Link

Parametri

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
editKeystringNo
ssostringNo

Odziv

Vrne: SetCommentTextResponse1

Primer

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

Odblokiraj uporabnika iz komentarja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
unBlockFromCommentParamsUnBlockFromCommentParamsDa
userIdstringNe
anonUserIdstringNe

Odgovor

Vrne: UnBlockUserFromCommentResponse

Primer

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

Odznači komentar Internal Link


Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
userIdstringNe
anonUserIdstringNe

Odgovor

Vrne: UnFlagCommentResponse

Primer

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

Odkleni komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
commentIdstringDa
broadcastIdstringDa
ssostringNe

Odgovor

Vrne: UnLockCommentResponse

Primer

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

Odstrani pripenjanje komentarja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
commentIdstringDa
broadcastIdstringDa
ssostringNe

Odgovor

Vrne: UnPinCommentResponse

Primer

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

Posodobi komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
contextUserIdstringNo
doSpamCheckbooleanNo
isLivebooleanNo

Odziv

Vrne: UpdateCommentResponse

Primer

Primer updateComment
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const updatableCommentParams: UpdatableCommentParams = {
6 // primer polj; dejanska struktura je odvisna od definicije API-ja
7 // npr., body: "Edited comment content",
8};
9
10const contextUserId: string = "user_abcde";
11const doSpamCheck: boolean = true;
12const isLive: boolean = false;
13
14const result: UpdateCommentResponse = await updateComment(
15 tenantId,
16 commentId,
17 updatableCommentParams,
18 contextUserId,
19 doSpamCheck,
20 isLive
21);
22

Glasuj za komentar Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
commentIdstringDa
urlIdstringDa
broadcastIdstringDa
voteBodyParamsVoteBodyParamsDa
sessionIdstringNe
ssostringNe

Response

Vrne: VoteCommentResponse

Example

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

Pridobi komentarje za uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
userIdstringNe
directionSortDirectionsNe
repliesToUserIdstringNe
pagenumberNe
includei10nbooleanNe
localestringNe
isCrawlerbooleanNe

Odgovor

Vrne: GetCommentsForUserResponse1

Primer

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

Dodaj konfiguracijo domene Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
addDomainConfigParamsAddDomainConfigParamsYes

Response

Returns: AddDomainConfigResponse

Example

addDomainConfig Primer
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const config: AddDomainConfigParams = {
5 domain: 'myblog.example.com',
6 enabled: true,
7 // opis je neobvezen in je izpuščen tukaj
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

Izbriši konfiguracijo domene Internal Link

Parametri

NameTypeRequiredDescription
tenantIdstringDa
domainstringDa

Odgovor

Vrne: DeleteDomainConfigResponse

Primer

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

Pridobi konfiguracijo domene Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
domainstringYes

Odgovor

Vrne: GetDomainConfigResponse

Primer

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

Pridobi konfiguracije domen Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa

Odgovor

Vrne: GetDomainConfigsResponse

Primer

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

Delno posodobi konfiguracijo domene Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

Odgovor

Vrne: PatchDomainConfigResponse

Primer

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

Zamenjaj konfiguracijo domene Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

Odgovor

Returns: PutDomainConfigResponse

Primer

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

Ustvari e-poštno predlogo Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
createEmailTemplateBodyCreateEmailTemplateBodyDa

Odziv

Vrne: CreateEmailTemplateResponse1

Primer

createEmailTemplate Primer
Copy Copy
1
2const tenantId: string = "tenant_9f8e7d6c";
3
4const emailTemplate: CreateEmailTemplateBody = {
5 name: "Account Activation",
6 subject: "Activate Your New Account",
7 htmlContent: "<p>Welcome! Please click <a href=\"\{{activationLink}}\">here</a> to activate.</p>",
8 // opcijska polja, kot sta textContent, isActive, so izpuščena, da pokažemo opcijske parametre
9};
10
11const result: CreateEmailTemplateResponse1 = await createEmailTemplate(
12 tenantId,
13 emailTemplate
14);
15
16console.log(result);
17

Izbriši e-poštno predlogo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes

Odgovor

Vrne: DeleteEmailTemplateResponse

Primer

deleteEmailTemplate Primer
Copy Copy
1
2async () => {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "template_abcde";
5
6 const response: DeleteEmailTemplateResponse = await deleteEmailTemplate(tenantId, templateId);
7
8 // Primer dostopanja do neobvezne lastnosti iz odgovora
9 const statusCode: number | undefined = response.status?.code;
10}();
11

Izbriši napako upodabljanja e-poštne predloge Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
errorIdstringYes

Odgovor

Vrne: DeleteEmailTemplateRenderErrorResponse

Primer

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

Pridobi e-poštno predlogo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes

Odgovor

Vrne: GetEmailTemplateResponse1

Primer

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

Pridobi definicije e-poštnih predlog Internal Link


Parametri

ImeTipObveznoOpis
tenantIdstringYes

Odgovor

Vrne: GetEmailTemplateDefinitionsResponse1

Primer

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

Pridobi napake upodabljanja e-poštnih predlog Internal Link


Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
skipnumberNe

Odgovor

Vrne: GetEmailTemplateRenderErrorsResponse1

Primer

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

Pridobi e-poštne predloge Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
skipnumberNo

Odgovor

Vrne: GetEmailTemplatesResponse1

Primer

getEmailTemplates Primer
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 // Klic brez izbirnega 'skip'
6 const templates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId);
7
8 // Klic z izbirnim parametrom 'skip'
9 const pagedTemplates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId, 20);
10})();
11

Upodobi e-poštno predlogo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
renderEmailTemplateBodyRenderEmailTemplateBodyYes
localestringNo

Odziv

Returns: RenderEmailTemplateResponse1

Primer

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

Posodobi e-poštno predlogo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updateEmailTemplateBodyUpdateEmailTemplateBodyYes

Odgovor

Vrne: UpdateEmailTemplateResponse

Primer

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

Pridobi dnevnik dogodkov Internal Link

req tenantId urlId userIdWS

Parametri

ImeTipZahtevanoOpis
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimenumberYes
endTimenumberNo

Odgovor

Vrne: GetEventLogResponse1

Primer

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

Pridobi globalni dnevnik dogodkov Internal Link

req tenantId urlId userIdWS

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringDa
userIdWSstringDa
startTimenumberDa
endTimenumberNe

Odgovor

Vrne: GetGlobalEventLogResponse

Primer

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

Ustvari objavo vira Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
broadcastIdstringNo
isLivebooleanNo
doSpamCheckbooleanNo
skipDupCheckbooleanNo

Odgovor

Vrne: CreateFeedPostResponse1

Primer

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

Ustvari javno objavo vira Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
createFeedPostParamsCreateFeedPostParamsDa
broadcastIdstringNe
ssostringNe

Odgovor

Vrne: CreateFeedPostPublicResponse

Primer

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

Izbriši javno objavo vira Internal Link

Parametri

ImeTipZahtevanoOpis
tenantIdstringDa
postIdstringDa
broadcastIdstringNe
ssostringNe

Odgovor

Vrne: DeleteFeedPostPublicResponse

Primer

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

Pridobi objave vira Internal Link

req tenantId afterId

Parametri

ImeTipObveznoOpis
tenantIdstringDa
afterIdstringNe
limitnumberNe
tagsArrayNe

Odziv

Vrne: GetFeedPostsResponse1

Primer

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

Pridobi javne objave vira Internal Link

req tenantId afterId

Parametri

ImeTipObveznoOpis
tenantIdstringDa
afterIdstringNe
limitnumberNe
tagsArrayNe
ssostringNe
isCrawlerbooleanNe
includeUserInfobooleanNe

Odgovor

Vrne: GetFeedPostsPublicResponse

Primer

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

Pridobi statistiko objav vira Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
postIdsArrayDa
ssostringNe

Odgovor

Vrne: GetFeedPostsStatsResponse

Primer

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

Pridobi javne reakcije uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
postIdsArrayNo
ssostringNo

Odgovor

Vrne: GetUserReactsPublicResponse

Primer

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

Reagiraj na javno objavo vira Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
isUndobooleanNo
broadcastIdstringNo
ssostringNo

Odgovor

Vrne: ReactFeedPostPublicResponse

Primer

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

Posodobi objavo vira Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
feedPostFeedPostYes

Odgovor

Vrne: UpdateFeedPostResponse

Primer

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

Posodobi javno objavo vira Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
postIdstringDa
updateFeedPostParamsUpdateFeedPostParamsDa
broadcastIdstringNe
ssostringNe

Odziv

Vrne: UpdateFeedPostPublicResponse

Primer

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

Označi javni komentar Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
commentIdstringDa
isFlaggedbooleanDa
ssostringNe

Odgovor

Vrne: FlagCommentPublicResponse

Primer

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

Pridobi velik GIF Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
largeInternalURLSanitizedstringDa

Odziv

Vrne: GetGifLargeResponse

Primer

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

Išči GIF-e Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
searchstringYes
localestringNo
ratingstringNo
pagenumberNo

Odgovor

Vrne: GetGifsSearchResponse

Primer

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

Pridobi priljubljene GIF-e Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
localestringNo
ratingstringNo
pagenumberNo

Response

Returns: GetGifsTrendingResponse

Example

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

Dodaj hashtag Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringNe
createHashTagBodyCreateHashTagBodyNe

Odziv

Vrne: AddHashTagResponse

Primer

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

Dodaj hashtage v množici Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringNo
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNo

Odgovor

Vrne: AddHashTagsBulkResponse

Primer

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

Izbriši hashtag Internal Link

Parametri

ImeTipObveznoOpis
tagstringYes
tenantIdstringNo
deleteHashTagRequestBodyDeleteHashTagRequestBodyNo

Odgovor

Vrne: DeleteHashTagResponse

Primer

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

Pridobi hashtage Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
pagenumberNe

Odziv

Vrne: GetHashTagsResponse1

Primer

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

Delno posodobi hashtag Internal Link

Parametri

ImeVrstaObveznoOpis
tagstringYes
tenantIdstringNo
updateHashTagBodyUpdateHashTagBodyNo

Odgovor

Vrne: PatchHashTagResponse

Primer

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

Izbriši glas moderacije Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringYes
voteIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odziv

Vrne: DeleteModerationVoteResponse

Primer

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

Pridobi API komentarje Internal Link

Parameters

ImeTipObveznoOpis
pagenumberNo
countnumberNo
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Response

Vrne: GetApiCommentsResponse

Example

Primer getApiComments
Copy Copy
1
2async function loadComments() {
3 const fullResult: GetApiCommentsResponse = await getApiComments(
4 2, // stran
5 25, // število
6 "feedback", // iskanje besedila
7 "192.168.1.100", // poIPIzKomentarja
8 "approved", // filtri
9 "hasReplies", // filtriIskanja
10 "dateDesc", // razvrščanje
11 false, // demo
12 "tenant-abc123", // ID najemnika
13 "sso-token-xyz" // sso
14 );
15
16 const minimalResult: GetApiCommentsResponse = await getApiComments(undefined, 5);
17}
18

Pridobi stanje izvoza API-ja Internal Link

Parametri

ImeVrstaObveznoOpis
batchJobIdstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetApiExportStatusResponse

Primer

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

Pridobi API ID-je Internal Link

Parametri

ImeVrstaObveznoOpis
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
afterIdstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetApiIdsResponse

Primer

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

Pridobi uporabnike na črni listi iz komentarja Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringDa
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetBanUsersFromCommentResponse

Primer

Primer getBanUsersFromComment
Copy Copy
1
2async function demoGetBanUsers() {
3 const commentId: string = "cmt_5f8e3a9b2d";
4 const tenantId: string = "tenant_42";
5 const sso: string = "sso_token_abc123";
6
7 // Klic z vsemi parametri
8 const fullResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId, tenantId, sso);
9 console.log(fullResult);
10
11 // Klic le s potrebnim parametrom
12 const minimalResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId);
13 console.log(minimalResult);
14}
15
16demoGetBanUsers();
17

Pridobi stanje prepovedi komentarja Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetCommentBanStatusResponse1

Primer

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

Pridobi podkomentarje Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetCommentChildrenResponse

Primer

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

Pridobi število Internal Link

Parametri

ImeTipObveznoOpis
textSearchstringNe
byIPFromCommentstringNe
filterstringNe
searchFiltersstringNe
demobooleanNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetCountResponse

Primer

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

Pridobi številke Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringNe
ssostringNe

Odziv

Vrne: GetCountsResponse

Primer

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

Pridobi dnevnike Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringYes
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetLogsResponse

Primer

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

Pridobi ročne značke Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetManualBadgesResponse

Primer

getManualBadges Primer
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_ABCdef123456";
5
6 // Klic z obema neobveznima parametroma
7 const responseFull: GetManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
8 console.log(responseFull);
9
10 // Klic samo s tenantId
11 const responseTenantOnly: GetManualBadgesResponse = await getManualBadges(tenantId);
12 console.log(responseTenantOnly);
13}
14
15fetchBadges();
16

Pridobi ročne značke za uporabnika Internal Link

Parameters

NameTypeRequiredDescription
badgesUserIdstringNo
commentIdstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetManualBadgesForUserResponse

Primer

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

Pridobi moderacijski komentar Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringYes
includeEmailbooleanNo
includeIPbooleanNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetModerationCommentResponse

Primer

Primer getModerationComment
Copy Copy
1
2async function fetchCommentDetails() {
3 // Polni nabor parametrov
4 const commentId: string = "cmt_12345abc";
5 const includeEmail: boolean = true;
6 const includeIP: boolean = false;
7 const tenantId: string = "tenant_9876";
8 const sso: string = "sso_token_xyz";
9
10 const fullResult: GetModerationCommentResponse = await getModerationComment(
11 commentId,
12 includeEmail,
13 includeIP,
14 tenantId,
15 sso
16 );
17
18 // Minimalni klic z uporabo samo zahtevanega argumenta
19 const minimalResult: GetModerationCommentResponse = await getModerationComment("cmt_67890def");
20
21 // Uporabite rezultate po potrebi...
22}
23

Pridobi besedilo moderacijskega komentarja Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringYes
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetModerationCommentTextResponse

Primer

getModerationCommentText Primer
Copy Copy
1
2async function exampleUsage(): Promise<void> {
3 const commentId: string = "cmt_9f8e7d6c5b4a3b2c1d0e";
4 const tenantId: string = "tenant_67890";
5 const sso: string = "sso_token_abc123";
6
7 // Pokličite samo z obveznim parametrom
8 const result1: GetModerationCommentTextResponse = await getModerationCommentText(commentId);
9
10 // Pokličite z neobveznimi parametri
11 const result2: GetModerationCommentTextResponse = await getModerationCommentText(commentId, tenantId, sso);
12}
13

Pridobi povzetek pred prepovedjo Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringYes
includeByUserIdAndEmailbooleanNo
includeByIPbooleanNo
includeByEmailDomainbooleanNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetPreBanSummaryResponse

Primer

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

Pridobi povzetek iskanja komentarjev Internal Link

Parametri

ImeTipObveznoOpis
valuestringNo
filtersstringNo
searchFiltersstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetSearchCommentsSummaryResponse

Primer

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

Pridobi strani v iskanju Internal Link

Parametri

ImeTipObveznoOpis
valuestringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetSearchPagesResponse

Primer

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

Pridobi spletna mesta v iskanju Internal Link

Parametri

ImeTipObveznoOpis
valuestringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetSearchSitesResponse

Primer

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

Pridobi predloge iskanja Internal Link

Parametri

ImeTipObveznoOpis
textSearchstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetSearchSuggestResponse

Primer

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

Pridobi uporabnike v iskanju Internal Link

Parametri

ImeVrstaObveznoOpis
valuestringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetSearchUsersResponse

Primer

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

Pridobi faktor zaupanja Internal Link

Parametri

ImeVrstaObveznoOpis
userIdstringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetTrustFactorResponse

Primer

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

Pridobi nastavitve prepovedi uporabnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringNe
ssostringNe

Odgovor

Vrne: GetUserBanPreferenceResponse

Primer

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

Pridobi notranji profil uporabnika Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: GetUserInternalProfileResponse1

Primer

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

Prilagodi glasove za komentarje Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: PostAdjustCommentVotesResponse

Primer

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

Zaženi izvoz API-ja Internal Link

Parametri

ImeVrstaObveznoOpis
textSearchstringNe
byIPFromCommentstringNe
filtersstringNe
searchFiltersstringNe
sortsstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PostApiExportResponse

Primer

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

Prepovej uporabnika iz komentarja Internal Link


Parametri

ImeTipObveznoOpis
commentIdstringDa
banEmailbooleanNe
banEmailDomainbooleanNe
banIPbooleanNe
deleteAllUsersCommentsbooleanNe
bannedUntilstringNe
isShadowBanbooleanNe
updateIdstringNe
banReasonstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PostBanUserFromCommentResponse

Primer

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

Razveljavi prepoved uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
banUserUndoParamsBanUserUndoParamsDa
tenantIdstringNe
ssostringNe

Odziv

Returns: PostBanUserUndoResponse

Primer

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

Masovni povzetek pred prepovedjo Internal Link

Parametri

ImeVrstaObveznoOpis
bulkPreBanParamsBulkPreBanParamsYes
includeByUserIdAndEmailbooleanNo
includeByIPbooleanNo
includeByEmailDomainbooleanNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: PostBulkPreBanSummaryResponse

Primer

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

Objavi komentarje po ID-jih Internal Link

Parametri

ImeTipObveznoOpis
commentsByIdsParamsCommentsByIdsParamsDa
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PostCommentsByIdsResponse

Primer

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

Označi komentar (moderacija) Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringDa
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PostFlagCommentResponse

Primer

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

Odstrani komentar (moderacija) Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: PostRemoveCommentResponse

Primer

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

Obnovi izbrisani komentar Internal Link

Parametri

ImeVrstaObveznoOpis
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odziv

Vrne: PostRestoreDeletedCommentResponse

Primer

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

Nastavi status odobritve komentarja Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
approvedbooleanNe
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PostSetCommentApprovalStatusResponse

Primer

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

Nastavi status pregleda komentarja Internal Link

Parametri

NameTypeRequiredDescription
commentIdstringDa
reviewedbooleanNe
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PostSetCommentReviewStatusResponse

Primer

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

Nastavi status spama komentarja Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
spambooleanNe
permNotSpambooleanNe
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PostSetCommentSpamStatusResponse

Primer

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

Nastavi besedilo komentarja (moderacija) Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
setCommentTextParamsSetCommentTextParamsDa
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PostSetCommentTextResponse

Primer

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

Odstrani označitev komentarja Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringDa
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PostUnFlagCommentResponse

Primer

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

Oddaj glas Internal Link

Parametri

ImeTipObveznoOpis
commentIdstringYes
directionstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odziv

Vrne: PostVoteResponse

Primer

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

Dodeli značko Internal Link

Parametri

ImeTipPotrebnoOpis
badgeIdstringDa
userIdstringNe
commentIdstringNe
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odziv

Vrne: PutAwardBadgeResponse

Primer

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

Zapri nit Internal Link

Parametri

ImeTipObveznoOpis
urlIdstringYes
tenantIdstringNo
ssostringNo

Odgovor

Vrne: PutCloseThreadResponse

Primer

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

Odstrani značko Internal Link

Parametri

ImeTipObveznoOpis
badgeIdstringDa
userIdstringNe
commentIdstringNe
broadcastIdstringNe
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PutRemoveBadgeResponse

Primer

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

Znova odpri nit Internal Link

Parametri

ImeTipObveznoOpis
urlIdstringDa
tenantIdstringNe
ssostringNe

Odgovor

Vrne: PutReopenThreadResponse

Primer

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

Nastavi faktor zaupanja Internal Link

Parametri

ImeVrstaObveznoOpis
userIdstringNo
trustFactorstringNo
tenantIdstringNo
ssostringNo

Odgovor

Vrne: SetTrustFactorResponse

Primer

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

Ustvari moderatorja Internal Link

Parameters

ImeVrstaObveznoOpis
tenantIdstringDa
createModeratorBodyCreateModeratorBodyDa

Response

Vrne: CreateModeratorResponse1

Primer

Primer createModerator
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_9876";
4 const moderatorPayload: CreateModeratorBody = {
5 name: "Alice Johnson",
6 email: "alice.johnson@example.com"
7 // opcijska polja, kot je opis, so izpuščena
8 };
9 const result: CreateModeratorResponse1 = await createModerator(tenantId, moderatorPayload);
10 console.log(result);
11}
12
13runExample();
14

Izbriši moderatorja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
sendEmailstringNe

Odgovor

Vrne: DeleteModeratorResponse

Primer

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

Pridobi moderatorja Internal Link

Parametri

ImeVrstaPotrebnoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetModeratorResponse1

Primer

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

Pridobi moderatorje Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
skipnumberNo

Odgovor

Vrne: GetModeratorsResponse1

Primer

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

Pošlji povabilo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
fromNamestringDa

Odgovor

Vrne: SendInviteResponse

Primer

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

Posodobi moderatorja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
updateModeratorBodyUpdateModeratorBodyDa

Odgovor

Vrne: UpdateModeratorResponse

Primer

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

Izbriši število obvestil Internal Link

Parametri

ImeTipZahtevanoOpis
tenantIdstringDa
idstringDa

Odziv

Vrne: DeleteNotificationCountResponse

Primer

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

Pridobi predpomnjeno število obvestil Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetCachedNotificationCountResponse1

Primer

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

Pridobi število obvestil Internal Link

Parameters

ImeVrstaObveznoOpis
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo

Response

Vrne: GetNotificationCountResponse1

Example

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

Pridobi obvestila Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
userIdstringNe
urlIdstringNe
fromCommentIdstringNe
viewedbooleanNe
typestringNe
skipnumberNe

Odziv

Vrne: GetNotificationsResponse1

Primer

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

Posodobi obvestilo Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
updateNotificationBodyUpdateNotificationBodyDa
userIdstringNe

Odgovor

Vrne: UpdateNotificationResponse

Primer

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

Ustvari V1 reakcijo strani Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
urlIdstringYes
titlestringNo

Odgovor

Vrne: CreateV1PageReactResponse

Primer

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

Ustvari V2 reakcijo strani Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringDa
idstringDa
titlestringNe

Odgovor

Vrne: CreateV2PageReactResponse

Primer

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

Izbriši V1 reakcijo strani Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
urlIdstringYes

Odgovor

Vrne: DeleteV1PageReactResponse

Primer

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

Izbriši V2 reakcijo strani Internal Link

Parameters

ImeVrstaObveznoOpis
tenantIdstringYes
urlIdstringYes
idstringYes

Odgovor

Vrne: DeleteV2PageReactResponse

Primer

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

Pridobi V1 všečke strani Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringDa

Odgovor

Vrne: GetV1PageLikesResponse

Primer

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

Pridobi V2 reakcije strani Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
urlIdstringYes

Odgovor

Vrne: GetV2PageReactsResponse

Primer

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

Pridobi uporabnike V2 reakcij strani Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
urlIdstringDa
idstringDa

Odgovor

Vrne: GetV2PageReactUsersResponse1

Primer

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

Dodaj stran Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
createAPIPageDataCreateAPIPageDataDa

Odgovor

Vrne: AddPageAPIResponse

Primer

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

Izbriši stran Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeletePageAPIResponse

Primer

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

Pridobi uporabnike, ki niso povezani Internal Link

Prejšnji komentatorji na strani, ki trenutno NI online. Razvrščeni po displayName.
Uporabite to po tem, ko ste izčrpali /users/online, za prikaz sekcije “Člani”.
Kazalna paginacija po commenterName: strežnik prehaja delni {tenantId, urlId, commenterName} indeks od afterName naprej prek $gt, brez stroška $skip.

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
urlIdstringDa
afterNamestringNe
afterUserIdstringNe

Odgovor

Vrne: GetOfflineUsersResponse

Primer

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

Pridobi uporabnike, ki so online Internal Link

Trenutno povezani gledalci strani: ljudje, katerih seje WebSocket so trenutno naročene na stran.
Vrne anonCount + totalCount (število naročnikov v celotni sobi, vključno z anonimnimi gledalci, ki jih ne poimenujemo).

Parametri

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Odziv

Vrne: GetOnlineUsersResponse

Primer

Primer getOnlineUsers
Copy Copy
1
2async function demoOnlineUsers() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_98765";
5
6 // Z neobveznimi parametri za stránkovanje
7 const pagedResult: GetOnlineUsersResponse = await getOnlineUsers(
8 tenantId,
9 urlId,
10 "alice_smith",
11 "user_9"
12 );
13
14 // Brez neobveznih parametrov za stránkovanje
15 const fullResult: GetOnlineUsersResponse = await getOnlineUsers(tenantId, urlId);
16}
17

Pridobi stran po URL ID-ju Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringDa

Odgovor

Vrne: GetPageByURLIdAPIResponse

Primer

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

Pridobi strani Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa

Response

Vrne: GetPagesAPIResponse

Example

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

Pridobi javne strani Internal Link

List pages for a tenant. Used by the FChat desktop client to populate its room list. Requires enableFChat to be true on the resolved custom config for each page. Pages that require SSO are filtered against the requesting user's group access.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
cursorstringNo
limitnumberNo
qstringNo
sortByPagesSortByNo
hasCommentsbooleanNo

Response

Vrne: GetPagesPublicResponse

Example

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

Pridobi informacije o uporabnikih Internal Link

Masovni podatki o uporabniku za najemnika. Glede na userIds vrne prikazne informacije iz User / SSOUser.
Uporablja vtičnik za komentarje za obogatitev uporabnikov, ki se so pravkar pojavili prek dogodka prisotnosti.
Ni konteksta strani: zasebnost se izvaja enotno (zasebni profili so maskirani).

Parameters

ImeVrstaObveznoOpis
tenantIdstringYes
idsstringYes

Response

Vrne: GetUsersInfoResponse

Primer

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

Delno posodobi stran Internal Link

Parametri

NameTypeRequiredDescription
tenantIdstringDa
idstringDa
updateAPIPageDataUpdateAPIPageDataDa

Odgovor

Vrne: PatchPageAPIResponse

Primer

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

Izbriši čakajoči webhook dogodek Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeletePendingWebhookEventResponse

Primer

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

Pridobi število čakajočih webhook dogodkov Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo

Odgovor

Vrne: GetPendingWebhookEventCountResponse1

Primer

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

Pridobi čakajoče webhook dogodke Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

Odgovor

Vrne: GetPendingWebhookEventsResponse1

Primer

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

Ustvari konfiguracijo vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

Odgovor

Vrne: CreateQuestionConfigResponse1

Primer

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

Izbriši konfiguracijo vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeleteQuestionConfigResponse

Primer

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

Pridobi konfiguracijo vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetQuestionConfigResponse1

Primer

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

Pridobi konfiguracije vprašanj Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
skipnumberNe

Odgovor

Vrne: GetQuestionConfigsResponse1

Primer

getQuestionConfigs Primer
Copy Copy
1
2async function fetchQuestionConfigs() {
3 const tenantId: string = "tenant-9876";
4
5 // Klic brez izbirnega parametra 'skip'
6 const configsWithoutSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId);
7
8 // Klic z izbirnim parametrom 'skip'
9 const skip: number = 10;
10 const configsWithSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId, skip);
11
12 console.log(configsWithoutSkip, configsWithSkip);
13}
14

Posodobi konfiguracijo vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

Odgovor

Vrne: UpdateQuestionConfigResponse

Primer

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

Ustvari rezultat vprašanja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
createQuestionResultBodyCreateQuestionResultBodyDa

Odgovor

Vrne: CreateQuestionResultResponse1

Primer

createQuestionResult Primer
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3
4const metaItem: MetaItem = {
5 key: "campaign",
6 value: "spring-launch"
7};
8
9const questionResultBody: CreateQuestionResultBody = {
10 questionId: "question-42",
11 answer: "Positive",
12 metadata: [metaItem]
13 // izbirna polja, kot so opombe, so izpuščena
14};
15
16const result: CreateQuestionResultResponse1 = await createQuestionResult(tenantId, questionResultBody);
17

Izbriši rezultat vprašanja Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeleteQuestionResultResponse

Primer

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

Pridobi rezultat vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetQuestionResultResponse1

Primer

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

Pridobi rezultate vprašanj Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
urlIdstringNo
userIdstringNo
startDatestringNo
questionIdstringNo
questionIdsstringNo
skipnumberNo

Odgovor

Vrne: GetQuestionResultsResponse1

Primer

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

Posodobi rezultat vprašanja Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

Odgovor

Vrača: UpdateQuestionResultResponse

Primer

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

Agregiraj rezultate vprašanj Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
timeBucketAggregateTimeBucketNo
startDateDateNo
forceRecalculatebooleanNo

Odgovor

Vrne: AggregateQuestionResultsResponse1

Primer

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

Masovna agregacija rezultatov vprašanj Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculatebooleanNo

Response

Vrne: BulkAggregateQuestionResultsResponse1

Example

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

Združi komentarje z rezultati vprašanj Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
startDateDateNo
forceRecalculatebooleanNo
minValuenumberNo
maxValuenumberNo
limitnumberNo

Odziv

Vrne: CombineCommentsWithQuestionResultsResponse

Primer

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

Dodaj SSO uporabnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
createAPISSOUserDataCreateAPISSOUserDataDa

Odgovor

Returns: AddSSOUserAPIResponse

Primer

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

Izbriši SSO uporabnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
deleteCommentsbooleanNo
commentDeleteModestringNo

Odgovor

Vrne: DeleteSSOUserAPIResponse

Primer

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

Pridobi SSO uporabnika po e-pošti Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
emailstringYes

Odziv

Vrne: GetSSOUserByEmailAPIResponse

Primer

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

Pridobi SSO uporabnika po ID-ju Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes

Odgovor

Vrne: GetSSOUserByIdAPIResponse

Primer

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

Pridobi SSO uporabnike Internal Link

Parametri

ImeTipPotrebnoOpis
tenantIdstringDa
skipnumberNe

Odgovor

Vrne: GetSSOUsersResponse

Primer

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

Delno posodobi SSO uporabnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsbooleanNo

Odgovor

Vrne: PatchSSOUserAPIResponse

Primer

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

Zamenjaj SSO uporabnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
updateAPISSOUserDataUpdateAPISSOUserDataDa
updateCommentsbooleanNe

Odziv

Vrne: PutSSOUserAPIResponse

Primer

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

Ustvari naročnino Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

Odgovor

Vrne: CreateSubscriptionAPIResponse

Primer

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

Izbriši naročnino Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
userIdstringNe

Odgovor

Vrne: DeleteSubscriptionAPIResponse

Primer

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

Pridobi naročnine Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
userIdstringNo

Odgovor

Vrne: GetSubscriptionsAPIResponse

Primer

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

Posodobi naročnino Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataDa
userIdstringNe

Odgovor

Vrne: UpdateSubscriptionAPIResponse

Primer

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

Pridobi dnevne uporabe najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
yearNumbernumberNo
monthNumbernumberNo
dayNumbernumberNo
skipnumberNo

Odgovor

Vrne: GetTenantDailyUsagesResponse1

Primer

Primer getTenantDailyUsages
Copy Copy
1
2async function fetchDailyUsage() {
3 const tenantId: string = "tenant-9876";
4 const yearNumber: number = 2024;
5 const monthNumber: number = 5; // Maj
6 const dayNumber: number = 12;
7 const skip: number = 0;
8
9 const fullResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
10 tenantId,
11 yearNumber,
12 monthNumber,
13 dayNumber,
14 skip
15 );
16
17 // Uporaba samo obveznih in enega izbirnega parametra
18 const partialResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
19 tenantId,
20 yearNumber
21 );
22
23 console.log(fullResult, partialResult);
24}
25
26fetchDailyUsage();
27

Ustvari paket najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
createTenantPackageBodyCreateTenantPackageBodyDa

Odgovor

Vrne: CreateTenantPackageResponse1

Primer

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

Izbriši paket najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeleteTenantPackageResponse

Primer

deleteTenantPackage Primer
Copy Copy
1
2async function removeTenantPackage(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const packageId: string = "pkg_67890";
5
6 const result: DeleteTenantPackageResponse = await deleteTenantPackage(tenantId, packageId);
7 // uporabi rezultat po potrebi
8}
9
10removeTenantPackage();
11

Pridobi paket najemnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetTenantPackageResponse1

Primer

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

Pridobi pakete najemnika Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
skipnumberNe

Odgovor

Vrne: GetTenantPackagesResponse1

Primer

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

Zamenjaj paket najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
replaceTenantPackageBodyReplaceTenantPackageBodyDa

Odgovor

Vrne: ReplaceTenantPackageResponse

Primer

replaceTenantPackage Primer
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant-01";
4 const packageId: string = "pkg-2024-annual";
5
6 const config: CustomConfigParameters = {
7 // polja za prilagojeno konfiguracijo tukaj
8 };
9
10 const body: ReplaceTenantPackageBody = {
11 name: "Enterprise Package",
12 // neobvezna prilagojena konfiguracija
13 customConfig: config,
14 };
15
16 const response: ReplaceTenantPackageResponse = await replaceTenantPackage(tenantId, packageId, body);
17 console.log(response);
18})();
19

Posodobi paket najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Odgovor

Vrne: UpdateTenantPackageResponse

Primer

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

Ustvari uporabnika najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Odgovor

Vrne: CreateTenantUserResponse1

Primer

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

Izbriši uporabnika najemnika Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
deleteCommentsstringNe
commentDeleteModestringNe

Response

Vrne: DeleteTenantUserResponse

Primer

deleteTenantUser Primer
Copy Copy
1
2async function demoDeleteTenantUser() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-9876";
5
6 // Izbriši uporabnika in vse njegove komentarje, z načinom trde brisanje
7 const resultWithOptions: DeleteTenantUserResponse = await deleteTenantUser(
8 tenantId,
9 userId,
10 "true",
11 "hard"
12 );
13
14 // Izbriši uporabnika brez odstranjevanja komentarjev (privzeto vedenje)
15 const resultBasic: DeleteTenantUserResponse = await deleteTenantUser(tenantId, userId);
16}
17

Pridobi uporabnika najemnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetTenantUserResponse1

Primer

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

Pridobi uporabnike najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
skipnumberNe

Odziv

Vrne: GetTenantUsersResponse1

Primer

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

Zamenjaj uporabnika najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
replaceTenantUserBodyReplaceTenantUserBodyDa
updateCommentsstringNe

Odgovor

Vrne: ReplaceTenantUserResponse

Primer

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

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
idstringYes
redirectURLstringNo

Odgovor

Vrne: SendLoginLinkResponse

Primer

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

Posodobi uporabnika najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
idstringDa
updateTenantUserBodyUpdateTenantUserBodyDa
updateCommentsstringNe

Odgovor

Vrne: UpdateTenantUserResponse

Primer

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

Ustvari najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
createTenantBodyCreateTenantBodyDa

Odgovor

Vrne: CreateTenantResponse1

Primer

createTenant Primer
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-2024-01';
4 const createTenantBody: CreateTenantBody = {
5 // obvezna polja
6 name: 'Acme International',
7 // izbirna polja lahko po potrebi dodate, npr.:
8 // billingInfo: { address: '123 Main St', city: 'Metropolis' } as BillingInfo,
9 };
10 const response: CreateTenantResponse1 = await createTenant(tenantId, createTenantBody);
11 console.log(response);
12}
13

Izbriši najemnika Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
surestringNo

Response

Vrne: DeleteTenantResponse

Example

deleteTenant Primer
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const id: string = "resource_98765";
5 const sure: string = "confirm";
6
7 // Klic z neobveznim parametrom 'sure'
8 const responseWithSure: DeleteTenantResponse = await deleteTenant(tenantId, id, sure);
9 console.log(responseWithSure);
10
11 // Klic brez neobveznega parametra 'sure'
12 const responseWithoutSure: DeleteTenantResponse = await deleteTenant(tenantId, id);
13 console.log(responseWithoutSure);
14}
15
16runExample();
17

Pridobi najemnika Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes

Odgovor

Returns: GetTenantResponse1

Primer

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

Pridobi najemnike Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
metastringNo
skipnumberNo

Odgovor

Vrne: GetTenantsResponse1

Primer

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

Posodobi najemnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
updateTenantBodyUpdateTenantBodyDa

Odgovor

Vrne: UpdateTenantResponse

Primer

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

Spremeni stanje vozovnice Internal Link

Parametri

NameTypeRequiredDescription
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Odgovor

Vrne: ChangeTicketStateResponse1

Primer

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

Ustvari vozovnico Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
userIdstringDa
createTicketBodyCreateTicketBodyDa

Response

Vrne: CreateTicketResponse1

Example

createTicket Primer
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const userId: string = "user_98765";
4
5const ticketBody: CreateTicketBody = {
6 subject: "Issue with payment processing"
7 // description?: string je neobvezen in je izpuščen
8};
9
10const response: CreateTicketResponse1 = await createTicket(tenantId, userId, ticketBody);
11// Primer uporabe neobveznega polja iz odgovora
12// console.log(response.ticket?.id);
13

Pridobi vozovnico Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
idstringYes
userIdstringNo

Odgovor

Vrne: GetTicketResponse1

Primer

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

Pridobi vozovnice Internal Link

Parameters

ImeVrstaObveznoOpis
tenantIdstringDa
userIdstringNe
statenumberNe
skipnumberNe
limitnumberNe

Odziv

Vrne: GetTicketsResponse1

Primer

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

Pridobi prevode Internal Link

Parametri

ImeTipObveznoOpis
namespacestringYes
componentstringYes
localestringNo
useFullTranslationIdsbooleanNo

Odgovor

Vrne: GetTranslationsResponse1

Primer

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

Naloži sliko Internal Link


Naloži in spremeni velikost slike

Parameters

ImeTipObveznoOpis
tenantIdstringDa
fileBlobDa
sizePresetSizePresetNe
urlIdstringNe

Response

Vrne: UploadImageResponse

Primer

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

Pridobi napredek značke uporabnika po ID-ju Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
idstringYes

Odgovor

Vrne: GetUserBadgeProgressByIdResponse

Primer

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

Pridobi napredek značke uporabnika po ID-ju uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
userIdstringDa

Odgovor

Vrne: GetUserBadgeProgressByUserIdResponse

Primer

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

Pridobi seznam napredka značk uporabnikov Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
userIdstringNe
limitnumberNe
skipnumberNe

Odziv

Vrne: GetUserBadgeProgressListResponse

Primer

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

Ustvari značko uporabnika Internal Link

Parameters

ImeTipObveznoOpis
tenantIdstringDa
createUserBadgeParamsCreateUserBadgeParamsDa

Odgovor

Vrne: CreateUserBadgeResponse

Primer

createUserBadge Primer
Copy Copy
1
2const tenantId: string = "company-42";
3
4const badgeParams: CreateUserBadgeParams = {
5 name: "Community Champion",
6 iconUrl: "https://assets.example.com/badges/champion.png",
7 // opis je neobvezen in je izpuščen tukaj
8};
9
10const result: CreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
11

Izbriši značko uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: DeleteUserBadgeResponse

Primer

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

Pridobi značko uporabnika Internal Link

Parametri

ImeTipZahtevanoOpis
tenantIdstringYes
idstringYes

Odgovor

Vrne: GetUserBadgeResponse

Primer

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

Pridobi značke uporabnikov Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
userIdstringNe
badgeIdstringNe
typenumberNe
displayedOnCommentsbooleanNe
limitnumberNe
skipnumberNe

Odgovor

Vrne: GetUserBadgesResponse

Primer

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

Posodobi značko uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
updateUserBadgeParamsUpdateUserBadgeParamsDa

Odgovor

Vrne: UpdateUserBadgeResponse

Primer

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

Pridobi število uporabniških obvestil Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
ssostringNo

Odziv

Vrne: GetUserNotificationCountResponse1

Primer

Primer getUserNotificationCount
Copy Copy
1
2async function demoGetUserNotificationCount() {
3 const tenantId: string = "acme-corp-01";
4
5 // Klic z neobveznim SSO žetonom
6 const countWithSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
7 tenantId,
8 "sso-token-abc123"
9 );
10
11 // Klic brez SSO žetona
12 const countWithoutSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
13 tenantId
14 );
15
16 console.log(countWithSSO, countWithoutSSO);
17}
18

Pridobi uporabniška obvestila Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdstringNe
pageSizenumberNe
afterIdstringNe
includeContextbooleanNe
afterCreatedAtnumberNe
unreadOnlybooleanNe
dmOnlybooleanNe
noDmbooleanNe
includeTranslationsbooleanNe
includeTenantNotificationsbooleanNe
ssostringNe

Odgovor

Vrne: GetUserNotificationsResponse

Primer

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

Ponastavi število uporabniških obvestil Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringDa
ssostringNe

Response

Vrne: ResetUserNotificationCountResponse

Example

resetUserNotificationCount Primer
Copy Copy
1
2async function demoResetCount() {
3 const tenantId: string = "acme-corp-tenant";
4 const sso: string = "sso-user-9876";
5
6 // Klic z izbirnim parametrom sso
7 const resultWithSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId, sso);
8
9 // Klic brez izbirnega parametra sso
10 const resultWithoutSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId);
11
12 console.log(resultWithSso, resultWithoutSso);
13}
14

Ponastavi uporabniška obvestila Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
afterIdstringNo
afterCreatedAtnumberNo
unreadOnlybooleanNo
dmOnlybooleanNo
noDmbooleanNo
ssostringNo

Odgovor

Vrne: ResetUserNotificationsResponse1

Primer

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

Posodobi status naročnine uporabnika na komentarje Internal Link

Omogočite ali onemogočite obvestila za določen komentar.

Parameters

ImeVrstaObveznoOpis
tenantIdstringYes
notificationIdstringYes
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumYes
commentIdstringYes
ssostringNo

Response

Vrne: UpdateUserNotificationCommentSubscriptionStatusResponse

Primer

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

Posodobi status naročnine uporabnika na stran Internal Link

Omogočite ali onemogočite obvestila za stran. Ko so uporabniki naročeni na stran, se ustvarjajo obvestila za nove korenske komentarje, in tudi

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
urlIdstringDa
urlstringDa
pageTitlestringDa
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumDa
ssostringNe

Odziv

Vrne: UpdateUserNotificationPageSubscriptionStatusResponse

Primer

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

Posodobi status uporabniškega obvestila Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
notificationIdstringDa
newStatusUpdateUserNotificationStatusNewStatusEnumDa
ssostringNe

Odgovor

Vrne: UpdateUserNotificationStatusResponse

Primer

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

Pridobi statuse prisotnosti uporabnikov Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringDa
urlIdWSstringDa
userIdsstringDa

Odziv

Vrne: GetUserPresenceStatusesResponse1

Primer

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

Išči uporabnike Internal Link

Parametri

ImeTipObveznoOpis
tenantIdstringYes
urlIdstringYes
usernameStartsWithstringNo
mentionGroupIdsArrayNo
ssostringNo
searchSectionSearchUsersSearchSectionEnumNo

Odgovor

Vrne: SearchUsersResponse1

Primer

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

Pridobi uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa

Odgovor

Vrne: GetUserResponse1

Primer

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

Ustvari glas Internal Link

Parametri

ImeTipPotrebnoOpis
tenantIdstringYes
commentIdstringYes
directionCreateVoteDirectionEnumYes
userIdstringNo
anonUserIdstringNo

Odgovor

Vrne: CreateVoteResponse

Primer

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

Izbriši glas Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
idstringDa
editKeystringNe

Odgovor

Vrne: DeleteVoteResponse

Primer

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

Pridobi glasove Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringYes
urlIdstringYes

Odgovor

Vrne: GetVotesResponse1

Primer

Primer getVotes
Copy Copy
1
2async function fetchVotes(): Promise<void> {
3 const tenantId: string = "acme-corp-01";
4 const urlId: string = "article-2024-05-15";
5
6 const response: GetVotesResponse1 = await getVotes(tenantId, urlId);
7
8 // Primer dostopa do optionalnega polja v odgovoru
9 const firstVoteId: string | undefined = response?.votes?.[0]?.id;
10}
11

Pridobi glasove za uporabnika Internal Link

Parametri

ImeVrstaObveznoOpis
tenantIdstringDa
urlIdstringDa
userIdstringNe
anonUserIdstringNe

Odgovor

Vrne: GetVotesForUserResponse1

Primer

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

Potrebujete pomoč?

Če naletite na težave ali imate vprašanja glede JavaScript/TypeScript SDK, prosimo:

Sodelovanje

Prispevki so dobrodošli! Prosimo, obiščite GitHub repozitorij za smernice za prispevanje.