FastComments.com

FastComments JavaScript/TypeScript SDK'sı


Bu, FastComments için resmi JavaScript/TypeScript SDK'sıdır.

Yorumları, kullanıcıları, SSO'yu ve moderasyonu Node.js veya tarayıcı üzerinden yönetin.

Depo

GitHub'da Görüntüle


Yapay Zeka kodlama ajanları Internal Link

skills.sh

Kodlama ajanınıza FastComments bağlamını sağlayın - widget'lar, yapılandırma, Güvenli SSO, REST API ve SDK'lar:

npx skills add fastcomments/skills

Claude Code, Codex, Cursor, Copilot, Gemini ve skills CLI tarafından desteklenen diğer tüm ajanlarla çalışır.

Kurulum Internal Link


npm

npm install fastcomments-sdk

API Dokümantasyonu Internal Link


Tam API referansı: docs/api/README.md

Tarayıcı ve Sunucu Uyumluluğu Internal Link


Bu SDK, optimal uyumluluğu sağlamak ve çalışma zamanı hatalarını önlemek için çift giriş noktaları kullanır:

  • fastcomments-sdk/browser - Yerel fetch ile tarayıcı güvenli sürüm
  • fastcomments-sdk/server - SSO desteği ile tam Node.js sürümü
  • fastcomments-sdk (varsayılan) - Yalnızca tipler, her yere güvenle içe aktarılabilir

Genel ve Güvenli API'ler Internal Link


SDK şu API sınıflarını sağlar:

  • DefaultApi - Kimlik doğrulama için API anahtarınızı gerektiren güvenli uç noktalar. Sunucu tarafı işlemler için bunları kullanın.
  • PublicApi - API anahtarı olmadan erişilebilen genel uç noktalar. Bunlar doğrudan tarayıcılardan/mobil cihazlardan/vb. çağrılabilir.
  • ModerationApi - Moderatör paneli uç noktaları (yorum moderasyonu, yasaklar, rozetler, güven faktörü, arama). Moderatörün oturumu ile yetkilendirilir; SSO ile yetkilendirilmiş moderatörler için sso sorgu parametresini geçin.
  • HiddenApi - Gelişmiş kullanım durumları için dahili/admin uç noktaları.

Örnek: Public API Kullanımı (tarayıcıda güvenli)

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

const publicApi = new PublicApi();

// Bir sayfa için yorumları al (API anahtarı gerekmez)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Örnek: Default API Kullanımı (sadece sunucu tarafı)

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

const config = new Configuration({
  apiKey: 'your-api-key' // Bunu gizli tutun!
});
const defaultApi = new DefaultApi(config);

// Tam yönetici erişimi ile yorumları al
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Örnek: Moderation API Kullanımı

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

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

// Moderatör kimliğiyle yetkilendirilmiş çağrılar (oturum çerezi, veya SSO moderatörü için `sso`'yu geçin).
const comments = await sdk.moderationApi.getApiComments({
  tenantId: 'your-tenant-id'
});

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

SSO (Tek Oturum Açma) Entegrasyonu Internal Link

FastComments, mevcut kullanıcı kimlik doğrulama sisteminizle entegre etmek için SSO'yu destekler. SSO functionality is only available in the server export since it requires Node.js crypto features.

Simple SSO (Server-Side Only)

Basit SSO sunucu tarafında oluşturulmalı ve istemciye gönderilmelidir:

// Sunucu tarafı kodu (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Yerleşik yardımcıyı kullanarak basit SSO oluştur  
const userData = {
  username: 'john_doe',
  email: 'john@example.com',
  displayName: 'John Doe',
  avatar: 'https://example.com/avatar.jpg'
};

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

const ssoToken = sso.createToken();

// ssoToken'ı istemci tarafı kodunuza gönderin
// İstemci tarafı kodu daha sonra bu token'ı tarayıcı SDK'sı ile kullanabilir

Güvenli SSO sunucu tarafında uygulanmalı ve daha iyi güvenlik sağlar:

// Sunucu tarafı kodu (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// Yerleşik yardımcıyı kullanarak güvenli SSO oluştur
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();

// Sunucuda API çağrılarıyla kullanın
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// Veya tarayıcı kullanımı için ssoConfig'i istemciye gönderin

Using SSO from Browser (with Server-Generated Token)

// İstemci tarafı kodu (tarayıcı)
import { PublicApi } from 'fastcomments-sdk/browser';

// Sunucu uç noktanızdan SSO token'ını alın
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 with Comment Creation

// Sunucu tarafı: SSO ve yorum oluştur
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)
});

Yaygın Kullanım Durumları Internal Link

Bir Sayfa İçin Yorumları Alma

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

Yorum Oluşturma

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

Bir Yorum İçin Oy Verme

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 = yukarı oy, -1 = aşağı oy
  }
});

Kullanıcı Yönetimi (API Anahtarı Gerekir)

// Kullanıcıları ara (DefaultApi gerektirir)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

Canlı Etkinlikler (Gerçek Zamanlı Güncellemeler) Internal Link

Yorumlar, oylar ve diğer etkinlikler için gerçek zamanlı güncellemeler almak üzere canlı etkinliklere abone olun.

Sayfa Düzeyi Etkinlikleri

Belirli bir sayfadaki canlı etkinlikleri dinleyin (yorumlar, oylar, vb.):

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

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

// Belirli bir sayfa için canlı etkinliklere abone olun
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (bunu getComments yanıtından alın)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Yeni yorum ile UI'inizi güncelleyin
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Oy sayılarını arayüzünüzde güncelleyin
        break;
      case LiveEventType.updated_comment:
        console.log('Comment updated:', event.comment);
        break;
      default:
        console.log('Other event type:', event.type);
    }
    
    return true; // Return true if event was handled
  },
  (isConnected: boolean) => {
    console.log('Connection status:', isConnected ? 'Connected' : 'Disconnected');
  }
);

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

Kullanıcı Etkinliklerine Abone Olma

Kullanıcıya özel etkinlikleri dinleyin (bildirimler, bahsetmeler, vb.):

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

const userConfig = {
  userIdWS: 'user-session-id', // Bu değeri getComments yanıtından alın
};

// Kullanıcının kişisel akışına abone olun
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Bildirimi arayüzünüzde gösterin
        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');
  }
);

// İşiniz bittiğinde kapatın
userSubscription.close();

userIdWS'i Alma

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

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

// Yanıttan userIdWS'yi çıkarın
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Artık canlı etkinliklere abone olabilirsiniz
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

Yayın Kimlikleri Internal Link

Bazı API çağrılarında bir broadcastId geçirmeniz gerektiğini göreceksiniz. Etkinlikleri aldığınızda bu ID size geri gönderilir; bu sayede istemcide değişiklikleri iyimser şekilde uygulamayı planlıyorsanız o etkinliği görmezden geleceğinizi bilirsiniz (muhtemelen en iyi deneyimi sunduğu için bunu yapmak isteyeceksiniz). Burada bir UUID iletin. ID, bir tarayıcı oturumu içinde iki kez oluşmayacak kadar benzersiz olmalıdır.

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() // Bu işlem için benzersiz ID
  }
});

Hata Yönetimi 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);
  }
}

createAgentTenant Internal Link

Creates a new trial account for an AI agent without a human signup. No API key is needed to call this.

The response contains the tenant id, an API key that works immediately against the REST API and the MCP server, and a claim URL. Give the claim URL to the human you are working for: opening it while logged in to FastComments attaches the account to them. Unclaimed accounts, and their keys, are deleted 72 hours after creation. Until claimed, the account has the standard trial limits.

Parameters

AdTürGerekliAçıklama
createAgentTenantBodyCreateAgentTenantBodyEvet

Response

Returns: CreateAgentTenantResponse

Example

createAgentTenant Örneği
Copy Copy
1
2const tenantBody: CreateAgentTenantBody = {
3 name: "Acme Corp",
4 domain: "acme.example.com",
5 contactEmail: "admin@acme.example.com", // optional
6 planId: 3 // optional
7};
8
9const result: CreateAgentTenantResponse = await createAgentTenant(tenantBody);
10

aggregate Internal Link

Aggregates documents by grouping them (if groupBy is provided) and applying multiple operations. Different operations (e.g. sum, countDistinct, avg, etc.) are supported.

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
aggregationRequestAggregationRequestYes
parentTenantIdstringNo
includeStatsbooleanNo

Yanıt

Döndürür: AggregateResponse

Örnek

aggregate Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
limitnumberNo
skipnumberNo
orderSORTDIRNo
afternumberNo
beforenumberNo
usernamestringNo
ipstringNo
crudTypestringNo
resourceNamestringNo
targetIdstringNo
targetstringNo
includeManagedTenantsbooleanNo

Yanıt

Döndürür: GetAuditLogsResponse

Örnek

getAuditLogs Örneği
Copy Copy
1
2async function fetchAuditLogs(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const limit: number = 50;
5 const skip: number = 0;
6 const order: SORTDIR = { direction: "DESC" };
7 const after: number = Date.now() - 86400000; // 1 gün önce
8 const before: number = Date.now();
9 const username: string = "alice.smith";
10 const ip: string = "198.51.100.23";
11 const crudType: string = "CREATE";
12 const resourceName: string = "thread";
13 const targetId: string = "thread_45678";
14 const target: string = "forum_12";
15 const includeManagedTenants: boolean = false;
16
17 const logs: GetAuditLogsResponse = await getAuditLogs(
18 tenantId,
19 limit,
20 skip,
21 order,
22 after,
23 before,
24 username,
25 ip,
26 crudType,
27 resourceName,
28 targetId,
29 target,
30 includeManagedTenants
31 );
32
33 console.log(logs);
34}
35
36fetchAuditLogs();
37

blockFromCommentPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

Yanıt

Döndürür: BlockSuccess

Örnek

blockFromCommentPublic Örneği
Copy Copy
1
2async function demoBlock() {
3 const tenantId: string = "tenant_9f8b7c";
4 const commentId: string = "comment_3e2d1a";
5 const blockParams: PublicBlockFromCommentParams = {
6 reason: "harassment",
7 expiresInHours: 48
8 };
9 const ssoToken: string = "sso_5g6h7i";
10
11 const resultWithSso: BlockSuccess = await blockFromCommentPublic(tenantId, commentId, blockParams, ssoToken);
12 const resultWithoutSso: BlockSuccess = await blockFromCommentPublic(tenantId, commentId, blockParams);
13}
14

unBlockCommentPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
publicBlockFromCommentParamsPublicBlockFromCommentParamsEvet
ssostringHayır

Yanıt

Döndürür: UnblockSuccess

Örnek

unBlockCommentPublic Örneği
Copy Copy
1
2const tenantId: string = "c9f1e2a4-5b6d-4f8a-9c2e-123456789abc";
3const commentId: string = "d3b2c1a9-8f7e-4d6b-9a0b-987654321def";
4
5const unblockParams: PublicBlockFromCommentParams = {
6 reason: "User request resolved",
7 moderatorId: "mod-456"
8};
9
10const ssoToken: string = "sso-token-789xyz";
11
12const unblockResult: UnblockSuccess = await unBlockCommentPublic(tenantId, commentId, unblockParams, ssoToken);
13const unblockResultNoSso: UnblockSuccess = await unBlockCommentPublic(tenantId, commentId, unblockParams);
14

checkedCommentsForBlocked Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringEvet
commentIdsstringEvet
ssostringHayır

Response

Returns: CheckBlockedCommentsResponse

Example

checkedCommentsForBlocked Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentIds: string = "cmt_9876,cmt_5432";
5 const ssoToken: string = "sso_user_abc123";
6
7 const responseWithSso: CheckBlockedCommentsResponse = await checkedCommentsForBlocked(tenantId, commentIds, ssoToken);
8 const responseWithoutSso: CheckBlockedCommentsResponse = await checkedCommentsForBlocked(tenantId, commentIds);
9})();
10

blockUserFromComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
blockFromCommentParamsBlockFromCommentParamsEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Döndürür: BlockSuccess

Örnek

blockUserFromComment Örneği
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant-123e4567-e89b-12d3-a456-426614174000";
4 const commentId: string = "cmt-9876543210";
5 const blockParams: BlockFromCommentParams = {
6 reason: "spam",
7 durationHours: 24
8 };
9 const userId: string = "user-abc123";
10 const anonUserId: string = "anon-xyz789";
11 const result: BlockSuccess = await blockUserFromComment(tenantId, commentId, blockParams, userId, anonUserId);
12 console.log(result);
13}
14demo();
15

createCommentPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
broadcastIdstringEvet
commentDataCommentDataEvet
sessionIdstringHayır
ssostringHayır

Yanıt

Döndürür: SaveCommentsResponseWithPresence

Örnek

createCommentPublic Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant-456";
4 const urlId: string = "url-789";
5 const broadcastId: string = "broadcast-101112";
6 const commentData: CommentData = { text: "This is a comment", userId: "user-123" };
7 const sessionId: string = "session-131415";
8 const sso: string = "sso-token-xyz";
9 const result: SaveCommentsResponseWithPresence = await createCommentPublic(tenantId, urlId, broadcastId, commentData, sessionId, sso);
10 const resultNoOpt: SaveCommentsResponseWithPresence = await createCommentPublic(tenantId, urlId, broadcastId, commentData);
11}
12

deleteComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
contextUserIdstringNo
isLivebooleanNo

Yanıt

Döndürür: DeleteCommentResult

Örnek

deleteComment Örneği
Copy Copy
1
2async function removeComment(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "comment_9876";
5 const contextUserId: string = "user_42";
6 const result: DeleteCommentResult = await deleteComment(tenantId, commentId, contextUserId, true);
7 console.log(result);
8}
9removeComment();
10

deleteCommentPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
editKeystringNo
ssostringNo

Yanıt

Döndürür: PublicAPIDeleteCommentResponse

Örnek

deleteCommentPublic Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_9876";
5 const broadcastId: string = "brd_5555";
6 const editKey: string = "edit_abc123";
7 const sso: string = "sso_token_xyz";
8
9 const resultWithoutOptional: PublicAPIDeleteCommentResponse = await deleteCommentPublic(tenantId, commentId, broadcastId);
10 const resultWithOptional: PublicAPIDeleteCommentResponse = await deleteCommentPublic(tenantId, commentId, broadcastId, editKey, sso);
11})();
12

deleteCommentVote Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
voteIdstringEvet
urlIdstringEvet
broadcastIdstringEvet
editKeystringHayır
ssostringHayır

Yanıt

Döndürür: VoteDeleteResponse

Örnek

deleteCommentVote Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_9876";
4const voteId: string = "vote_555";
5const urlId: string = "url_abcde";
6const broadcastId: string = "brd_2023";
7const editKey: string = "edit_abc123"; // isteğe bağlı
8const ssoToken: string = "sso_token_xyz"; // isteğe bağlı
9
10// Yalnızca gerekli parametrelerle ve bir isteğe bağlı ile çağır
11const deleteResult: VoteDeleteResponse = await deleteCommentVote(
12 tenantId,
13 commentId,
14 voteId,
15 urlId,
16 broadcastId,
17 editKey
18);
19
20// Her iki isteğe bağlı parametreyle de çağır
21const deleteResultWithSSO: VoteDeleteResponse = await deleteCommentVote(
22 tenantId,
23 commentId,
24 voteId,
25 urlId,
26 broadcastId,
27 editKey,
28 ssoToken
29);
30

flagComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Döndürür: FlagCommentResponse

Örnek

flagComment Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-20230915-001";
5 const userId: string = "user-42";
6 const anonUserId: string = "anon-abc123";
7
8 const response: FlagCommentResponse = await flagComment(tenantId, commentId, userId, anonUserId);
9 console.log(response);
10})();
11

getComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIGetCommentResponse

Örnek

getComment Örneği
Copy Copy
1
2async function fetchComment(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_1234567890";
5
6 const response: APIGetCommentResponse = await getComment(tenantId, commentId);
7 const comment: APIComment | undefined = response.comment;
8
9 // İsteğe bağlı alanların gösterimi
10 const badgeInfo: CommentUserBadgeInfo | undefined = comment?.user?.badge;
11 const hashtags: CommentUserHashTagInfo[] | undefined = comment?.user?.hashtags;
12 const mentions: CommentUserMentionInfo[] | undefined = comment?.user?.mentions;
13 const meta: APICommentBaseMeta | undefined = comment?.meta;
14
15 console.log(comment?.id, badgeInfo?.type);
16}
17
18fetchComment();
19

getComments Internal Link

Parametreler

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

Yanıt

Döndürür: APIGetCommentsResponse

Örnek

getComments Örneği
Copy Copy
1
2async function loadComments(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const page: number = 1;
5 const limit: number = 50;
6 const asTree: boolean = false;
7 const direction: SortDirections = "asc";
8 const fromDate: number = Date.now() - 30 * 24 * 60 * 60 * 1000; // 30 gün önce
9 const toDate: number = Date.now();
10
11 const commentsResponse: APIGetCommentsResponse = await getComments(
12 tenantId,
13 page,
14 limit,
15 undefined,
16 asTree,
17 undefined,
18 undefined,
19 undefined,
20 undefined,
21 undefined,
22 undefined,
23 undefined,
24 undefined,
25 undefined,
26 direction,
27 fromDate,
28 toDate
29 );
30
31 console.log(commentsResponse);
32}
33

