FastComments.com

FastComments JavaScript/TypeScript SDK


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


Kurulum Internal Link


npm

npm install fastcomments-sdk

API Belgeleri 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

Açık ve Güvenli API'ler Internal Link

SDK üç ana API sınıfı sağlar:

  • DefaultApi - Kimlik doğrulama için API anahtarınızın gerektiği güvenli uç noktalar. Sunucu tarafı işlemler için bunları kullanın.
  • PublicApi - API anahtarı olmadan erişilebilen genel uç noktalar. Bunlar tarayıcılardan/taşınabilir cihazlardan vb. doğrudan çağrılabilir.
  • HiddenApi - İleri düzey kullanım durumları için dahili/yönetici uç noktaları.

Örnek: Public API Kullanımı (tarayıcı için güvenli)

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

const publicApi = new PublicApi();

// Bir sayfanın yorumlarını al (API anahtarı gerekli değil)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

Örnek: Default API Kullanımı (yalnızca 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'
});

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

Toplama Internal Link

Belgeleri, (groupBy sağlanmışsa) gruplayarak ve birden çok işlem uygulayarak toplar. Farklı işlemler (ör. sum, countDistinct, avg vb.) desteklenir.

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
aggregationRequest AggregationRequest Evet
parentTenantId string Hayır
includeStats boolean Hayır

Yanıt

Döndürür: AggregationResponse


Denetim Kayıtlarını Al Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
limit number Hayır
skip number Hayır
order SORTDIR Hayır
after number Hayır
before number Hayır

Yanıt

Döndürür: GetAuditLogs200Response

Örnek

getAuditLogs Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9a8b7c';
3const limit: number = 100;
4const skip: number = 0;
5const after: number = Date.now() - 30 * 24 * 60 * 60 * 1000; // 30 gün önce
6const before: number = Date.now();
7const auditLogs: GetAuditLogs200Response = await getAuditLogs(tenantId, limit, skip, undefined, after, before);
8

Yorumdan Engelle (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Yes
commentId string Yes
publicBlockFromCommentParams PublicBlockFromCommentParams Yes
sso string No

Yanıt

Döndürür: BlockFromCommentPublic200Response

Örnek

blockFromCommentPublic Örneği
Copy Copy
1
2const tenantId: string = "site_7f9b2e";
3const commentId: string = "comment_2026-03-25_001";
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: "Repeated harassment and targeted abuse",
6 blockDurationDays: 90,
7 includeHistory: true,
8 notifyModeratorTeam: true
9};
10const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fakePayload.signature";
11const result: BlockFromCommentPublic200Response = await blockFromCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
12

Yorum Engellemesini Kaldır (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
publicBlockFromCommentParams PublicBlockFromCommentParams Evet
sso string Hayır

Yanıt

Döndürür: UnBlockCommentPublic200Response

Örnek

unBlockCommentPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_42e8a1';
3const commentId: string = 'cmt_9b3f2d';
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: 'abusive_language',
6 blockedByModeratorId: 'mod_17',
7 note: 'Targeted harassment; review complete',
8 unblockRequestedAt: new Date().toISOString()
9};
10const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
11const result: UnBlockCommentPublic200Response = await unBlockCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
12

Engellenmiş Yorumları Kontrol Et Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentIds string Evet
sso string Hayır

Yanıt

Döndürür: CheckedCommentsForBlocked200Response

Örnek

checkedCommentsForBlocked Örneği
Copy Copy
1
2const tenantId: string = 'tenant_4f3b2a1e';
3const commentIds: string = 'c_1001,c_1002,c_1003';
4const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIn0.Sf4ke7nQP3mZx9v2';
5
6const resultWithoutSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds);
7const resultWithSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds, ssoToken);
8

Yoruma Göre Kullanıcıyı Engelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
blockFromCommentParams BlockFromCommentParams Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: BlockFromCommentPublic200Response

Örnek

blockUserFromComment Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp';
3const id: string = 'comment_7f3b2a9c';
4const blockFromCommentParams: BlockFromCommentParams = {
5 reason: 'Repeated abusive language and targeted harassment',
6 durationDays: 90,
7 preventReposting: true
8};
9const userId: string = 'user_12345';
10const anonUserId: string = 'anon_98765';
11
12const result: BlockFromCommentPublic200Response = await blockUserFromComment(
13 tenantId,
14 id,
15 blockFromCommentParams,
16 userId,
17 anonUserId
18);
19

Yorum Oluştur (Herkese Açık) Internal Link


Parametreler

Adı Tür Zorunlu Açıklama
tenantId string Evet
urlId string Evet
broadcastId string Evet
commentData CommentData Evet
sessionId string Hayır
sso string Hayır

Yanıt

Döndürür: CreateCommentPublic200Response

Örnek

createCommentPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_prod_42';
3const urlId: string = 'article-2026-03-25-tech-deep-dive';
4const broadcastId: string = 'live-broadcast-001';
5const sessionId: string = 'sess_9f8e7d6a3b';
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
7const commentData: CommentData = {
8 content: 'Great reporting — appreciated the depth on performance tradeoffs.',
9 authorName: 'Jordan M.',
10 language: 'en-US',
11 metadata: { client: 'web' }
12};
13const result: CreateCommentPublic200Response = await createCommentPublic(tenantId, urlId, broadcastId, commentData, sessionId, sso);
14

Yorumu Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
contextUserId string Hayır
isLive boolean Hayır

Yanıt

Döndürür: DeleteComment200Response

Örnek

deleteComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_01";
3const id: string = "comment_5f3a2b7c";
4const contextUserId: string = "user_1229";
5const isLive: boolean = true;
6const response: DeleteComment200Response = await deleteComment(tenantId, id, contextUserId, isLive);
7

Yorumu Sil (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
broadcastId string Evet
editKey string Hayır
sso string Hayır

Yanıt

Döndürür: DeleteCommentPublic200Response

Örnek

deleteCommentPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_4f2c9b';
3const commentId: string = 'comment-7c3a9f2d';
4const broadcastId: string = 'article-2026-03-20';
5const editKey: string | undefined = 'ek_pub_abc12345';
6const sso: string | undefined = 'sso_eyJhbGciOiJIUzI1Ni';
7
8const result: DeleteCommentPublic200Response = await deleteCommentPublic(
9 tenantId,
10 commentId,
11 broadcastId,
12 editKey,
13 sso
14);
15

Yorum Oylamasını Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
voteId string Evet
urlId string Evet
broadcastId string Evet
editKey string Hayır
sso string Hayır

Yanıt

Döndürür: DeleteCommentVote200Response

Örnek

deleteCommentVote Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-87e4fd';
3const commentId: string = 'cmt-9a12b3f4';
4const voteId: string = 'vote-4f6d21b9';
5const urlId: string = 'https://www.acme.com/articles/2026/03/25/how-to-test';
6const broadcastId: string = 'broadcast-20260325-01';
7const editKey: string = 'editkey-6b7c8d9e';
8const sso: string = 'sso-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
9
10const response: DeleteCommentVote200Response = await deleteCommentVote(
11 tenantId,
12 commentId,
13 voteId,
14 urlId,
15 broadcastId,
16 editKey,
17 sso
18);
19

Yorumu Bildir Internal Link

Parametreler

Name Type Gerekli Açıklama
tenantId string Evet
id string Evet
userId string Hayır
anonUserId string Hayır

Response

Döndürür: FlagComment200Response

Örnek

flagComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3b21';
3const commentId: string = 'cmt_9a2b4';
4const userId: string = 'user_1024';
5const result: FlagComment200Response = await flagComment(tenantId, commentId, userId);
6

Yorumu Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetComment200Response

Örnek

getComment Örneği
Copy Copy
1
2const tenantId: string = "acme-publishing-001";
3const commentId: string = "f3b2c1d0-9a8e-4b7c-8123-6d5f0a1e2b3c";
4const result: GetComment200Response = await getComment(tenantId, commentId);
5const wrapper: GetComment200Response & { comment?: APIComment } = result;
6const comment: APIComment | undefined = wrapper.comment;
7const authorBadge: CommentUserBadgeInfo | undefined = comment?.user?.badge;
8const userHashTags: CommentUserHashTagInfo[] | undefined = comment?.user?.hashTags
9

Yorumları Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
page number Hayır
limit number Hayır
skip number Hayır
asTree boolean Hayır
skipChildren number Hayır
limitChildren number Hayır
maxTreeDepth number Hayır
urlId string Hayır
userId string Hayır
anonUserId string Hayır
contextUserId string Hayır
hashTag string Hayır
parentId string Hayır
direction SortDirections Hayır

Yanıt

Döndürür: GetComments200Response

Örnek

getComments Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const response: GetComments200Response = await getComments(
4 tenantId,
5 1, // page
6 20, // limit
7 0, // skip
8 true, // asTree
9 1, // skipChildren
10 3, // limitChildren
11 4, // maxTreeDepth
12 'articles/2026/new-product-launch', // urlId
13 'user_7890', // userId
14 'anon_4f3b2', // anonUserId
15 undefined, // contextUserId
16 '#launch', // hashTag
17 undefined // parentId
18);
19

Yorumları Getir (Herkese Açık) Internal Link

req tenantId urlId

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet
page number Hayır
direction SortDirections Hayır
sso string Hayır
skip number Hayır
skipChildren number Hayır
limit number Hayır
limitChildren number Hayır
countChildren boolean Hayır
fetchPageForCommentId string Hayır
includeConfig boolean Hayır
countAll boolean Hayır
includei10n boolean Hayır
locale string Hayır
modules string Hayır
isCrawler boolean Hayır
includeNotificationCount boolean Hayır
asTree boolean Hayır
maxTreeDepth number Hayır
useFullTranslationIds boolean Hayır
parentId string Hayır
searchText string Hayır
hashTags Array Hayır
userId string Hayır
customConfigStr string Hayır
afterCommentId string Hayır
beforeCommentId string Hayır

Yanıt

Döndürür: GetCommentsPublic200Response

Örnek

getCommentsPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_eu-west_01';
3const urlId: string = 'https://www.financialtimes.com/articles/2026/market-update-q1';
4const response: GetCommentsPublic200Response = await getCommentsPublic(
5 tenantId,
6 urlId,
7 2,
8 undefined,
9 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.tokenPayload.signature',
10 undefined,
11 0,
12 50,
13 5,
14 true,
15 undefined,
16 true,
17 false,
18 true,
19 'en-US',
20 'reactions,moderation',
21 false,
22 true,
23 true,
24 3,
25 false,
26 undefined,
27 'performance',
28 ['feature','fastcomments'],
29 'user_9876',
30 undefined,
31 undefined,
32 undefined
33);
34

Yorum Metnini Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
commentId string Evet
editKey string Hayır
sso string Hayır

Yanıt

Döndürür: GetCommentText200Response

Örnek

getCommentText Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const commentId: string = 'cmt_7890b';
4const editKey: string = 'edit_4f2d9b7c';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
6
7const result: GetCommentText200Response = await getCommentText(tenantId, commentId, editKey, sso);
8

Yorum Oyu Veren Kullanıcı İsimlerini Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
dir number Evet
sso string Hayır

Yanıt

Döndürür: GetCommentVoteUserNames200Response

Örnek

getCommentVoteUserNames Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_4f2c1e';
4 const commentId: string = 'cmt_9a7b3d';
5 const dir: number = 1;
6 const resultUpvotes: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dir);
7 const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fakepayload.signature';
8 const dirDown: number = -1;
9 const resultDownvotes: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dirDown, sso);
10 console.log(resultUpvotes, resultDownvotes);
11})();
12

