FastComments.com

FastComments SDK JavaScript/TypeScript


To oficjalne SDK JavaScript/TypeScript dla FastComments.

Zarządzaj komentarzami, użytkownikami, SSO i moderacją z Node.js lub przeglądarki.

Repozytorium

Zobacz na GitHub


Instalacja Internal Link

npm

npm install fastcomments-sdk

Dokumentacja API Internal Link


Pełna dokumentacja API: docs/api/README.md

Kompatybilność przeglądarki i serwera Internal Link


Ten SDK korzysta z podwójnych punktów wejścia aby zapewnić optymalną kompatybilność i zapobiec błędom czasu wykonywania:

  • fastcomments-sdk/browser - Wersja bezpieczna dla przeglądarki z natywnym fetch
  • fastcomments-sdk/server - Pełna wersja Node.js z obsługą SSO
  • fastcomments-sdk (domyślnie) - Tylko typy, bezpieczne do importowania w dowolnym miejscu

Publiczne vs zabezpieczone API Internal Link


SDK udostępnia te klasy API:

  • DefaultApi - Zabezpieczone punkty końcowe, które wymagają klucza API do uwierzytelniania. Używaj ich do operacji po stronie serwera.
  • PublicApi - Publiczne punkty końcowe, do których można uzyskać dostęp bez klucza API. Można je wywoływać bezpośrednio z przeglądarek/urządzeń mobilnych itp.
  • ModerationApi - Punkty końcowe panelu moderatora (moderacja komentarzy, bany, odznaki, wskaźnik zaufania, wyszukiwanie). Uwierzytelniane za pomocą sesji moderatora; przekaż parametr zapytania sso dla moderatorów uwierzytelnionych przez SSO.
  • HiddenApi - Wewnętrzne/administacyjne punkty końcowe dla zaawansowanych zastosowań.

Przykład: Korzystanie z Public API (bezpieczne dla przeglądarki)

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

const publicApi = new PublicApi();

// Pobierz komentarze dla strony (klucz API nie jest wymagany)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Przykład: Korzystanie z Default API (tylko po stronie serwera)

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

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

// Pobierz komentarze z pełnym dostępem administratora
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Przykład: Korzystanie z Moderation API

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

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

// Wywołania uwierzytelnione jako moderator (ciasteczko sesyjne, lub przekaż `sso` dla moderatora uwierzytelnionego przez SSO).
const comments = await sdk.moderationApi.getApiComments({
  tenantId: 'your-tenant-id'
});

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

Integracja SSO (Single Sign-On) Internal Link

FastComments obsługuje SSO w celu integracji z istniejącym systemem uwierzytelniania użytkowników. Funkcjonalność SSO jest dostępna tylko w eksporcie serwera ponieważ wymaga funkcji kryptograficznych Node.js.

Proste SSO (tylko po stronie serwera)

Proste SSO powinno być generowane po stronie serwera i wysyłane do klienta:

// Kod po stronie serwera (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Utwórz proste SSO przy użyciu wbudowanego pomocnika  
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();

// Wyślij ssoToken do kodu po stronie klienta
// Kod po stronie klienta może następnie użyć tego tokena z SDK przeglądarki

Bezpieczne SSO (po stronie serwera, zalecane)

Bezpieczne SSO powinno być zaimplementowane po stronie serwera i zapewnia lepsze bezpieczeństwo:

// Kod po stronie serwera (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Utwórz bezpieczne SSO przy użyciu wbudowanego pomocnika
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();

// Użyj z wywołaniami API na serwerze
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Lub wyślij ssoConfig do klienta do użycia w przeglądarce

Użycie SSO z przeglądarki (z tokenem wygenerowanym przez serwer)

// Kod po stronie klienta (przeglądarka)
import { PublicApi } from 'fastcomments-sdk/browser';

// Pobierz token SSO z endpointu swojego serwera
const ssoToken = await fetch('/api/sso-token').then(r => r.json());

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

SSO z tworzeniem komentarza

// Po stronie serwera: utwórz SSO i komentarz
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)
});

Typowe przypadki użycia Internal Link

Pobieranie komentarzy dla strony

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

Tworzenie komentarza

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

Głosowanie na komentarz

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 oznacza głos za, -1 oznacza głos przeciw
  }
});

Zarządzanie użytkownikami (wymaga klucza API)

// Wyszukiwanie użytkowników (wymaga DefaultApi)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Wydarzenia na żywo (aktualizacje w czasie rzeczywistym) Internal Link

Subskrybuj zdarzenia na żywo, aby otrzymywać aktualizacje w czasie rzeczywistym dotyczące komentarzy, głosów i innych aktywności.

Zdarzenia na poziomie strony

Nasłuchuj zdarzeń na żywo dla konkretnej strony (komentarze, głosy itp.):

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

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

// Subskrybuj zdarzenia na żywo dla strony
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (pobierz to z odpowiedzi getComments)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Zaktualizuj interfejs użytkownika o nowy komentarz
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Zaktualizuj licznik głosów w interfejsie użytkownika
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }
    
    return true; // Zwróć true, jeśli zdarzenie zostało obsłużone
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

// Zamknij subskrypcję po zakończeniu
subscription.close();

Subskrybuj zdarzenia użytkownika

Nasłuchuj zdarzeń specyficznych dla użytkownika (powiadomienia, wzmianki itp.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Pobierz to z odpowiedzi getComments
};

// Subskrybuj osobisty kanał użytkownika
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Pokaż powiadomienie w interfejsie użytkownika
        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');
  }
);

// Zamknij po zakończeniu
userSubscription.close();

Uzyskiwanie userIdWS

Parametr userIdWS jest wymagany do zdarzeń na żywo i można go uzyskać z odpowiedzi API:

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

// Wyodrębnij userIdWS z odpowiedzi
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Teraz możesz subskrybować zdarzenia na żywo
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

Identyfikatory transmisji Internal Link

Zobaczysz, że w niektórych wywołaniach API należy przekazać broadcastId. Gdy otrzymasz zdarzenia, otrzymasz ten identyfikator z powrotem, dzięki czemu będziesz wiedzieć, że możesz zignorować zdarzenie, jeśli planujesz optimistycznie zastosować zmiany po stronie klienta (co prawdopodobnie będziesz chciał zrobić, ponieważ zapewnia najlepsze doświadczenie). Przekaż tutaj UUID. Identyfikator powinien być wystarczająco unikalny, aby nie pojawił się dwa razy w sesji przeglądarki.

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() // Unikalny identyfikator dla tej operacji
  }
});

Obsługa błędów Internal Link

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

aggregate Internal Link

Agreguje dokumenty poprzez grupowanie ich (jeśli podano groupBy) i stosowanie wielu operacji. Obsługiwane są różne operacje (np. sum, countDistinct, avg itp.).

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
aggregationRequestAggregationRequestTak
parentTenantIdstringNie
includeStatsbooleanNie

Odpowiedź

Zwraca: AggregateResponse

Przykład

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

getAuditLogs Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
limitnumberNie
skipnumberNie
orderSORTDIRNie
afternumberNie
beforenumberNie

Odpowiedź

Zwraca: GetAuditLogsResponse1

Przykład

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

blockFromCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Odpowiedź