getCommentsPublic Internal Link

req tenantId urlId

Parametreler

AdTürGerekliAçıklama
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

Yanıt

Döndürür: GetCommentsResponseWithPresencePublicComment

Örnek

getCommentsPublic Örnek
Copy Copy
1
2async function loadComments(): Promise<void> {
3 const tenantId: string = "tenant-42",
4 urlId: string = "post-2023-09-15",
5 page: number = 1,
6 direction: SortDirections = "desc",
7 limit: number = 30,
8 includeConfig: boolean = true,
9 locale: string = "en-US",
10 isCrawler: boolean = false,
11 asTree: boolean = true,
12 maxTreeDepth: number = 2,
13 searchText: string = "fastcomments",
14 hashTags: string[] = ["fastcomments","typescript"],
15 userId: string = "user-123";
16
17 const result: GetCommentsResponseWithPresencePublicComment = 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 undefined,
34 isCrawler,
35 undefined,
36 asTree,
37 maxTreeDepth,
38 undefined,
39 undefined,
40 searchText,
41 hashTags,
42 userId
43 );
44}
45

getCommentText Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
editKeystringNo
ssostringNo

Yanıt

Döndürür: PublicAPIGetCommentTextResponse

Örnek

getCommentText Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const commentId: string = "comment-987654321";
4const editKey: string = "edit-key-abc123";
5const sso: string = "sso-token-xyz789";
6
7const commentWithEdit: PublicAPIGetCommentTextResponse = await getCommentText(
8 tenantId,
9 commentId,
10 editKey,
11 sso
12);
13
14const commentBasic: PublicAPIGetCommentTextResponse = await getCommentText(
15 tenantId,
16 commentId
17);
18

getCommentVoteUserNames Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
dirnumberEvet
ssostringHayır

Yanıt

Döndürür: GetCommentVoteUserNamesSuccessResponse

Örnek

getCommentVoteUserNames Örneği
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-9876';
4 const commentId: string = 'comment-abc123';
5 const dir: number = 1;
6 const ssoToken: string = 'sso-xyz789';
7
8 const resultWithSso: GetCommentVoteUserNamesSuccessResponse = await getCommentVoteUserNames(tenantId, commentId, dir, ssoToken);
9 const resultWithoutSso: GetCommentVoteUserNamesSuccessResponse = await getCommentVoteUserNames(tenantId, commentId, dir);
10}
11

lockComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

lockComment Örneği
Copy Copy
1
2async function demoLockComment() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_9876";
5 const broadcastId: string = "brd_5555";
6 const ssoToken: string = "sso_user_abc";
7
8 const resultWithSso: APIEmptyResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
9 const resultWithoutSso: APIEmptyResponse = await lockComment(tenantId, commentId, broadcastId);
10}
11
12demoLockComment();
13

pinComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: ChangeCommentPinStatusResponse

Örnek

pinComment Örneği
Copy Copy
1
2async function demoPinComment() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_54321";
6
7 const resultWithoutSso: ChangeCommentPinStatusResponse = await pinComment(tenantId, commentId, broadcastId);
8 const ssoToken: string = "sso_abcde12345";
9 const resultWithSso: ChangeCommentPinStatusResponse = await pinComment(tenantId, commentId, broadcastId, ssoToken);
10}
11
12demoPinComment();
13

saveComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

Yanıt

Döndürür: APISaveCommentResponse

Örnek

saveComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const commentParams: CreateCommentParams = {
5 content: "This is a comment with a mention and a hashtag.",
6 userId: "user_987",
7 mentions: [
8 { userId: "user_123", start: 27, end: 34 }
9 ] as CommentUserMentionInfo[],
10 hashtags: [
11 { tag: "feedback", start: 45, end: 53 }
12 ] as CommentUserHashTagInfo[],
13 poll: {
14 question: "Do you like this feature?",
15 options: ["Yes", "No"]
16 } as CommentPollInput,
17};
18
19const response: APISaveCommentResponse = await saveComment(
20 tenantId,
21 commentParams,
22 true, // isLive
23 true, // doSpamCheck
24 false, // sendEmails
25 true // populateNotifications
26);
27

saveCommentsBulk Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createCommentParamsArrayYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

Yanıt

Döndürür: Array<SaveCommentsBulkResponse

Örnek

saveCommentsBulk Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const mention1: CommentUserMentionInfo = {
5 userId: "user_002",
6 start: 10,
7 end: 20,
8};
9
10const hashtag1: CommentUserHashTagInfo = {
11 tag: "news",
12 start: 30,
13 end: 35,
14};
15
16const poll1: CommentPollInput = {
17 question: "Did you find this helpful?",
18 options: ["Yes", "No"],
19};
20
21const commentA: CreateCommentParams = {
22 content: "This is a great article!",
23 userId: "user_001",
24 mentions: [mention1],
25 hashtags: [hashtag1],
26 poll: poll1,
27};
28
29const commentB: CreateCommentParams = {
30 content: "I have a question about the topic.",
31 userId: "user_003",
32};
33
34const createCommentParams: CreateCommentParams[] = [commentA, commentB];
35
36const isLive: boolean = true;
37const doSpamCheck: boolean = false;
38const sendEmails: boolean = true;
39const populateNotifications: boolean = false;
40
41const results: SaveCommentsBulkResponse[] = await saveCommentsBulk(
42 tenantId,
43 createCommentParams,
44 isLive,
45 doSpamCheck,
46 sendEmails,
47 populateNotifications
48);
49

setCommentText Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
commentTextUpdateRequestCommentTextUpdateRequestEvet
editKeystringHayır
ssostringHayır

Yanıt

Döndürür: PublicAPISetCommentTextResponse

Örnek

setCommentText Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_54321";
6 const commentTextUpdateRequest: CommentTextUpdateRequest = {
7 text: "Revised comment text with additional details."
8 };
9 const editKey: string = "edit_abc123";
10 const sso: string = "sso_token_456def";
11
12 const response: PublicAPISetCommentTextResponse = await setCommentText(
13 tenantId,
14 commentId,
15 broadcastId,
16 commentTextUpdateRequest,
17 editKey,
18 sso
19 );
20})();
21

unBlockUserFromComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
unBlockFromCommentParamsUnBlockFromCommentParamsEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Döndürür: UnblockSuccess

Örnek

unBlockUserFromComment Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9f8b7c6d";
4 const commentId: string = "comment-4a3b2c1d";
5 const params: UnBlockFromCommentParams = {
6 reason: "User appealed the block",
7 adminNote: "Reviewed and unblocked"
8 };
9 const userId: string = "user-5e6f7g8h";
10 const anonUserId: string = "anon-1a2b3c4d";
11 const result: UnblockSuccess = await unBlockUserFromComment(
12 tenantId,
13 commentId,
14 params,
15 userId,
16 anonUserId
17 );
18 console.log(result);
19})();
20

unFlagComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Returns: FlagCommentResponse

Örnek

unFlagComment Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt-20230915-001";
5 const userId: string = "user-42";
6
7 const unflaggedByUser: FlagCommentResponse = await unFlagComment(tenantId, commentId, userId);
8 const unflaggedByAnon: FlagCommentResponse = await unFlagComment(tenantId, commentId, undefined, "anon-xyz");
9
10 console.log(unflaggedByUser, unflaggedByAnon);
11}
12

unLockComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

unLockComment Örneği
Copy Copy
1
2async function demoUnlock() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_1234567890";
5 const broadcastId: string = "brd_987654321";
6 const ssoToken: string = "sso_abcdef123456";
7
8 const resultWithoutSso: APIEmptyResponse = await unLockComment(tenantId, commentId, broadcastId);
9 const resultWithSso: APIEmptyResponse = await unLockComment(tenantId, commentId, broadcastId, ssoToken);
10}
11

unPinComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Yanıt

Döndürür: ChangeCommentPinStatusResponse

Örnek

unPinComment Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-20230915-001";
5 const broadcastId: string = "broadcast-2023-09-15";
6 const ssoToken: string = "sso-abc123";
7
8 const result: ChangeCommentPinStatusResponse = await unPinComment(tenantId, commentId, broadcastId, ssoToken);
9 const resultWithoutSso: ChangeCommentPinStatusResponse = await unPinComment(tenantId, commentId, broadcastId);
10})();
11

updateComment Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
updatableCommentParamsUpdatableCommentParamsEvet
contextUserIdstringHayır
doSpamCheckbooleanHayır
isLivebooleanHayır

Response

Döndürür: APIEmptyResponse

Example

updateComment Örneği
Copy Copy
1
2const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
3const commentId: string = "comment-9876543210";
4const updateParams: UpdatableCommentParams = {
5 content: "Edited comment content",
6 isApproved: true
7};
8
9const contextUserId: string = "user-11223344";
10const doSpamCheck: boolean = true;
11const isLive: boolean = false;
12
13const response: APIEmptyResponse = await updateComment(
14 tenantId,
15 commentId,
16 updateParams,
17 contextUserId,
18 doSpamCheck,
19 isLive
20);
21

voteComment Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
sessionIdstringNo
ssostringNo

Yanıt

Döndürür: VoteResponse

Örnek

voteComment Örneği
Copy Copy
1
2async function runVote() {
3 const tenantId: string = 'tenant_001';
4 const commentId: string = 'cmt_987654';
5 const urlId: string = 'url_12345';
6 const broadcastId: string = 'brd_56789';
7 const voteBody: VoteBodyParams = { direction: 'up' };
8 const sessionId: string = 'sess_abc123';
9 const sso: string = 'sso_token_xyz';
10 const response: VoteResponse = await voteComment(
11 tenantId,
12 commentId,
13 urlId,
14 broadcastId,
15 voteBody,
16 sessionId,
17 sso
18 );
19 console.log(response);
20}
21runVote();
22

getCommentsForUser Internal Link

Parametreler

AdTürGerekliAçıklama
userIdstringNo
directionSortDirectionsNo
repliesToUserIdstringNo
pagenumberNo
includei10nbooleanNo
localestringNo
isCrawlerbooleanNo

Yanıt

Döndürür: GetCommentsForUserResponse

Örnek

getCommentsForUser Örneği
Copy Copy
1
2const userId: string = '550e8400-e29b-41d4-a716-446655440000';
3const direction: SortDirections = SortDirections.Descending;
4const page: number = 3;
5const includei10n: boolean = true;
6const locale: string = 'fr-FR';
7const isCrawler: boolean = false;
8
9const commentsResponse: GetCommentsForUserResponse = await getCommentsForUser(
10 userId,
11 direction,
12 undefined,
13 page,
14 includei10n,
15 locale,
16 isCrawler
17);
18

addDomainConfig Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
addDomainConfigParamsAddDomainConfigParamsYes

Yanıt

Döndürür: AddDomainConfigResponse

Örnek

addDomainConfig Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const config: AddDomainConfigParams = {
5 domain: 'myblog.example.com',
6 enabled: true,
7 // açıklama isteğe bağlıdır ve burada atlanmıştır
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

deleteDomainConfig Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainstringEvet

Yanıt

Döndürür: DeleteDomainConfigResponse

Örnek

deleteDomainConfig Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainstringEvet

Yanıt

Döndürür: GetDomainConfigResponse

Örnek

getDomainConfig Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Döndürür: GetDomainConfigsResponse

Örnek

getDomainConfigs Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
patchDomainConfigParamsPatchDomainConfigParamsEvet

Yanıt

Döndürür: PatchDomainConfigResponse

Örnek

patchDomainConfig Örneği
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, // gösterilen isteğe bağlı parametre
9 };
10 const response: PatchDomainConfigResponse = await patchDomainConfig(tenantId, domainToUpdate, patchParams);
11 console.log(response);
12}
13
14updateDomainConfig();
15

putDomainConfig Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
updateDomainConfigParamsUpdateDomainConfigParamsEvet

Yanıt

Döndürür: PutDomainConfigResponse

Örnek

putDomainConfig Örneği
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 // isteğe bağlı alan atlandı, örn., 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

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

Yanıt

Döndürür: CreateEmailTemplateResponse

Örnek

createEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3
4const templateBody: CreateEmailTemplateBody = {
5 name: "Weekly Summary",
6 subject: "Your weekly activity report",
7 // isteğe bağlı alan
8 replyTo: "no-reply@myapp.com",
9 htmlContent: "<p>Hello \{{userName}}, here is your summary...</p>"
10};
11
12const response: CreateEmailTemplateResponse = await createEmailTemplate(tenantId, templateBody);
13
14console.log(response.template.id);
15

deleteEmailTemplate Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteEmailTemplate Örneği
Copy Copy
1
2interface APIStatus {
3 code: number;
4 message: string;
5}
6
7interface APIEmptyResponse {
8 status?: APIStatus;
9}
10
11(async () => {
12 const tenantId: string = "tenant_12345";
13 const templateId: string = "template_987";
14
15 const result: APIEmptyResponse = await deleteEmailTemplate(tenantId, templateId);
16})();
17

deleteEmailTemplateRenderError Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
errorIdstringYes

Response

Döndürür: APIEmptyResponse

Example

deleteEmailTemplateRenderError Örneği
Copy Copy
1
2async function removeRenderError() {
3 const tenantId: string = "acme-corp-tenant";
4 const templateId: string = "welcome-email-template";
5 const errorId: string = "render-err-20230915";
6
7 const result: APIEmptyResponse = await deleteEmailTemplateRenderError(tenantId, templateId, errorId);
8}
9

getEmailTemplate Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetEmailTemplateResponse

Örnek

getEmailTemplate Örneği
Copy Copy
1
2async function fetchTemplate() {
3 const tenantId: string = "acme-corp-123";
4 const templateId: string = "welcome-email-456";
5 const response: GetEmailTemplateResponse = await getEmailTemplate(tenantId, templateId);
6 const status: APIStatus | undefined = response.status;
7 const customTemplate: CustomEmailTemplate | undefined = response.template;
8}
9

getEmailTemplateDefinitions Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Döndürür: GetEmailTemplateDefinitionsResponse

Örnek

getEmailTemplateDefinitions Örneği
Copy Copy
1
2async function fetchEmailTemplates() {
3 const tenantId: string = "acme-corp-456";
4 const result: GetEmailTemplateDefinitionsResponse = await getEmailTemplateDefinitions(tenantId);
5 const status: APIStatus = result.status;
6 const definitions: EmailTemplateDefinition[] = result.definitions ?? [];
7 console.log(`Status: ${status.code}, Templates: ${definitions.length}`);
8}
9

getEmailTemplateRenderErrors Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
skipnumberNo

Yanıt

Döndürür: GetEmailTemplateRenderErrorsResponse

Örnek

getEmailTemplateRenderErrors Örneği
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "template_9876";
5
6 const resultWithSkip: GetEmailTemplateRenderErrorsResponse = await getEmailTemplateRenderErrors(tenantId, templateId, 10);
7 const resultWithoutSkip: GetEmailTemplateRenderErrorsResponse = await getEmailTemplateRenderErrors(tenantId, templateId);
8
9 console.log(resultWithSkip, resultWithoutSkip);
10}
11demo();
12

getEmailTemplates Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
skipnumberNo

Yanıt

Döndürür: GetEmailTemplatesResponse

Örnek

getEmailTemplates Örneği
Copy Copy
1
2async function fetchEmailTemplates() {
3 const tenantId: string = "acme-corp-123";
4 const skip: number = 20;
5 const templatesWithSkip: GetEmailTemplatesResponse = await getEmailTemplates(tenantId, skip);
6 const templatesWithoutSkip: GetEmailTemplatesResponse = await getEmailTemplates(tenantId);
7}
8

renderEmailTemplate Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
renderEmailTemplateBodyRenderEmailTemplateBodyEvet
localestringHayır

Yanıt

Döndürür: RenderEmailTemplateResponse

Örnek

renderEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
3
4const templateBody: RenderEmailTemplateBody = {
5 templateId: "welcome-email",
6 variables: {
7 userName: "Jane Doe",
8 signupDate: "2024-04-01"
9 }
10};
11
12const locale: string = "en-US";
13
14(async () => {
15 const rendered: RenderEmailTemplateResponse = await renderEmailTemplate(
16 tenantId,
17 templateBody,
18 locale
19 );
20 console.log(rendered);
21})();
22

updateEmailTemplate Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateEmailTemplateBodyUpdateEmailTemplateBodyYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateEmailTemplate Örneği
Copy Copy
1
2async function runUpdate() {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "template_67890";
5
6 const updateBody: UpdateEmailTemplateBody = {
7 subject: "New Comment Notification",
8 // htmlContent isteğe bağlıdır ve atlanmıştır
9 status: { code: 200, message: "Active" } // APIStatus
10 };
11
12 const response: APIEmptyResponse = await updateEmailTemplate(tenantId, templateId, updateBody);
13 console.log(response);
14}
15

getEventLog Internal Link

req tenantId urlId userIdWS

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdWSstringEvet
startTimenumberEvet
endTimenumberHayır