Yorumu Kilitle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
broadcastId string Evet
sso string Hayır

Yanıt

Döndürür: LockComment200Response

Örnek

lockComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_prod_8f3a2b";
3const commentId: string = "cmt_5d7e9a92";
4const broadcastId: string = "broadcast_2026_03_25_1400";
5const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature";
6const resultWithSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId, ssoToken);
7const resultWithoutSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId);
8

Yorumu Sabitle Internal Link

Parametreler

Adı Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
broadcastId string Evet
sso string Hayır

Yanıt

Döndürür: PinComment200Response

Örnek

pinComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_4f2b9a";
3const commentId: string = "cmt_9f8e7d6c";
4const broadcastId: string = "brd_live_concert_2026-03-25";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_payload_signature";
6
7const result: PinComment200Response = await pinComment(tenantId, commentId, broadcastId, sso);
8

Yorumu Kaydet Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createCommentParams CreateCommentParams Evet
isLive boolean Hayır
doSpamCheck boolean Hayır
sendEmails boolean Hayır
populateNotifications boolean Hayır

Yanıt

Döndürür: SaveComment200Response

Örnek

saveComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_001';
3const createCommentParams: CreateCommentParams = {
4 content: 'Great article — helped me fix a production issue in minutes.',
5 url: 'https://app.acme.com/blog/performance-tips',
6 author: { name: 'Maya Chen', email: 'maya.chen@acme.com' },
7 metadata: { locale: 'en-US', appVersion: '4.2.1' }
8} as CreateCommentParams;
9const isLive: boolean = true;
10const doSpamCheck: boolean = true;
11const sendEmails: boolean = false;
12const populateNotifications: boolean = true;
13const result: SaveComment200Response = await saveComment(tenantId, createCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications);
14

Yorumları Toplu Kaydet Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
createCommentParams Array Evet
isLive boolean Hayır
doSpamCheck boolean Hayır
sendEmails boolean Hayır
populateNotifications boolean Hayır

Yanıt

Döndürür: Array<SaveComment200Response

Örnek

saveCommentsBulk Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-01';
3const mentions1: CommentUserMentionInfo[] = [{ userId: 'user-123', displayName: 'Jane Doe' }];
4const hashtags1: CommentUserHashTagInfo[] = [{ tag: 'typescript' }];
5const createCommentParams: CreateCommentParams[] = [
6 {
7 content: 'Great insights on async/await patterns.',
8 authorName: 'John Smith',
9 authorEmail: 'john.smith@acme.com',
10 externalId: 'comment-001',
11 createdAt: '2026-03-25T10:15:00Z',
12 userMentions: mentions1,
13 userHashTags: hashtags1
14 },
15 {
16 content: 'I prefer using Promise.all for bulk ops.',
17 authorName: 'Emily Turner',
18 authorEmail: 'emily.turner@acme.com',
19 externalId: 'comment-002',
20 createdAt: '2026-03-25T10:20:00Z'
21 }
22];
23const result: SaveComment200Response[] = await saveCommentsBulk(tenantId, createCommentParams, true, true, false, true);
24

Yorum Metnini Ayarla Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
commentId string Evet
broadcastId string Evet
commentTextUpdateRequest CommentTextUpdateRequest Evet
editKey string Hayır
sso string Hayır

Yanıt

Döndürür: SetCommentText200Response

Örnek

setCommentText Örneği
Copy Copy
1
2const tenantId: string = 'tenant_6721f4';
3const commentId: string = 'cmt_9a3b2d';
4const broadcastId: string = 'live_2026_03_25';
5const editKey: string = 'edit_k_4f7b9';
6const sso: string = 'sso_tok_eyJhbGciOiJIUzI1';
7const commentTextUpdateRequest: CommentTextUpdateRequest = {
8 text: 'Updated to clarify the timeline and link the relevant docs.',
9 mentions: [{ userId: 'user_102', displayName: 'Alex Rivera' }],
10 hashtags: [{ tag: 'product-update' }]
11};
12const result: SetCommentText200Response = await setCommentText(tenantId, commentId, broadcastId, commentTextUpdateRequest, editKey, sso);
13

Yorumdan Kullanıcı Engellemesini Kaldır Internal Link

Parametreler

Ad Tür Zorunlu Açıklama
tenantId string Evet
id string Evet
unBlockFromCommentParams UnBlockFromCommentParams Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: UnBlockCommentPublic200Response

Örnek

unBlockUserFromComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_87f3e1';
3const id: string = 'comment_9b2a4f';
4const unBlockFromCommentParams: UnBlockFromCommentParams = {
5 reason: 'Reviewed by moderation team — reinstated',
6 moderatorId: 'mod_21',
7 unblockedAt: new Date().toISOString()
8};
9const userId: string = 'user_42';
10const anonUserId: string = 'anon_e7f9';
11const result: UnBlockCommentPublic200Response = await unBlockUserFromComment(tenantId, id, unBlockFromCommentParams, userId, anonUserId);
12

Yorumu İşaretlemeyi Kaldır Internal Link

Parametreler

Name Type Gerekli Açıklama
tenantId string Evet
id string Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: FlagComment200Response

Örnek

unFlagComment Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-001';
3const commentId: string = 'cmt_9f8e7d6c';
4const userId: string = 'user_72b4a1c9';
5const anonUserId: string = 'anon_3d2c1b0a';
6const response: FlagComment200Response = await unFlagComment(tenantId, commentId, userId, anonUserId);
7

Yorumu Kilit Aç Internal Link

Parametreler

İsim Tip Gerekli Açıklama
tenantId string Evet
commentId string Evet
broadcastId string Evet
sso string Hayır

Yanıt

Döndürür: LockComment200Response

Örnek

unLockComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9d4f2b';
3const commentId: string = 'cmt_8a3e1f';
4const broadcastId: string = 'broadcast_2026_03_25';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature';
6
7const result: LockComment200Response = await unLockComment(tenantId, commentId, broadcastId, sso);
8

Yorum Sabitlemesini Kaldır Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
broadcastId string Evet
sso string Hayır

Yanıt

Döndürür: PinComment200Response

Örnek

unPinComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f9d2a3b';
3const commentId: string = 'comment_842b9c1f';
4const broadcastId: string = 'bcast_frontpage_202603';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.exampleSignature';
6
7const result: PinComment200Response = await unPinComment(tenantId, commentId, broadcastId, sso);
8

Yorumu Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updatableCommentParams UpdatableCommentParams Evet
contextUserId string Hayır
doSpamCheck boolean Hayır
isLive boolean Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateComment Örnek
Copy Copy
1
2const tenantId: string = "tenant_acme_corp_01";
3const id: string = "comment_20260325_4592";
4const updatableCommentParams: UpdatableCommentParams = {
5 body: "Updated the response to include a link to the RFC and fixed a typo in the second paragraph.",
6 editedByUserId: "user_8721",
7 isVisible: true
8};
9const contextUserId: string = "user_8721";
10const doSpamCheck: boolean = true;
11const isLive: boolean = true;
12const result: FlagCommentPublic200Response = await updateComment(tenantId, id, updatableCommentParams, contextUserId, doSpamCheck, isLive);
13

Yoruma Oy Ver Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
commentId string Evet
urlId string Evet
broadcastId string Evet
voteBodyParams VoteBodyParams Evet
sessionId string Hayır
sso string Hayır

Yanıt

Döndürür: VoteComment200Response

Örnek

voteComment Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9f8b7c';
3const commentId: string = 'cmt_42f3a1';
4const urlId: string = 'articles/ai-trends-2026';
5const broadcastId: string = 'web';
6const voteBodyParams: VoteBodyParams = { vote: 1, reason: 'Insightful and on-topic' };
7const sessionId: string = 'sess_6d2b4c9e';
8const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
9const result: VoteComment200Response = await voteComment(tenantId, commentId, urlId, broadcastId, voteBodyParams, sessionId, sso);
10

Kullanıcı İçin Yorumları Getir Internal Link

Parametreler

Name Type Required Description
userId string Hayır
tenantId string Hayır
urlId string Hayır
page number Hayır
direction SortDirections Hayır
lastGenDate number Hayır
repliesToUserId string Hayır
fetchPageForCommentId string Hayır
includei10n boolean Hayır
useFullTranslationIds boolean Hayır
locale string Hayır
includeConfig boolean Hayır
includeNotificationCount boolean Hayır
countAll boolean Hayır
sso string Hayır

Yanıt

Döndürür: GetCommentsForUserResponse

Örnek

getCommentsForUser Örneği
Copy Copy
1
2const userId: string = "user_92b7f4";
3const tenantId: string = "news-tenant-uk";
4const urlId: string = "https://news.example.co.uk/articles/2026/05/01/local-election";
5const page: number = 1;
6const lastGenDate: number = Date.now() - 24 * 60 * 60 * 1000;
7const fetchPageForCommentId: string = "c_987654321";
8const includei10n: boolean = true;
9const locale: string = "en-GB";
10const includeConfig: boolean = true;
11const includeNotificationCount: boolean = false;
12const result: GetCommentsForUserResponse = await getCommentsForUser(
13 userId,
14 tenantId,
15 urlId,
16 page,
17 undefined,
18 lastGenDate,
19 undefined,
20 fetchPageForCommentId,
21 includei10n,
22 false,
23 locale,
24 includeConfig,
25 includeNotificationCount,
26 false,
27 undefined
28);
29

Alan Adı Yapılandırması Ekle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
addDomainConfigParams AddDomainConfigParams Evet

Yanıt

Döndürür: AddDomainConfig200Response


Alan Adı Yapılandırmasını Sil Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
domain string Evet

Yanıt

Döndürür: DeleteDomainConfig200Response


Alan Adı Yapılandırmasını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
domain string Evet

Yanıt

Döndürür: GetDomainConfig200Response

Alan Adı Yapılandırmalarını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet

Yanıt

Döndürür: GetDomainConfigs200Response

Alan Adı Yapılandırmasını Kısmen Güncelle Internal Link


Parametreler

İsim Tür Gerekli Açıklama
tenantId string Evet
domainToUpdate string Evet
patchDomainConfigParams PatchDomainConfigParams Evet

Yanıt

Döndürür: GetDomainConfig200Response


Alan Adı Yapılandırmasını Değiştir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
domainToUpdate string Evet
updateDomainConfigParams UpdateDomainConfigParams Evet

Yanıt

Döndürür: GetDomainConfig200Response


E-posta Şablonu Oluştur Internal Link

Parametreler

Name Type Gerekli Açıklama
tenantId string Evet
createEmailTemplateBody CreateEmailTemplateBody Evet

Yanıt

Döndürür: CreateEmailTemplate200Response

Örnek