Zwraca: BlockFromCommentPublicResponse

Przykład

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

unBlockCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
publicBlockFromCommentParamsPublicBlockFromCommentParamsTak
ssostringNie

Odpowiedź

Zwraca: UnBlockCommentPublicResponse

Przykład

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

checkedCommentsForBlocked Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdsstringTak
ssostringNie

Odpowiedź

Zwraca: CheckedCommentsForBlockedResponse

Przykład

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

blockUserFromComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
blockFromCommentParamsBlockFromCommentParamsTak
userIdstringNie
anonUserIdstringNie

Odpowiedź

Zwraca: BlockUserFromCommentResponse

Przykład

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

createCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
sessionIdstringNo
ssostringNo

Odpowiedź

Zwraca: CreateCommentPublicResponse

Przykład

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

deleteComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
contextUserIdstringNo
isLivebooleanNo

Odpowiedź

Zwraca: DeleteCommentResponse

Przykład

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

deleteCommentPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
editKeystringNo
ssostringNo

Odpowiedź

Zwraca: DeleteCommentPublicResponse

Przykład

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

deleteCommentVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
voteIdstringYes
urlIdstringYes
broadcastIdstringYes
editKeystringNo
ssostringNo

Odpowiedź

Zwraca: DeleteCommentVoteResponse

Przykład

deleteCommentVote Przykład
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 jest opcjonalne i pominięte
10
11 const response: DeleteCommentVoteResponse = await deleteCommentVote(
12 tenantId,
13 commentId,
14 voteId,
15 urlId,
16 broadcastId,
17 editKey
18 );
19
20 console.log(response);
21}
22
23removeVote();
24

flagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
userIdstringNie
anonUserIdstringNie

Odpowiedź

Zwraca: FlagCommentResponse1

Przykład

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

getComment Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetCommentResponse

Przykład

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

getComments Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
pagenumberNie
limitnumberNie
skipnumberNie
asTreebooleanNie
skipChildrennumberNie
limitChildrennumberNie
maxTreeDepthnumberNie
urlIdstringNie
userIdstringNie
anonUserIdstringNie
contextUserIdstringNie
hashTagstringNie
parentIdstringNie
directionSortDirectionsNie
fromDatenumberNie
toDatenumberNie

Odpowiedź

Zwraca: GetCommentsResponse

Przykład

Przykład 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; // tydzień temu
9const toDate: number = Date.now();
10
11const commentsResponse: GetCommentsResponse = await getComments({
12 tenantId,
13 page,
14 limit,
15 asTree,
16 urlId,
17 direction,
18 fromDate,
19 toDate,
20});
21

getCommentsPublic Internal Link

req tenantId urlId

Parametry

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

Odpowiedź

Zwraca: GetCommentsPublicResponse

Przykład

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

getCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
editKeystringNo
ssostringNo

Odpowiedź

Zwraca: GetCommentTextResponse1

Przykład

Przykład 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

getCommentVoteUserNames Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
commentIdstringTak
dirnumberTak
ssostringNie

Odpowiedź

Zwraca: GetCommentVoteUserNamesResponse

Przykład

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

lockComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
broadcastIdstringTak
ssostringNie

Odpowiedź

Zwraca: LockCommentResponse

Przykład

Przykład lockComment
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 opcjonalnym tokenem SSO
8 const ssoToken: string = "user-abc123";
9 const lockedWithSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
10
11 // Bez tokena SSO
12 const lockedWithoutSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId);
13})();
14

pinComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Odpowiedź

Zwraca: PinCommentResponse

Przykład

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

saveComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

Odpowiedź

Zwraca: SaveCommentResponse

Przykład

saveComment Przykład
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, // czyNaŻywo
14 false // sprawdzanieSpamu
15 );
16 console.log(response);
17}
18submitComment();
19

saveCommentsBulk Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
createCommentParamsArrayTak
isLivebooleanNie
doSpamCheckbooleanNie
sendEmailsbooleanNie
populateNotificationsbooleanNie

Odpowiedź

Zwraca: Array<SaveCommentsBulkResponse

Przykład

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

setCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
editKeystringNo
ssostringNo

Odpowiedź

Zwraca: SetCommentTextResponse1

Przykład

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

unBlockUserFromComment Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
unBlockFromCommentParamsUnBlockFromCommentParamsTak
userIdstringNie
anonUserIdstringNie

Odpowiedź

Zwraca: UnBlockUserFromCommentResponse

Przykład

unBlockUserFromComment Przykład
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 pominięty
19 );
20
21 console.log(result);
22}
23demoUnblock();
24

unFlagComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
userIdstringNo
anonUserIdstringNo

Odpowiedź

Zwraca: UnFlagCommentResponse

Przykład

Przykład 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

unLockComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
broadcastIdstringTak
ssostringNie

Odpowiedź

Zwraca: UnLockCommentResponse

Przykład

unLockComment Przykład
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 // Wywołaj bez opcjonalnego parametru sso
12 const unlockedWithoutSso: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId);
13 console.log(unlockedWithoutSso);
14}
15
16run();
17

unPinComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
commentIdstringTak
broadcastIdstringTak
ssostringNie

Odpowiedź

Zwraca: UnPinCommentResponse

Przykład

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

updateComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
contextUserIdstringNo
doSpamCheckbooleanNo
isLivebooleanNo

Odpowiedź

Returns: UpdateCommentResponse

Przykład

Przykład updateComment
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const updatableCommentParams: UpdatableCommentParams = {
6 // przykładowe pola; rzeczywisty kształt zależy od definicji API
7 // np., body: "Edited comment content",
8};
9
10const contextUserId: string = "user_abcde";
11const doSpamCheck: boolean = true;
12const isLive: boolean = false;
13
14const result: UpdateCommentResponse = await updateComment(
15 tenantId,
16 commentId,
17 updatableCommentParams,
18 contextUserId,
19 doSpamCheck,
20 isLive
21);
22

voteComment Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
sessionIdstringNo
ssostringNo

Odpowiedź

Zwraca: VoteCommentResponse

Przykład

Przykład voteComment
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", // np., "up" | "down"
9 weight: 1, // opcjonalne ważenie głosu
10};
11
12const sessionId: string = "sess_abc123def";
13const sso: string = "sso_token_xyz";
14
15const result: VoteCommentResponse = await voteComment(
16 tenantId,
17 commentId,
18 urlId,
19 broadcastId,
20 voteBodyParams,
21 sessionId,
22 sso
23);
24

getCommentsForUser Internal Link

Parametry

NazwaTypWymaganeOpis
userIdstringNo
directionSortDirectionsNo
repliesToUserIdstringNo
pagenumberNo
includei10nbooleanNo
localestringNo
isCrawlerbooleanNo

Odpowiedź

Zwraca: GetCommentsForUserResponse1

Przykład

Przykład 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

addDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
addDomainConfigParamsAddDomainConfigParamsTak

Odpowiedź

Zwraca: AddDomainConfigResponse

Przykład

addDomainConfig Przykład
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 jest opcjonalny i pominięty tutaj
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

deleteDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
domainstringYes

Odpowiedź

Zwraca: DeleteDomainConfigResponse

Przykład

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

getDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
domainstringTak

Odpowiedź