Yanıt

Döndürür: GetEventLogResponse

Örnek

getEventLog Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "url_9876";
4const userIdWS: string = "user_abcde";
5const startTime: number = Date.now() - 86_400_000; // 24 saat önce
6const endTime: number = Date.now();
7
8const fullLog: GetEventLogResponse = await getEventLog(tenantId, urlId, userIdWS, startTime, endTime);
9const partialLog: GetEventLogResponse = await getEventLog(tenantId, urlId, userIdWS, startTime);
10

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdWSstringEvet
startTimenumberEvet
endTimenumberHayır

Yanıt

Döndürür: GetEventLogResponse

Örnek

getGlobalEventLog Örneği
Copy Copy
1
2async function fetchEventLogs() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_9876";
5 const userIdWS: string = "user_ws_abcde";
6 const startTime: number = Date.now() - 24 * 60 * 60 * 1000; // 24 saat önce
7 const endTime: number = Date.now();
8
9 const logWithEnd: GetEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const logWithoutEnd: GetEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime);
11}
12

createFeedPost Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
broadcastIdstringNo
isLivebooleanNo
doSpamCheckbooleanNo
skipDupCheckbooleanNo

Yanıt

Döndürür: CreateFeedPostsResponse

Örnek

createFeedPost Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
4 const broadcastId: string = "b1c2d3e4-5678-90ab-cdef-1234567890cd";
5 const isLive: boolean = true;
6 const doSpamCheck: boolean = false;
7 const skipDupCheck: boolean = true;
8
9 const mediaAsset: FeedPostMediaItemAsset = {
10 url: "https://cdn.example.com/photos/sunrise.jpg",
11 type: "image/jpeg"
12 };
13 const mediaItem: FeedPostMediaItem = {
14 asset: mediaAsset,
15 caption: "Sunrise over the mountains"
16 };
17 const linkItem: FeedPostLink = {
18 url: "https://blog.example.com/tech-trends-2024",
19 title: "Top Tech Trends for 2024"
20 };
21 const postParams: CreateFeedPostParams = {
22 text: "Excited to share the latest tech trends!",
23 media: [mediaItem],
24 link: linkItem
25 };
26
27 const response: CreateFeedPostsResponse = await createFeedPost(
28 tenantId,
29 postParams,
30 broadcastId,
31 isLive,
32 doSpamCheck,
33 skipDupCheck
34 );
35 console.log(response);
36})();
37

createFeedPostPublic Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
createFeedPostParamsCreateFeedPostParamsEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: CreateFeedPostResponse

Örnek

createFeedPostPublic Örnek
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const mediaAsset: FeedPostMediaItemAsset = {
5 url: "https://cdn.example.com/image.jpg",
6 width: 800,
7 height: 600,
8 mimeType: "image/jpeg"
9};
10
11const mediaItem: FeedPostMediaItem = {
12 type: "image",
13 asset: mediaAsset,
14 caption: "Sunset over the hills"
15};
16
17const link: FeedPostLink = {
18 url: "https://example.com/blog/post",
19 title: "Exciting New Features",
20 description: "Read about our latest updates."
21};
22
23const createFeedPostParams: CreateFeedPostParams = {
24 content: "Check out our latest blog post!",
25 media: [mediaItem],
26 link: link,
27 visibility: "public"
28};
29
30const broadcastId: string = "broadcast_9876";
31const sso: string = "sso_token_abc123";
32
33const response: CreateFeedPostResponse = await createFeedPostPublic(
34 tenantId,
35 createFeedPostParams,
36 broadcastId,
37 sso
38);
39

deleteFeedPostPublic Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
postIdstringEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: DeleteFeedPostPublicResponse

Örnek

deleteFeedPostPublic Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const postId: string = "post_98765";
5 const broadcastId: string = "broadcast_abcde";
6 const sso: string = "sso_token_xyz";
7
8 const responseWithOpts: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(
9 tenantId,
10 postId,
11 broadcastId,
12 sso
13 );
14
15 const responseWithoutOpts: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(
16 tenantId,
17 postId
18 );
19})();
20

getFeedPosts Internal Link

req tenantId afterId

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
afterIdstringHayır
limitnumberHayır
tagsArrayHayır

Yanıt

Döndürür: GetFeedPostsResponse

Örnek

getFeedPosts Örneği
Copy Copy
1
2async function loadFeed() {
3 const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
4 const afterId: string = 'post_987654321';
5 const limit: number = 25;
6 const tags: string[] = ['technology', 'innovation'];
7 const response: GetFeedPostsResponse = await getFeedPosts(tenantId, afterId, limit, tags);
8 console.log(response);
9}
10loadFeed();
11

getFeedPostsPublic Internal Link

req tenantId afterId

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
afterIdstringHayır
limitnumberHayır
tagsArrayHayır
ssostringHayır
isCrawlerbooleanHayır
includeUserInfobooleanHayır

Yanıt

Döndürür: PublicFeedPostsResponse

Örnek

getFeedPostsPublic Örnek
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const afterId: string = "post-20230915-abc123";
4const limit: number = 15;
5const tags: string[] = ["technology", "innovation"];
6const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NSJ9.s3cr3tSignature";
7const isCrawler: boolean = false;
8const includeUserInfo: boolean = true;
9
10const feedResponse: PublicFeedPostsResponse = await getFeedPostsPublic(
11 tenantId,
12 afterId,
13 limit,
14 tags,
15 sso,
16 isCrawler,
17 includeUserInfo
18);
19

getFeedPostsStats Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
postIdsArrayEvet
ssostringHayır

Yanıt

Döndürür: FeedPostsStatsResponse

Örnek

getFeedPostsStats Örneği
Copy Copy
1
2const tenantId: string = "tenant-9f8b7c6d";
3const postIds: string[] = ["post-1a2b3c", "post-4d5e6f", "post-7g8h9i"];
4const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
5const feedStats: FeedPostsStatsResponse = await getFeedPostsStats(tenantId, postIds, ssoToken);
6

getUserReactsPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
postIdsArrayHayır
ssostringHayır

Yanıt

Döndürür: UserReactsResponse

Örnek

getUserReactsPublic Örnek
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const postIds: string[] = ["post_abc", "post_def"];
4const ssoToken: string = "sso_token_987";
5
6const fullResponse: UserReactsResponse = await getUserReactsPublic(tenantId, postIds, ssoToken);
7const minimalResponse: UserReactsResponse = await getUserReactsPublic(tenantId);
8

reactFeedPostPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
isUndobooleanNo
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: ReactFeedPostResponse

Örnek

reactFeedPostPublic Örneği
Copy Copy
1
2async function demoReact() {
3 const tenantId: string = "tenant_12345";
4 const postId: string = "post_98765";
5 const reactBodyParams: ReactBodyParams = {
6 type: "like",
7 userId: "user_abcde"
8 };
9 const response: ReactFeedPostResponse = await reactFeedPostPublic(
10 tenantId,
11 postId,
12 reactBodyParams,
13 true,
14 "broadcast_001",
15 "sso_token_xyz"
16 );
17}
18

updateFeedPost Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
feedPostFeedPostEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateFeedPost Örneği
Copy Copy
1
2async function runUpdate() {
3 const tenantId: string = "tenant_12345";
4 const postId: string = "post_98765";
5
6 const mediaAsset: FeedPostMediaItemAsset = {
7 url: "https://cdn.example.com/image.jpg",
8 width: 800,
9 height: 600,
10 mimeType: "image/jpeg"
11 };
12
13 const mediaItem: FeedPostMediaItem = {
14 type: "image",
15 asset: mediaAsset,
16 caption: "Sunrise over the hills"
17 };
18
19 const link: FeedPostLink = {
20 url: "https://example.com/blog",
21 title: "Latest Blog Post",
22 description: "Insights on recent developments"
23 };
24
25 const feedPost: FeedPost = {
26 title: "Daily Highlights",
27 content: "Check out today’s top stories.",
28 mediaItems: [mediaItem], // isteğe bağlı
29 links: [link] // isteğe bağlı
30 };
31
32 const response: APIEmptyResponse = await updateFeedPost(tenantId, postId, feedPost);
33 console.log(response);
34}
35
36runUpdate();
37

updateFeedPostPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
postIdstringEvet
updateFeedPostParamsUpdateFeedPostParamsEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: CreateFeedPostResponse

Örnek

updateFeedPostPublic Örneği
Copy Copy
1
2// Parametreleri tanımla
3const tenantId: string = "tenant_12345";
4const postId: string = "post_98765";
5
6const mediaAsset: FeedPostMediaItemAsset = {
7 url: "https://cdn.example.com/image.jpg",
8 width: 800,
9 height: 600,
10 mimeType: "image/jpeg"
11};
12
13const mediaItem: FeedPostMediaItem = {
14 type: "image",
15 asset: mediaAsset,
16 caption: "A beautiful scenery"
17};
18
19const link: FeedPostLink = {
20 url: "https://example.com/article",
21 title: "Interesting Article",
22 description: "An article about TypeScript best practices."
23};
24
25const updateParams: UpdateFeedPostParams = {
26 content: "Updated post content with new media and link.",
27 media: [mediaItem],
28 link: link,
29 isPublic: true
30};
31
32const broadcastId: string = "broadcast_001";
33const sso: string = "sso_token_abc123";
34
35const response: CreateFeedPostResponse = await updateFeedPostPublic(
36 tenantId,
37 postId,
38 updateParams,
39 broadcastId,
40 sso
41);
42

flagCommentPublic Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
isFlaggedbooleanYes
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

flagCommentPublic Örnek
Copy Copy
1
2const tenantId: string = "tenant_42";
3const commentId: string = "comment_1001";
4const isFlagged: boolean = true;
5const sso: string = "sso_user_5678";
6
7const resultWithSso: APIEmptyResponse = await flagCommentPublic(tenantId, commentId, isFlagged, sso);
8const resultWithoutSso: APIEmptyResponse = await flagCommentPublic(tenantId, commentId, false);
9

getGifLarge Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
largeInternalURLSanitizedstringYes

Response

Döndürür: GifGetLargeResponse

Example

getGifLarge Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
4 const largeInternalURLSanitized: string = "https://cdn.fastcomments.com/gifs/large/abc123.gif";
5 const response: GifGetLargeResponse = await getGifLarge(tenantId, largeInternalURLSanitized);
6 console.log(response);
7}
8

getGifsSearch Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
searchstringEvet
localestringHayır
ratingstringHayır
pagenumberHayır

Yanıt

Döndürür: GetGifsSearchResponse

Örnek

getGifsSearch Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_9876";
4 const search: string = "celebration fireworks";
5 const locale: string = "fr-FR";
6 const rating: string = "g";
7 const page: number = 1;
8
9 const fullResult: GetGifsSearchResponse = await getGifsSearch(tenantId, search, locale, rating, page);
10 const minimalResult: GetGifsSearchResponse = await getGifsSearch(tenantId, "dog memes");
11}
12
13runExample();
14

getGifsTrending Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
localestringNo
ratingstringNo
pagenumberNo

Yanıt

Döner: GetGifsTrendingResponse

Örnek

getGifsTrending Örneği
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 // Yalnızca gerekli parametreyi kullanarak
12 const trendingMinimal: GetGifsTrendingResponse = await getGifsTrending(tenantId);
13 console.log(trendingMinimal);
14}
15
16runExample();
17

addHashTag Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createHashTagBodyCreateHashTagBodyHayır

Yanıt

Döndürür: CreateHashTagResponse

Örnek

addHashTag Örneği
Copy Copy
1
2const tenantId: string = "c3f5e8b2-9d4a-4f6a-8b2c-1a2b3c4d5e6f";
3
4const tagPayload: CreateHashTagBody = {
5 tag: "typescript",
6 description: "Discussions about TypeScript"
7};
8
9const responseWithBody: CreateHashTagResponse = await addHashTag(tenantId, tagPayload);
10const responseWithoutBody: CreateHashTagResponse = await addHashTag(tenantId);
11

addHashTagsBulk Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
bulkCreateHashTagsBodyBulkCreateHashTagsBodyHayır

Yanıt

Döndürür: BulkCreateHashTagsResponse

Örnek

addHashTagsBulk Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3
4const tags: BulkCreateHashTagsBodyTagsInner[] = [
5 { name: "typescript", color: "#3178c6" },
6 { name: "fastcomments", color: "#ff6600" }
7];
8
9const bulkBody: BulkCreateHashTagsBody = { tags };
10
11const resultWithBody: BulkCreateHashTagsResponse = await addHashTagsBulk(tenantId, bulkBody);
12
13const resultWithoutBody: BulkCreateHashTagsResponse = await addHashTagsBulk(tenantId);
14

deleteHashTag Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
tagstringYes
deleteHashTagRequestBodyDeleteHashTagRequestBodyNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteHashTag Örneği
Copy Copy
1
2const tenantId: string = "tenant_42";
3const tag: string = "high-priority";
4
5const requestBody: DeleteHashTagRequestBody = {
6 // gerekli alanları doldurun
7};
8
9const resultWithBody: APIEmptyResponse = await deleteHashTag(tenantId, tag, requestBody);
10const resultWithoutBody: APIEmptyResponse = await deleteHashTag(tenantId, tag);
11

getHashTags Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
pagenumberHayır

Yanıt

Döndürür: GetHashTagsResponse

Örnek

getHashTags Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const page: number = 1;
5 const result: GetHashTagsResponse = await getHashTags(tenantId, page);
6 console.log(result);
7})();
8

patchHashTag Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
tagstringEvet
updateHashTagBodyUpdateHashTagBodyHayır

Yanıt

Döndürür: UpdateHashTagResponse

Örnek

patchHashTag Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const tag: string = "news";
5
6 // Opsiyonel gövde olmadan çağır
7 const responseWithoutBody: UpdateHashTagResponse = await patchHashTag(tenantId, tag);
8
9 // Güncelleme için gövde hazırla
10 const updateBody: UpdateHashTagBody = {
11 name: "Latest News",
12 description: "Tag for the most recent news articles"
13 };
14
15 const responseWithBody: UpdateHashTagResponse = await patchHashTag(tenantId, tag, updateBody);
16})();
17

getMe Internal Link

Kullanılan kimlik bilgilerini tanımlar: ait olduğu kiracı ve OAuth tokenları için yetkilendiren kullanıcı.
Entegrasyonlar bunu bir bağlantıyı test etmek ve etiketlemek için kullanır.

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet

Response

Döndürür: GetMeResponse

Example

getMe Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant";
4 const me: GetMeResponse = await getMe(tenantId);
5 const authType: MeAuthType = me.auth.type;
6 const scopes: OAuthScope[] = me.auth.scopes ?? [];
7 const status: APIStatus = me.status;
8})();
9

deleteModerationVote Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
voteIdstringEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: VoteDeleteResponse

Örnek

deleteModerationVote Örneği
Copy Copy
1
2async function runDeleteModerationVote(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6a";
4 const commentId: string = "comment_4d3e2f1a";
5 const voteId: string = "vote_12345abcde";
6 const broadcastId: string | undefined = "broadcast_2023_09_15";
7 const sso: string | undefined = "sso_user_7890token";
8
9 const result: VoteDeleteResponse = await deleteModerationVote(
10 tenantId,
11 commentId,
12 voteId,
13 broadcastId,
14 sso
15 );
16
17 console.log(result);
18}
19

getApiComments Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
pagenumberNo
countnumberNo
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
demobooleanNo
ssostringNo

Yanıt

Döndürür: ModerationAPIGetCommentsResponse

Örnek

getApiComments Örneği
Copy Copy
1
2async function fetchComments(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const page: number = 2;
5 const count: number = 20;
6 const textSearch: string = "typescript";
7 const byIPFromComment: string = "192.168.1.100";
8 const filters: string = "spam,offensive";
9 const searchFilters: string = "user:john";
10 const sorts: string = "date_desc";
11 const demo: boolean = true;
12 const sso: string = "sso_token_abc";
13
14 const response: ModerationAPIGetCommentsResponse = await getApiComments(
15 tenantId,
16 page,
17 count,
18 textSearch,
19 byIPFromComment,
20 filters,
21 searchFilters,
22 sorts,
23 demo,
24 sso
25 );
26}
27
28fetchComments();
29

getApiExportStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
batchJobIdstringNo
ssostringNo

Yanıt

Döndürür: ModerationExportStatusResponse

Örnek

getApiExportStatus Örneği
Copy Copy
1
2async function run() {
3 const tenantId: string = "tenant_12345";
4 const batchJobId: string = "job_98765";
5 const ssoToken: string = "sso_abcde12345";
6
7 const statusOnlyTenant: ModerationExportStatusResponse = await getApiExportStatus(tenantId);
8 const statusWithBatch: ModerationExportStatusResponse = await getApiExportStatus(tenantId, batchJobId);
9 const statusFull: ModerationExportStatusResponse = await getApiExportStatus(tenantId, batchJobId, ssoToken);
10}
11run();
12

getApiIds Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
textSearchstringHayır
byIPFromCommentstringHayır
filtersstringHayır
searchFiltersstringHayır
afterIdstringHayır
demobooleanHayır
ssostringHayır

Yanıt