createEmailTemplate Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_9f4a2b';
4 const createEmailTemplateBody: CreateEmailTemplateBody = {
5 name: 'Weekly Digest',
6 subject: 'Your weekly discussion highlights',
7 html: '<!doctype html><body><h1>Hello {{user.name}}</h1><p>Top comments this week...</p></body>',
8 fromAddress: 'no-reply@fastcomments-example.com',
9 replyTo: 'moderation@fastcomments-example.com',
10 isDefault: false
11 };
12 const result: CreateEmailTemplate200Response = await createEmailTemplate(tenantId, createEmailTemplateBody);
13 console.log(result);
14})();
15

E-posta Şablonunu Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-42";
3const idSuffix: string | undefined = "-archived";
4const templateId: string = "email_tmpl_6a1b2c" + (idSuffix ?? "");
5const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, templateId);
6

E-posta Şablonu Oluşturma Hatasını Sil Internal Link

Parametreler

Ad Type Gerekli Açıklama
tenantId string Evet
id string Evet
errorId string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteEmailTemplateRenderError Örneği
Copy Copy
1
2const tenantId: string = "tenant_7a1d2f9b";
3const id: string = "email_template_42b1";
4const errorId: string = "render_err_2026-04-24_7f3c";
5const includeStackTrace: boolean | undefined = undefined; // isteğe bağlı bir bayrak örneği
6
7const response: FlagCommentPublic200Response = await deleteEmailTemplateRenderError(tenantId, id, errorId);
8// Eğer isteğe bağlı bir seçenek nesnesi desteklenseydi şöyle görünebilirdi:
9// await deleteEmailTemplateRenderError(tenantId, id, errorId /*, { includeStackTrace } */);
10

E-posta Şablonunu Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetEmailTemplate200Response

Örnek

getEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "acme-marketing-042";
3const templateId: string = "tpl_welcome_2026";
4const result: GetEmailTemplate200Response = await getEmailTemplate(tenantId, templateId);
5const template: CustomEmailTemplate | undefined = result.template;
6const subject: string | undefined = template?.subject;
7const customParams: CustomConfigParameters | undefined = template?.customConfigParameters;
8

E-posta Şablonu Tanımlarını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet

Dönüş

Dönüş: GetEmailTemplateDefinitions200Response

Örnek

getEmailTemplateDefinitions Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_eu_01';
3const templates: GetEmailTemplateDefinitions200Response = await getEmailTemplateDefinitions(tenantId);
4console.log('Email template definitions loaded for', tenantId, templates);
5

E-posta Şablonu Oluşturma Hatalarını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet
skip number Hayır

Yanıt

Döndürür: GetEmailTemplateRenderErrors200Response

Örnek

getEmailTemplateRenderErrors Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-tenant-42';
4 const id: string = 'tmpl_3fa85f64-5717-4562-b3fc-2c963f66afa6';
5 const skip: number = 20;
6 const result: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id, skip);
7 console.log(result);
8})();
9

E-posta Şablonlarını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
skip number Hayır

Yanıt

Döndürür: GetEmailTemplates200Response

Örnek

getEmailTemplates Örneği
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = 'tenant_5f3a9c2b';
4 const templates: GetEmailTemplates200Response = await getEmailTemplates(tenantId);
5 const skip: number = 20;
6 const pagedTemplates: GetEmailTemplates200Response = await getEmailTemplates(tenantId, skip);
7 console.log(templates, pagedTemplates);
8}
9main();
10

E-posta Şablonunu Oluştur (Render) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
renderEmailTemplateBody RenderEmailTemplateBody Evet
locale string Hayır

Yanıt

Döndürür: RenderEmailTemplate200Response

Örnek

renderEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = 'tenant_b6f3c2';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'comment-notification',
5 recipient: { name: 'Ava Thompson', email: 'ava.thompson@publisher.com' },
6 context: {
7 siteName: 'City Gazette',
8 commentText: 'Thanks for the in-depth coverage — very helpful.',
9 articleTitle: 'Downtown Redevelopment Plan Advances',
10 threadUrl: 'https://citygazette.example/articles/2026/redevelopment#comments'
11 }
12};
13const locale: string = 'en-US';
14const result: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
15

E-posta Şablonunu Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateEmailTemplateBody UpdateEmailTemplateBody Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "tenant_76a4b2";
3const id: string = "template_9f3c1e";
4const updateEmailTemplateBody: UpdateEmailTemplateBody = {
5 name: "Comment Flag Notification",
6 subject: "A comment was flagged on your-site.com",
7 bodyHtml: "<p>Admin,</p><p>User {{commenterName}} flagged a comment: “{{commentText}}”</p>",
8 isEnabled: true,
9 description: "Email sent to moderators when a comment is flagged (optional field included)"
10};
11const result: FlagCommentPublic200Response = await updateEmailTemplate(tenantId, id, updateEmailTemplateBody);
12

Etkinlik Günlüğünü Getir Internal Link


req tenantId urlId userIdWS

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet
userIdWS string Evet
startTime number Evet
endTime number Evet

Yanıt

Döndürür: GetEventLog200Response

Örnek

getEventLog Örneği
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-01';
3const urlId: string = 'article-2026-03-25';
4const userIdWS: string | undefined = undefined; // isteğe bağlı üst akış değeri
5const startTime: number = Date.parse('2026-03-01T00:00:00Z');
6const endTime: number = Date.parse('2026-03-25T23:59:59Z');
7
8const eventLogResponse: GetEventLog200Response = await getEventLog(
9 tenantId,
10 urlId,
11 userIdWS ?? 'ws_user_8b1f',
12 startTime,
13 endTime
14);
15

Genel Etkinlik Günlüğünü Getir Internal Link

req tenantId urlId userIdWS

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet
userIdWS string Evet
startTime number Evet
endTime number Evet

Yanıt

Döndürür: GetEventLog200Response

Örnek

getGlobalEventLog Örneği
Copy Copy
1
2const tenantId: string = "tenant-84b2f1";
3const urlId: string = "article-6721";
4const userIdWS: string = "ws-conn-9a3c";
5const startTime: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // 7 gün önce
6const endTimeOptional: number | undefined = undefined; // isteğe bağlı zaman aralığı sonu
7const endTime: number = endTimeOptional ?? Date.now();
8const eventLog: GetEventLog200Response = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
9

Akış Gönderisi Oluştur Internal Link

Parametreler

Name Tür Gerekli Açıklama
tenantId string Evet
createFeedPostParams CreateFeedPostParams Evet
broadcastId string Hayır
isLive boolean Hayır
doSpamCheck boolean Hayır
skipDupCheck boolean Hayır

Yanıt

Döndürür: CreateFeedPost200Response

Örnek

createFeedPost Örneği
Copy Copy
1
2const tenantId: string = 'tenant_87f3b2';
3const mediaAsset: FeedPostMediaItemAsset = { url: 'https://cdn.example.com/images/post-123.jpg', mimeType: 'image/jpeg', width: 1200, height: 800, size: 245000 };
4const mediaItem: FeedPostMediaItem = { id: 'media_1', type: 'image', assets: [mediaAsset], altText: 'Conference keynote stage' };
5const link: FeedPostLink = { url: 'https://news.example.com/keynote-recap', title: 'Keynote recap' };
6const createFeedPostParams: CreateFeedPostParams = {
7 title: 'Product Launch Highlights',
8 content: 'Highlights from today’s product launch and roadmap updates.',
9 authorId: 'user_42',
10 mediaItems: [mediaItem],
11 links: [link],
12 tags: ['product', 'launch', 'announcement']
13};
14const broadcastId: string = 'broadcast_20260424';
15const isLive: boolean = true;
16const doSpamCheck: boolean = true;
17const skipDupCheck: boolean = false;
18const result: CreateFeedPost200Response = await createFeedPost(tenantId, createFeedPostParams, broadcastId, isLive, doSpamCheck, skipDupCheck);
19

Akış Gönderisi Oluştur (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createFeedPostParams CreateFeedPostParams Evet
broadcastId string Hayır
sso string Hayır

Yanıt

Döndürür: CreateFeedPostPublic200Response

Örnek

createFeedPostPublic Örneği
Copy Copy
1
2const tenantId: string = "tenant_987654321";
3const asset: FeedPostMediaItemAsset = { url: "https://cdn.fastcomments.com/uploads/team-photo.jpg", mimeType: "image/jpeg", sizeBytes: 324512 };
4const mediaItem: FeedPostMediaItem = { type: "image", assets: [asset], caption: "Team launch day" };
5const link: FeedPostLink = { url: "https://www.example.com/blog/product-update-march-2026", title: "Product update — March 2026" };
6const createFeedPostParams: CreateFeedPostParams = {
7 title: "Product update — March 2026",
8 content: "<p>We shipped performance improvements and two new integrations.</p>",
9 media: [mediaItem],
10 link,
11 visibility: "public",
12 tags: ["product","release","march-2026"],
13 customConfig: { allowComments: true, requireTOS: false }
14};
15const broadcastId: string = "broadcast_2026_03_25_live";
16const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NSIsImlhdCI6MTY5MDI0MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
17const result: CreateFeedPostPublic200Response = await createFeedPostPublic(tenantId, createFeedPostParams, broadcastId, sso);
18

Akış Gönderisini Sil (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
postId string Evet
broadcastId string Hayır
sso string Hayır

Yanıt

Döndürür: DeleteFeedPostPublic200Response

Örnek

deleteFeedPostPublic Örneği
Copy Copy
1
2const tenantId: string = "tenant_5f8a9b3c";
3const postId: string = "post_a1b2c3d4";
4const broadcastId: string = "broadcast_2026-03-25T10:00:00Z";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIiwiaWF0IjoxNjE5MjM5MjAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6
7const resultWithOptional: DeleteFeedPostPublic200Response = await deleteFeedPostPublic(tenantId, postId, broadcastId, sso);
8const resultRequiredOnly: DeleteFeedPostPublic200Response = await deleteFeedPostPublic(tenantId, postId);
9

Akış Gönderilerini Getir Internal Link

req tenantId afterId

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
afterId string Hayır
limit number Hayır
tags Array Hayır

Yanıt

Döndürür: GetFeedPosts200Response

Örnek

getFeedPosts Örneği
Copy Copy
1
2const initialPage: GetFeedPosts200Response = await getFeedPosts('tenant_9f1b3d', undefined, 20, ['sports', 'local']);
3const nextPage: GetFeedPosts200Response = await getFeedPosts('tenant_9f1b3d', 'post_abc123', 20, ['sports', 'local']);
4

Akış Gönderilerini Getir (Herkese Açık) Internal Link

req tenantId afterId

Parametreler

İsim Tür Gerekli Açıklama
tenantId string Evet
afterId string Hayır
limit number Hayır
tags Array Hayır
sso string Hayır
isCrawler boolean Hayır
includeUserInfo boolean Hayır

Yanıt

Döndürür: GetFeedPostsPublic200Response

Örnek

getFeedPostsPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const afterId: string = 'fp_20260301_042';
4const limit: number = 25;
5const tags: Array<string> = ['technology', 'announcement'];
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiamRvZSJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
7const isCrawler: boolean = false;
8const includeUserInfo: boolean = true;
9const response: GetFeedPostsPublic200Response = await getFeedPostsPublic(tenantId, afterId, limit, tags, sso, isCrawler, includeUserInfo);
10

Akış Gönderileri İstatistiklerini Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
postIds Array Evet
sso string Hayır

Yanıt

Döndürür: GetFeedPostsStats200Response

Örnek

getFeedPostsStats Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9b2f1c4a';
3const postIds: Array<string> = [
4 '8f14e45f-ea82-4c7a-b6b2-1a2b3c4d5e6f',
5 'd0e1f2a3-b4c5-6d7e-8f90-1234567890ab'
6];
7const sso: string = 'sso_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.signature';
8const statsWithoutSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds);
9const statsWithSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds, sso);
10