Zwraca: GetDomainConfigResponse

Przykład

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

getDomainConfigs Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes

Odpowiedź

Zwraca: GetDomainConfigsResponse

Przykład

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

patchDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
domainToUpdatestringTak
patchDomainConfigParamsPatchDomainConfigParamsTak

Odpowiedź

Zwraca: PatchDomainConfigResponse

Przykład

Przykład patchDomainConfig
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, // zaprezentowano opcjonalny parametr
9 };
10 const response: PatchDomainConfigResponse = await patchDomainConfig(tenantId, domainToUpdate, patchParams);
11 console.log(response);
12}
13
14updateDomainConfig();
15

putDomainConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
domainToUpdatestringTak
updateDomainConfigParamsUpdateDomainConfigParamsTak

Odpowiedź

Zwraca: PutDomainConfigResponse

Przykład

putDomainConfig Przykład
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 // opcjonalne pole pominięte, np., maxCommentLength?: number
8 };
9 const result: PutDomainConfigResponse = await putDomainConfig(
10 tenantId,
11 domainToUpdate,
12 updateDomainConfigParams,
13 );
14 console.log(result);
15}
16runExample();
17

createEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

Odpowiedź

Zwraca: CreateEmailTemplateResponse1

Przykład

Przykład createEmailTemplate
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 // opcjonalne pola takie jak textContent, isActive zostały pominięte, aby pokazać parametry opcjonalne
9};
10
11const result: CreateEmailTemplateResponse1 = await createEmailTemplate(
12 tenantId,
13 emailTemplate
14);
15
16console.log(result);
17

deleteEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeleteEmailTemplateResponse

Przykład

deleteEmailTemplate Przykład
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 // Przykład uzyskiwania dostępu do opcjonalnej właściwości w odpowiedzi
9 const statusCode: number | undefined = response.status?.code;
10}();
11

deleteEmailTemplateRenderError Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
errorIdstringYes

Odpowiedź

Zwraca: DeleteEmailTemplateRenderErrorResponse

Przykład

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

getEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetEmailTemplateResponse1

Przykład

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

getEmailTemplateDefinitions Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak

Odpowiedź

Zwraca: GetEmailTemplateDefinitionsResponse1

Przykład

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

getEmailTemplateRenderErrors Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
idstringTak
skipnumberNie

Odpowiedź

Zwraca: GetEmailTemplateRenderErrorsResponse1

Przykład

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

getEmailTemplates Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
skipnumberNie

Odpowiedź

Zwraca: GetEmailTemplatesResponse1

Przykład

Przykład getEmailTemplates
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 // Wywołanie bez opcjonalnego 'skip'
6 const templates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId);
7
8 // Wywołanie z opcjonalnym parametrem 'skip'
9 const pagedTemplates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId, 20);
10})();
11

renderEmailTemplate Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
renderEmailTemplateBodyRenderEmailTemplateBodyYes
localestringNo

Response

Zwraca: RenderEmailTemplateResponse1

Example

Przykład 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

updateEmailTemplate Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateEmailTemplateBodyUpdateEmailTemplateBodyTak

Odpowiedź

Zwraca: UpdateEmailTemplateResponse

Przykład

updateEmailTemplate Przykład
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 // przykład pola opcjonalnego
11 isActive: true,
12 };
13
14 const result: UpdateEmailTemplateResponse = await updateEmailTemplate(
15 tenantId,
16 templateId,
17 updateBody
18 );
19
20 console.log(result);
21})();
22

getEventLog Internal Link

req tenantId urlId userIdWS

Parametry

NameTypeRequiredDescription
tenantIdstringTak
urlIdstringTak
userIdWSstringTak
startTimenumberTak
endTimenumberNie

Odpowiedź

Zwraca: GetEventLogResponse1

Przykład

Przykład getEventLog
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; // tydzień temu
7 const endTime: number = Date.now();
8
9 const log: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const recentLog: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime);
11})();
12

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimenumberYes
endTimenumberNo

Odpowiedź

Returns: GetGlobalEventLogResponse

Przykład

Przykład 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

createFeedPost Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
broadcastIdstringNo
isLivebooleanNo
doSpamCheckbooleanNo
skipDupCheckbooleanNo

Odpowiedź

Zwraca: CreateFeedPostResponse1

Przykład

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

createFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
broadcastIdstringNo
ssostringNo

Odpowiedź

Zwraca: CreateFeedPostPublicResponse

Przykład

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

deleteFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
postIdstringYes
broadcastIdstringNo
ssostringNo

Odpowiedź

Zwraca: DeleteFeedPostPublicResponse

Przykład

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

getFeedPosts Internal Link

req
tenantId
afterId

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
afterIdstringNie
limitnumberNie
tagsArrayNie

Odpowiedź

Zwraca: GetFeedPostsResponse1

Przykład

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

getFeedPostsPublic Internal Link

req tenantId afterId

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
afterIdstringNie
limitnumberNie
tagsArrayNie
ssostringNie
isCrawlerbooleanNie
includeUserInfobooleanNie

Odpowiedź

Zwraca: GetFeedPostsPublicResponse

Przykład

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

getFeedPostsStats Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
postIdsArrayTak
ssostringNie

Odpowiedź

Zwraca: GetFeedPostsStatsResponse

Przykład

Przykład 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

getUserReactsPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
postIdsArrayNo
ssostringNo

Odpowiedź

Zwraca: GetUserReactsPublicResponse

Przykład

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

reactFeedPostPublic Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
isUndobooleanNo
broadcastIdstringNo
ssostringNo

Response

Zwraca: ReactFeedPostPublicResponse

Example

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

updateFeedPost Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
feedPostFeedPostTak

Odpowiedź

Zwraca: UpdateFeedPostResponse

Przykład

Przykład 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

updateFeedPostPublic Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
postIdstringTak
updateFeedPostParamsUpdateFeedPostParamsTak
broadcastIdstringNie
ssostringNie

Odpowiedź

Zwraca: UpdateFeedPostPublicResponse

Przykład

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

flagCommentPublic Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
commentIdstringTak
isFlaggedbooleanTak
ssostringNie

Odpowiedź

Zwraca: FlagCommentPublicResponse

Przykład

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

getGifLarge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
largeInternalURLSanitizedstringTak

Odpowiedź

Zwraca: GetGifLargeResponse

Przykład

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

getGifsSearch Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
searchstringYes
localestringNo
ratingstringNo
pagenumberNo

Odpowiedź

Zwraca: GetGifsSearchResponse

Przykład

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

getGifsTrending Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
localestringNo
ratingstringNo
pagenumberNo

Odpowiedź

Zwraca: GetGifsTrendingResponse

Przykład

Przykład getGifsTrending
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 // Używając tylko wymaganego parametru
12 const trendingMinimal: GetGifsTrendingResponse = await getGifsTrending(tenantId);
13 console.log(trendingMinimal);
14}
15
16runExample();
17

addHashTag Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringNie
createHashTagBodyCreateHashTagBodyNie

Odpowiedź

Zwraca: AddHashTagResponse

Przykład

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

addHashTagsBulk Internal Link

Parameters

NameTypRequiredOpis
tenantIdstringNie
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNie

Odpowiedź

Zwraca: AddHashTagsBulkResponse