Döndürür: ModerationAPIGetCommentIdsResponse

Örnek

getApiIds Örneği
Copy Copy
1
2async function run(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const textSearch: string = "offensive language";
5 const byIPFromComment: string = "203.0.113.45";
6 const filters: string = "status:unmoderated";
7 const searchFilters: string = "author:alice";
8 const afterId: string = "cmt_00123";
9 const demo: boolean = true;
10 const sso: string = "sso_9f8e7d6c";
11
12 const fullResult: ModerationAPIGetCommentIdsResponse = await getApiIds(
13 tenantId,
14 textSearch,
15 byIPFromComment,
16 filters,
17 searchFilters,
18 afterId,
19 demo,
20 sso
21 );
22
23 const minimalResult: ModerationAPIGetCommentIdsResponse = await getApiIds(tenantId);
24}
25

getBanUsersFromComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetBannedUsersFromCommentResponse

Örnek

getBanUsersFromComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c";
3const commentId: string = "comment_a1b2c3";
4const ssoToken: string = "sso_abc123";
5
6const bannedUsers: GetBannedUsersFromCommentResponse = await getBanUsersFromComment(tenantId, commentId, ssoToken);
7const bannedUsersNoSso: GetBannedUsersFromCommentResponse = await getBanUsersFromComment(tenantId, commentId);
8

getCommentBanStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
ssostringNo

Yanıt

Döndürür: GetCommentBanStatusResponse

Örnek

getCommentBanStatus Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_987654";
5 const ssoToken: string = "sso_user_abc";
6
7 const statusWithSso: GetCommentBanStatusResponse = await getCommentBanStatus(tenantId, commentId, ssoToken);
8 const statusWithoutSso: GetCommentBanStatusResponse = await getCommentBanStatus(tenantId, commentId);
9})();
10

getCommentChildren Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
ssostringNo

Yanıt

Döndürür: ModerationAPIChildCommentsResponse

Örnek

getCommentChildren Örneği
Copy Copy
1
2async function fetchChildren() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const ssoToken: string = "sso_user_abc123";
6
7 const responseWithSSO: ModerationAPIChildCommentsResponse = await getCommentChildren(tenantId, commentId, ssoToken);
8 const responseWithoutSSO: ModerationAPIChildCommentsResponse = await getCommentChildren(tenantId, commentId);
9}
10
11fetchChildren();
12

getCount Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
textSearchstringNo
byIPFromCommentstringNo
filterstringNo
searchFiltersstringNo
demobooleanNo
ssostringNo

Yanıt

Döndürür: ModerationAPICountCommentsResponse

Örnek

getCount Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const basicCount: ModerationAPICountCommentsResponse = await getCount(tenantId);
5
6const detailedCount: ModerationAPICountCommentsResponse = await getCount(
7 tenantId,
8 "spam",
9 "192.168.1.100",
10 "status:pending",
11 "user:john",
12 true,
13 "sso_token_abc"
14);
15

getCounts Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
ssostringNo

Yanıt

Döndürür: GetBannedUsersCountResponse

Örnek

getCounts Örneği
Copy Copy
1
2async function run() {
3 const tenantId: string = "tenant_9876";
4 const ssoToken: string = "sso_user_42";
5
6 const resultWithOnlyTenant: GetBannedUsersCountResponse = await getCounts(tenantId);
7 const resultWithBoth: GetBannedUsersCountResponse = await getCounts(tenantId, ssoToken);
8}
9
10run();
11

getLogs Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
ssostringNo

Yanıt

Döndürür: ModerationAPIGetLogsResponse

Örnek

getLogs Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const commentId: string = "cmt_4567890";
5 const ssoToken: string = "sso_abcdef123456";
6
7 const logsWithSso: ModerationAPIGetLogsResponse = await getLogs(tenantId, commentId, ssoToken);
8 const logsWithoutSso: ModerationAPIGetLogsResponse = await getLogs(tenantId, commentId);
9})();
10

getManualBadges Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetTenantManualBadgesResponse

Örnek

getManualBadges Örneği
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant-987654321";
4 const ssoToken: string = "sso-token-abc123";
5
6 const badgesWithSso: GetTenantManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
7 const badgesWithoutSso: GetTenantManualBadgesResponse = await getManualBadges(tenantId);
8}
9

getManualBadgesForUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
badgesUserIdstringNo
commentIdstringNo
ssostringNo

Yanıt

Döndürür: GetUserManualBadgesResponse

Örnek

getManualBadgesForUser Örneği
Copy Copy
1
2async () => {
3 const tenantId: string = "tenant_12345";
4 const badgesUserId: string | undefined = "user_98765";
5 const commentId: string | undefined = "comment_abcde";
6 const sso: string | undefined = "sso_token_xyz";
7
8 const basicResponse: GetUserManualBadgesResponse = await getManualBadgesForUser(tenantId);
9 const fullResponse: GetUserManualBadgesResponse = await getManualBadgesForUser(
10 tenantId,
11 badgesUserId,
12 commentId,
13 sso
14 );
15
16 console.log(basicResponse, fullResponse);
17}();
18

getModerationComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
includeEmailbooleanNo
includeIPbooleanNo
ssostringNo

Yanıt

Döndürür: ModerationAPICommentResponse

Örnek

getModerationComment Örneği
Copy Copy
1
2async function fetchComments() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_1234567890";
5
6 // Yalnızca gerekli parametrelerle çağır
7 const basicResponse: ModerationAPICommentResponse = await getModerationComment(tenantId, commentId);
8
9 // İsteğe bağlı parametrelerle çağır
10 const includeEmail: boolean = true;
11 const includeIP: boolean = false;
12 const sso: string = "sso-token-abc123";
13 const detailedResponse: ModerationAPICommentResponse = await getModerationComment(
14 tenantId,
15 commentId,
16 includeEmail,
17 includeIP,
18 sso
19 );
20}
21

getModerationCommentText Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetCommentTextResponse

Örnek

getModerationCommentText Örneği
Copy Copy
1
2async function fetchComment() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const ssoToken: string = "sso_abcde12345";
6
7 const commentWithoutSso: GetCommentTextResponse = await getModerationCommentText(tenantId, commentId);
8 const commentWithSso: GetCommentTextResponse = await getModerationCommentText(tenantId, commentId, ssoToken);
9}
10
11fetchComment();
12

getPreBanSummary Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
includeByUserIdAndEmailbooleanHayır
includeByIPbooleanHayır
includeByEmailDomainbooleanHayır
ssostringHayır

Response

Döndürür: PreBanSummary

Example

getPreBanSummary Örneği
Copy Copy
1
2async function fetchSummary(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const includeByUserIdAndEmail: boolean = true;
6 const includeByIP: boolean = false;
7 const includeByEmailDomain: boolean = true;
8 const sso: string = "sso_token_abc";
9
10 const summary: PreBanSummary = await getPreBanSummary(
11 tenantId,
12 commentId,
13 includeByUserIdAndEmail,
14 includeByIP,
15 includeByEmailDomain,
16 sso
17 );
18
19 console.log(summary);
20}
21
22fetchSummary();
23

getSearchCommentsSummary Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
valuestringNo
filtersstringNo
searchFiltersstringNo
ssostringNo

Yanıt

Döndürür: ModerationCommentSearchResponse

Örnek

getSearchCommentsSummary Örneği
Copy Copy
1
2async function runSearch() {
3 const tenantId: string = "tenant_12345";
4 const value: string = "spam";
5 const filters: string = "status:pending";
6 const searchFilters: string = "author:john";
7 const sso: string = "sso_token_abc";
8
9 const result: ModerationCommentSearchResponse = await getSearchCommentsSummary(
10 tenantId,
11 value,
12 filters,
13 searchFilters,
14 sso
15 );
16
17 console.log(result);
18}
19
20runSearch();
21

getSearchPages Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
valuestringHayır
ssostringHayır

Yanıt

Döndürür: ModerationPageSearchResponse

Örnek

getSearchPages Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-123";
3const searchValue: string = "spam";
4const ssoToken: string = "sso-abc123def456";
5
6const result1: ModerationPageSearchResponse = await getSearchPages(tenantId);
7const result2: ModerationPageSearchResponse = await getSearchPages(tenantId, searchValue);
8const result3: ModerationPageSearchResponse = await getSearchPages(tenantId, searchValue, ssoToken);
9

getSearchSites Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
valuestringHayır
ssostringHayır

Yanıt

Döndürür: ModerationSiteSearchResponse

Örnek

getSearchSites Örneği
Copy Copy
1
2async function runSearches(): Promise<void> {
3 const tenantId: string = "tenant-987654";
4 const query: string = "offensive content";
5 const ssoToken: string = "sso-token-xyz";
6
7 const fullResult: ModerationSiteSearchResponse = await getSearchSites(tenantId, query, ssoToken);
8 const minimalResult: ModerationSiteSearchResponse = await getSearchSites(tenantId);
9}
10
11runSearches();
12

getSearchSuggest Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
textSearchstringHayır
ssostringHayır

Yanıt

Döndürür: ModerationSuggestResponse

Örnek

getSearchSuggest Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9f8b7c6d";
4 const textSearch: string = "harassment";
5 const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
6 const suggestResponse: ModerationSuggestResponse = await getSearchSuggest(tenantId, textSearch, sso);
7 const minimalResponse: ModerationSuggestResponse = await getSearchSuggest(tenantId);
8})();
9

getSearchUsers Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
valuestringNo
ssostringNo

Yanıt

Döndürür: ModerationUserSearchResponse

Örnek

getSearchUsers Örneği
Copy Copy
1
2async function runSearch() {
3 const tenantId: string = "tenant-9876";
4 const emailFragment: string = "jane";
5 const ssoToken: string = "sso-token-456";
6
7 const resultWithAll: ModerationUserSearchResponse = await getSearchUsers(tenantId, emailFragment, ssoToken);
8 const resultWithTenantOnly: ModerationUserSearchResponse = await getSearchUsers(tenantId);
9}
10

getTrustFactor Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
ssostringHayır

Yanıt

Döndürür: GetUserTrustFactorResponse

Örnek

getTrustFactor Örneği
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const userId: string = "user_98765";
5 const sso: string = "sso_token_abcde";
6
7 const trustFactor: GetUserTrustFactorResponse = await getTrustFactor(tenantId);
8 const trustFactorWithUser: GetUserTrustFactorResponse = await getTrustFactor(tenantId, userId);
9 const trustFactorFull: GetUserTrustFactorResponse = await getTrustFactor(tenantId, userId, sso);
10}
11

getUserBanPreference Internal Link


Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIModerateGetUserBanPreferencesResponse

Örnek

getUserBanPreference Örneği
Copy Copy
1
2async function demoGetUserBanPreference() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_user_abc123xyz";
5
6 const responseWithSso: APIModerateGetUserBanPreferencesResponse = await getUserBanPreference(tenantId, ssoToken);
7 const responseWithoutSso: APIModerateGetUserBanPreferencesResponse = await getUserBanPreference(tenantId);
8}
9

getUserInternalProfile Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringHayır
ssostringHayır

Yanıt

Döndürür: GetUserInternalProfileResponse

Örnek

getUserInternalProfile Örneği
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_9876";
5 const ssoToken: string = "sso_abcde12345";
6
7 const profileOnly: GetUserInternalProfileResponse = await getUserInternalProfile(tenantId);
8 const profileWithComment: GetUserInternalProfileResponse = await getUserInternalProfile(tenantId, commentId);
9 const fullProfile: GetUserInternalProfileResponse = await getUserInternalProfile(tenantId, commentId, ssoToken);
10}
11
12demo();
13

postAdjustCommentVotes Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
adjustCommentVotesParamsAdjustCommentVotesParamsEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: AdjustVotesResponse

Örnek

postAdjustCommentVotes Örneği
Copy Copy
1
2const tenantId: string = "acme-corp";
3const commentId: string = "cmt_987654321";
4const adjustParams: AdjustCommentVotesParams = { voteDelta: 1 };
5const broadcastId: string = "brd_112233";
6const sso: string = "sso-token-xyz";
7
8const result: AdjustVotesResponse = await postAdjustCommentVotes(
9 tenantId,
10 commentId,
11 adjustParams,
12 broadcastId,
13 sso
14);
15

postApiExport Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
ssostringNo

Yanıt

Döndürür: ModerationExportResponse

Örnek

postApiExport Örneği
Copy Copy
1
2async function runExport() {
3 const tenantId: string = "c9f1e2b4-8a6d-4f3a-9d2e-5b6c7d8e9f0a";
4 const textSearch: string = "spam";
5 const byIPFromComment: string = "203.0.113.45";
6 const filters: string = "status:pending";
7 const searchFilters: string = "createdAt>2023-01-01";
8 const sorts: string = "createdAt:desc";
9 const sso: string = "sso-token-abc123";
10
11 const fullExport: ModerationExportResponse = await postApiExport(
12 tenantId,
13 textSearch,
14 byIPFromComment,
15 filters,
16 searchFilters,
17 sorts,
18 sso
19 );
20
21 const minimalExport: ModerationExportResponse = await postApiExport(tenantId);
22
23 console.log(fullExport, minimalExport);
24}
25runExport();
26

postBanUserFromComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
banEmailbooleanHayır
banEmailDomainbooleanHayır
banIPbooleanHayır
deleteAllUsersCommentsbooleanHayır
bannedUntilstringHayır
isShadowBanbooleanHayır
updateIdstringHayır
banReasonstringHayır
ssostringHayır

Yanıt

Döndürür: BanUserFromCommentResult

Örnek

postBanUserFromComment Örneği
Copy Copy
1
2async function banUserExample(): Promise<void> {
3 const result: BanUserFromCommentResult = await postBanUserFromComment(
4 "tenant_42",
5 "comment_1001",
6 true, // banEmail
7 undefined, // banEmailDomain (atlandı)
8 true, // banIP
9 false, // deleteAllUsersComments
10 "2025-01-01T00:00:00Z", // bannedUntil
11 true, // isShadowBan
12 undefined, // updateId (atlandı)
13 "Harassment", // banReason
14 undefined // sso (atlandı)
15 );
16
17 console.log(result);
18}
19

postBanUserUndo Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
banUserUndoParamsBanUserUndoParamsEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

postBanUserUndo Örneği
Copy Copy
1
2const tenantId: string = "tenant_9876";
3
4const undoParams: BanUserUndoParams = {
5 userId: "user_12345",
6 // ek gerekli alanlar buraya eklenebilir
7};
8
9const resultWithoutSSO: APIEmptyResponse = await postBanUserUndo(tenantId, undoParams);
10
11const ssoToken: string = "sso_abcdef123456";
12
13const resultWithSSO: APIEmptyResponse = await postBanUserUndo(tenantId, undoParams, ssoToken);
14

postBulkPreBanSummary Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
bulkPreBanParamsBulkPreBanParamsEvet
includeByUserIdAndEmailbooleanHayır
includeByIPbooleanHayır
includeByEmailDomainbooleanHayır
ssostringHayır

Yanıt

Döndürür: BulkPreBanSummary

Örnek

postBulkPreBanSummary Örneği
Copy Copy
1
2const tenantId: string = "c1f2e3d4-5678-90ab-cdef-1234567890ab";
3
4const bulkPreBanParams: BulkPreBanParams = {
5 userIds: ["user123"],
6 emails: ["spam@example.com"],
7 ips: ["192.0.2.1"],
8 emailDomains: ["example.com"]
9};
10
11const includeByUserIdAndEmail: boolean = true;
12const includeByIP: boolean = false;
13const includeByEmailDomain: boolean = true;
14const sso: string = "sso-token-abc123";
15
16const summary: BulkPreBanSummary = await postBulkPreBanSummary(
17 tenantId,
18 bulkPreBanParams,
19 includeByUserIdAndEmail,
20 includeByIP,
21 includeByEmailDomain,
22 sso
23);
24

postCommentsByIds Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentsByIdsParamsCommentsByIdsParamsEvet
ssostringHayır

Yanıt

Döndürür: ModerationAPIChildCommentsResponse

Örnek

postCommentsByIds Örneği
Copy Copy
1
2const tenantId: string = 'tenant-9f8b7c6d-1234-5678-90ab-cdef12345678';
3const commentsByIdsParams: CommentsByIdsParams = {
4 commentIds: ['comment-1', 'comment-2'],
5 includeUserBadges: true
6};
7const responseWithoutSso: ModerationAPIChildCommentsResponse = await postCommentsByIds(tenantId, commentsByIdsParams);
8const sso: string = 'sso-abc123def456';
9const responseWithSso: ModerationAPIChildCommentsResponse = await postCommentsByIds(tenantId, commentsByIdsParams, sso);
10

postFlagComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

postFlagComment Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5
6 // Yalnızca gerekli parametreler
7 const result1: APIEmptyResponse = await postFlagComment(tenantId, commentId);
8
9 // Opsiyonel parametreler dahil
10 const broadcastId: string = "brd_54321";
11 const sso: string = "user@example.com";
12 const result2: APIEmptyResponse = await postFlagComment(tenantId, commentId, broadcastId, sso);
13
14 console.log(result1, result2);
15}
16runExample();
17

postRemoveComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: PostRemoveCommentApiResponse

Örnek

postRemoveComment Örneği
Copy Copy
1
2async function removeCommentExample() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_555";
6 const sso: string = "sso_token_abc";
7
8 const response: PostRemoveCommentApiResponse = await postRemoveComment(
9 tenantId,
10 commentId,
11 broadcastId,
12 sso
13 );
14 console.log(response);
15}
16
17removeCommentExample();
18

postRestoreDeletedComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

postRestoreDeletedComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const resultRequired: APIEmptyResponse = await postRestoreDeletedComment(tenantId, commentId);
6
7const broadcastId: string = "brd_001";
8const sso: string = "sso_token_abc123";
9
10const resultAll: APIEmptyResponse = await postRestoreDeletedComment(
11 tenantId,
12 commentId,
13 broadcastId,
14 sso
15);
16

postSetCommentApprovalStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
approvedbooleanHayır
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: SetCommentApprovedResponse

Örnek

postSetCommentApprovalStatus Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_001";
4 const commentId: string = "comment_123";
5 const approved: boolean = false;
6 const broadcastId: string = "broadcast_456";
7 const sso: string = "sso_789";
8
9 const result: SetCommentApprovedResponse = await postSetCommentApprovalStatus(
10 tenantId,
11 commentId,
12 approved,
13 broadcastId,
14 sso
15 );
16
17 const minimalResult: SetCommentApprovedResponse = await postSetCommentApprovalStatus(
18 tenantId,
19 commentId
20 );
21})();
22

postSetCommentReviewStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
reviewedbooleanHayır
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

postSetCommentReviewStatus Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4const reviewed: boolean = true;
5const broadcastId: string = "brd_001";
6const sso: string = "sso_token_abc";
7
8const result: APIEmptyResponse = await postSetCommentReviewStatus(
9 tenantId,
10 commentId,
11 reviewed,
12 broadcastId,
13 sso
14);
15

postSetCommentSpamStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
spambooleanNo
permNotSpambooleanNo
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

postSetCommentSpamStatus Örneği
Copy Copy
1
2const tenantId: string = "tenant_42";
3const commentId: string = "comment_1001";
4
5const spam: boolean = true;
6const permNotSpam: boolean = false;
7const broadcastId: string = "broadcast_2023";
8const sso: string = "sso_user_5678";
9
10const resultFull: APIEmptyResponse = await postSetCommentSpamStatus(
11 tenantId,
12 commentId,
13 spam,
14 permNotSpam,
15 broadcastId,
16 sso
17);
18
19const resultMinimal: APIEmptyResponse = await postSetCommentSpamStatus(
20 tenantId,
21 commentId
22);
23

postSetCommentText Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
setCommentTextParamsSetCommentTextParamsEvet
broadcastIdstringHayır
ssostringHayır

Yanıt

Döndürür: SetCommentTextResponse

Örnek

postSetCommentText Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_9876";
4const setCommentTextParams: SetCommentTextParams = {
5 text: "Revised comment after user edit.",
6 format: "plain"
7};
8const broadcastId: string = "broadcast_2023_09";
9
10const response: SetCommentTextResponse = await postSetCommentText(
11 tenantId,
12 commentId,
13 setCommentTextParams,
14 broadcastId
15);
16
17console.log(response);
18

postUnFlagComment Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

postUnFlagComment Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "comment_98765";
5 const broadcastId: string = "broadcast_55555";
6 const sso: string = "sso_token_abcde";
7
8 const result1: APIEmptyResponse = await postUnFlagComment(tenantId, commentId);
9 const result2: APIEmptyResponse = await postUnFlagComment(tenantId, commentId, broadcastId, sso);
10}
11
12runExample();
13

postVote Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
directionstringNo
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: VoteResponse

Örnek

postVote Örneği
Copy Copy
1
2async function runVoteExamples(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_1234567890";
5
6 // Yalnızca gerekli parametrelerle çağır
7 const simpleVote: VoteResponse = await postVote(tenantId, commentId);
8
9 // İsteğe bağlı parametrelerle çağır
10 const direction: string = "down";
11 const broadcastId: string = "brd_987654321";
12 const sso: string = "user-42";
13 const detailedVote: VoteResponse = await postVote(tenantId, commentId, direction, broadcastId, sso);
14
15 console.log(simpleVote, detailedVote);
16}
17

putAwardBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: AwardUserBadgeResponse

Örnek

putAwardBadge Örneği
Copy Copy
1
2async function awardBadgeExample(): Promise<void> {
3 const tenantId: string = "tenant_42";
4 const badgeId: string = "badge_superstar";
5 const userId: string = "user_1001";
6 const commentId: string = "comment_2023";
7
8 const result: AwardUserBadgeResponse = await putAwardBadge(
9 tenantId,
10 badgeId,
11 userId,
12 commentId
13 );
14
15 console.log(result);
16}
17

putCloseThread Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
ssostringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

putCloseThread Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "my-company";
4 const urlId: string = "post-2023-09-15";
5 const ssoToken: string = "sso-abc123def";
6
7 const resultWithSso: APIEmptyResponse = await putCloseThread(tenantId, urlId, ssoToken);
8 const resultWithoutSso: APIEmptyResponse = await putCloseThread(tenantId, urlId);
9})();
10

putRemoveBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
ssostringNo

Yanıt

Döndürür: RemoveUserBadgeResponse

Örnek

putRemoveBadge Örneği
Copy Copy
1
2async function demoRemoveBadge() {
3 const tenantId: string = "tenant_42";
4 const badgeId: string = "badge_gold";
5 const userId: string = "user_1001";
6 const commentId: string = "comment_20230915";
7 const broadcastId: string = "broadcast_live_01";
8 const sso: string = "sso_abcdef123456";
9
10 const result: RemoveUserBadgeResponse = await putRemoveBadge(
11 tenantId,
12 badgeId,
13 userId,
14 commentId,
15 broadcastId,
16 sso
17 );
18
19 console.log(result);
20}
21

putReopenThread Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
ssostringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

putReopenThread Örneği
Copy Copy
1
2async function reopenThreadExample() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "post-9876";
5 const sso: string = "user-abc123";
6
7 const responseWithoutSso: APIEmptyResponse = await putReopenThread(tenantId, urlId);
8 const responseWithSso: APIEmptyResponse = await putReopenThread(tenantId, urlId, sso);
9}
10
11reopenThreadExample();
12

setTrustFactor Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
trustFactorstringHayır
ssostringHayır

Yanıt

Döndürür: SetUserTrustFactorResponse

Örnek

setTrustFactor Örneği
Copy Copy
1
2async function demoSetTrustFactor() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-9876";
5 const trustFactor: string = "high";
6 const sso: string = "sso-token-xyz";
7
8 const fullResponse: SetUserTrustFactorResponse = await setTrustFactor(
9 tenantId,
10 userId,
11 trustFactor,
12 sso
13 );
14
15 const minimalResponse: SetUserTrustFactorResponse = await setTrustFactor(tenantId);
16}
17

createModerator Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createModeratorBodyCreateModeratorBodyEvet

Yanıt

Döndürür: CreateModeratorResponse

Örnek

createModerator Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const moderatorPayload: CreateModeratorBody = {
5 userId: "user_9876",
6 // isteğe bağlı alan; gerekirse çıkarılabilir
7 notes: "Temporary moderator for event"
8};
9
10const response: CreateModeratorResponse = await createModerator(tenantId, moderatorPayload);
11

deleteModerator Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
sendEmailstringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteModerator Örnek
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const moderatorId: string = "mod_9876";
5 const notifyEmail: string = "admin@company.com";
6
7 const resultWithEmail: APIEmptyResponse = await deleteModerator(tenantId, moderatorId, notifyEmail);
8 const resultWithoutEmail: APIEmptyResponse = await deleteModerator(tenantId, moderatorId);
9})();
10

getModerator Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetModeratorResponse

Örnek

getModerator Örneği
Copy Copy
1
2async function fetchModerator() {
3 const tenantId: string = "c9f1e2b3-4d5a-6f78-90ab-cdef12345678";
4 const moderatorId: string = "mod-987654";
5 const response: GetModeratorResponse = await getModerator(tenantId, moderatorId);
6 const isActive: boolean | undefined = response.moderator?.isActive;
7 const statusCode: number | undefined = response.status?.code;
8}
9

getModerators Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
skipnumberNo

Yanıt

Döndürür: GetModeratorsResponse

Örnek

getModerators Örneği
Copy Copy
1
2const tenantId: string = "tenant_987654321";
3
4const moderators: GetModeratorsResponse = await getModerators(tenantId);
5
6const skip: number = 20;
7const moreModerators: GetModeratorsResponse = await getModerators(tenantId, skip);
8

sendInvite Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
fromNamestringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

sendInvite Örneği
Copy Copy
1
2const tenantId: string = "tenant-987654321";
3const id: string = "user-123456789";
4const fromName: string = "Alice Johnson";
5
6const result: APIEmptyResponse = await sendInvite(tenantId, id, fromName);
7console.log(result);
8

updateModerator Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateModeratorBodyUpdateModeratorBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateModerator Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3const moderatorId: string = "mod_12345";
4
5const updateBody: UpdateModeratorBody = {
6 isActive: true,
7 // role?: string is optional and omitted here
8};
9
10const result: APIEmptyResponse = await updateModerator(tenantId, moderatorId, updateBody);
11

deleteNotificationCount Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteNotificationCount Örneği
Copy Copy
1
2let tenantId: string = "tenant-42f9b8c1";
3let notificationId: string = "notif-7e3a9d4f";
4
5const result: APIEmptyResponse = await deleteNotificationCount(tenantId, notificationId);
6

getCachedNotificationCount Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetCachedNotificationCountResponse

Örnek

getCachedNotificationCount Örnek
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const id: string = "user_9876";
5 const response: GetCachedNotificationCountResponse = await getCachedNotificationCount(tenantId, id);
6})();
7

getNotificationCount Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo

Yanıt

Döndürür: GetNotificationCountResponse

Örnek

getNotificationCount Örneği
Copy Copy
1
2const tenantId: string = "acme-corp";
3const userId: string = "user-12345";
4const urlId: string = "https://app.example.com/dashboard";
5const fromCommentId: string = "cmt-9876";
6const viewed: boolean = false;
7const type: string = "reply";
8
9const notificationCount: GetNotificationCountResponse = await getNotificationCount(
10 tenantId,
11 userId,
12 urlId,
13 fromCommentId,
14 viewed,
15 type
16);
17

getNotifications Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
urlIdstringHayır
fromCommentIdstringHayır
viewedbooleanHayır
typestringHayır
skipnumberHayır

Yanıt

Döndürür: GetNotificationsResponse

Örnek

getNotifications Örneği
Copy Copy
1
2async function fetchNotifications(): Promise<void> {
3 const tenantId: string = "tenant_42";
4 const userId: string = "user_1001";
5 const urlId: string = "url_2023";
6 const viewed: boolean = true;
7 const skip: number = 0;
8
9 const notifications: GetNotificationsResponse = await getNotifications(
10 tenantId,
11 userId,
12 urlId,
13 undefined,
14 viewed,
15 undefined,
16 skip
17 );
18
19 console.log(notifications);
20}
21

updateNotification Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateNotificationBodyUpdateNotificationBodyEvet
userIdstringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateNotification Örneği
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = "tenant-abc123";
4 const notificationId: string = "notif-9876";
5 const updateBody: UpdateNotificationBody = {
6 title: "System Maintenance",
7 message: "Scheduled maintenance at 02:00 UTC.",
8 enabled: true
9 };
10 const userId: string = "user-42";
11
12 const resultWithoutUser: APIEmptyResponse = await updateNotification(tenantId, notificationId, updateBody);
13 const resultWithUser: APIEmptyResponse = await updateNotification(tenantId, notificationId, updateBody, userId);
14}
15

createV1PageReact Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
titlestringNo
ssostringNo

Yanıt

Döndürür: CreateV1PageReact

Örnek

createV1PageReact Örnek
Copy Copy
1
2const tenantId: string = "my-tenant-123";
3const urlId: string = "article-456";
4
5const pageTitle: string = "Understanding TypeScript Generics";
6const ssoToken: string = "user-789-token";
7
8const fullResult: CreateV1PageReact = await createV1PageReact(tenantId, urlId, pageTitle, ssoToken);
9const minimalResult: CreateV1PageReact = await createV1PageReact(tenantId, urlId);
10

createV2PageReact Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
idstringEvet
titlestringHayır
ssostringHayır

Yanıt

Döndürür: CreateV1PageReact

Örnek

createV2PageReact Örneği
Copy Copy
1
2async function run() {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "product-page-123";
5 const pageId: string = "page-456";
6 const pageTitle: string = "Product Overview";
7 const ssoToken: string = "jwt-token-abc123";
8
9 const pageFull: CreateV1PageReact = await createV2PageReact(tenantId, urlId, pageId, pageTitle, ssoToken);
10 const pageTitleOnly: CreateV1PageReact = await createV2PageReact(tenantId, urlId, pageId, pageTitle);
11 const pageMinimal: CreateV1PageReact = await createV2PageReact(tenantId, urlId, pageId);
12}
13run();
14

deleteV1PageReact Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
ssostringHayır

Yanıt

Döndürür: CreateV1PageReact

Örnek

deleteV1PageReact Örneği
Copy Copy
1
2async function runExamples() {
3 const tenantId: string = "tenant_9f8b7c6d";
4 const urlId: string = "blog/post-2024-06-15";
5 const ssoToken: string = "sso_user_42";
6
7 const resultWithSso: CreateV1PageReact = await deleteV1PageReact(tenantId, urlId, ssoToken);
8 const resultWithoutSso: CreateV1PageReact = await deleteV1PageReact(tenantId, urlId);
9}
10

deleteV2PageReact Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
idstringEvet
ssostringHayır

Yanıt

Döndürür: CreateV1PageReact

Örnek

deleteV2PageReact Örneği
Copy Copy
1
2async function runDeleteExamples() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "page_98765";
5 const commentId: string = "comment_abcde";
6
7 // Opsiyonel sso olmadan çağır
8 const resultWithoutSso: CreateV1PageReact = await deleteV2PageReact(tenantId, urlId, commentId);
9
10 // Opsiyonel sso ile çağır
11 const ssoToken: string = "sso_token_xyz";
12 const resultWithSso: CreateV1PageReact = await deleteV2PageReact(tenantId, urlId, commentId, ssoToken);
13}
14

getV1PageLikes Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
ssostringNo

Yanıt

Döndürür: GetV1PageLikes

Örnek

getV1PageLikes Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "https://myblog.com/post/42";
5 const ssoToken: string = "sso_user_987";
6
7 const likesWithSSO: GetV1PageLikes = await getV1PageLikes(tenantId, urlId, ssoToken);
8 const likesWithoutSSO: GetV1PageLikes = await getV1PageLikes(tenantId, urlId);
9})();
10

getV2PageReacts Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
ssostringNo

Yanıt

Döndürür: GetV2PageReacts

Örnek

getV2PageReacts Örneği
Copy Copy
1
2const tenantId: string = "tenant-42";
3const urlId: string = "article-9876";
4const ssoToken: string = "sso-abc123";
5
6const reactsWithSso: GetV2PageReacts = await getV2PageReacts(tenantId, urlId, ssoToken);
7const reactsWithoutSso: GetV2PageReacts = await getV2PageReacts(tenantId, urlId);
8

getV2PageReactUsers Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
idstringYes
ssostringNo

Yanıt

Döndürür: GetV2PageReactUsersResponse

Örnek

getV2PageReactUsers Örneği
Copy Copy
1
2async function demoGetUsers() {
3 const tenantId: string = "d4e5f6a7-89ab-4cde-f012-3456789abcde";
4 const urlId: string = "blog/2024/06/fastcomments-typescript";
5 const userId: string = "user_123456789";
6 const ssoToken: string = "sso_token_abcdef123456";
7
8 const responseWithSso: GetV2PageReactUsersResponse = await getV2PageReactUsers(tenantId, urlId, userId, ssoToken);
9 const responseWithoutSso: GetV2PageReactUsersResponse = await getV2PageReactUsers(tenantId, urlId, userId);
10}
11

addPage Internal Link

Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
createAPIPageDataCreateAPIPageDataEvet

Yanıt

Döndürür: AddPageAPIResponse

Örnek

addPage Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: DeletePageAPIResponse

Örnek

deletePage Örneği
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

Past commenters on the page who are NOT currently online. Sorted by displayName.
Sayfada daha önce yorum yapmış ancak şu anda ONLINE olmayan yorumcular. displayName'e göre sıralanır.

Use this after exhausting /users/online to render a "Members" section.
/users/online'ı tüketip ardından bir "Members" bölümü oluşturmak için bunu kullanın.

Cursor pagination on commenterName: server walks the partial {tenantId, urlId, commenterName}
index from afterName forward via $gt, no $skip cost.
commenterName üzerinde imleç sayfalama: sunucu {tenantId, urlId, commenterName} kısmını yürütür, afterName'den itibaren $gt ile ileriye doğru indeksler, $skip maliyeti yok.

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Response