Kullanıcı Tepkilerini Getir (Herkese Açık) Internal Link

Parametreler

Name Type Required Description
tenantId string Yes
postIds Array No
sso string No

Yanıt

Döndürür: GetUserReactsPublic200Response

Örnek

getUserReactsPublic Örneği
Copy Copy
1
2const tenantId: string = "acme-tenant-8a4d2c";
3const postIds: string[] = ["post-645a2f", "post-645a30"];
4const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsImlhdCI6MTY2MTYwMDAwMH0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
5const result: GetUserReactsPublic200Response = await getUserReactsPublic(tenantId, postIds, sso);
6

Akış Gönderisine Tepki Ver (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
postId string Evet
reactBodyParams ReactBodyParams Evet
isUndo boolean Hayır
broadcastId string Hayır
urlId string Hayır
sso string Hayır

Yanıt

Döndürür: ReactFeedPostPublic200Response

Örnek

reactFeedPostPublic Örneği
Copy Copy
1
2const tenantId: string = 'tenant_84f2b1';
3const postId: string = 'post_12ac9e';
4const reactBodyParams: ReactBodyParams = { emoji: 'thumbs_up', intensity: 1 };
5const isUndo: boolean = false;
6const broadcastId: string = 'broadcast_20260503_01';
7const urlId: string = 'article-4527';
8const sso: string = 'sso_token_7f3b2c';
9
10const result: ReactFeedPostPublic200Response = await reactFeedPostPublic(tenantId, postId, reactBodyParams, isUndo, broadcastId, urlId, sso);
11

Akış Gönderisini Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
feedPost FeedPost Evet

Yanıt

Dönüş Değeri: FlagCommentPublic200Response

Örnek

updateFeedPost Örneği
Copy Copy
1
2const tenantId: string = 'acme-global-tenant-42';
3const id: string = 'f47ac10b-58cc-4372-a567-0e02b2c3d479';
4
5const asset: FeedPostMediaItemAsset = {
6 url: 'https://cdn.acme.com/images/product-launch.jpg',
7 mimeType: 'image/jpeg',
8 width: 1200,
9 height: 630
10};
11
12const mediaItem: FeedPostMediaItem = {
13 id: 'media-001',
14 type: 'image',
15 asset
16};
17
18const link: FeedPostLink = {
19 url: 'https://acme.com/blog/product-launch',
20 title: 'Product Launch Details'
21};
22
23const feedPost: FeedPost = {
24 title: 'Introducing the Q3 Product Suite',
25 body: 'We are excited to unveil our new lineup for Q3, focusing on performance and security improvements.',
26 media: [mediaItem], // isteğe bağlı dizi dahil edildi
27 links: [link], // isteğe bağlı bağlantılar dahil edildi
28 isPublished: true // burada kullanılan isteğe bağlı yayınlama bayrağı
29};
30
31const result: FlagCommentPublic200Response = await updateFeedPost(tenantId, id, feedPost);
32

Akış Gönderisini Güncelle (Herkese Açık) Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
postId string Evet
updateFeedPostParams UpdateFeedPostParams Evet
broadcastId string Hayır
sso string Hayır

Yanıt

Döndürür: CreateFeedPostPublic200Response

Örnek

updateFeedPostPublic Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f4b2";
3const postId: string = "post_21a8e";
4const updateFeedPostParams: UpdateFeedPostParams = {
5 title: "Quarterly product update",
6 body: "Major performance improvements and bug fixes deployed today. See release notes and schedule.",
7 links: [{ url: "https://status.example.com/release-notes", title: "Release notes" }],
8 media: [
9 {
10 type: "image",
11 assets: [{ url: "https://cdn.example.com/updates/q2.png", mimeType: "image/png", width: 1200, height: 628 }]
12 }
13 ]
14};
15const broadcastId: string = "broadcast_live_202603";
16const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.signature";
17const result: CreateFeedPostPublic200Response = await updateFeedPostPublic(tenantId, postId, updateFeedPostParams, broadcastId, sso);
18

Yorumu Bildir (Herkese Açık) Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
isFlagged boolean Evet
sso string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

flagCommentPublic Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f8b3c";
3const commentId: string = "comment_72a1d4";
4const isFlagged: boolean = true;
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1Njc4OSJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6const result: FlagCommentPublic200Response = await flagCommentPublic(tenantId, commentId, isFlagged, sso);
7

Büyük GIF Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
largeInternalURLSanitized string Evet

Yanıt

Döndürür: GifGetLargeResponse

Örnek

getGifLarge Örneği
Copy Copy
1
2const tenantId: string = 'acme_marketing_tenant_7';
3const largeInternalURLSanitized: string = 'https://cdn.acmeinc.com/gifs/promo-spring-2026_large_sanitized.gif';
4const includePreview: boolean | undefined = undefined; // çağıranın kullanabileceği isteğe bağlı bayrak
5const result: GifGetLargeResponse = await getGifLarge(tenantId, largeInternalURLSanitized);
6console.log(result, includePreview);
7

GIF'leri Ara Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
search string Evet
locale string Hayır
rating string Hayır
page number Hayır

Yanıt

Döndürür: GifSearchResponse

Örnek

getGifsSearch Örneği
Copy Copy
1
2const tenantId: string = "tenant_fcm_42";
3const search: string = "funny golden retriever";
4const locale: string = "en-US";
5const rating: string = "pg";
6const page: number = 2;
7const result: GifSearchResponse = await getGifsSearch(tenantId, search, locale, rating, page);
8

Popüler GIF'leri Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
locale string Hayır
rating string Hayır
page number Hayır

Yanıt

Döndürür: GifSearchResponse

Örnek

getGifsTrending Örnek
Copy Copy
1
2const tenantId: string = "acme-tenant-01";
3const trendingBasic: GifSearchResponse = await getGifsTrending(tenantId);
4
5const locale: string = "en-GB";
6const rating: string = "pg";
7const page: number = 1;
8const trendingWithOptions: GifSearchResponse = await getGifsTrending(tenantId, locale, rating, page);
9

Etiket Ekle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Hayır
createHashTagBody CreateHashTagBody Hayır

Yanıt

Döner: AddHashTag200Response

Örnek

addHashTag Örneği
Copy Copy
1
2const tenantId: string | undefined = undefined;
3const createHashTagBody: CreateHashTagBody = {
4 name: 'release-2026',
5 description: 'Feedback and bug reports for the April 2026 product release',
6 synonyms: ['v2-release', 'launch-2026'],
7 color: '#1d72b8',
8 isActive: true,
9 createdBy: 'product.manager@acme-corp.com'
10};
11const result: AddHashTag200Response = await addHashTag(tenantId, createHashTagBody);
12

Etiketleri Toplu Ekle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Hayır
bulkCreateHashTagsBody BulkCreateHashTagsBody Hayır

Yanıt

Döndürür: AddHashTagsBulk200Response

Örnek

addHashTagsBulk Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_corp_01';
3const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
4 tags: [
5 { name: 'feature-request', slug: 'feature-request', description: 'Requests for new capabilities', isActive: true, customConfig: { visibility: 'public' } as unknown as CustomConfigParameters }
6 ]
7};
8const addHashTagsResponse: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
9
10const bulkCreateHashTagsBodyNoTenant: BulkCreateHashTagsBody = {
11 tags: [
12 { name: 'ux-feedback', slug: 'ux-feedback', description: 'User experience suggestions', isActive: true }
13 ]
14};
15const addHashTagsResponseNoTenant: AddHashTagsBulk200Response = await addHashTagsBulk(undefined, bulkCreateHashTagsBodyNoTenant);
16

Etiketi Sil Internal Link

Parametreler

Ad Tür Zorunlu Açıklama
tag string Evet
tenantId string Hayır
deleteHashTagRequest DeleteHashTagRequest Hayır

Response

Döndürür: FlagCommentPublic200Response

Örnek

deleteHashTag Örneği
Copy Copy
1
2const tag: string = "spring-sale-2026";
3const tenantId: string = "tenant-9876";
4const deleteHashTagRequest: DeleteHashTagRequest = {
5 requestedBy: "admin@retailco.com",
6 reason: "Campaign ended; remove associated auto-tags",
7 cascadeDelete: true
8};
9const result: FlagCommentPublic200Response = await deleteHashTag(tag, tenantId, deleteHashTagRequest);
10

Etiketleri Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
page number Hayır

Yanıt

Döndürür: GetHashTags200Response

Örnek

getHashTags Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-42';
3const pageNumber: number = 2;
4const responseWithPage: GetHashTags200Response = await getHashTags(tenantId, pageNumber);
5const responseWithoutPage: GetHashTags200Response = await getHashTags(tenantId);
6

Etiketi Kısmen Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tag string Evet
tenantId string Hayır
updateHashTagBody UpdateHashTagBody Hayır

Yanıt

Döndürür: PatchHashTag200Response

Örnek

patchHashTag Örneği
Copy Copy
1
2const tag: string = "feature-ux-refresh";
3const tenantId: string = "tenant_4f92c1";
4const updateHashTagBody: UpdateHashTagBody = {
5 label: "UX Refresh",
6 description: "Track comments related to the 2026 UX redesign",
7 isActive: true,
8 metadata: { owner: "product-design", rolloutPhase: "phase-2" }
9};
10const response: PatchHashTag200Response = await patchHashTag(tag, tenantId, updateHashTagBody);
11

Moderatör Oluştur Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createModeratorBody CreateModeratorBody Evet

Yanıt

Döndürür: CreateModerator200Response

Örnek

createModerator Örneği
Copy Copy
1
2const tenantId: string = "tenant_8f3b6c";
3const optionalConfig: CustomConfigParameters = { moderationThreshold: 5, escalateOnRepeatedOffenses: true };
4const newModerator: CreateModeratorBody = {
5 email: "lina.gomez@dailynews.com",
6 fullName: "Lina Gomez",
7 role: "senior_moderator",
8 enabled: true,
9 notifyByEmail: true,
10 customConfig: optionalConfig
11};
12const response: CreateModerator200Response = await createModerator(tenantId, newModerator);
13

Moderatörü Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
sendEmail string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteModerator Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9f8b7c6d';
3const id: string = 'mod_4a3e11ec9d1f0242ac120003';
4const sendEmail: string = 'true';
5const result: FlagCommentPublic200Response = await deleteModerator(tenantId, id, sendEmail);
6

Moderatörü Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetModerator200Response

Örnek

getModerator Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-123';
3const id: string = 'mod-987654321';
4const moderatorResponse: GetModerator200Response = await getModerator(tenantId, id);
5

Moderatörleri Getir Internal Link

Parametreler

Ad Type Gerekli Açıklama
tenantId string Evet
skip number Hayır

Yanıt

Döndürür: GetModerators200Response

Örnek