Przykład

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

deleteHashTag Internal Link

Parametry

NazwaTypWymaganeOpis
tagstringTak
tenantIdstringNie
deleteHashTagRequestBodyDeleteHashTagRequestBodyNie

Odpowiedź

Zwraca: DeleteHashTagResponse

Przykład

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

getHashTags Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
pagenumberNie

Odpowiedź

Zwraca: GetHashTagsResponse1

Przykład

Przykład 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

patchHashTag Internal Link

Parameters

NazwaTypWymaganeOpis
tagstringTak
tenantIdstringNie
updateHashTagBodyUpdateHashTagBodyNie

Response

Zwraca: PatchHashTagResponse

Example

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

deleteModerationVote Internal Link

Parametry

NameTypeRequiredDescription
commentIdstringYes
voteIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: DeleteModerationVoteResponse

Przykład

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

getApiComments Internal Link

Parametry

NazwaTypWymaganeOpis
pagenumberNo
countnumberNo
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetApiCommentsResponse

Przykład

Przykład getApiComments
Copy Copy
1
2async function loadComments() {
3 const fullResult: GetApiCommentsResponse = await getApiComments(
4 2, // strona
5 25, // liczba
6 "feedback", // textSearch
7 "192.168.1.100", // byIPFromComment
8 "approved", // filters
9 "hasReplies", // searchFilters
10 "dateDesc", // sorts
11 false, // demo
12 "tenant-abc123", // tenantId
13 "sso-token-xyz" // sso
14 );
15
16 const minimalResult: GetApiCommentsResponse = await getApiComments(undefined, 5);
17}
18

getApiExportStatus Internal Link

Parameters

NameTypeRequiredDescription
batchJobIdstringNie
tenantIdstringNie
ssostringNie

Response

Zwraca: GetApiExportStatusResponse

Example

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

getApiIds Internal Link

Parametry

NazwaTypWymaganeOpis
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
afterIdstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetApiIdsResponse

Przykład

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

getBanUsersFromComment Internal Link

Parameters

NazwaTypWymaganeOpis
commentIdstringTak
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetBanUsersFromCommentResponse

Przykład

Przykład 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 // Wywołanie ze wszystkimi parametrami
8 const fullResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId, tenantId, sso);
9 console.log(fullResult);
10
11 // Wywołanie tylko z wymaganym parametrem
12 const minimalResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId);
13 console.log(minimalResult);
14}
15
16demoGetBanUsers();
17

getCommentBanStatus Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetCommentBanStatusResponse1

Przykład

Przykład 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

getCommentChildren Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetCommentChildrenResponse

Przykład

Przykład 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

getCount Internal Link

Parameters

NameTypeRequiredDescription
textSearchstringNo
byIPFromCommentstringNo
filterstringNo
searchFiltersstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

Response

Zwraca: GetCountResponse

Example

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

getCounts Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetCountsResponse

Przykład

Przykład 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

getLogs Internal Link

Parameters

NazwaTypWymaganeOpis
commentIdstringTak
tenantIdstringNie
ssostringNie

Response

Zwraca: GetLogsResponse

Example

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

getManualBadges Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetManualBadgesResponse

Przykład

Przykład getManualBadges
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_ABCdef123456";
5
6 // Wywołanie z dwoma opcjonalnymi parametrami
7 const responseFull: GetManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
8 console.log(responseFull);
9
10 // Wywołanie tylko z tenantId
11 const responseTenantOnly: GetManualBadgesResponse = await getManualBadges(tenantId);
12 console.log(responseTenantOnly);
13}
14
15fetchBadges();
16

getManualBadgesForUser Internal Link

Parametry

NazwaTypWymaganeOpis
badgesUserIdstringNie
commentIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetManualBadgesForUserResponse

Przykład

Przykład 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

getModerationComment Internal Link

Parametry

NameTypeRequiredDescription
commentIdstringYes
includeEmailbooleanNo
includeIPbooleanNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetModerationCommentResponse

Przykład

Przykład getModerationComment
Copy Copy
1
2async function fetchCommentDetails() {
3 // Pełny zestaw parametrów
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 // Minimalne wywołanie używające tylko wymaganego argumentu
19 const minimalResult: GetModerationCommentResponse = await getModerationComment("cmt_67890def");
20
21 // Użyj wyników w razie potrzeby...
22}
23

getModerationCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetModerationCommentTextResponse

Przykład

Przykład getModerationCommentText
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 // Wywołanie tylko z wymaganym parametrem
8 const result1: GetModerationCommentTextResponse = await getModerationCommentText(commentId);
9
10 // Wywołanie z opcjonalnymi parametrami
11 const result2: GetModerationCommentTextResponse = await getModerationCommentText(commentId, tenantId, sso);
12}
13

getPreBanSummary Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
includeByUserIdAndEmailbooleanNie
includeByIPbooleanNie
includeByEmailDomainbooleanNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetPreBanSummaryResponse

Przykład

Przykład 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

getSearchCommentsSummary Internal Link

Parametry

NazwaTypWymaganeOpis
valuestringNie
filtersstringNie
searchFiltersstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetSearchCommentsSummaryResponse

Przykład

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

getSearchPages Internal Link

Parametry

NazwaTypWymaganeOpis
valuestringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetSearchPagesResponse

Przykład

Przykład 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

getSearchSites Internal Link

Parametry

NazwaTypWymaganeOpis
valuestringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetSearchSitesResponse

Przykład

Przykład 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

getSearchSuggest Internal Link

Parametry

NazwaTypWymaganeOpis
textSearchstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetSearchSuggestResponse

Przykład

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

getSearchUsers Internal Link

Parametry

NazwaTypWymaganeOpis
valuestringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: GetSearchUsersResponse

Przykład

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

getTrustFactor Internal Link

Parametry

NazwaTypWymaganeOpis
userIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetTrustFactorResponse

Przykład

Przykład 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

getUserBanPreference Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringNie
ssostringNie

Response

Zwraca: GetUserBanPreferenceResponse

Example

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

getUserInternalProfile Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: GetUserInternalProfileResponse1

Przykład

Przykład 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

postAdjustCommentVotes Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostAdjustCommentVotesResponse

Przykład

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

postApiExport Internal Link

Parametry

NazwaTypWymaganeOpis
textSearchstringNie
byIPFromCommentstringNie
filtersstringNie
searchFiltersstringNie
sortsstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostApiExportResponse

Przykład

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

postBanUserFromComment Internal Link

Parametry

NameTypeWymaganeOpis
commentIdstringTak
banEmailbooleanNie
banEmailDomainbooleanNie
banIPbooleanNie
deleteAllUsersCommentsbooleanNie
bannedUntilstringNie
isShadowBanbooleanNie
updateIdstringNie
banReasonstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostBanUserFromCommentResponse

Przykład

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

postBanUserUndo Internal Link

Parametry

NazwaTypWymaganeOpis
banUserUndoParamsBanUserUndoParamsTak
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostBanUserUndoResponse

Przykład

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

postBulkPreBanSummary Internal Link

Parametry

NazwaTypWymaganeOpis
bulkPreBanParamsBulkPreBanParamsTak
includeByUserIdAndEmailbooleanNie
includeByIPbooleanNie
includeByEmailDomainbooleanNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostBulkPreBanSummaryResponse

Przykład

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

postCommentsByIds Internal Link

Parametry

NazwaTypWymaganeOpis
commentsByIdsParamsCommentsByIdsParamsTak
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostCommentsByIdsResponse

Przykład

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

postFlagComment Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostFlagCommentResponse

Przykład

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

postRemoveComment Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostRemoveCommentResponse

Przykład

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

postRestoreDeletedComment Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostRestoreDeletedCommentResponse

Przykład

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

postSetCommentApprovalStatus Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
approvedbooleanNie
broadcastIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostSetCommentApprovalStatusResponse

Przykład

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

postSetCommentReviewStatus Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
reviewedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostSetCommentReviewStatusResponse

Przykład

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

postSetCommentSpamStatus Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
spambooleanNie
permNotSpambooleanNie
broadcastIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostSetCommentSpamStatusResponse

Przykład

postSetCommentSpamStatus Przykład
Copy Copy
1
2async function demoSpamStatus(): Promise<void> {
3 const commentId: string = "cmt_5f2a1b3c4d6e7f8g9h0i";
4
5 // Jedyny wymagany parametr
6 const resultSimple: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(commentId, true);
7
8 // Wszystkie opcjonalne parametry podane
9 const resultFull: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(
10 commentId,
11 false,
12 true,
13 "brd_1234abcd",
14 "tenant_42",
15 "sso_9876xyz"
16 );
17
18 console.log(resultSimple, resultFull);
19}
20

postSetCommentText Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringYes
setCommentTextParamsSetCommentTextParamsYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostSetCommentTextResponse

Przykład

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

postUnFlagComment Internal Link

Parametry

NameTypeRequiredDescription
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PostUnFlagCommentResponse

Przykład

Przykład postUnFlagComment
Copy Copy
1
2async () => {
3 const response: PostUnFlagCommentResponse = await postUnFlagComment(
4 "cmt_12345", // ID komentarza
5 "brd_67890", // ID transmisji (opcjonalnie)
6 "tenant_abc", // ID najemcy (opcjonalnie)
7 "sso_user_token_789" // sso (opcjonalnie)
8 );
9};
10

postVote Internal Link

Parametry

NazwaTypWymaganeOpis
commentIdstringTak
directionstringNie
broadcastIdstringNie
tenantIdstringNie
ssostringNie

Odpowiedź

Zwraca: PostVoteResponse

Przykład

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

putAwardBadge Internal Link

Parametry

NazwaTypWymaganeOpis
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PutAwardBadgeResponse

Przykład

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

putCloseThread Internal Link

Parametry

NazwaTypWymaganeOpis
urlIdstringYes
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PutCloseThreadResponse

Przykład

Przykład putCloseThread
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, sno);
8 console.log(response);
9}
10
11closeThreadDemo();
12

putRemoveBadge Internal Link

Parametry

NameTypeRequiredDescription
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PutRemoveBadgeResponse

Przykład

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

putReopenThread Internal Link

Parametry

NazwaTypWymaganeOpis
urlIdstringYes
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: PutReopenThreadResponse

Przykład

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

setTrustFactor Internal Link

Parametry

NazwaTypWymaganeOpis
userIdstringNo
trustFactorstringNo
tenantIdstringNo
ssostringNo

Odpowiedź

Zwraca: SetTrustFactorResponse

Przykład

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

createModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createModeratorBodyCreateModeratorBodyTak

Odpowiedź

Zwraca: CreateModeratorResponse1

Przykład

createModerator Przykład
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 // opcjonalne pola, takie jak opis, są pominięte
8 };
9 const result: CreateModeratorResponse1 = await createModerator(tenantId, moderatorPayload);
10 console.log(result);
11}
12
13runExample();
14

deleteModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
sendEmailstringNo

Odpowiedź

Zwraca: DeleteModeratorResponse

Przykład

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

getModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetModeratorResponse1

Przykład

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

getModerators Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipnumberNie

Odpowiedź

Zwraca: GetModeratorsResponse1

Przykład

Przykład getModerators
Copy Copy
1
2async function fetchModerators(): Promise<void> {
3 const tenantId: string = "tenant-9876";
4 const skip: number = 30; // opcjonalny offset paginacji
5 const moderators: GetModeratorsResponse1 = await getModerators(tenantId, skip);
6 // Przykład bez paginacji:
7 // const allModerators: GetModeratorsResponse1 = await getModerators(tenantId);
8}
9

sendInvite Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
fromNamestringTak

Odpowiedź

Zwraca: SendInviteResponse

Przykład

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

updateModerator Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

Odpowiedź

Zwraca: UpdateModeratorResponse

Przykład

updateModerator Przykład
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 // opcjonalne pole
9 notes: "Promoted to senior moderator"
10 };
11 const result: UpdateModeratorResponse = await updateModerator(tenantId, moderatorId, updateBody);
12 console.log(result);
13}
14
15demoUpdateModerator();
16

deleteNotificationCount Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringTak
idstringTak

Response

Zwraca: DeleteNotificationCountResponse

Example

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

getCachedNotificationCount Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetCachedNotificationCountResponse1

Przykład

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

getNotificationCount Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringNie
urlIdstringNie
fromCommentIdstringNie
viewedbooleanNie
typestringNie

Response

Zwraca: GetNotificationCountResponse1

Example

Przykład 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

getNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo
skipnumberNo

Odpowiedź

Zwraca: GetNotificationsResponse1

Przykład

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

updateNotification Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateNotificationBodyUpdateNotificationBodyTak
userIdstringNie

Odpowiedź

Zwraca: UpdateNotificationResponse

Przykład

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

createV1PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
titlestringNo

Odpowiedź

Zwraca: CreateV1PageReactResponse

Przykład

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

createV2PageReact Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
idstringYes
titlestringNo

Odpowiedź

Zwraca: CreateV2PageReactResponse

Przykład

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

deleteV1PageReact Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes

Odpowiedź

Zwraca: DeleteV1PageReactResponse

Przykład

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

deleteV2PageReact Internal Link

Parametry

NazaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
idstringTak

Odpowiedź

Zwraca: DeleteV2PageReactResponse

Przykład

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

getV1PageLikes Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes

Odpowiedź

Zwraca: GetV1PageLikesResponse

Przykład

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

getV2PageReacts Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes

Odpowiedź

Zwraca: GetV2PageReactsResponse

Przykład

Przykład getV2PageReacts
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 // przykładowy dostęp do opcjonalnej właściwości
9 const customConfig: CustomConfigParameters | undefined = reacts.customConfig;
10 console.log(reacts);
11}
12
13demoGetPageReacts();
14

getV2PageReactUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
idstringTak

Odpowiedź

Zwraca: GetV2PageReactUsersResponse1

Przykład

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

addPage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createAPIPageDataCreateAPIPageDataYes

Odpowiedź

Zwraca: AddPageAPIResponse

Przykład

Przykład 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

deletePage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeletePageAPIResponse

Przykład

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

getOfflineUsers Internal Link