Döndürür: PageUsersOfflineResponse

Example

getOfflineUsers Örneği
Copy Copy
1
2async function fetchOfflineUsers(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "page_9876";
5 const afterName: string = "John Doe";
6 const afterUserId: string = "user_abc123";
7
8 const offlineResponse: PageUsersOfflineResponse = await getOfflineUsers(
9 tenantId,
10 urlId,
11 afterName,
12 afterUserId
13 );
14
15 console.log(offlineResponse);
16}
17

getOnlineUsers Internal Link

Şu anda çevrimiçi izleyiciler bir sayfanın: şu anda sayfaya abone olan websocket oturumu olan kişiler.
anonCount + totalCount döndürür (odadaki tüm aboneler, saymadığımız anonim izleyiciler dahil).

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Response

Döndürür: PageUsersOnlineResponse

Example

getOnlineUsers Örneği
Copy Copy
1
2async function fetchOnlineUsers() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "article-9876";
5 const afterName: string | undefined = "john_doe";
6 const afterUserId: string | undefined = "user_456";
7
8 const onlineUsers: PageUsersOnlineResponse = await getOnlineUsers(
9 tenantId,
10 urlId,
11 afterName,
12 afterUserId
13 );
14
15 console.log(onlineUsers);
16}
17
18fetchOnlineUsers();
19

getPageByURLId Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes

Yanıt

Döndürür: GetPageByURLIdAPIResponse

Örnek

getPageByURLId Örnek
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Döndürür: GetPagesAPIResponse

Örnek

getPages Örneği
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.
Bir kiracı için sayfaları listele. FChat masaüstü istemcisi tarafından oda listesini doldurmak için kullanılır.

Requires enableFChat to be true on the resolved custom config for each page.
Her sayfa için çözülen özel yapılandırmada enableFChat değerinin true olması gerekir.

Pages that require SSO are filtered against the requesting user's group access.
SSO gerektiren sayfalar, istek yapan kullanıcının grup erişimine göre filtrelenir.

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
cursorstringHayır
limitnumberHayır
qstringHayır
sortByPagesSortByHayır
hasCommentsbooleanHayır

Response

Returns: GetPublicPagesResponse

Example

getPagesPublic Örneği
Copy Copy
1
2async function fetchPublicPages() {
3 const tenantId: string = "tenant_12345";
4 const cursor: string = "page_5";
5 const limit: number = 20;
6 const query: string = "support";
7 const hasComments: boolean = true;
8
9 const response: GetPublicPagesResponse = await getPagesPublic(
10 tenantId,
11 cursor,
12 limit,
13 query,
14 undefined,
15 hasComments
16 );
17
18 console.log(response);
19}
20

getUsersInfo Internal Link

Bulk user info for a tenant. Given userIds, return display info from User / SSOUser.
Bir kiracı için toplu kullanıcı bilgisi. userIds verildiğinde, User / SSOUser'dan görüntüleme bilgilerini döndürür.

Used by the comment widget to enrich users that just appeared via a presence event.
Yorum widget'ı tarafından, bir varlık olayıyla yeni ortaya çıkan kullanıcıları zenginleştirmek için kullanılır.

No page context: privacy is enforced uniformly (private profiles are masked).
Sayfa bağlamı yok: gizlilik tutarlı bir şekilde uygulanır (özel profiller maskeleme yapılır).

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
idsstringYes

Response

Döndürür: PageUsersInfoResponse

Example

getUsersInfo Örneği
Copy Copy
1
2async function fetchUsersInfo(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const ids: string = "user_001,user_002";
5 const response: PageUsersInfoResponse = await getUsersInfo(tenantId, ids);
6 console.log(response);
7}
8fetchUsersInfo();
9

patchPage Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateAPIPageDataUpdateAPIPageDataYes

Yanıt

Döndürür: PatchPageAPIResponse

Örnek

patchPage Örneği
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 atlanabilir
9 };
10
11 const response: PatchPageAPIResponse = await patchPage(tenantId, pageId, updateData);
12})();
13

deletePendingWebhookEvent Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deletePendingWebhookEvent Örneği
Copy Copy
1
2async function runDeletion() {
3 const tenantId: string = "tenant-42f7b9c2";
4 const eventId: string = "webhook-event-8a7d6c5b";
5 const result: APIEmptyResponse = await deletePendingWebhookEvent(tenantId, eventId);
6 console.log(result);
7}
8

getPendingWebhookEventCount Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringHayır
externalIdstringHayır
eventTypestringHayır
typestringHayır
domainstringHayır
attemptCountGTnumberHayır

Yanıt

Döndürür: GetPendingWebhookEventCountResponse

Örnek

getPendingWebhookEventCount Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_42";
4 const commentId: string = "comment_1001";
5 const eventType: string = "comment.deleted";
6 const domain: string = "myblog.com";
7
8 const result: GetPendingWebhookEventCountResponse = await getPendingWebhookEventCount(
9 tenantId,
10 commentId,
11 undefined,
12 eventType,
13 undefined,
14 domain
15 );
16
17 console.log(result);
18}
19
20runExample();
21

getPendingWebhookEvents Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

Yanıt

Döndürür: GetPendingWebhookEventsResponse

Örnek

getPendingWebhookEvents Örnek
Copy Copy
1
2const tenantId: string = "123e4567-e89b-12d3-a456-426614174000";
3const commentId: string = "cmt_987654321";
4const externalId: string = "ext_abc123";
5const eventType: string = "comment_created";
6const type: string = "outbound";
7const domain: string = "myblog.com";
8const attemptCountGT: number = 2;
9const skip: number = 10;
10
11const pendingEvents: GetPendingWebhookEventsResponse = await getPendingWebhookEvents(
12 tenantId,
13 commentId,
14 externalId,
15 eventType,
16 type,
17 domain,
18 attemptCountGT,
19 skip
20);
21

createPollVote Internal Link

Poll üzerinde bir oy kaydedin veya mevcut oyu farklı bir seçeneğe taşıyın. Bir seçmen, bir anket başına en fazla bir oy alabilir, bu yüzden aynı seçmen için bu fonksiyon tekrar çağrıldığında oy eklemek yerine mevcut oyları taşır.

Bu, sitenin anket ayarlarına uyar: eğer oy verme yalnızca oturum açmış kullanıcılarla sınırlıysa, yalnızca bir anonUserId içeren oy reddedilir ve anonim oylar IP başına anket başına sınırlanır.

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
createPollVoteBodyCreatePollVoteBodyYes

Yanıt

Döndürür: CreatePollVoteResponse

Örnek

createPollVote Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant";
4
5 const vote: CreatePollVoteBody = {
6 pollId: "poll-2024-09",
7 optionId: "option-A"
8 // userId isteğe bağlıdır ve burada atlanmıştır
9 };
10
11 const result: CreatePollVoteResponse = await createPollVote(tenantId, vote);
12 console.log(result);
13})();
14

deletePollVote Internal Link

Bir oyu geri çek. Oylamanın yapıldığı seçenek sayısını geri verir.

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: DeletePollVoteResponse

Örnek

deletePollVote Örneği
Copy Copy
1
2async function runDeletePollVoteExample(): Promise<void> {
3 const tenantId: string = "tenant_42abc";
4 const pollId: string = "poll_7f9e2d";
5
6 const result: DeletePollVoteResponse = await deletePollVote(tenantId, pollId);
7
8 console.log(result);
9}
10

getPollVote Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetPollVoteResponse

Örnek

getPollVote Örneği
Copy Copy
1
2async function fetchPollVote(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant";
4 const pollId: string = "poll-2024-05";
5 const result: GetPollVoteResponse = await getPollVote(tenantId, pollId);
6 const status: APIStatus = result.status;
7 const vote: PublicPollVote | undefined = result.vote;
8}
9

getPollVotes Internal Link

The individual votes behind one poll's tallies, oldest first.

A poll belongs to a comment, so votes are always read one poll at a time - commentId is required. That keeps every query on the indexes the collection already has.

Obeys the poll's privacy: an anonymous poll's votes cannot be read (poll-anonymous), here or by id.

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
voterIdstringNo
optionIdstringNo
skipnumberNo

Response

Döndürür: GetPollVotesResponse

Örnek

getPollVotes Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4const voterId: string = "user_abc";
5const optionId: string = "opt_1";
6const skip: number = 20;
7
8const pollResult: GetPollVotesResponse = await getPollVotes(
9 tenantId,
10 commentId,
11 voterId,
12 optionId,
13 skip
14);
15
16console.log(pollResult);
17

deletePoll Internal Link

Remove a poll from its comment, along with every vote cast on it. The comment itself is left alone.

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes

Yanıt

Returns: APIEmptyResponse

Örnek

deletePoll Örneği
Copy Copy
1
2async function runDeletePoll(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6d";
4 const commentId: string = "comment_a1b2c3d4";
5 const result: APIEmptyResponse = await deletePoll(tenantId, commentId);
6 console.log(result);
7}
8

getPoll Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet

Yanıt

Döndürür: GetPollResponse

Örnek

getPoll Örneği
Copy Copy
1
2const tenantId: string = "c9f1e2b4-8a3d-4f6a-9d2e-7b5c1a2f3e4d";
3const commentId: string = "a1b2c3d4e5f6g7h8i9j0";
4
5const pollResponse: GetPollResponse = await getPoll(tenantId, commentId);
6
7const poll: CommentPoll | undefined = pollResponse.poll;
8const privacy: PollPrivacy | undefined = poll?.privacy;
9const options: CommentPollOption[] | undefined = poll?.options;
10

patchPoll Internal Link

Edit a poll in place, keeping its tallies: change the question, relabel an option, close or reopen it, or change who may see the voters. Options are addressed by id - to add, remove or reorder them, PUT the full list.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
commentPollPatchCommentPollPatchYes

Response

Döndürür: SavePollResponse

Example

patchPoll Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_9876543210";
5
6 const pollPatch: CommentPollPatch = {
7 question: "Which new feature would you like to see?",
8 options: [
9 { id: "opt-1", label: "Dark Mode" },
10 { id: "opt-2", label: "Multi-language Support" }
11 ]
12 };
13
14 const response: SavePollResponse = await patchPoll(tenantId, commentId, pollPatch);
15 console.log(response);
16})();
17

putPoll Internal Link

Bir yoruma anket ekleyin veya zaten mevcut olan anketin tam durumunu ayarlayın.

Seçenekler kimlik (id) ile eşleştirilir: mevcut bir seçeneğin kimliğiyle gönderilen bir seçenek oylarını korur (ve yeni etiketi ve konumu alır), kimliği olmadan gönderilen bir seçenek eklenir ve listeden çıkarılan mevcut seçenekler, üzerlerine verilen oylarla birlikte kaldırılır.

Oyları olan bir ankette mevcut seçenek kimlikleri tutulmazsa, hepsi silinir; bu nedenle replaceVotes=true gerekir.

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
commentPollPutInputCommentPollPutInputYes
replaceVotesbooleanNo

Yanıt

Döndürür: SavePollResponse

Örnek

putPoll Örneği
Copy Copy
1
2const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
3const commentId: string = "9876543210";
4
5const optionA: CommentPollOptionInput = { text: "Dark mode" };
6const optionB: CommentPollOptionInput = { text: "Light mode" };
7
8const pollInput: CommentPollPutInput = {
9 question: "Which UI theme do you prefer?",
10 options: [optionA, optionB],
11};
12
13const replaceVotes: boolean = true;
14
15const result: SavePollResponse = await putPoll(tenantId, commentId, pollInput, replaceVotes);
16

createQuestionConfig Internal Link

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
createQuestionConfigBodyCreateQuestionConfigBodyEvet

Yanıt

Döndürür: CreateQuestionConfigResponse

Örnek

createQuestionConfig Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "acme-corp-123";
4
5 const customOption: QuestionConfigCustomOptionsInner = {
6 key: "maxLength",
7 value: 500,
8 };
9
10 const createQuestionConfigBody: CreateQuestionConfigBody = {
11 name: "User Feedback",
12 description: "Collect user feedback after purchase",
13 enabled: true,
14 customOptions: [customOption],
15 // isteğe bağlı alan
16 tags: ["feedback", "post-purchase"],
17 };
18
19 const response: CreateQuestionConfigResponse = await createQuestionConfig(
20 tenantId,
21 createQuestionConfigBody
22 );
23
24 console.log(response);
25}
26

deleteQuestionConfig Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteQuestionConfig Örneği
Copy Copy
1
2async function executeDeletion() {
3 const tenantId: string = "tenant_12345";
4 const configId: string = "config_9876";
5 const result: APIEmptyResponse = await deleteQuestionConfig(tenantId, configId);
6 console.log(result);
7}
8executeDeletion();
9

getQuestionConfig Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetQuestionConfigResponse

Örnek

getQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const questionId: string = "q-987654321";
4
5const configResponse: GetQuestionConfigResponse = await getQuestionConfig(tenantId, questionId);
6
7const status: APIStatus = configResponse.status;
8const questionConfig?: QuestionConfig = configResponse.question;
9const firstOption?: QuestionConfigCustomOptionsInner = questionConfig?.customOptions?.[0];
10

getQuestionConfigs Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringYes
skipnumberNo

Yanıt

Döndürür: GetQuestionConfigsResponse

Örnek

getQuestionConfigs Örneği
Copy Copy
1
2async function fetchConfigs() {
3 const tenantId: string = "tenant_12345";
4
5 const firstPage: GetQuestionConfigsResponse = await getQuestionConfigs(tenantId);
6 const secondPage: GetQuestionConfigsResponse = await getQuestionConfigs(tenantId, 20);
7}
8

updateQuestionConfig Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
updateQuestionConfigBodyUpdateQuestionConfigBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateQuestionConfig Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant";
4 const questionId: string = "question-42";
5
6 const updateBody: UpdateQuestionConfigBody = {
7 title: "Revised FAQ Question"
8 // isActive, customOptions, vb. isteğe bağlıdır ve atlanmıştır
9 };
10
11 const response: APIEmptyResponse = await updateQuestionConfig(tenantId, questionId, updateBody);
12 console.log(response);
13})();
14

createQuestionResult Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createQuestionResultBodyCreateQuestionResultBodyEvet

Yanıt

Döndürür: CreateQuestionResultResponse

Örnek

createQuestionResult Örnek
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const createQuestionResultBody: CreateQuestionResultBody = {
5 questionId: "q_9876",
6 answer: "Yes",
7 score: 5,
8 meta: [
9 { key: "source", value: "survey" }
10 ]
11};
12
13const result: CreateQuestionResultResponse = await createQuestionResult(tenantId, createQuestionResultBody);
14

deleteQuestionResult Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteQuestionResult Örneği
Copy Copy
1
2async function runDelete() {
3 const tenantId: string = "tenant_12345";
4 const resultId: string = "qr_98765";
5
6 const response: APIEmptyResponse = await deleteQuestionResult(tenantId, resultId);
7 console.log(response);
8}
9

getQuestionResult Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetQuestionResultResponse

Örnek

getQuestionResult Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const questionId: string = "question_98765";
4
5const response: GetQuestionResultResponse = await getQuestionResult(tenantId, questionId);
6
7const status: APIStatus | undefined = response.status;
8const firstResult: QuestionResult | undefined = response.results?.[0];
9const firstMeta: MetaItem | undefined = response.meta?.[0];
10
11console.log(response);
12

getQuestionResults Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringHayır
userIdstringHayır
startDatestringHayır
questionIdstringHayır
questionIdsstringHayır
skipnumberHayır

Yanıt

Döndürür: GetQuestionResultsResponse

Örnek

getQuestionResults Örneği
Copy Copy
1
2async function fetchResults() {
3 const tenantId: string = 'c1a2b3d4-5678-90ab-cdef-1234567890ab';
4 const urlId: string = 'blog-post-789';
5 const startDate: string = '2023-01-01T00:00:00Z';
6 const questionIds: string = 'q-abc123,q-def456';
7 const response: GetQuestionResultsResponse = await getQuestionResults(
8 tenantId,
9 urlId,
10 undefined,
11 startDate,
12 undefined,
13 questionIds
14 );
15 console.log(response);
16}
17

updateQuestionResult Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateQuestionResultBodyUpdateQuestionResultBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateQuestionResult Örneği
Copy Copy
1
2const tenantId: string = "c1f5e8b2-9a4d-4f3a-8d2e-6b7c9d0e1f2a";
3const questionId: string = "qstn_1234567890";
4
5const updateBody: UpdateQuestionResultBody = {
6 score: 85,
7 comment: "Adjusted based on new criteria",
8 meta: [
9 { key: "reviewer", value: "john.doe@example.com" },
10 { key: "timestamp", value: new Date().toISOString() }
11 ]
12};
13
14const response: APIEmptyResponse = await updateQuestionResult(tenantId, questionId, updateBody);
15

aggregateQuestionResults Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
questionIdstringHayır
questionIdsArrayHayır
urlIdstringHayır
timeBucketAggregateTimeBucketHayır
startDateDateHayır
forceRecalculatebooleanHayır

Yanıt

Döndürür: AggregateQuestionResultsResponse

Örnek