getModerators Örneği
Copy Copy
1
2const tenantId: string = 'tenant-12345-prod';
3const moderatorsPage1: GetModerators200Response = await getModerators(tenantId);
4const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, 50);
5

Davetiye Gönder Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
fromName string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

sendInvite Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme-42';
3const id: string = 'comment_8f3b21a7';
4const fromName: string = 'Elena Morales';
5const replyToEmail: string | undefined = undefined;
6
7const result: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName, replyToEmail);
8

Moderatörü Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateModeratorBody UpdateModeratorBody Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateModerator Örneği
Copy Copy
1
2const tenantId: string = "acme-enterprises-42";
3const id: string = "moderator_517";
4const updateModeratorBody: UpdateModeratorBody = {
5 displayName: "Sofia Martinez",
6 email: "sofia.martinez@acme.com",
7 permissions: ["approve_comments", "flag_spam", "suspend_users"],
8 active: true,
9 avatarUrl: "https://cdn.acme.com/avatars/sofia.jpg" // isteğe bağlı alan örneği
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBody);
12

Bildirim Sayısını Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteNotificationCount Örneği
Copy Copy
1
2const tenantId: string = "org-72a8f1b9";
3const id: string = "notif-8f9c2e4a";
4const result: FlagCommentPublic200Response = await deleteNotificationCount(tenantId, id);
5console.log(result);
6

Önbelleğe Alınmış Bildirim Sayısını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetCachedNotificationCount200Response

Örnek

getCachedNotificationCount Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const id: string = 'user_00012345';
4const includeUnreadOnly: boolean | undefined = true; // isteğe bağlı parametre bayrağı (örnek olarak gösterildi)
5const result: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, id);
6

Bildirim Sayısını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
userId string Hayır
urlId string Hayır
fromCommentId string Hayır
viewed boolean Hayır
type string Hayır

Yanıt

Döndürür: GetNotificationCount200Response

Örnek

getNotificationCount Örneği
Copy Copy
1
2const tenantId: string = 'tenant_abc123';
3const userId: string = 'user_987654321';
4const urlId: string = 'https://example.com/news/2026/new-features';
5const viewed: boolean = false;
6const type: string = 'reply';
7const notificationCountResponse: GetNotificationCount200Response = await getNotificationCount(tenantId, userId, urlId, undefined, viewed, type);
8

Bildirimleri Getir Internal Link

Parametreler

İsim Tür Gerekli Açıklama
tenantId string Evet
userId string Hayır
urlId string Hayır
fromCommentId string Hayır
viewed boolean Hayır
type string Hayır
skip number Hayır

Yanıt

Döndürür: GetNotifications200Response

Örnek

getNotifications Örneği
Copy Copy
1
2const tenantId: string = "tenant_84b3f2";
3const userId: string = "user_1279";
4const urlId: string = "https://www.example.com/articles/2026/03/25/new-feature";
5const fromCommentId: string = "cmt_5421";
6const viewed: boolean = false;
7const type: string = "mention";
8const skip: number = 0;
9const notifications: GetNotifications200Response = await getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip);
10

Bildirim Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateNotificationBody UpdateNotificationBody Evet
userId string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateNotification Örneği
Copy Copy
1
2const tenantId: string = 'tenant_prod_8f4b2c';
3const id: string = 'notification_61a2e9';
4const userId: string = 'moderator_107';
5const updateNotificationBody: UpdateNotificationBody = {
6 name: 'Flagged Comment Notification',
7 enabled: true,
8 channels: ['email', 'inbox'],
9 templateId: 'tmpl_mod_alerts_01',
10 severity: 'high'
11};
12const result: FlagCommentPublic200Response = await updateNotification(tenantId, id, updateNotificationBody, userId);
13

Sayfa Ekle Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createAPIPageData CreateAPIPageData Evet

Yanıt

Döndürür: AddPageAPIResponse


Sayfayı Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: DeletePageAPIResponse

URL Kimliğine Göre Sayfayı Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet

Yanıt

Döndürür: GetPageByURLIdAPIResponse


Sayfaları Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet

Yanıt

Döndürür: GetPagesAPIResponse


Sayfayı Kısmen Güncelle Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateAPIPageData UpdateAPIPageData Evet

Yanıt

Döndürür: PatchPageAPIResponse


Bekleyen Webhook Olayını Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Dönen değer: FlagCommentPublic200Response

Örnek

deletePendingWebhookEvent Örneği
Copy Copy
1
2const tenantId: string = "tenant_7f3b2a";
3const webhookEventId: string = "wh_evt_9a8c7d1234";
4const dryRun: boolean | undefined = undefined; // isteğe bağlı bayrak örneği (bu çağrı için gerekli değil)
5const result: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, webhookEventId);
6

Bekleyen Webhook Olay Sayısını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
commentId string Hayır
externalId string Hayır
eventType string Hayır
type string Hayır
domain string Hayır
attemptCountGT number Hayır

Yanıt

Döndürür: GetPendingWebhookEventCount200Response

Örnek

getPendingWebhookEventCount Örneği
Copy Copy
1
2const tenantId: string = "tenant_8d3b7a2f";
3const commentId: string | undefined = "comment_79a2b";
4const eventType: string | undefined = "comment.created";
5const domain: string | undefined = "forum.acme-corp.com";
6const attemptCountGT: number | undefined = 1;
7const result: GetPendingWebhookEventCount200Response = await getPendingWebhookEventCount(
8 tenantId,
9 commentId,
10 undefined,
11 eventType,
12 undefined,
13 domain,
14 attemptCountGT
15);
16

Bekleyen Webhook Olaylarını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Hayır
externalId string Hayır
eventType string Hayır
type string Hayır
domain string Hayır
attemptCountGT number Hayır
skip number Hayır

Yanıt

Döndürür: GetPendingWebhookEvents200Response

Örnek

getPendingWebhookEvents Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9b3f7c';
3const commentId: string | undefined = undefined;
4const externalId: string | undefined = 'external-572a';
5const eventType: string | undefined = 'comment.updated';
6const type: string | undefined = 'outbound';
7const domain: string | undefined = 'reviews.example.com';
8const attemptCountGT: number | undefined = 1;
9const skip: number | undefined = 20;
10
11const result: GetPendingWebhookEvents200Response = await getPendingWebhookEvents(
12 tenantId,
13 commentId,
14 externalId,
15 eventType,
16 type,
17 domain,
18 attemptCountGT,
19 skip
20);
21

Soru Yapılandırması Oluştur Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createQuestionConfigBody CreateQuestionConfigBody Evet

Yanıt

Döndürür: CreateQuestionConfig200Response

Örnek

createQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_01";
3const createQuestionConfigBody: CreateQuestionConfigBody = {
4 title: "Post-purchase feedback",
5 description: "Quick survey about your recent order",
6 required: true,
7 renderingType: "single_choice",
8 options: [
9 { label: "Very dissatisfied", value: "1" },
10 { label: "Dissatisfied", value: "2" },
11 { label: "Neutral", value: "3" },
12 { label: "Satisfied", value: "4" },
13 { label: "Very satisfied", value: "5" }
14 ] as QuestionConfigCustomOptionsInner[]
15} as CreateQuestionConfigBody;
16const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
17

Soru Yapılandırmasını Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = "tenant_42fa9b7c";
3const id: string = "qcfg-0f8fad5b-d9cb-469f-a165-70867728950e";
4const result: FlagCommentPublic200Response = await deleteQuestionConfig(tenantId, id);
5

Soru Yapılandırmasını Getir Internal Link

Parametreler

Ad Tür Zorunlu Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetQuestionConfig200Response

Örnek

getQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-92';
3const id: string = 'question-2026-07-42';
4const response: GetQuestionConfig200Response = await getQuestionConfig(tenantId, id);
5
6function summarize(cfg: GetQuestionConfig200Response, includeDetails?: boolean): string {
7 return includeDetails ? 'Question config (detailed)' : 'Question config (summary)';
8}
9
10const summary: string = summarize(response);
11

Soru Yapılandırmalarını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
skip number Hayır

Yanıt

Döndürür: GetQuestionConfigs200Response

Örnek

getQuestionConfigs Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_9876";
3const configsWithoutSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const configsWithSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, 20);
5

Soru Yapılandırmasını Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateQuestionConfigBody UpdateQuestionConfigBody Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = 'tenant_42e8b';
3const id: string = 'question_9f4a2';
4const updateQuestionConfigBody: UpdateQuestionConfigBody = {
5 questionText: 'How helpful was this article?',
6 description: 'Shown to users below the question (optional)',
7 required: true,
8 renderingType: 'Likert' as QuestionRenderingType,
9 customOptions: [
10 { label: 'Very helpful', value: '5' } as QuestionConfigCustomOptionsInner,
11 { label: 'Somewhat helpful', value: '3' } as QuestionConfigCustomOptionsInner,
12 { label: 'Not helpful', value: '1' } as QuestionConfigCustomOptionsInner
13 ],
14 whenSave: 'notify' as QuestionWhenSave
15};
16const result: FlagCommentPublic200Response = await updateQuestionConfig(tenantId, id, updateQuestionConfigBody);
17

Soru Sonucu Oluştur Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createQuestionResultBody CreateQuestionResultBody Evet

Yanıt

Döndürür: CreateQuestionResult200Response

Örnek

createQuestionResult Örneği
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-01';
3const createQuestionResultBody: CreateQuestionResultBody = {
4 questionId: 'q-34567',
5 respondentId: 'user-8923',
6 answers: [{ optionId: 'opt_A', text: 'Agree', count: 1 }],
7 score: 5,
8 meta: [{ key: 'platform', value: 'web' }],
9 notifyModerators: false // isteğe bağlı parametre
10} as CreateQuestionResultBody;
11const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, createQuestionResultBody);
12

Soru Sonucunu Sil Internal Link

Parametreler

Ad Tip Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteQuestionResult Örneği
Copy Copy
1
2const tenantIdEnv: string | undefined = process.env.FASTCOMMENTS_TENANT_ID;
3const tenantId: string = tenantIdEnv ?? 'tenant_78b3f2';
4const id: string = 'qres-9f2a3b1c';
5const response: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, id);
6

Soru Sonucunu Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetQuestionResult200Response

Örnek

getQuestionResult Örneği
Copy Copy
1
2const post: { title: string; questionId?: string } = { title: 'Product feedback' };
3const tenantId: string = 'acme-corp-tenant-01';
4const id: string = post.questionId ?? 'q-8f3a7b2c4d9e';
5const result: GetQuestionResult200Response = await getQuestionResult(tenantId, id);
6

Soru Sonuçlarını Getir Internal Link

Parametreler

Name Tür Gerekli Açıklama
tenantId string Evet
urlId string Hayır
userId string Hayır
startDate string Hayır
questionId string Hayır
questionIds string Hayır
skip number Hayır

Yanıt

Döndürür: GetQuestionResults200Response

Örnek

getQuestionResults Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_001";
3const urlId: string = "articles/product-launch-2026";
4const userId: string = "user_2048";
5const startDate: string = "2026-03-01T00:00:00Z";
6const questionId: string | undefined = undefined;
7const questionIds: string | undefined = "q_101,q_102";
8const skip: number | undefined = 0;
9
10const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip);
11