Poprzedni komentatorzy na stronie, którzy NIE są obecnie online. Sortowani według displayName.
Użyj tego po wyczerpaniu /users/online, aby wyświetlić sekcję „Members”.
Paginacja kursora na commenterName: serwer przegląda częściowy {tenantId, urlId, commenterName}
indeks od afterName do przodu za pomocą $gt, bez kosztu $skip.

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Odpowiedź

Zwraca: GetOfflineUsersResponse

Przykład

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

getOnlineUsers Internal Link


Aktualnie online oglądający stronę: osoby, których sesja websocket jest subskrybowana do tej strony w tym momencie. Zwraca anonCount + totalCount (subskrybenci na poziomie pokoju, w tym anonimowi oglądający, których nie wymieniamy).

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Response

Zwraca: GetOnlineUsersResponse

Przykład

Przykład getOnlineUsers
Copy Copy
1
2async function demoOnlineUsers() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_98765";
5
6 // Z opcjonalnymi parametrami paginacji
7 const pagedResult: GetOnlineUsersResponse = await getOnlineUsers(
8 tenantId,
9 urlId,
10 "alice_smith",
11 "user_9"
12 );
13
14 // Bez opcjonalnych parametrów paginacji
15 const fullResult: GetOnlineUsersResponse = await getOnlineUsers(tenantId, urlId);
16}
17

getPageByURLId Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak

Odpowiedź

Zwraca: GetPageByURLIdAPIResponse

Przykład

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

getPages Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak

Odpowiedź

Zwraca: GetPagesAPIResponse

Przykład

Przykład 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

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

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
cursorstringNie
limitnumberNie
qstringNie
sortByPagesSortByNie
hasCommentsbooleanNie

Odpowiedź

Zwraca: GetPagesPublicResponse

Przykład

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

getUsersInfo Internal Link

Bulk user info for a tenant. Given userIds, return display info from User / SSOUser. Used by the comment widget to enrich users that just appeared via a presence event. No page context: privacy is enforced uniformly (private profiles are masked).

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idsstringYes

Response

Zwraca: GetUsersInfoResponse

Przykład

getUsersInfo Przykład
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
8// Opcjonalne pola w odpowiedzi mogą być niezdefiniowane
9const firstUser: PageUserEntry | undefined = usersInfo?.users?.[0];
10

patchPage Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
idstringTak
updateAPIPageDataUpdateAPIPageDataTak

Odpowiedź

Zwraca: PatchPageAPIResponse

Przykład

Przykład patchPage
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 może być pominięty
9 };
10
11 const response: PatchPageAPIResponse = await patchPage(tenantId, pageId, updateData);
12})();
13

deletePendingWebhookEvent Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeletePendingWebhookEventResponse

Przykład

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

getPendingWebhookEventCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo

Odpowiedź

Zwraca: GetPendingWebhookEventCountResponse1

Przykład

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

getPendingWebhookEvents Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

Odpowiedź

Zwraca: GetPendingWebhookEventsResponse1

Przykład

Przykład 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

createQuestionConfig Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringTak
createQuestionConfigBodyCreateQuestionConfigBodyTak

Response

Zwraca: CreateQuestionConfigResponse1

Example

Przykład createQuestionConfig
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 // opcjonalne pola mogą być pominięte
13 customOptions: [customOption],
14};
15
16const response: CreateQuestionConfigResponse1 = await createQuestionConfig(
17 tenantId,
18 createQuestionConfigBody
19);
20

deleteQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeleteQuestionConfigResponse

Przykład

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

getQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetQuestionConfigResponse1

Przykład

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

getQuestionConfigs Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
skipnumberNo

Odpowiedź

Zwraca: GetQuestionConfigsResponse1

Przykład

Przykład getQuestionConfigs
Copy Copy
1
2async function fetchQuestionConfigs() {
3 const tenantId: string = "tenant-9876";
4
5 // Wywołaj bez opcjonalnego parametru 'skip'
6 const configsWithoutSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId);
7
8 // Wywołaj z opcjonalnym parametrem 'skip'
9 const skip: number = 10;
10 const configsWithSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId, skip);
11
12 console.log(configsWithoutSkip, configsWithSkip);
13}
14

updateQuestionConfig Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateQuestionConfigBodyUpdateQuestionConfigBodyTak

Odpowiedź

Zwraca: UpdateQuestionConfigResponse

Przykład

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

createQuestionResult Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createQuestionResultBodyCreateQuestionResultBodyTak

Odpowiedź

Zwraca: CreateQuestionResultResponse1

Przykład

Przykład createQuestionResult
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 // opcjonalne pola, takie jak notatki, są pominięte
14};
15
16const result: CreateQuestionResultResponse1 = await createQuestionResult(tenantId, questionResultBody);
17

deleteQuestionResult Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeleteQuestionResultResponse

Przykład

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

getQuestionResult Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Response

Zwraca: GetQuestionResultResponse1

Przykład

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

getQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringNie
userIdstringNie
startDatestringNie
questionIdstringNie
questionIdsstringNie
skipnumberNie

Odpowiedź

Zwraca: GetQuestionResultsResponse1

Przykład

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

updateQuestionResult Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateQuestionResultBodyUpdateQuestionResultBodyTak

Odpowiedź

Zwraca: UpdateQuestionResultResponse

Przykład

Przykład 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 // wymagane pola
8 answer: "No",
9 // pola opcjonalne
10 comment: "User clarified their response",
11 // anotherOptionalField?: value,
12 };
13
14 const result: UpdateQuestionResultResponse = await updateQuestionResult(
15 tenantId,
16 id,
17 updateQuestionResultBody
18 );
19
20 console.log(result);
21}
22
23runUpdate();
24

aggregateQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
timeBucketAggregateTimeBucketNo
startDateDateNo
forceRecalculatebooleanNo

Odpowiedź

Zwraca: AggregateQuestionResultsResponse1

Przykład

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

bulkAggregateQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestTak
forceRecalculatebooleanNie

Odpowiedź

Zwraca: BulkAggregateQuestionResultsResponse1

Przykład

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

combineCommentsWithQuestionResults Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
questionIdstringNie
questionIdsArrayNie
urlIdstringNie
startDateDateNie
forceRecalculatebooleanNie
minValuenumberNie
maxValuenumberNie
limitnumberNie

Odpowiedź

Zwraca: CombineCommentsWithQuestionResultsResponse

Przykład

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

addSSOUser Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
createAPISSOUserDataCreateAPISSOUserDataTak

Odpowiedź

Zwraca: AddSSOUserAPIResponse

Przykład

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

deleteSSOUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
deleteCommentsbooleanNie
commentDeleteModestringNie

Odpowiedź

Zwraca: DeleteSSOUserAPIResponse

Przykład

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

getSSOUserByEmail Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
emailstringTak

Odpowiedź

Zwraca: GetSSOUserByEmailAPIResponse

Przykład

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

getSSOUserById Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetSSOUserByIdAPIResponse

Przykład

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

getSSOUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
skipnumberNo

Odpowiedź

Zwraca: GetSSOUsersResponse

Przykład

Przykład getSSOUsers
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4
5 // Wywołanie bez opcjonalnego `skip`
6 const firstPage: GetSSOUsersResponse = await getSSOUsers(tenantId);
7
8 // Wywołanie z opcjonalnym `skip`
9 const secondPage: GetSSOUsersResponse = await getSSOUsers(tenantId, 100);
10
11 console.log(firstPage, secondPage);
12}
13
14runExample();
15