aggregateQuestionResults Örneği
Copy Copy
1
2async function runAggregation() {
3 const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
4 const questionId: string = 'question-9f8e7d6c5b4a3';
5 const questionIds: string[] = ['question-1a2b3c', 'question-4d5e6f'];
6 const urlId: string = 'blog-post-2023-08-15';
7 const startDate: Date = new Date('2023-01-01T00:00:00Z');
8 const forceRecalculate: boolean = true;
9
10 const result: AggregateQuestionResultsResponse = await aggregateQuestionResults(
11 tenantId,
12 questionId,
13 questionIds,
14 urlId,
15 undefined,
16 startDate,
17 forceRecalculate
18 );
19}
20

bulkAggregateQuestionResults Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestEvet
forceRecalculatebooleanHayır

Yanıt

Döndürür: BulkAggregateQuestionResultsResponse

Örnek

bulkAggregateQuestionResults Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const request: BulkAggregateQuestionResultsRequest = {
5 items: [
6 {
7 questionId: "q_9876",
8 startDate: "2023-01-01T00:00:00Z",
9 endDate: "2023-01-31T23:59:59Z",
10 timeBucket: "day"
11 }
12 ]
13};
14
15const response: BulkAggregateQuestionResultsResponse = await bulkAggregateQuestionResults(tenantId, request, true);
16

combineCommentsWithQuestionResults Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
questionIdstringHayır
questionIdsArrayHayır
urlIdstringHayır
startDateDateHayır
forceRecalculatebooleanHayır
minValuenumberHayır
maxValuenumberHayır
limitnumberHayır

Yanıt

Döndürür: CombineQuestionResultsWithCommentsResponse

Örnek

combineCommentsWithQuestionResults Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const questionId: string | undefined = "q_987";
5 const questionIds: string[] = ["q_001", "q_002"];
6 const urlId: string | undefined = "url_abc";
7 const startDate: Date = new Date("2023-01-01T00:00:00Z");
8 const forceRecalculate: boolean = true;
9 const minValue: number = 0;
10 const maxValue: number = 100;
11 const limit: number = 50;
12
13 const result: CombineQuestionResultsWithCommentsResponse = await combineCommentsWithQuestionResults(
14 tenantId,
15 questionId,
16 questionIds,
17 urlId,
18 startDate,
19 forceRecalculate,
20 minValue,
21 maxValue,
22 limit
23 );
24
25 console.log(result);
26}
27
28runExample();
29

addSSOUser Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringEvet
createAPISSOUserDataCreateAPISSOUserDataEvet

Response

Döndürür: AddSSOUserAPIResponse

Example

addSSOUser Örneği
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 // optional field
9 avatarUrl: "https://example.com/avatars/jane.jpg",
10};
11
12const result: AddSSOUserAPIResponse = await addSSOUser(tenantId, newUser);
13

deleteSSOUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
deleteCommentsbooleanNo
commentDeleteModestringNo

Yanıt

Döndürür: DeleteSSOUserAPIResponse

Örnek

deleteSSOUser Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
emailstringYes

Yanıt

Döndürür: GetSSOUserByEmailAPIResponse

Örnek

getSSOUserByEmail Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döner: GetSSOUserByIdAPIResponse

Örnek

getSSOUserById Örneği
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

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
skipnumberHayır

Yanıt

Returns: GetSSOUsersResponse

Örnek

getSSOUsers Örneği
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4
5 // `skip` opsiyoneli olmadan çağır
6 const firstPage: GetSSOUsersResponse = await getSSOUsers(tenantId);
7
8 // `skip` opsiyoneli ile çağır
9 const secondPage: GetSSOUsersResponse = await getSSOUsers(tenantId, 100);
10
11 console.log(firstPage, secondPage);
12}
13
14runExample();
15

patchSSOUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPISSOUserDataUpdateAPISSOUserDataEvet
updateCommentsbooleanHayır

Yanıt

Döndürür: PatchSSOUserAPIResponse

Örnek

patchSSOUser Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPISSOUserDataUpdateAPISSOUserDataEvet
updateCommentsbooleanHayır

Yanıt

Döndürür: PutSSOUserAPIResponse

Örnek

putSSOUser Örneği
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

Parametreler

AdTipGerekliAçıklama
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

Yanıt

Döndürür: CreateSubscriptionAPIResponse

Örnek

createSubscription Örneği
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 // isteğe bağlı alan
10 };
11
12 const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, subscriptionData);
13 console.log(result);
14})();
15

deleteSubscription Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
userIdstringNo

Yanıt

Döndürür: DeleteSubscriptionAPIResponse

Örnek

deleteSubscription Örneği
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 // With optional userId
8 const responseWithUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId, userId);
9
10 // Without optional userId
11 const responseWithoutUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId);
12})();
13

getSubscriptions Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır

Yanıt

Döndürür: GetSubscriptionsAPIResponse

Örnek

getSubscriptions Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

Yanıt

Döndürür: UpdateSubscriptionAPIResponse

Örnek

updateSubscription Örneği
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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
yearNumbernumberHayır
monthNumbernumberHayır
dayNumbernumberHayır
skipnumberHayır

Yanıt

Döndürür: GetTenantDailyUsagesResponse

Örnek

getTenantDailyUsages Örneği
Copy Copy
1
2async function demoGetTenantDailyUsages() {
3 const tenantId: string = "tenant_9876";
4 const yearNumber: number = 2024;
5 const monthNumber: number = 2;
6 const dayNumber: number = 28;
7 const skip: number = 10;
8
9 const fullResult: GetTenantDailyUsagesResponse = await getTenantDailyUsages(
10 tenantId,
11 yearNumber,
12 monthNumber,
13 dayNumber,
14 skip
15 );
16
17 const partialResult: GetTenantDailyUsagesResponse = await getTenantDailyUsages(
18 tenantId,
19 yearNumber
20 );
21}
22

createTenantPackage Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createTenantPackageBodyCreateTenantPackageBodyEvet

Yanıt

Döndürür: CreateTenantPackageResponse

Örnek

createTenantPackage Örnek
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_9f8b7c6d";
4 const createTenantPackageBody: CreateTenantPackageBody = {
5 name: "Enterprise Package",
6 priceCents: 49999,
7 // isteğe bağlı alan
8 description: "Full suite of enterprise features"
9 };
10 const result: CreateTenantPackageResponse = await createTenantPackage(tenantId, createTenantPackageBody);
11 console.log(result);
12}
13runExample();
14

deleteTenantPackage Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenantPackage Örneği
Copy Copy
1
2let tenantId: string = "tenant_12345";
3let packageId: string = "pkg_98765";
4
5const result: APIEmptyResponse = await deleteTenantPackage(tenantId, packageId);
6

getTenantPackage Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetTenantPackageResponse

Örnek

getTenantPackage Örneği
Copy Copy
1
2function fetchPackage(tenantId?: string, id?: string): Promise<GetTenantPackageResponse> {
3 const tid: string = tenantId ?? "acme-corp-001";
4 const pid: string = id ?? "premium-plan-2024";
5 return getTenantPackage(tid, pid);
6}
7
8async function runExample(): Promise<void> {
9 const response: GetTenantPackageResponse = await fetchPackage();
10 const status: APIStatus | undefined = response.status;
11 const pkg: TenantPackage | undefined = response.package;
12}
13

getTenantPackages Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
skipnumberHayır

Yanıt

Döndürür: GetTenantPackagesResponse

Örnek

getTenantPackages Örneği
Copy Copy
1
2async function fetchPackages() {
3 const tenantId: string = "acme-corp-001";
4 const skip: number = 15;
5
6 const resultWithSkip: GetTenantPackagesResponse = await getTenantPackages(tenantId, skip);
7 const resultWithoutSkip: GetTenantPackagesResponse = await getTenantPackages(tenantId);
8}
9

replaceTenantPackage Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
replaceTenantPackageBodyReplaceTenantPackageBodyEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

replaceTenantPackage Örneği
Copy Copy
1
2async function replacePackageDemo(): Promise<void> {
3 const tenantId: string = "acme-corp-001";
4 const packageId: string = "basic-plan-2023";
5 const replaceBody: ReplaceTenantPackageBody = {
6 newPackageId: "enterprise-plan-2024"
7 // isteğe bağlı alanlar buraya eklenebilir
8 };
9 const response: APIEmptyResponse = await replaceTenantPackage(tenantId, packageId, replaceBody);
10 console.log(response);
11}
12

updateTenantPackage Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateTenantPackageBodyUpdateTenantPackageBodyYes

Yanıt

Returns: APIEmptyResponse

Örnek

updateTenantPackage Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3const packageId: string = "pkg_3a2b1c";
4
5const updateBody: UpdateTenantPackageBody = {
6 // isteğe bağlı alanlar gerektiğinde atlanabilir veya dahil edilebilir
7 // newPackageName?: string;
8 // renewalDate?: string;
9};
10
11const result: APIEmptyResponse = await updateTenantPackage(tenantId, packageId, updateBody);
12

createTenantUser Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
createTenantUserBodyCreateTenantUserBodyYes

Yanıt

Döndürür: CreateTenantUserResponse

Örnek

createTenantUser Örneği
Copy Copy
1
2async function addTenantUser() {
3 const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
4 const digestFreq: DigestEmailFrequency = 'daily';
5 const body: CreateTenantUserBody = {
6 email: 'jane.doe@example.com',
7 firstName: 'Jane',
8 lastName: 'Doe',
9 role: 'admin',
10 digestEmailFrequency: digestFreq,
11 phoneNumber: '+15551234567' // optional
12 };
13 const response: CreateTenantUserResponse = await createTenantUser(tenantId, body);
14 console.log(response);
15}
16addTenantUser();
17

deleteTenantUser Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
deleteCommentsstringNo
commentDeleteModestringNo

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenantUser Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const userId: string = "u-112233";
5
6 const result1: APIEmptyResponse = await deleteTenantUser(tenantId, userId);
7 const result2: APIEmptyResponse = await deleteTenantUser(tenantId, userId, "true", "hard");
8
9 console.log(result1, result2);
10})();
11

getTenantUser Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetTenantUserResponse

Örnek

getTenantUser Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-tenant-001";
4 const userId: string = "user-12345";
5 const response: GetTenantUserResponse = await getTenantUser(tenantId, userId);
6 console.log(response);
7})();
8

getTenantUsers Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
skipnumberHayır

Response

Döndürür: GetTenantUsersResponse

Example

getTenantUsers Örnek
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const skip: number = 20;
4
5const firstPage: GetTenantUsersResponse = await getTenantUsers(tenantId);
6const secondPage: GetTenantUsersResponse = await getTenantUsers(tenantId, skip);
7

replaceTenantUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
replaceTenantUserBodyReplaceTenantUserBodyEvet
updateCommentsstringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

replaceTenantUser Örnek
Copy Copy
1
2const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
3const userId: string = "user-987654321";
4const replaceBody: ReplaceTenantUserBody = {
5 email: "newuser@example.com",
6 name: "New User",
7 role: "admin"
8};
9
10const response: APIEmptyResponse = await replaceTenantUser(
11 tenantId,
12 userId,
13 replaceBody,
14 "Migrated user to new tenant"
15);
16

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
redirectURLstringHayır

Yanıt

Döndürür: APIEmptyResponse

Example

sendLoginLink Örneği
Copy Copy
1
2interface APIStatus {
3 // durum alanları
4}
5
6interface APIEmptyResponse {
7 status: APIStatus;
8}
9
10(async () => {
11 const tenantId: string = "acme-corp";
12 const userId: string = "user-98765";
13 const redirectURL: string = "https://app.example.com/welcome";
14
15 const responseWithRedirect: APIEmptyResponse = await sendLoginLink(tenantId, userId, redirectURL);
16 const responseWithoutRedirect: APIEmptyResponse = await sendLoginLink(tenantId, userId);
17})();
18

updateTenantUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateTenantUserBodyUpdateTenantUserBodyEvet
updateCommentsstringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateTenantUser Örneği
Copy Copy
1
2async function runUpdate() {
3 const tenantId: string = "tenant_12345";
4 const userId: string = "user_987";
5 const updateBody: UpdateTenantUserBody = {
6 email: "new.email@example.com",
7 role: "admin",
8 isActive: true
9 };
10 const comment: string = "Promoted to admin role";
11
12 const result: APIEmptyResponse = await updateTenantUser(tenantId, userId, updateBody, comment);
13 console.log(result);
14}
15
16runUpdate();
17

createTenant Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createTenantBodyCreateTenantBodyEvet

Yanıt

Döndürür: CreateTenantResponse

Örnek

createTenant Örneği
Copy Copy
1
2async function run() {
3 const tenantId: string = "acme-corp-2024";
4 const createTenantBody: CreateTenantBody = {
5 name: "Acme Corp",
6 domainConfiguration: { domain: "comments.acme.com", sslEnabled: true },
7 importedSite: { siteId: "site-123", source: "wordpress" },
8 billingInfo: { plan: "enterprise", renewalDate: "2025-01-01" },
9 description: "Tenant for Acme Corp's production environment", // isteğe bağlı
10 };
11 const response: CreateTenantResponse = await createTenant(tenantId, createTenantBody);
12}
13run();
14

deleteTenant Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
surestringHayır

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteTenant Örneği
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const userId: string = "user_9876";
5
6 const resultWithoutSure: APIEmptyResponse = await deleteTenant(tenantId, userId);
7 const resultWithSure: APIEmptyResponse = await deleteTenant(tenantId, userId, "confirm");
8}
9
10main();
11

getTenant Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetTenantResponse

Örnek

getTenant Örneği
Copy Copy
1
2async function fetchTenant(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const id: string = "tenant_12345";
5
6 const tenantResponse: GetTenantResponse = await getTenant(tenantId, id);
7
8 // Optional fields in the response
9 const billing: BillingInfo | undefined = tenantResponse.billingInfo;
10 const domainConfig: APIDomainConfiguration | undefined = tenantResponse.domainConfiguration;
11}
12

getTenants Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
metastringHayır
skipnumberHayır

Yanıt

Döndürür: GetTenantsResponse

Örnek

getTenants Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "c3f5e9b2-4d1a-4f2b-9a6e-1234567890ab";
4 const meta: string = "includeBilling";
5 const skip: number = 10;
6
7 const result: GetTenantsResponse = await getTenants(tenantId, meta, skip);
8 console.log(result);
9}
10runExample();
11

updateTenant Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

Yanıt

Döndürür: APIEmptyResponse

Örnek

updateTenant Örneği
Copy Copy
1
2async function runUpdateTenant() {
3 const tenantId: string = "tenant-abc123";
4 const id: string = "config-456def";
5
6 const updateTenantBody: UpdateTenantBody = {
7 // required field
8 name: "Acme International",
9 // optional fields can be omitted, e.g., billingInfo, domainConfiguration
10 };
11
12 const response: APIEmptyResponse = await updateTenant(tenantId, id, updateTenantBody);
13 console.log(response);
14}
15

changeTicketState Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Yanıt

Döndürür: ChangeTicketStateResponse

Örnek

changeTicketState Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5 const ticketId: string = "ticket-20230915-001";
6
7 const changeTicketStateBody: ChangeTicketStateBody = {
8 // isteğe bağlı alan örneği
9 note: "Resolved after investigation"
10 };
11
12 const response: ChangeTicketStateResponse = await changeTicketState(
13 tenantId,
14 userId,
15 ticketId,
16 changeTicketStateBody
17 );
18
19 console.log(response);
20})();
21

createTicket Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringEvet
createTicketBodyCreateTicketBodyEvet

Yanıt

Döndürür: CreateTicketResponse

Örnek

createTicket Örneği
Copy Copy
1
2async function submitTicket() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-9876";
5
6 const ticketBody: CreateTicketBody = {
7 subject: "Login issues after password reset",
8 description: "User reports being unable to log in despite using the new password.",
9 priority: "medium",
10 // CreateTicketBody içinde isteğe bağlı alan
11 tags: ["login", "password-reset"]
12 };
13
14 const response: CreateTicketResponse = await createTicket(tenantId, userId, ticketBody);
15 console.log(response);
16}
17
18submitTicket();
19

getTicket Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır

Yanıt

Döndürür: GetTicketResponse

Örnek

getTicket Örneği
Copy Copy
1
2async function fetchTickets() {
3 const tenantId: string = "acme-corp";
4 const ticketId: string = "ticket-12345";
5 const userId: string = "user-9876";
6
7 const ticketWithUser: GetTicketResponse = await getTicket(tenantId, ticketId, userId);
8 const ticketWithoutUser: GetTicketResponse = await getTicket(tenantId, ticketId);
9}
10

getTickets Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
statenumberHayır
skipnumberHayır
limitnumberHayır

Yanıt

Döndürür: GetTicketsResponse

Örnek

getTickets Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const ticketsSimple: GetTicketsResponse = await getTickets(tenantId);
5
6 const userId: string = "user_9876";
7 const state: number = 1; // ör., açık
8 const skip: number = 0;
9 const limit: number = 20;
10 const ticketsFull: GetTicketsResponse = await getTickets(
11 tenantId,
12 userId,
13 state,
14 skip,
15 limit
16 );
17})();
18

getTranslations Internal Link