Soru Sonucunu Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateQuestionResultBody UpdateQuestionResultBody Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateQuestionResult Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f8b3c';
3const id: string = 'questionResult_4621';
4const updateQuestionResultBody: UpdateQuestionResultBody = {
5 questionId: 'q_1024',
6 result: 'flagged',
7 score: 0.92,
8 notes: 'Automated moderation flagged for review',
9 meta: [{ key: 'source', value: 'ai-moderator' }] as MetaItem[], // isteğe bağlı meta veri
10 status: { code: 'review_pending' } as APIStatus
11} as UpdateQuestionResultBody;
12const result: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
13

Soru Sonuçlarını Topla Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
questionId string Hayır
questionIds Array Hayır
urlId string Hayır
timeBucket AggregateTimeBucket Hayır
startDate Date Hayır
forceRecalculate boolean Hayır

Yanıt

Döndürür: AggregateQuestionResults200Response

Örnek

aggregateQuestionResults Örnek
Copy Copy
1
2const tenantId: string = "tenant_acme_001";
3const questionIds: string[] = ["q-2026-sales", "q-2026-support"];
4const urlId: string = "url_7f2c";
5const timeBucket: AggregateTimeBucket = { unit: "week", size: 1 };
6const startDate: Date = new Date("2026-01-01T00:00:00Z");
7const forceRecalculate: boolean = true;
8
9const result: AggregateQuestionResults200Response = await aggregateQuestionResults(
10 tenantId,
11 undefined,
12 questionIds,
13 urlId,
14 timeBucket,
15 startDate,
16 forceRecalculate
17);
18

Soru Sonuçlarını Toplu Toplama Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
bulkAggregateQuestionResultsRequest BulkAggregateQuestionResultsRequest Evet
forceRecalculate boolean Hayır

Yanıt

Döndürür: BulkAggregateQuestionResults200Response

Örnek

bulkAggregateQuestionResults Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_42";
3const bulkAggregateQuestionResultsRequest: BulkAggregateQuestionResultsRequest = {
4 questions: [
5 { questionId: "q-001", threadId: "thread-1001", questionType: "rating" },
6 { questionId: "q-002", threadId: "thread-1002", questionType: "yes_no" }
7 ],
8 timeRange: { from: "2026-03-01T00:00:00Z", to: "2026-04-01T00:00:00Z" },
9 groupBy: ["questionId", "threadId"]
10};
11const forceRecalculate: boolean = true;
12const result: BulkAggregateQuestionResults200Response = await bulkAggregateQuestionResults(tenantId, bulkAggregateQuestionResultsRequest, forceRecalculate);
13

Yorumları Soru Sonuçlarıyla Birleştir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
questionId string Hayır
questionIds Array Hayır
urlId string Hayır
startDate Date Hayır
forceRecalculate boolean Hayır
minValue number Hayır
maxValue number Hayır
limit number Hayır

Yanıt

Döndürür: CombineCommentsWithQuestionResults200Response

Örnek

combineCommentsWithQuestionResults Örneği
Copy Copy
1
2const tenantId: string = 'tenant-acme-001';
3const questionId: string | undefined = 'q-analytics-42';
4const questionIds: string[] | undefined = ['q-analytics-42', 'q-feedback-17'];
5const urlId: string | undefined = 'url-987654';
6const startDate: Date | undefined = new Date('2026-01-01T00:00:00Z');
7const forceRecalculate: boolean | undefined = true;
8const minValue: number | undefined = 1;
9const maxValue: number | undefined = 5;
10const limit: number | undefined = 250;
11const result: CombineCommentsWithQuestionResults200Response = await combineCommentsWithQuestionResults(
12 tenantId,
13 questionId,
14 questionIds,
15 urlId,
16 startDate,
17 forceRecalculate,
18 minValue,
19 maxValue,
20 limit
21);
22

SSO Kullanıcısı Ekle Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createAPISSOUserData CreateAPISSOUserData Evet

Yanıt

Döndürür: AddSSOUserAPIResponse


SSO Kullanıcısını Sil Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
deleteComments boolean Hayır
commentDeleteMode string Hayır

Yanıt

Döndürür: DeleteSSOUserAPIResponse


E-postaya Göre SSO Kullanıcısını Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
email string Evet

Yanıt

Döndürür: GetSSOUserByEmailAPIResponse


Kimliğe Göre SSO Kullanıcısını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Dönüş: GetSSOUserByIdAPIResponse


SSO Kullanıcılarını Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
skip number Hayır

Yanıt

Döndürür: GetSSOUsers200Response


SSO Kullanıcısını Kısmen Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateAPISSOUserData UpdateAPISSOUserData Evet
updateComments boolean Hayır

Yanıt

Döndürür: PatchSSOUserAPIResponse


SSO Kullanıcısını Değiştir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateAPISSOUserData UpdateAPISSOUserData Evet
updateComments boolean Hayır

Yanıt

Döndürür: PutSSOUserAPIResponse


Abonelik Oluştur Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createAPIUserSubscriptionData CreateAPIUserSubscriptionData Evet

Yanıt

Döndürür: CreateSubscriptionAPIResponse

Örnek

createSubscription Örneği
Copy Copy
1
2const tenantId: string = "acme-corp-tenant-123";
3const createAPIUserSubscriptionData: CreateAPIUserSubscriptionData = {
4 userId: "user_98765",
5 planId: "pro_monthly",
6 paymentMethod: { type: "card", cardId: "card_abc123" },
7 autoRenew: true,
8 trialDays: 14, // isteğe bağlı parametre örneği
9 metadata: { campaign: "spring_launch" } // isteğe bağlı parametre örneği
10};
11const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, createAPIUserSubscriptionData);
12

Aboneliği Sil Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
userId string Hayır

Yanıt

Döndürür: DeleteSubscriptionAPIResponse


Abonelikleri Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
userId string Hayır

Yanıt

Döndürür: GetSubscriptionsAPIResponse

Örnek

getSubscriptions Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_corp_01';
3const userId: string = 'user_76a3b9f2';
4const subscriptionsForUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId, userId);
5const subscriptionsForTenant: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId);
6

Aboneliği Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateAPIUserSubscriptionData UpdateAPIUserSubscriptionData Evet
userId string Hayır

Yanıt

Döndürür: UpdateSubscriptionAPIResponse

Örnek

updateSubscription Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2c';
3const subscriptionId: string = 'sub_7641a2b3';
4const updateData: UpdateAPIUserSubscriptionData = {
5 status: 'active',
6 planId: 'pro_annual',
7 autoRenew: true,
8 renewalDate: '2026-04-15T00:00:00Z',
9 metadata: { upgradedBy: 'billing-team' }
10};
11const userId: string = 'user_215';
12const result: UpdateSubscriptionAPIResponse = await updateSubscription(tenantId, subscriptionId, updateData, userId);
13

Kiracı Günlük Kullanımlarını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
yearNumber number Hayır
monthNumber number Hayır
dayNumber number Hayır
skip number Hayır

Yanıt

Döndürür: GetTenantDailyUsages200Response

Örnek

getTenantDailyUsages Örneği
Copy Copy
1
2const tenantId: string = 'tenant_5f4a3b2c-1d6e-4f9a-b9d8-123456789abc';
3const yearNumber: number = 2026;
4const monthNumber: number = 3;
5const dayNumber: number = 24;
6const skip: number = 0;
7
8const result: GetTenantDailyUsages200Response = await getTenantDailyUsages(tenantId, yearNumber, monthNumber, dayNumber, skip);
9

Kiracı Paketi Oluştur Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
createTenantPackageBody CreateTenantPackageBody Evet

Yanıt

Döndürür: CreateTenantPackage200Response

Örnek

createTenantPackage Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme-corp_001";
3const createTenantPackageBody: CreateTenantPackageBody = {
4 name: "Acme Standard Package",
5 description: "Default package for Acme Corp comments with moderation and SSO enabled",
6 enabled: true,
7 maxCommentsPerThread: 500,
8 voteStyle: "thumbs",
9 gifRating: "PG-13",
10 tosConfig: { enabled: true, url: "https://acme.example.com/terms" } // isteğe bağlı parametre gösterimi
11};
12const result: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
13

Kiracı Paketini Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenantPackage Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_8f3a2b4c9d01";
4 const packageId: string = "pkg_2026-04-security-patch";
5 const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
6 console.log(result);
7})();
8

Kiracı Paketini Getir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetTenantPackage200Response

Örnek

getTenantPackage Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3b2c8';
3const packageId: string = 'pkg_standard_2026';
4const requestOptions: { includeConfig?: boolean } = { includeConfig: true };
5const packageResponse: GetTenantPackage200Response = await getTenantPackage(tenantId, packageId);
6

Kiracı Paketlerini Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
skip number Hayır

Yanıt

Döndürür: GetTenantPackages200Response

Örnek

getTenantPackages Örneği
Copy Copy
1
2const tenantId: string = "tenant_7f8e3b4c";
3const skip: number = 20;
4const packagesDefault: GetTenantPackages200Response = await getTenantPackages(tenantId);
5const packagesWithSkip: GetTenantPackages200Response = await getTenantPackages(tenantId, skip);
6

Kiracı Paketini Değiştir Internal Link


Parameters

Name Type Required Description
tenantId string Evet
id string Evet
replaceTenantPackageBody ReplaceTenantPackageBody Evet

Response

Döndürür: FlagCommentPublic200Response

Example

replaceTenantPackage Örneği
Copy Copy
1
2const tenantId: string = "tenant-9f3c2a";
3const id: string = "pkg_4f8b21";
4const replaceTenantPackageBody: ReplaceTenantPackageBody = {
5 packageName: "Premium Moderation Pack",
6 enabled: true,
7 apiStatus: { mode: "active" } as APIStatus,
8 customConfigParameters: { maxFlagsBeforeReview: 5 } as CustomConfigParameters,
9 voteStyle: "thumbs" as VoteStyle,
10 tosConfig: { requireAcceptance: true } as TOSConfig
11};
12const result: FlagCommentPublic200Response = await replaceTenantPackage(tenantId, id, replaceTenantPackageBody);
13

Kiracı Paketini Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateTenantPackageBody UpdateTenantPackageBody Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenantPackage Örneği
Copy Copy
1
2const tenantId: string = "tenant_3b7f9d-prod";
3const id: string = "pkg_enterprise_2026";
4const updateTenantPackageBody: UpdateTenantPackageBody = {
5 name: "Enterprise Plus",
6 isActive: true,
7 // isteğe bağlı alanlar kasıtlı olarak atlanmıştır (ör. description, limits)
8} as UpdateTenantPackageBody;
9const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, id, updateTenantPackageBody);
10

Kiracı Kullanıcısı Oluştur Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
createTenantUserBody CreateTenantUserBody Evet

Yanıt

Döndürür: CreateTenantUser200Response

Örnek

createTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_74b3a9f4b";
3const createTenantUserBody: CreateTenantUserBody = {
4 email: "jane.doe@acmecorp.com",
5 displayName: "Jane Doe",
6 role: "moderator",
7 sendWelcomeEmail: true, // isteğe bağlı parametre gösterildi
8 metadata: { department: "Customer Support" }
9};
10const result: CreateTenantUser200Response = await createTenantUser(tenantId, createTenantUserBody);
11