patchSSOUser Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateAPISSOUserDataUpdateAPISSOUserDataTak
updateCommentsbooleanNie

Odpowiedź

Zwraca: PatchSSOUserAPIResponse

Przykład

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

putSSOUser Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringTak
idstringTak
updateAPISSOUserDataUpdateAPISSOUserDataTak
updateCommentsbooleanNie

Odpowiedź

Zwraca: PutSSOUserAPIResponse

Przykład

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

createSubscription Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

Odpowiedź

Zwraca: CreateSubscriptionAPIResponse

Przykład

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

deleteSubscription Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
userIdstringNie

Odpowiedź

Zwraca: DeleteSubscriptionAPIResponse

Przykład

deleteSubscription Przykład
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 opcjonalnym userId
8 const responseWithUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId, userId);
9
10 // Bez opcjonalnego userId
11 const responseWithoutUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId);
12})();
13

getSubscriptions Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringNie

Odpowiedź

Zwraca: GetSubscriptionsAPIResponse

Przykład

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

updateSubscription Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

Response

Zwraca: UpdateSubscriptionAPIResponse

Example

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

getTenantDailyUsages Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
yearNumbernumberNo
monthNumbernumberNo
dayNumbernumberNo
skipnumberNo

Odpowiedź

Zwraca: GetTenantDailyUsagesResponse1

Przykład

Przykład 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 // Używając tylko wymaganego i jednego opcjonalnego parametru
18 const partialResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
19 tenantId,
20 yearNumber
21 );
22
23 console.log(fullResult, partialResult);
24}
25
26fetchDailyUsage();
27

createTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createTenantPackageBodyCreateTenantPackageBodyTak

Odpowiedź

Zwraca: CreateTenantPackageResponse1

Przykład

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

deleteTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: DeleteTenantPackageResponse

Przykład

Przykład deleteTenantPackage
Copy Copy
1
2async function removeTenantPackage(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const packageId: string = "pkg_67890";
5
6 const result: DeleteTenantPackageResponse = await deleteTenantPackage(tenantId, packageId);
7 // use result as needed
8}
9
10removeTenantPackage();
11

getTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetTenantPackageResponse1

Przykład

Przykład 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 // Opcjonalne pola w odpowiedzi
8 const tenantPackage: TenantPackage | undefined = response.tenantPackage;
9 const customConfig: CustomConfigParameters | undefined = response.customConfigParameters;
10}
11

getTenantPackages Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
skipnumberNo

Odpowiedź

Zwraca: GetTenantPackagesResponse1

Przykład

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

replaceTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
replaceTenantPackageBodyReplaceTenantPackageBodyYes

Odpowiedź

Zwraca: ReplaceTenantPackageResponse

Przykład

replaceTenantPackage Przykład
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 // własne pola konfiguracyjne tutaj
8 };
9
10 const body: ReplaceTenantPackageBody = {
11 name: "Enterprise Package",
12 // opcjonalna niestandardowa konfiguracja
13 customConfig: config,
14 };
15
16 const response: ReplaceTenantPackageResponse = await replaceTenantPackage(tenantId, packageId, body);
17 console.log(response);
18})();
19

updateTenantPackage Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Odpowiedź

Zwraca: UpdateTenantPackageResponse

Przykład

Przykład 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

createTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Odpowiedź

Zwraca: CreateTenantUserResponse1

Przykład

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

deleteTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
deleteCommentsstringNo
commentDeleteModestringNo

Odpowiedź

Zwraca: DeleteTenantUserResponse

Przykład

deleteTenantUser Przykład
Copy Copy
1
2async function demoDeleteTenantUser() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-9876";
5
6 // Usuń użytkownika i wszystkie jego komentarze, używając trybu twardego usuwania
7 const resultWithOptions: DeleteTenantUserResponse = await deleteTenantUser(
8 tenantId,
9 userId,
10 "true",
11 "hard"
12 );
13
14 // Usuń użytkownika bez usuwania komentarzy (domyślne zachowanie)
15 const resultBasic: DeleteTenantUserResponse = await deleteTenantUser(tenantId, userId);
16}
17

getTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetTenantUserResponse1

Przykład

Przykład 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

getTenantUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
skipnumberNie

Odpowiedź

Zwraca: GetTenantUsersResponse1

Przykład

Przykład 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

replaceTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
replaceTenantUserBodyReplaceTenantUserBodyTak
updateCommentsstringNie

Odpowiedź

Zwraca: ReplaceTenantUserResponse

Przykład

replaceTenantUser Przykład
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

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
redirectURLstringNie

Odpowiedź

Zwraca: SendLoginLinkResponse

Przykład

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

updateTenantUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateTenantUserBodyUpdateTenantUserBodyYes
updateCommentsstringNo

Odpowiedź

Zwraca: UpdateTenantUserResponse

Przykład

Przykład 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

createTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
createTenantBodyCreateTenantBodyTak

Odpowiedź

Zwraca: CreateTenantResponse1

Przykład

Przykład createTenant
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-2024-01';
4 const createTenantBody: CreateTenantBody = {
5 // wymagane pola
6 name: 'Acme International',
7 // opcjonalne pola mogą być dodane w razie potrzeby, np.:
8 // billingInfo: { address: '123 Main St', city: 'Metropolis' } as BillingInfo,
9 };
10 const response: CreateTenantResponse1 = await createTenant(tenantId, createTenantBody);
11 console.log(response);
12}
13

deleteTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
surestringNo

Odpowiedź

Zwraca: DeleteTenantResponse

Przykład

Przykład deleteTenant
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 // Wywołanie z opcjonalnym parametrem 'sure'
8 const responseWithSure: DeleteTenantResponse = await deleteTenant(tenantId, id, sure);
9 console.log(responseWithSure);
10
11 // Wywołanie bez opcjonalnego parametru 'sure'
12 const responseWithoutSure: DeleteTenantResponse = await deleteTenant(tenantId, id);
13 console.log(responseWithoutSure);
14}
15
16runExample();
17

getTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetTenantResponse1

Przykład

Przykład 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

getTenants Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
metastringNo
skipnumberNo

Odpowiedź

Zwraca: GetTenantsResponse1

Przykład

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

updateTenant Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

Odpowiedź

Zwraca: UpdateTenantResponse

Przykład

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

changeTicketState Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Odpowiedź

Zwraca: ChangeTicketStateResponse1

Przykład

Przykład 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 // opcjonalne pole w ciele
9 comment: "Issue resolved after code fix"
10};
11
12const response: ChangeTicketStateResponse1 = await changeTicketState(
13 tenantId,
14 userId,
15 ticketId,
16 changeTicketStateBody
17);
18

createTicket Internal Link

Parametry

NameTypeRequiredDescription
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

Odpowiedź

Zwraca: CreateTicketResponse1

Przykład

Przykład createTicket
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 jest opcjonalny i pominięty
8};
9
10const response: CreateTicketResponse1 = await createTicket(tenantId, userId, ticketBody);
11// Przykład użycia opcjonalnego pola z odpowiedzi
12// console.log(response.ticket?.id);
13

getTicket Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
userIdstringNie

Odpowiedź