Parametreler

AdTürGerekliAçıklama
namespacestringEvet
componentstringEvet
localestringHayır
useFullTranslationIdsbooleanHayır

Yanıt

Döndürür: GetTranslationsResponse

Örnek

getTranslations Örneği
Copy Copy
1
2async function fetchTranslations() {
3 const adminDashboard: GetTranslationsResponse = await getTranslations('admin', 'dashboard');
4 const userProfileFr: GetTranslationsResponse = await getTranslations('user', 'profile', 'fr-FR', true);
5}
6

uploadImage Internal Link

Upload and resize an image

Parameters

AdTürGerekliAçıklama
tenantIdstringYes
fileBlobYes
sizePresetSizePresetNo
urlIdstringNo

Response

Döndürür: UploadImageResponse

Example

uploadImage Örneği
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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIGetUserBadgeProgressResponse

Örnek

getUserBadgeProgressById Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const badgeId: string = "badge-2024-07";
4
5const result: APIGetUserBadgeProgressResponse = await getUserBadgeProgressById(tenantId, badgeId);
6
7const progress: UserBadgeProgress | undefined = result?.progress;
8const status: APIStatus | undefined = result?.status;
9

getUserBadgeProgressByUserId Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringEvet

Yanıt

Döndürür: APIGetUserBadgeProgressResponse

Örnek

getUserBadgeProgressByUserId Örneği
Copy Copy
1
2const tenantId: string = "acme-corp";
3const userId: string = "user-42";
4
5const badgeProgress: APIGetUserBadgeProgressResponse = await getUserBadgeProgressByUserId(tenantId, userId);
6
7if (badgeProgress.status?.code !== undefined) {
8 const statusCode: number = badgeProgress.status.code;
9}
10
11if (badgeProgress.progress?.length) {
12 const firstProgress: UserBadgeProgress = badgeProgress.progress[0];
13}
14

getUserBadgeProgressList Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
userIdstringNo
limitnumberNo
skipnumberNo

Yanıt

Döndürür: APIGetUserBadgeProgressListResponse

Örnek

getUserBadgeProgressList Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9f8b7c6d";
4 const userId: string = "user-123e4567-e89b-12d3-a456-426614174000";
5 const limit: number = 10;
6 const skip: number = 0;
7
8 const response: APIGetUserBadgeProgressListResponse = await getUserBadgeProgressList(tenantId, userId, limit, skip);
9 const status: APIStatus = response.status;
10 const badges: UserBadgeProgress[] = response.badges;
11})();
12

createUserBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createUserBadgeParamsCreateUserBadgeParamsEvet

Yanıt

Döndürür: APICreateUserBadgeResponse

Örnek

createUserBadge Örneği
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c";
4 const badgeParams: CreateUserBadgeParams = {
5 name: "Community Helper",
6 iconUrl: "https://cdn.example.com/badges/helper.png"
7 };
8 const response: APICreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
9}
10main();
11

deleteUserBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIEmptySuccessResponse

Örnek

deleteUserBadge Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const badgeId: string = "moderator-badge";
5 const result: APIEmptySuccessResponse = await deleteUserBadge(tenantId, badgeId);
6 console.log(result);
7})();
8

getUserBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: APIGetUserBadgeResponse

Örnek

getUserBadge Örneği
Copy Copy
1
2async function demoGetUserBadge() {
3 const tenantId: string = "tenant-9f8b7c6d";
4 const userId: string = "user-123456";
5 const badgeResponse: APIGetUserBadgeResponse = await getUserBadge(tenantId, userId);
6}
7

getUserBadges Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
badgeIdstringHayır
typenumberHayır
displayedOnCommentsbooleanHayır
limitnumberHayır
skipnumberHayır

Yanıt

Döndürür: APIGetUserBadgesResponse

Örnek

getUserBadges Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4
5 // Tüm parametreler sağlandı
6 const fullResponse: APIGetUserBadgesResponse = await getUserBadges(
7 tenantId,
8 "user-42",
9 "badge-premium",
10 1,
11 true,
12 10,
13 0
14 );
15
16 // Sadece gerekli ve bir isteğe bağlı parametre (limit)
17 const limitedResponse: APIGetUserBadgesResponse = await getUserBadges(
18 tenantId,
19 undefined,
20 undefined,
21 undefined,
22 undefined,
23 5
24 );
25
26 console.log(fullResponse, limitedResponse);
27})();
28

updateUserBadge Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateUserBadgeParamsUpdateUserBadgeParamsEvet

Yanıt

Döndürür: APIEmptySuccessResponse

Örnek

updateUserBadge Örneği
Copy Copy
1
2const tenantId: string = "tenant-9f8b7c6d";
3const id: string = "user-4a3b2c1d";
4
5const updateParams: UpdateUserBadgeParams = {
6 badgeId: "badge-premium",
7 // isteğe bağlı alan
8 expiresAt: new Date("2025-12-31T23:59:59Z")
9};
10
11const result: APIEmptySuccessResponse = await updateUserBadge(tenantId, id, updateParams);
12

getUserNotificationCount Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Yanıt

Döndürür: GetUserNotificationCountResponse

Örnek

getUserNotificationCount Örneği
Copy Copy
1
2async function demo(): Promise<void> {
3 const tenantId: string = "acme-corp-001";
4 const ssoToken: string = "sso-token-xyz789";
5
6 const countWithoutSso: GetUserNotificationCountResponse = await getUserNotificationCount(tenantId);
7 const countWithSso: GetUserNotificationCountResponse = await getUserNotificationCount(tenantId, ssoToken);
8}
9
10demo();
11

getUserNotifications Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringHayır
pageSizenumberHayır
afterIdstringHayır
includeContextbooleanHayır
afterCreatedAtnumberHayır
unreadOnlybooleanHayır
dmOnlybooleanHayır
noDmbooleanHayır
includeTranslationsbooleanHayır
includeTenantNotificationsbooleanHayır
ssostringHayır

Yanıt

Döndürür: GetMyNotificationsResponse

Örnek

getUserNotifications Örneği
Copy Copy
1
2async function fetchNotifications(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "article-42";
5 const pageSize: number = 20;
6 const includeContext: boolean = true;
7 const unreadOnly: boolean = true;
8
9 const notifications: GetMyNotificationsResponse = await getUserNotifications(
10 tenantId,
11 urlId,
12 pageSize,
13 undefined,
14 includeContext,
15 undefined,
16 unreadOnly
17 );
18
19 console.log(notifications);
20}
21

resetUserNotificationCount Internal Link

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
ssostringHayır

Response

Döndürür: ResetUserNotificationsResponse

Örnek

resetUserNotificationCount Örnek
Copy Copy
1
2async function demoReset() {
3 const tenantId: string = "tenant_12345";
4 const ssoToken: string = "sso_abcdef123456";
5
6 const resultWithSso: ResetUserNotificationsResponse = await resetUserNotificationCount(tenantId, ssoToken);
7 const resultWithoutSso: ResetUserNotificationsResponse = await resetUserNotificationCount(tenantId);
8}
9
10demoReset();
11

resetUserNotifications Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
afterIdstringNo
afterCreatedAtnumberNo
unreadOnlybooleanNo
dmOnlybooleanNo
noDmbooleanNo
ssostringNo

Yanıt

Döndürür: ResetUserNotificationsResponse

Örnek

resetUserNotifications Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const afterId: string = "notif-2023-09-01";
5 const afterCreatedAt: number = 1693526400; // Unix timestamp
6 const unreadOnly: boolean = true;
7 const dmOnly: boolean = false;
8
9 const response: ResetUserNotificationsResponse = await resetUserNotifications(
10 tenantId,
11 afterId,
12 afterCreatedAt,
13 unreadOnly,
14 dmOnly
15 );
16
17 console.log(response);
18})();
19

updateUserNotificationCommentSubscriptionStatus Internal Link

Enable or disable notifications for a specific comment.

Parameters

AdTürGerekliAçıklama
tenantIdstringEvet
notificationIdstringEvet
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumEvet
commentIdstringEvet
ssostringHayır

Response

Döndürür: UpdateUserNotificationCommentSubscriptionStatusResponse

Example

updateUserNotificationCommentSubscriptionStatus Örneği
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const notificationId: string = "notif_9876";
5 const commentId: string = "comment_abc123";
6 const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum =
7 UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptIn;
8 const sso: string = "sso_token_456";
9
10 const resultWithSso: UpdateUserNotificationCommentSubscriptionStatusResponse = await updateUserNotificationCommentSubscriptionStatus(
11 tenantId,
12 notificationId,
13 optedInOrOut,
14 commentId,
15 sso
16 );
17
18 const resultWithoutSso: UpdateUserNotificationCommentSubscriptionStatusResponse = await updateUserNotificationCommentSubscriptionStatus(
19 tenantId,
20 notificationId,
21 optedInOrOut,
22 commentId
23 );
24}
25

updateUserNotificationPageSubscriptionStatus Internal Link

Enable or disable notifications for a page. When users are subscribed to a page, notifications are created for new root comments, and also

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumYes
ssostringNo

Yanıt

Döndürür: UpdateUserNotificationPageSubscriptionStatusResponse

Örnek

updateUserNotificationPageSubscriptionStatus Örneği
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_9876";
5 const url: string = "https://example.com/articles/awesome-article";
6 const pageTitle: string = "Awesome Article";
7 const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum =
8 UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
9 const sso: string = "sso_token_abc";
10
11 const response: UpdateUserNotificationPageSubscriptionStatusResponse = await updateUserNotificationPageSubscriptionStatus(
12 tenantId,
13 urlId,
14 url,
15 pageTitle,
16 subscribedOrUnsubscribed,
17 sso
18 );
19
20 console.log(response);
21}
22
23runExample();
24

updateUserNotificationStatus Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
notificationIdstringYes
newStatusUpdateUserNotificationStatusNewStatusEnumYes
ssostringNo

Yanıt

Döndürür: UpdateUserNotificationStatusResponse

Örnek

updateUserNotificationStatus Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const notificationId: string = "notif_9876";
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.READ;
5const ssoToken: string = "sso_token_abc";
6
7const responseWithSso: UpdateUserNotificationStatusResponse = await updateUserNotificationStatus(
8 tenantId,
9 notificationId,
10 newStatus,
11 ssoToken
12);
13
14const responseWithoutSso: UpdateUserNotificationStatusResponse = await updateUserNotificationStatus(
15 tenantId,
16 notificationId,
17 newStatus
18);
19

getUserPresenceStatuses Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

Yanıt

Döndürür: GetUserPresenceStatusesResponse

Örnek

getUserPresenceStatuses Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "my-tenant-42";
4 const urlIdWS: string = "post-9876";
5 const userIds: string = "alice,bob,carol";
6
7 const presence: GetUserPresenceStatusesResponse = await getUserPresenceStatuses(tenantId, urlIdWS, userIds);
8 console.log(presence);
9})();
10

searchUsers Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
urlIdstringYes
usernameStartsWithstringNo
mentionGroupIdsArrayNo
ssostringNo
searchSectionSearchUsersSearchSectionEnumNo

Yanıt

Döndürür: SearchUsersResult

Örnek

searchUsers Örneği
Copy Copy
1
2async function example() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "article-9876";
5 const usernameStartsWith: string = "john";
6 const mentionGroupIds: string[] = ["group1", "group2"];
7 const sso: string = "sso_token_abc";
8 const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.MENTIONS;
9
10 const result: SearchUsersResult = await searchUsers(
11 tenantId,
12 urlId,
13 usernameStartsWith,
14 mentionGroupIds,
15 sso,
16 searchSection
17 );
18
19 console.log(result);
20}
21

getUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
idstringYes

Yanıt

Döndürür: GetUserResponse

Örnek

getUser Örneği
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const id: string = "user_98765";
5 const response: GetUserResponse = await getUser(tenantId, id);
6 const { user }: { user?: User } = response;
7}
8main();
9

createVote Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
directionCreateVoteDirectionEnumEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Döndürür: VoteResponse

Örnek

createVote Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "comment_67890";
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.UP;
5const userId: string = "user_abcde";
6
7const voteResult: VoteResponse = await createVote(tenantId, commentId, direction, userId);
8
9const anonUserId: string = "anon_zyxwv";
10const anonVoteResult: VoteResponse = await createVote(tenantId, commentId, direction, undefined, anonUserId);
11

deleteVote Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
editKeystringHayır

Yanıt

Döndürür: VoteDeleteResponse

Örnek

deleteVote Örneği
Copy Copy
1
2async function run() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "comment_98765";
5 const editKey: string = "edit_abcde";
6
7 const responseWithKey: VoteDeleteResponse = await deleteVote(tenantId, commentId, editKey);
8 const responseWithoutKey: VoteDeleteResponse = await deleteVote(tenantId, commentId);
9}
10
11run();
12

getVotes Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet

Yanıt

Döndürür: GetVotesResponse

Örnek

getVotes Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "article-67890";
4
5(async () => {
6 const votesResponse: GetVotesResponse = await getVotes(tenantId, urlId);
7 // Example of accessing an optional property from the response
8 const firstVote: PublicVote | undefined = votesResponse.votes?.[0];
9})();
10

getVotesForUser Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdstringHayır
anonUserIdstringHayır

Yanıt

Döndürür: GetVotesForUserResponse

Örnek

getVotesForUser Örneği
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "post_9876";
5 const userId: string = "user_abcde";
6 const anonUserId: string = "anon_5678";
7
8 const responseWithUser: GetVotesForUserResponse = await getVotesForUser(tenantId, urlId, userId);
9 const responseWithAnon: GetVotesForUserResponse = await getVotesForUser(tenantId, urlId, undefined, anonUserId);
10}
11
12demo();
13

createWebhook Internal Link

Subscribes a URL to a comment event (REST hook subscribe). Subscribing the same URL to the same
event and domain again returns the existing subscription. Deliveries are HMAC signed, see the
webhooks guide; the legacy token header is never sent to API subscriptions.

Parameters

İsimTürGerekliAçıklama
tenantIdstringEvet
createWebhookParamsCreateWebhookParamsEvet

Response

Döndürür: CreateWebhookResponse

Example

createWebhook Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3
4const webhookParams: CreateWebhookParams = {
5 event: "comment.created" as WebhookEventName,
6 method: "POST" as WebhookHTTPMethod,
7 url: "https://myapp.example.com/webhook",
8 source: "comment" as WebhookSource,
9 // payload doğrulaması için isteğe bağlı gizli anahtar
10 secret: "s3cr3tK3y123",
11};
12
13const result: CreateWebhookResponse = await createWebhook(tenantId, webhookParams);
14
15const webhookId: string = result.webhook.id;
16

deleteWebhook Internal Link


Abonelik iptalleri (REST kanca abonelik iptali). Yalnızca bu API aracılığıyla oluşturulan abonelikler burada silinebilir; kontrol paneli tarafından yönetilen web kancaları kontrol panelinde düzenlenir.

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: APIEmptyResponse

Örnek

deleteWebhook Örneği
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const webhookId: string = "wh_98765";
4
5const result: APIEmptyResponse = await deleteWebhook(tenantId, webhookId);
6

getWebhooks Internal Link

Kiracı için yapılandırılmış webhook'ları listeler, hem kontrol paneli yönetimli satırları hem de API aboneliklerini.

Parametreler

AdTürGerekliAçıklama
tenantIdstringYes
eventWebhookEventNameNo
domainstringNo
sourceWebhookSourceNo
skipnumberNo

Yanıt

Döndürür: GetWebhooksResponse

Örnek

getWebhooks Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_42';
4 const event: WebhookEventName = 'comment.created';
5 const domain: string = 'forum.example.org';
6 const source: WebhookSource = 'admin';
7 const skip: number = 0;
8
9 const fullResponse: GetWebhooksResponse = await getWebhooks(tenantId, event, domain, source, skip);
10 const minimalResponse: GetWebhooksResponse = await getWebhooks(tenantId);
11})();
12

getWebhookSamplePayloads Internal Link

Recent comments in exactly the shape webhook deliveries use, for building integrations (for example Zapier sample data). Every event delivers the same comment object, so event only has to be valid.

Parameters

NameTypeRequiredDescription
tenantIdstringYes
eventWebhookEventNameNo
limitnumberNo

Response

Returns: GetWebhookSamplePayloadsResponse

Example

getWebhookSamplePayloads Örneği
Copy Copy
1
2const tenantId: string = "c1a2b3d4-5678-90ab-cdef-1234567890ab";
3
4const responseAll: GetWebhookSamplePayloadsResponse = await getWebhookSamplePayloads(
5 tenantId,
6 "comment.created",
7 10
8);
9
10const responseWithEvent: GetWebhookSamplePayloadsResponse = await getWebhookSamplePayloads(
11 tenantId,
12 "comment.created"
13);
14
15const responseBasic: GetWebhookSamplePayloadsResponse = await getWebhookSamplePayloads(
16 tenantId
17);
18

Yardıma mı ihtiyacınız var?

JavaScript/TypeScript SDK hakkında herhangi bir sorunla karşılaşırsanız veya sorularınız olursa lütfen:

Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Katkı yönergeleri için lütfen GitHub deposunu ziyaret edin.