Kiracı Kullanıcısını Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
deleteComments string Hayır
commentDeleteMode string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenantUser Örneği
Copy Copy
1
2async function run(): Promise<void> {
3 const tenantId: string = "acme_corp_tenant_9f1a2b";
4 const id: string = "user_4d2a1b6c";
5 const deleteComments: string = "true"; // kullanıcının yorumlarını da sil
6 const commentDeleteMode: string = "permanent"; // "permanent" veya "soft"
7 const result: FlagCommentPublic200Response = await deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode);
8 console.log(result);
9}
10run();
11

Kiracı Kullanıcısını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetTenantUser200Response

Örnek

getTenantUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_fc5a9b2c';
3const userId: string = 'user_0a12b3';
4const result: GetTenantUser200Response = await getTenantUser(tenantId, userId);
5const user: User | undefined = (result as any).user; // yük (payload) erişimi
6const userEmail: string | undefined = user?.email;
7console.log('Fetched user email:', userEmail);
8

Kiracı Kullanıcılarını Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Yes
skip number No

Yanıt

Döndürür: GetTenantUsers200Response

Örnek

getTenantUsers Örneği
Copy Copy
1
2const tenantId: string = 'tenant_prod_8a3f2c';
3const skip: number = 50;
4const usersWithSkip: GetTenantUsers200Response = await getTenantUsers(tenantId, skip);
5const usersNoSkip: GetTenantUsers200Response = await getTenantUsers(tenantId);
6

Kiracı Kullanıcısını Değiştir Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
replaceTenantUserBody ReplaceTenantUserBody Evet
updateComments string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

replaceTenantUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9d8f4b2c';
3const id: string = 'user_f47ac10b';
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 externalId: 'ext-5234',
6 email: 'jane.doe@acme.com',
7 displayName: 'Jane Doe',
8 roles: ['moderator'],
9 metadata: { department: 'product', region: 'us-east-1' }
10};
11const updateComments: string = 'propagate-display-name-to-comments';
12
13const result: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
14

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
redirectURL string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

sendLoginLink Örneği
Copy Copy
1
2const tenantId: string = "tenant_12a9f3b7";
3const id: string = "user_84b2c7d1";
4const redirectURL: string = "https://app.mycompany.com/welcome?ref=login_email";
5const resultWithoutRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id);
6const resultWithRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id, redirectURL);
7

Kiracı Kullanıcısını Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
updateTenantUserBody UpdateTenantUserBody Evet
updateComments string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_8f3b2a9d";
3const id: string = "user_52c9f1ab";
4const updateTenantUserBody: UpdateTenantUserBody = {
5 email: "jane.doe@example.com",
6 displayName: "Jane Doe",
7 roles: ["moderator"],
8 isActive: true,
9 metadata: { signupSource: "sso", locale: "en-US" }
10};
11const updateComments: string = "Promoted to moderator and updated display name";
12const result: FlagCommentPublic200Response = await updateTenantUser(tenantId, id, updateTenantUserBody, updateComments);
13

Kiracı Oluştur Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
createTenantBody CreateTenantBody Evet

Yanıt

Döndürür: CreateTenant200Response

Örnek

createTenant Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-001';
3const createTenantBody: CreateTenantBody = {
4 name: 'Acme Corporation',
5 domainConfiguration: { primaryDomain: 'comments.acme.com', enforceHttps: true } as APIDomainConfiguration,
6 billingInfo: { planId: 'enterprise', contactEmail: 'billing@acme.com' } as BillingInfo
7 // ssoConfig veya customConfig gibi isteğe bağlı alanlar kasıtlı olarak atlanmıştır
8} as CreateTenantBody;
9
10const result: CreateTenant200Response = await createTenant(tenantId, createTenantBody);
11

Kiracıyı Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
sure string Hayır

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenant Örneği
Copy Copy
1
2const tenantId: string = 'tenant_42c9f1';
3const id: string = 'flag_9a7b3c';
4const sure: string = 'confirm-delete';
5const result: FlagCommentPublic200Response = await deleteTenant(tenantId, id, sure);
6

Kiracıyı Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetTenant200Response

Örnek

getTenant Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f4b2c1a";
3const idOverride: string | undefined = undefined; // isteğe bağlı geçersiz kılma, mevcutsa
4const id: string = idOverride ?? "site_3e7a6b2f";
5const response: GetTenant200Response = await getTenant(tenantId, id);
6console.log(response);
7

Kiracıları Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
meta string Hayır
skip number Hayır

Yanıt

Döndürür: GetTenants200Response

Örnek

getTenants Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8421e7';
3const meta: string = 'include=domains,billing,customConfig';
4const skip: number = 20;
5
6const tenantsBasic: GetTenants200Response = await getTenants(tenantId);
7const tenantsWithOptions: GetTenants200Response = await getTenants(tenantId, meta, skip);
8

Kiracıyı Güncelle Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Yes
id string Yes
updateTenantBody UpdateTenantBody Yes

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenant Örneği
Copy Copy
1
2const tenantId: string = "tenant_4821";
3const id: string = "flag_7b9e";
4const billingInfo: BillingInfo | undefined = undefined; // isteğe bağlı, mevcut faturalamayı korumak için dışarı bırakın
5const updateTenantBody: UpdateTenantBody = {
6 name: "Acme News Comments",
7 defaultDomain: "comments.acme.com",
8 ...(billingInfo ? { billingInfo } : {})
9};
10const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
11

Bilet Durumunu Değiştir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
userId string Evet
id string Evet
changeTicketStateBody ChangeTicketStateBody Evet

Yanıt

Döndürür: ChangeTicketState200Response

Örnek

changeTicketState Örneği
Copy Copy
1
2const tenantId: string = "tenant_7f3b2c9a";
3const userId: string = "user_5a1d9fb2";
4const id: string = "ticket_3e8a1b6f";
5const changeTicketStateBody: ChangeTicketStateBody = {
6 state: "closed",
7 reason: "Fixed in backend release 2.4.1",
8 notifyUsers: true,
9 metadata: { resolutionOwner: "agent_12", priority: "high" } // isteğe bağlı alanlar gösterildi
10};
11const result: ChangeTicketState200Response = await changeTicketState(tenantId, userId, id, changeTicketStateBody);
12

Bilet Oluştur Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
userId string Evet
createTicketBody CreateTicketBody Evet

Yanıt

Döndürür: CreateTicket200Response

Örnek

createTicket Örneği
Copy Copy
1
2const tenantId: string = '7f3e9b1a-1c2d-4a5b-b6c7-d8e9f0123456';
3const userId: string = 'd290f1ee-6c54-4b01-90e6-d701748f0851';
4const createTicketBody: CreateTicketBody = {
5 subject: 'Unable to post comments on product update',
6 message: 'Submitting a comment returns a 504 timeout after ~10s. Reproducible in Chrome and Firefox.',
7 priority: 'high', // isteğe bağlı alan eklendi
8 contactEmail: 'jane.doe@acme-corp.com',
9 ccEmails: ['eng-oncall@acme-corp.com'], // isteğe bağlı alan eklendi
10 metadata: { page: '/blog/product-update', browser: 'Chrome 112' } // isteğe bağlı
11};
12const response: CreateTicket200Response = await createTicket(tenantId, userId, createTicketBody);
13

Bileti Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
userId string Hayır

Yanıt

Döndürür: GetTicket200Response

Örnek

getTicket Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-01';
3const ticketId: string = 'tkt-20260325-42';
4const userId: string = 'user-8452';
5
6const ticketResponseWithUser: GetTicket200Response = await getTicket(tenantId, ticketId, userId);
7const ticketResponseWithoutUser: GetTicket200Response = await getTicket(tenantId, ticketId);
8

Biletleri Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
userId string Hayır
state number Hayır
skip number Hayır
limit number Hayır

Yanıt

Döndürür: GetTickets200Response

Örnek

getTickets Örneği
Copy Copy
1
2const tenantId: string = "tenant_92f3b4c1";
3const userId: string = "user_742a9f3e";
4const state: number = 1;
5const skip: number = 0;
6const limit: number = 25;
7const ticketsFull: GetTickets200Response = await getTickets(tenantId, userId, state, skip, limit);
8const ticketsMinimal: GetTickets200Response = await getTickets("tenant_92f3b4c1");
9

Çevirileri Getir Internal Link

Parametreler

Name Type Gerekli Açıklama
namespace string Evet
component string Evet
locale string Hayır
useFullTranslationIds boolean Hayır

Yanıt

Dönüş değeri: GetTranslationsResponse

Örnek

getTranslations Örneği
Copy Copy
1
2const translationsBase: GetTranslationsResponse = await getTranslations("acme-site-482", "commentThread");
3const translationsSpanishFullIds: GetTranslationsResponse = await getTranslations("acme-site-482", "commentThread", "es-ES", true);
4

Resim Yükle Internal Link

Bir resmi yükle ve yeniden boyutlandır

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
file Blob Evet
sizePreset SizePreset Hayır
urlId string Hayır

Yanıt

Döndürür: UploadImageResponse


Rozet İlerlemesini ID'ye Göre Getir Internal Link

Parametreler

Ad Tip Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetUserBadgeProgressById200Response

Örnek

getUserBadgeProgressById Örneği
Copy Copy
1
2const optionalTenantSuffix: string | undefined = undefined;
3const tenantId: string = `5f8d0d55-1234-4ab1-9e2a-3f2b5c6d7e8f${optionalTenantSuffix ?? ''}`;
4const id: string = '3a2b1c4d-5678-4ef0-9abc-def123456789';
5const result: GetUserBadgeProgressById200Response = await getUserBadgeProgressById(tenantId, id);
6

Rozet İlerlemesini Kullanıcı ID'sine Göre Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
userId string Evet

Yanıt

Döndürür: GetUserBadgeProgressById200Response

Örnek

getUserBadgeProgressByUserId Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f9c2d3b';
3const maybeUserId: string | undefined = 'user_4b8e1f9a'; // isteğe bağlı kaynak (undefined olabilir)
4const userId: string = maybeUserId ?? 'user_fallback0001';
5const result: GetUserBadgeProgressById200Response = await getUserBadgeProgressByUserId(tenantId, userId);
6console.log(result);
7

Rozet İlerleme Listesini Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
userId string Hayır
limit number Hayır
skip number Hayır

Yanıt

Döndürür: GetUserBadgeProgressList200Response

Örnek

getUserBadgeProgressList Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_4f8c2b9d';
4 const userId: string = 'user_9a7e215c';
5 const limit: number = 25;
6 const skip: number = 0;
7 const resultMinimal: GetUserBadgeProgressList200Response = await getUserBadgeProgressList(tenantId);
8 const resultFull: GetUserBadgeProgressList200Response = await getUserBadgeProgressList(tenantId, userId, limit, skip);
9 console.log(resultMinimal, resultFull);
10})();
11

Kullanıcı Rozeti Oluştur Internal Link


Parametreler

Ad Tip Gerekli Açıklama
tenantId string Evet
createUserBadgeParams CreateUserBadgeParams Evet

Yanıt

Döndürür: CreateUserBadge200Response

Örnek