Returns: GetTicketResponse1

Przykład

Przykład 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

getTickets Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
userIdstringNo
statenumberNo
skipnumberNo
limitnumberNo

Response

Returns: GetTicketsResponse1

Example

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

getTranslations Internal Link

Parametry

NazwaTypWymaganeOpis
namespacestringTak
componentstringTak
localestringNie
useFullTranslationIdsbooleanNie

Odpowiedź

Zwraca: GetTranslationsResponse1

Przykład

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

uploadImage Internal Link

Prześlij i zmień rozmiar obrazu

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
fileBlobTak
sizePresetSizePresetNie
urlIdstringNie

Odpowiedź

Zwraca: UploadImageResponse

Przykład

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

getUserBadgeProgressById Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
idstringYes

Odpowiedź

Zwraca: GetUserBadgeProgressByIdResponse

Przykład

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

getUserBadgeProgressByUserId Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringTak

Odpowiedź

Zwraca: GetUserBadgeProgressByUserIdResponse

Przykład

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

getUserBadgeProgressList Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
userIdstringNo
limitnumberNo
skipnumberNo

Odpowiedź

Zwraca: GetUserBadgeProgressListResponse

Przykład

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

createUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsYes

Odpowiedź

Zwraca: CreateUserBadgeResponse

Przykład

createUserBadge Przykład
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 jest opcjonalny i pominięty tutaj
8};
9
10const result: CreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
11

deleteUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: DeleteUserBadgeResponse

Przykład

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

getUserBadge Internal Link

Parameters

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Response

Zwraca: GetUserBadgeResponse

Przykład

Przykład getUserBadge
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 // Bezpieczny dostęp do opcjonalnych pól
9 const badgeName: string | undefined = badgeResponse.userBadge?.name;
10 console.log(`Badge ID: ${badgeId}, Name: ${badgeName ?? "Unnamed"}`);
11}
12
13runExample();
14

getUserBadges Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
userIdstringNie
badgeIdstringNie
typenumberNie
displayedOnCommentsbooleanNie
limitnumberNie
skipnumberNie

Odpowiedź

Zwraca: GetUserBadgesResponse

Przykład

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

updateUserBadge Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak
updateUserBadgeParamsUpdateUserBadgeParamsTak

Odpowiedź

Zwraca: UpdateUserBadgeResponse

Przykład

Przykład 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 // przykład pola opcjonalnego
9 expiresAt: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
10 };
11
12 const result: UpdateUserBadgeResponse = await updateUserBadge(tenantId, userId, params);
13 console.log(result);
14}
15
16applyBadge();
17

getUserNotificationCount Internal Link

Parametry

NameTypeRequiredOpis
tenantIdstringYes
ssostringNo

Odpowiedź

Zwraca: GetUserNotificationCountResponse1

Przykład

Przykład getUserNotificationCount
Copy Copy
1
2async function demoGetUserNotificationCount() {
3 const tenantId: string = "acme-corp-01";
4
5 // Wywołanie z opcjonalnym tokenem SSO
6 const countWithSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
7 tenantId,
8 "sso-token-abc123"
9 );
10
11 // Wywołanie bez tokena SSO
12 const countWithoutSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
13 tenantId
14 );
15
16 console.log(countWithSSO, countWithoutSSO);
17}
18

getUserNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringNie
pageSizenumberNie
afterIdstringNie
includeContextbooleanNie
afterCreatedAtnumberNie
unreadOnlybooleanNie
dmOnlybooleanNie
noDmbooleanNie
includeTranslationsbooleanNie
includeTenantNotificationsbooleanNie
ssostringNie

Odpowiedź

Zwraca: GetUserNotificationsResponse

Przykład

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

resetUserNotificationCount Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
ssostringNo

Odpowiedź

Zwraca: ResetUserNotificationCountResponse

Przykład

resetUserNotificationCount Przykład
Copy Copy
1
2async function demoResetCount() {
3 const tenantId: string = "acme-corp-tenant";
4 const sso: string = "sso-user-9876";
5
6 // Wywołanie z opcjonalnym parametrem sso
7 const resultWithSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId, sso);
8
9 // Wywołanie bez opcjonalnego parametru sso
10 const resultWithoutSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId);
11
12 console.log(resultWithSso, resultWithoutSso);
13}
14

resetUserNotifications Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
afterIdstringNo
afterCreatedAtnumberNo
unreadOnlybooleanNo
dmOnlybooleanNo
noDmbooleanNo
ssostringNo

Odpowiedź

Zwraca: ResetUserNotificationsResponse1

Przykład

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

updateUserNotificationCommentSubscriptionStatus Internal Link

Enable lub wyłącz powiadomienia dla konkretnego komentarza.

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
notificationIdstringTak
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumTak
commentIdstringTak
ssostringNie

Odpowiedź

Zwraca: UpdateUserNotificationCommentSubscriptionStatusResponse

Przykład

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

updateUserNotificationPageSubscriptionStatus Internal Link

Enable lub wyłącz powiadomienia dla strony. Gdy użytkownicy są subskrybentami strony, powiadomienia są tworzone dla nowych komentarzy głównych, oraz również

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumYes
ssostringNo

Odpowiedź

Zwraca: UpdateUserNotificationPageSubscriptionStatusResponse

Przykład

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

updateUserNotificationStatus Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
notificationIdstringTak
newStatusUpdateUserNotificationStatusNewStatusEnumTak
ssostringNie

Odpowiedź

Zwraca: UpdateUserNotificationStatusResponse

Przykład

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

getUserPresenceStatuses Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Odpowiedź

Zwraca: GetUserPresenceStatusesResponse1

Przykład

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

searchUsers Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
urlIdstringTak
usernameStartsWithstringNie
mentionGroupIdsArrayNie
ssostringNie
searchSectionSearchUsersSearchSectionEnumNie

Odpowiedź

Returns: SearchUsersResponse1

Przykład

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

getUser Internal Link


Parametry

NazwaTypWymaganeOpis
tenantIdstringTak
idstringTak

Odpowiedź

Zwraca: GetUserResponse1

Przykład

Przykład 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

createVote Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
commentIdstringYes
directionCreateVoteDirectionEnumYes
userIdstringNo
anonUserIdstringNo

Odpowiedź

Zwraca: CreateVoteResponse

Przykład

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

deleteVote Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
editKeystringNo

Response

Zwraca: DeleteVoteResponse

Example

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

getVotes Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes

Odpowiedź

Zwraca: GetVotesResponse1

Przykład

Przykład 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 // Przykład dostępu do opcjonalnego pola w odpowiedzi
9 const firstVoteId: string | undefined = response?.votes?.[0]?.id;
10}
11

getVotesForUser Internal Link

Parametry

NazwaTypWymaganeOpis
tenantIdstringYes
urlIdstringYes
userIdstringNo
anonUserIdstringNo

Odpowiedź

Zwraca: GetVotesForUserResponse1

Przykład

Przykład 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

Potrzebujesz pomocy?

Jeżeli napotkasz jakiekolwiek problemy lub masz pytania dotyczące SDK JavaScript/TypeScript, prosimy:

Współtworzenie

Wkłady są mile widziane! Odwiedź repozytorium na GitHubie po wytyczne dotyczące współpracy.