createUserBadge Örneği
Copy Copy
1
2const tenantId: string = "tenant_9a8b7c";
3const params: CreateUserBadgeParams = {
4 name: "Top Contributor",
5 slug: "top-contributor",
6 description: "Awarded for 100 approved comments",
7 iconUrl: "https://cdn.fastcomments.com/badges/top-contributor.png",
8 active: true,
9 criteria: { approvedComments: 100 },
10 customConfig: { showOnProfile: true } // isteğe bağlı parametre
11};
12const result: CreateUserBadge200Response = await createUserBadge(tenantId, params);
13

Kullanıcı Rozetini Sil Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet

Yanıt

Döndürür: UpdateUserBadge200Response

Örnek

deleteUserBadge Örneği
Copy Copy
1
2type DeleteOptions = { notifyModerators?: boolean };
3
4const tenantId: string = 'tenant_8a3f21';
5const id: string = 'badge_71f2b';
6const options: DeleteOptions = { notifyModerators: true };
7
8const result: UpdateUserBadge200Response = await deleteUserBadge(tenantId, id);
9

Kullanıcı Rozetini Getir Internal Link

Parametreler

Ad Tür Zorunlu Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetUserBadge200Response

Örnek

getUserBadge Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_01";
3const id: string = "badge_8c7d2f";
4const response: GetUserBadge200Response = await getUserBadge(tenantId, id);
5

Kullanıcı Rozetlerini Getir Internal Link

Parametreler

Adı Tip Zorunlu Açıklama
tenantId string Evet
userId string Hayır
badgeId string Hayır
type number Hayır
displayedOnComments boolean Hayır
limit number Hayır
skip number Hayır

Yanıt

Döndürür: GetUserBadges200Response

Örnek

getUserBadges Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const userId: string = 'user_5f4d3c2a';
4const badgeId: string = 'badge_top_contributor';
5const type: number = 1;
6const displayedOnComments: boolean = true;
7const limit: number = 50;
8const skip: number = 0;
9
10const result: GetUserBadges200Response = await getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip);
11

Kullanıcı Rozetini Güncelle Internal Link

Parametreler

Ad Tip Gerekli Açıklama
tenantId string Evet
id string Evet
updateUserBadgeParams UpdateUserBadgeParams Evet

Yanıt

Döndürür: UpdateUserBadge200Response

Örnek

updateUserBadge Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_acme_987';
4 const id: string = 'badge_top_contributor_42';
5 const updateUserBadgeParams: UpdateUserBadgeParams = {
6 title: 'Top Contributor',
7 description: 'Awarded for reaching 100 high-quality comments',
8 color: '#FFD700',
9 iconUrl: 'https://cdn.acme.com/badges/top-contributor.svg',
10 active: true,
11 notifyUsers: true
12 } as UpdateUserBadgeParams;
13 const result: UpdateUserBadge200Response = await updateUserBadge(tenantId, id, updateUserBadgeParams);
14 console.log(result);
15})();
16

Kullanıcı Bildirim Sayısını Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
sso string Hayır

Yanıt

Döndürür: GetUserNotificationCount200Response

Örnek

getUserNotificationCount Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = '9f1e2d3c-4b5a-6d7e-8f90-123456789abc';
4 const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0MjMifQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
5 const resultWithSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId, ssoToken);
6 const resultWithoutSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId);
7 console.log(resultWithSSO, resultWithoutSSO);
8})();
9

Kullanıcı Bildirimlerini Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
pageSize number Hayır
afterId string Hayır
includeContext boolean Hayır
afterCreatedAt number Hayır
unreadOnly boolean Hayır
dmOnly boolean Hayır
noDm boolean Hayır
includeTranslations boolean Hayır
sso string Hayır

Yanıt

Döndürür: GetUserNotifications200Response

Örnek

getUserNotifications Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3b1c';
3const pageSize: number = 25;
4const afterId: string = 'notif_b2f9e4';
5const includeContext: boolean = true;
6const afterCreatedAt: number = Date.now() - 24 * 60 * 60 * 1000;
7const unreadOnly: boolean = true;
8const dmOnly: boolean = false;
9const noDm: boolean = false;
10const includeTranslations: boolean = true;
11const sso: string = 'sso_tok_user_9f8d7c';
12const response: GetUserNotifications200Response = await getUserNotifications(
13 tenantId,
14 pageSize,
15 afterId,
16 includeContext,
17 afterCreatedAt,
18 unreadOnly,
19 dmOnly,
20 noDm,
21 includeTranslations,
22 sso
23);
24

Kullanıcı Bildirim Sayısını Sıfırla Internal Link

Parametreler

Adı Tür Gerekli Açıklama
tenantId string Evet
sso string Hayır

Yanıt

Döndürür: ResetUserNotifications200Response

Örnek

resetUserNotificationCount Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9f3b2c4a";
4 const ssoToken: string | undefined = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9._sample_payload_.signature";
5 const responseWithSSO: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId, ssoToken);
6 const responseWithoutSSO: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId);
7 console.log(responseWithSSO, responseWithoutSSO);
8})();
9

Kullanıcı Bildirimlerini Sıfırla Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
afterId string Hayır
afterCreatedAt number Hayır
unreadOnly boolean Hayır
dmOnly boolean Hayır
noDm boolean Hayır
sso string Hayır

Yanıt

Döndürür: ResetUserNotifications200Response

Örnek

resetUserNotifications Örneği
Copy Copy
1
2const tenantId: string = "tenant_prod_4a9f12";
3const afterId: string = "notification_87213";
4const afterCreatedAt: number = Math.floor(Date.now() / 1000) - 3600;
5const unreadOnly: boolean = true;
6const dmOnly: boolean = false;
7const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example.payload";
8const result: ResetUserNotifications200Response = await resetUserNotifications(tenantId, afterId, afterCreatedAt, unreadOnly, dmOnly, undefined, sso);
9

Kullanıcının Yorum Aboneliği Durumunu Güncelle Internal Link

Belirli bir yorum için bildirimleri etkinleştirin veya devre dışı bırakın.

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
notificationId string Evet
optedInOrOut UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum Evet
commentId string Evet
sso string Hayır

Yanıt

Döndürür: UpdateUserNotificationStatus200Response

Örnek

updateUserNotificationCommentSubscriptionStatus Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-001';
3const notificationId: string = 'notif-2026-03-25-01';
4const commentId: string = 'cmt-8f3a2b';
5const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum = UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptIn;
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso-payload.signature';
7const result: UpdateUserNotificationStatus200Response = await updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso);
8

Kullanıcının Sayfa Aboneliği Durumunu Güncelle Internal Link

Bir sayfa için bildirimleri etkinleştirin veya devre dışı bırakın. Kullanıcılar bir sayfaya abone olduğunda, yeni root yorumlar için bildirimler oluşturulur ve ayrıca

Parametreler

Ad Tür Zorunlu Açıklama
tenantId string Evet
urlId string Evet
url string Evet
pageTitle string Evet
subscribedOrUnsubscribed UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum Evet
sso string Hayır

Yanıt

Döndürür: UpdateUserNotificationStatus200Response

Örnek

updateUserNotificationPageSubscriptionStatus Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-42';
3const urlId: string = 'blog-launch-2026';
4const url: string = 'https://acme.example.com/blog/launch-march-2026';
5const pageTitle: string = 'Acme Product Launch — March 2026';
6const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum = UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
7const sso: string = 'sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
8const response: UpdateUserNotificationStatus200Response = await updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso);
9

Kullanıcı Bildirim Durumunu Güncelle Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
notificationId string Evet
newStatus UpdateUserNotificationStatusNewStatusEnum Evet
sso string Hayır

Yanıt

Döndürür: UpdateUserNotificationStatus200Response

Örnek

updateUserNotificationStatus Örneği
Copy Copy
1
2const tenantId: string = 'tenant_84a2c3';
3const notificationId: string = 'notif_20260325_01';
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.Read;
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_signature_example';
6const result: UpdateUserNotificationStatus200Response = await updateUserNotificationStatus(tenantId, notificationId, newStatus, sso);
7

Kullanıcı Varlık Durumlarını Getir Internal Link

Parametreler

Name Type Zorunlu Açıklama
tenantId string Evet
urlIdWS string Evet
userIds string Evet

Yanıt

Döndürür: GetUserPresenceStatuses200Response

Örnek

getUserPresenceStatuses Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3a2b';
3const urlIdWS: string = 'articles/2026/03/25/fastcomments-integration';
4const maybeUserIds: string | undefined = 'user_123,user_456'; // isteğe bağlı kaynak
5const userIds: string = maybeUserIds ?? 'user_123';
6const presence: GetUserPresenceStatuses200Response = await getUserPresenceStatuses(tenantId, urlIdWS, userIds);
7

Kullanıcıları Ara Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
urlId string Evet
usernameStartsWith string Hayır
mentionGroupIds Array Hayır
sso string Hayır
searchSection SearchUsersSearchSectionEnum Hayır

Yanıt

Döndürür: SearchUsers200Response

Örnek

searchUsers Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8392';
3const urlId: string = 'articles/2026/03/25/fastcomments-release';
4const usernameStartsWith: string = 'jo';
5const mentionGroupIds: Array<string> = ['editors', 'senior-writers'];
6const sso: string = 'sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
7const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.ALL;
8const result: SearchUsers200Response = await searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso, searchSection);
9

Kullanıcıyı Getir Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetUser200Response

Örnek

getUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7b3f42';
3const id: string = 'user_9c4d2a';
4const userResponse: GetUser200Response = await getUser(tenantId, id);
5console.log(userResponse);
6

Oy Oluştur Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
commentId string Evet
direction CreateVoteDirectionEnum Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Dönen değer: VoteComment200Response

Örnek

createVote Örneği
Copy Copy
1
2const tenantId: string = 'tenant_5f2a9b';
3const commentId: string = 'cmt_3b7e21';
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.Up;
5const anonUserId: string = 'anon_9x7k2p';
6const voteResult: VoteComment200Response = await createVote(tenantId, commentId, direction, undefined, anonUserId);
7

Oy Sil Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
id string Evet
editKey string Hayır

Yanıt

Döndürür: DeleteCommentVote200Response

Örnek

deleteVote Örneği
Copy Copy
1
2const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
3const id: string = 'vote-7a1b2c3d-9f8e-4b6a-8123-abcdef012345';
4const editKey: string = 'editKey_4f3e2d1c';
5
6const resultWithEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id, editKey);
7const resultWithoutEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id);
8

Oyları Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet

Yanıt

Döndürür: GetVotes200Response

Örnek

getVotes Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-8f3b';
3const refCampaign: string | undefined = 'newsletter-march2026'; // isteğe bağlı sorgu parametresi
4const urlId: string = `https://www.example.com/articles/2026/03/25/fastcomments-integration${refCampaign ? `?ref=${refCampaign}` : ''}`;
5
6const votes: GetVotes200Response = await getVotes(tenantId, urlId);
7

Kullanıcı İçin Oyları Getir Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: GetVotesForUser200Response

Örnek

getVotesForUser Örneği
Copy Copy
1
2(async (): Promise<void> => {
3 const tenantId: string = "local-news-ny";
4 const urlId: string = "articles/2026-03-25/ev-infrastructure-update";
5 const userId: string = "user_78b6f3d9";
6 const anonUserId: string = "anon_9c3f7a1b";
7 const result: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, userId, anonUserId);
8 console.log(result);
9})();
10

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.