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

AdTürGerekliAçıklama
tenantIdstringEvet
aggregationRequestAggregationRequestEvet
parentTenantIdstringHayır
includeStatsbooleanHayır

Yanıt

Döndürür: AggregationResponse


Denetim Kayıtlarını Al Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
limitnumberHayır
skipnumberHayır
orderSORTDIRHayır
afternumberHayır
beforenumberHayı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

AdTürGerekliAçıklama
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
publicBlockFromCommentParamsPublicBlockFromCommentParamsEvet
ssostringHayı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

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
blockFromCommentParamsBlockFromCommentParamsEvet
userIdstringHayır
anonUserIdstringHayı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ürZorunluAçıklama
tenantIdstringEvet
urlIdstringEvet
broadcastIdstringEvet
commentDataCommentDataEvet
sessionIdstringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
contextUserIdstringHayır
isLivebooleanHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
editKeystringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
voteIdstringEvet
urlIdstringEvet
broadcastIdstringEvet
editKeystringHayır
ssostringHayı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

NameTypeGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır
anonUserIdstringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
pagenumberHayır
limitnumberHayır
skipnumberHayır
asTreebooleanHayır
skipChildrennumberHayır
limitChildrennumberHayır
maxTreeDepthnumberHayır
urlIdstringHayır
userIdstringHayır
anonUserIdstringHayır
contextUserIdstringHayır
hashTagstringHayır
parentIdstringHayır
directionSortDirectionsHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
pagenumberHayır
directionSortDirectionsHayır
ssostringHayır
skipnumberHayır
skipChildrennumberHayır
limitnumberHayır
limitChildrennumberHayır
countChildrenbooleanHayır
fetchPageForCommentIdstringHayır
includeConfigbooleanHayır
countAllbooleanHayır
includei10nbooleanHayır
localestringHayır
modulesstringHayır
isCrawlerbooleanHayır
includeNotificationCountbooleanHayır
asTreebooleanHayır
maxTreeDepthnumberHayır
useFullTranslationIdsbooleanHayır
parentIdstringHayır
searchTextstringHayır
hashTagsArrayHayır
userIdstringHayır
customConfigStrstringHayır
afterCommentIdstringHayır
beforeCommentIdstringHayı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

NameTypeRequiredDescription
tenantIdstringEvet
commentIdstringEvet
editKeystringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
dirnumberEvet
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayı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ürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createCommentParamsCreateCommentParamsEvet
isLivebooleanHayır
doSpamCheckbooleanHayır
sendEmailsbooleanHayır
populateNotificationsbooleanHayı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

NameTypeRequiredDescription
tenantIdstringEvet
createCommentParamsArrayEvet
isLivebooleanHayır
doSpamCheckbooleanHayır
sendEmailsbooleanHayır
populateNotificationsbooleanHayı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

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

Yanıt

Dönen değer: SetCommentText200Response

Örnek

setCommentText Örneği
Copy Copy
1
2const tenantId: string = 'tenant-42';
3const commentId: string = 'cmt-8932';
4const broadcastId: string = 'brd-2023-07';
5const updateRequest: CommentTextUpdateRequest = {
6 text: 'Updated comment text for the product launch — congrats team!',
7 mentions: [{ userId: 'user-17', displayName: 'Ava Nguyen' }] as CommentUserMentionInfo[],
8 hashtags: [{ tag: 'ProductLaunch' }] as CommentUserHashTagInfo[]
9};
10const editKey: string = 'edtk-9f7b';
11const sso: string = 'sso-token-abc123';
12const result: SetCommentText200Response = await setCommentText(tenantId, commentId, broadcastId, updateRequest, editKey, sso);
13

Yorumdan Kullanıcı Engellemesini Kaldır Internal Link

Parametreler

AdTürZorunluAçıklama
tenantIdstringEvet
idstringEvet
unBlockFromCommentParamsUnBlockFromCommentParamsEvet
userIdstringHayır
anonUserIdstringHayı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

NameTypeGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır
anonUserIdstringHayı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

İsimTipGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
broadcastIdstringEvet
ssostringHayı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

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateComment Örneği
Copy Copy
1
2const tenantId: string = "tenant_3f47b2a1";
3const id: string = "comment_9a12b3c4";
4const updatableCommentParams: UpdatableCommentParams = {
5 body: "Thanks for the update — I've adjusted my view accordingly."
6};
7const contextUserId: string = "user_8721";
8const doSpamCheck: boolean = true;
9const isLive: boolean = false;
10const result: FlagCommentPublic200Response = await updateComment(tenantId, id, updatableCommentParams, contextUserId, doSpamCheck, isLive);
11

Yoruma Oy Ver Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
commentIdstringEvet
urlIdstringEvet
broadcastIdstringEvet
voteBodyParamsVoteBodyParamsEvet
sessionIdstringHayır
ssostringHayı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

AdTürGerekliAçıklama
userIdstringHayır
tenantIdstringHayır
urlIdstringHayır
pagenumberHayır
directionSortDirectionsHayır
lastGenDatenumberHayır
repliesToUserIdstringHayır
fetchPageForCommentIdstringHayır
includei10nbooleanHayır
useFullTranslationIdsbooleanHayır
localestringHayır
includeConfigbooleanHayır
includeNotificationCountbooleanHayır
countAllbooleanHayır
ssostringHayır

Yanıt

Döndürür: GetCommentsForUserResponse

Örnek

getCommentsForUser Örneği
Copy Copy
1
2const userId: string = 'user_82f9b';
3const tenantId: string = 'tenant_22';
4const page: number = 2;
5const lastGenDate: number = Date.now();
6const includei10n: boolean = true;
7const useFullTranslationIds: boolean = false;
8const locale: string = 'en-US';
9const includeConfig: boolean = true;
10const includeNotificationCount: boolean = true;
11const countAll: boolean = false;
12const sso: string = 'sso-token-1a2b';
13const commentsResponse: GetCommentsForUserResponse = await getCommentsForUser(userId, tenantId, undefined, page, undefined, lastGenDate, undefined, undefined, includei10n, useFullTranslationIds, locale, includeConfig, includeNotificationCount, countAll, sso);
14

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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
addDomainConfigParamsAddDomainConfigParamsEvet

Yanıt

Döndürür: AddDomainConfig200Response


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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainstringEvet

Yanıt

Döndürür: DeleteDomainConfig200Response


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

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
domainstringEvet

Yanıt

Döndürür: GetDomainConfig200Response

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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Döndürür: GetDomainConfigs200Response

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


Parametreler

İsimTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
patchDomainConfigParamsPatchDomainConfigParamsEvet

Yanıt

Döndürür: GetDomainConfig200Response


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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
domainToUpdatestringEvet
updateDomainConfigParamsUpdateDomainConfigParamsEvet

Yanıt

Döndürür: GetDomainConfig200Response


E-posta Şablonu Oluştur Internal Link

Parametreler

NameTypeGerekliAçıklama
tenantIdstringEvet
createEmailTemplateBodyCreateEmailTemplateBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTypeGerekliAçıklama
tenantIdstringEvet
idstringEvet
errorIdstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

NameTypeRequiredDescription
tenantIdstringEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
skipnumberHayı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

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

AdTürGerekliAçıklama
tenantIdstringEvet
renderEmailTemplateBodyRenderEmailTemplateBodyEvet
localestringHayır

Yanıt

Döndürür: RenderEmailTemplate200Response

Örnek

renderEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-987';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'user-invite',
5 subject: "You're invited to Acme",
6 placeholders: { firstName: 'Alex' },
7 metadata: { source: 'signup-flow' }
8};
9const locale: string = 'en-US';
10const result: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
11

E-posta Şablonunu Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateEmailTemplateBodyUpdateEmailTemplateBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdWSstringEvet
startTimenumberEvet
endTimenumberEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdWSstringEvet
startTimenumberEvet
endTimenumberEvet

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

NameTürGerekliAçıklama
tenantIdstringEvet
createFeedPostParamsCreateFeedPostParamsEvet
broadcastIdstringHayır
isLivebooleanHayır
doSpamCheckbooleanHayır
skipDupCheckbooleanHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createFeedPostParamsCreateFeedPostParamsEvet
broadcastIdstringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
postIdstringEvet
broadcastIdstringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
afterIdstringHayır
limitnumberHayır
tagsArrayHayı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

İsimTürGerekliAçıklama
tenantIdstringEvet
afterIdstringHayır
limitnumberHayır
tagsArrayHayır
ssostringHayır
isCrawlerbooleanHayır
includeUserInfobooleanHayı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

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

NameTypeRequiredDescription
tenantIdstringYes
postIdsArrayNo
ssostringNo

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

AdTürGerekliAçıklama
tenantIdstringEvet
postIdstringEvet
reactBodyParamsReactBodyParamsEvet
isUndobooleanHayır
broadcastIdstringHayır
urlIdstringHayır
ssostringHayır

Yanıt

Döndürür: ReactFeedPostPublic200Response

Örnek

reactFeedPostPublic Örneği
Copy Copy
1
2const tenantId: string = "global-markets";
3const postId: string = "8e2c3f9a-4b6d-4f1a-9c2d-e8a1b2c3d4e5";
4const reactBodyParams: ReactBodyParams = { reactionType: "like", clientApp: "web-ui", timestamp: new Date().toISOString() };
5const isUndo: boolean = false;
6const broadcastId: string = "broadcast-2026-05-20";
7const urlId: string = "feed-post-8e2c";
8const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fake.payload";
9
10const result: ReactFeedPostPublic200Response = await reactFeedPostPublic(tenantId, postId, reactBodyParams, isUndo, broadcastId, urlId, sso);
11

Akış Gönderisini Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
feedPostFeedPostEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
postIdstringEvet
updateFeedPostParamsUpdateFeedPostParamsEvet
broadcastIdstringHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
isFlaggedbooleanEvet
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
largeInternalURLSanitizedstringEvet

Yanıt

Dönen değer: GifGetLargeResponse

Örnek

getGifLarge Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8a92f4';
3const largeInternalURLSanitized: string = 'https://cdn.streamingco.com/gifs/product-demo-large.gif';
4let maybeStatus: APIStatus | undefined = undefined; // mevcut olduğunda isteğe bağlı meta veriler
5const response: GifGetLargeResponse = await getGifLarge(tenantId, largeInternalURLSanitized);
6

GIF'leri Ara Internal Link

Parametreler

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

Yanıt

Döndürür: GifSearchResponse

Örnek

getGifsSearch Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "global-media";
4 const search: string = "laughing baby";
5 const locale: string = "en-US";
6 const rating: string = "pg";
7 const page: number = 2;
8 const result: GifSearchResponse = await getGifsSearch(tenantId, search, locale, rating, page);
9 console.log(result);
10})();
11

Popüler GIF'leri Getir Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
localestringHayır
ratingstringHayır
pagenumberHayır

Yanıt

Döndürür: GifSearchResponse

Örnek

getGifsTrending Örneği
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const locale: string = 'en-US';
4const rating: string = 'PG';
5const page: number = 1;
6const result: GifSearchResponse = await getGifsTrending(tenantId, locale, rating, page);
7

Etiket Ekle Internal Link

Parametreler

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

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

AdTürZorunluAçıklama
tagstringEvet
tenantIdstringHayır
deleteHashTagRequestDeleteHashTagRequestHayı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

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

AdTürGerekliAçıklama
tagstringEvet
tenantIdstringHayır
updateHashTagBodyUpdateHashTagBodyHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createModeratorBodyCreateModeratorBodyEvet

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

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTypeGerekliAçıklama
tenantIdstringEvet
skipnumberHayı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

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
fromNamestringEvet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

sendInvite Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-128';
3const id: string = 'comment-8421f';
4const fromName: string = 'Marcus Lindström';
5const note: string | undefined = undefined; // isteğe bağlı parametre örneği
6const response: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName);
7

Moderatörü Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateModeratorBodyUpdateModeratorBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
userIdstringHayır
urlIdstringHayır
fromCommentIdstringHayır
viewedbooleanHayır
typestringHayı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

İsimTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
urlIdstringHayır
fromCommentIdstringHayır
viewedbooleanHayır
typestringHayır
skipnumberHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateNotificationBodyUpdateNotificationBodyEvet
userIdstringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createAPIPageDataCreateAPIPageDataEvet

Yanıt

Döndürür: AddPageAPIResponse


Sayfayı Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: DeletePageAPIResponse

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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet

Yanıt

Döndürür: GetPageByURLIdAPIResponse


Sayfaları Getir Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet

Yanıt

Döndürür: GetPagesAPIResponse


Sayfayı Kısmen Güncelle Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPIPageDataUpdateAPIPageDataEvet

Yanıt

Döndürür: PatchPageAPIResponse


Bekleyen Webhook Olayını Sil Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
commentIdstringHayır
externalIdstringHayır
eventTypestringHayır
typestringHayır
domainstringHayır
attemptCountGTnumberHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringHayır
externalIdstringHayır
eventTypestringHayır
typestringHayır
domainstringHayır
attemptCountGTnumberHayır
skipnumberHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createQuestionConfigBodyCreateQuestionConfigBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürZorunluAçıklama
tenantIdstringEvet
idstringEvet

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

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateQuestionConfigBodyUpdateQuestionConfigBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
createQuestionResultBodyCreateQuestionResultBodyEvet

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

AdTipGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Döndürür: GetQuestionResult200Response

Örnek

getQuestionResult Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-42';
3const id: string = 'question-9f8b7c';
4const includeComments: boolean | undefined = true; // isteğe bağlı parametre örneği
5const result: GetQuestionResult200Response = await getQuestionResult(tenantId, id);
6console.log(result);
7

Soru Sonuçlarını Getir Internal Link

Parametreler

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

Yanıt

Döndürür: GetQuestionResults200Response

Örnek

getQuestionResults Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9b3f";
4 const urlId: string = "survey-2026-spring";
5 const userId: string = "user_00123";
6 const startDate: string = "2026-04-01T00:00:00Z";
7 const questionIds: string = "q_42,q_43";
8 const skip: number = 0;
9 const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, undefined, questionIds, skip);
10 console.log(result);
11})();
12

Soru Sonucunu Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateQuestionResultBodyUpdateQuestionResultBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
questionIdstringHayır
questionIdsArrayHayır
urlIdstringHayır
timeBucketAggregateTimeBucketHayır
startDateDateHayır
forceRecalculatebooleanHayı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

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

NameTypeRequiredDescription
tenantIdstringEvet
questionIdstringHayır
questionIdsArrayHayır
urlIdstringHayır
startDateDateHayır
forceRecalculatebooleanHayır
minValuenumberHayır
maxValuenumberHayır
limitnumberHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
createAPISSOUserDataCreateAPISSOUserDataEvet

Yanıt

Döndürür: AddSSOUserAPIResponse


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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
deleteCommentsbooleanHayır
commentDeleteModestringHayır

Yanıt

Döndürür: DeleteSSOUserAPIResponse


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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
emailstringEvet

Yanıt

Döndürür: GetSSOUserByEmailAPIResponse


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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Dönüş: GetSSOUserByIdAPIResponse


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


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
skipnumberHayır

Yanıt

Döndürür: GetSSOUsers200Response


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

Parametreler

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

Yanıt

Döndürür: PatchSSOUserAPIResponse


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

Parametreler

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

Yanıt

Döndürür: PutSSOUserAPIResponse

Örnek

putSSOUser Örneği
Copy Copy
1
2const tenantId: string = 'acme-enterprises-42';
3const id: string = 'usr-73a1b2';
4const updateAPISSOUserData: UpdateAPISSOUserData = {
5 email: 'marcus.ingram@acme.com',
6 givenName: 'Marcus',
7 familyName: 'Ingram',
8 roles: ['editor', 'project_owner'],
9 enabled: true
10};
11const result: PutSSOUserAPIResponse = await putSSOUser(tenantId, id, updateAPISSOUserData, true);
12

Abonelik Oluştur Internal Link


Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
userIdstringHayır

Yanıt

Döndürür: DeleteSubscriptionAPIResponse


Abonelikleri Getir Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır

Yanıt

Döndürür: GetSubscriptionsAPIResponse

Örnek

getSubscriptions Örneği
Copy Copy
1
2const tenantId: string = "contoso-9a1b2c";
3const userId: string = "u-482f6";
4const subscriptions: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId);
5const userSubscriptions: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId, userId);
6

Aboneliği Güncelle Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataEvet
userIdstringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
yearNumbernumberHayır
monthNumbernumberHayır
dayNumbernumberHayır
skipnumberHayı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

NameTypeRequiredDescription
tenantIdstringEvet
createTenantPackageBodyCreateTenantPackageBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
skipnumberHayır

Yanıt

Döndürür: GetTenantPackages200Response

Örnek

getTenantPackages Örneği
Copy Copy
1
2const tenantId: string = 'tenant-7b3c2f';
3const skipCount: number = 10;
4const packages: GetTenantPackages200Response = await getTenantPackages(tenantId, skipCount);
5const packagesFromStart: GetTenantPackages200Response = await getTenantPackages(tenantId);
6

Kiracı Paketini Değiştir Internal Link


Parameters

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
replaceTenantPackageBodyReplaceTenantPackageBodyEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
updateTenantPackageBodyUpdateTenantPackageBodyEvet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenantPackage Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_sf_001";
4 const id: string = "pkg-premium-v2";
5 const updateTenantPackageBody: UpdateTenantPackageBody = {
6 name: "San Francisco Premium",
7 enabled: true,
8 customConfig: { maxComments: 500 },
9 tosConfig: { required: true } // isteğe bağlı alanlar varlıkla gösterilmiştir; diğerleri atlandı
10 } as UpdateTenantPackageBody;
11 const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, id, updateTenantPackageBody);
12 console.log(result);
13})();
14

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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
createTenantUserBodyCreateTenantUserBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
deleteCommentsstringHayır
commentDeleteModestringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

NameTypeRequiredDescription
tenantIdstringYes
skipnumberNo

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

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

replaceTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_acmeCorp";
3const id: string = "user_84b2";
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 email: "alice.jenkins@acmecorp.com",
6 displayName: "Alice Jenkins",
7 roles: ["moderator", "editor"],
8 disabled: false
9} as ReplaceTenantUserBody;
10const updateComments: string = "Migrated user account and reattributed historical comments";
11
12const result: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
13

Parametreler

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateTenantUserBodyUpdateTenantUserBodyEvet
updateCommentsstringHayı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

NameTypeRequiredDescription
tenantIdstringEvet
createTenantBodyCreateTenantBodyEvet

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

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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
metastringHayır
skipnumberHayı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

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet
updateTenantBodyUpdateTenantBodyEvet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenant Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-001';
3const id: string = 'tenant-42';
4const billingInfo: BillingInfo = { billingEmail: 'billing@acme.com', address: '123 Market St' } as BillingInfo;
5const updateTenantBody: UpdateTenantBody = { displayName: 'Acme Corporation', billingInfo } as UpdateTenantBody;
6const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
7

Bilet Durumunu Değiştir Internal Link

Parametreler

NameTypeRequiredDescription
tenantIdstringEvet
userIdstringEvet
idstringEvet
changeTicketStateBodyChangeTicketStateBodyEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringEvet
createTicketBodyCreateTicketBodyEvet

Yanıt

Döndürür: CreateTicket200Response

Örnek

createTicket Örneği
Copy Copy
1
2const tenantId: string = 'acme-company-001';
3const userId: string = 'u_78f4b2';
4const createTicketBody: CreateTicketBody = {
5 title: 'Unable to access project dashboard',
6 description: 'Receiving 403 when accessing /dashboard for project X',
7 priority: 'high',
8 tags: ['dashboard', 'access'] // isteğe bağlı alan örneği
9};
10const result: CreateTicket200Response = await createTicket(tenantId, userId, createTicketBody);
11

Bileti Getir Internal Link

Parametreler

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

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
statenumberHayır
skipnumberHayır
limitnumberHayı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

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

Yanıt

Döndürür: GetTranslationsResponse

Örnek

getTranslations Örneği
Copy Copy
1
2const translationsDefault: GetTranslationsResponse = await getTranslations("payments", "checkout");
3const translationsFrenchDetailed: GetTranslationsResponse = await getTranslations("payments", "checkout", "fr-FR", true);
4

Resim Yükle Internal Link

Bir resmi yükle ve yeniden boyutlandır

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
fileBlobEvet
sizePresetSizePresetHayır
urlIdstringHayır

Yanıt

Döndürür: UploadImageResponse


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

Parametreler

AdTipGerekliAçıklama
tenantIdstringEvet
idstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringEvet

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

AdTürGerekliAçıklama
tenantIdstringEvet
userIdstringHayır
limitnumberHayır
skipnumberHayı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

AdTipGerekliAçıklama
tenantIdstringEvet
createUserBadgeParamsCreateUserBadgeParamsEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
idstringEvet

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

AdTürZorunluAçıklama
tenantIdstringEvet
idstringEvet

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ıTipZorunluAçıklama
tenantIdstringEvet
userIdstringHayır
badgeIdstringHayır
typenumberHayır
displayedOnCommentsbooleanHayır
limitnumberHayır
skipnumberHayı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

AdTipGerekliAçıklama
tenantIdstringEvet
idstringEvet
updateUserBadgeParamsUpdateUserBadgeParamsEvet

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

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

NameTypeRequiredDescription
tenantIdstringEvet
pageSizenumberHayır
afterIdstringHayır
includeContextbooleanHayır
afterCreatedAtnumberHayır
unreadOnlybooleanHayır
dmOnlybooleanHayır
noDmbooleanHayır
includeTranslationsbooleanHayır
ssostringHayı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ürGerekliAçıklama
tenantIdstringEvet
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
afterIdstringHayır
afterCreatedAtnumberHayır
unreadOnlybooleanHayır
dmOnlybooleanHayır
noDmbooleanHayır
ssostringHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
notificationIdstringEvet
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumEvet
commentIdstringEvet
ssostringHayı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

AdTürZorunluAçıklama
tenantIdstringEvet
urlIdstringEvet
urlstringEvet
pageTitlestringEvet
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumEvet
ssostringHayı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

NameTypeRequiredDescription
tenantIdstringEvet
notificationIdstringEvet
newStatusUpdateUserNotificationStatusNewStatusEnumEvet
ssostringHayı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

NameTypeZorunluAçıklama
tenantIdstringEvet
urlIdWSstringEvet
userIdsstringEvet

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

NameTypeRequiredDescription
tenantIdstringEvet
urlIdstringEvet
usernameStartsWithstringHayır
mentionGroupIdsArrayHayır
ssostringHayır
searchSectionSearchUsersSearchSectionEnumHayı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

AdTürGerekliAçıklama
tenantIdstringEvet
idstringEvet

Yanıt

Dönüş: GetUser200Response

Örnek

getUser Örneği
Copy Copy
1
2const idSuffix: string | undefined = undefined;
3const tenantId: string = "acme-enterprises";
4const id: string = idSuffix ?? "user_98765";
5const response: GetUser200Response = await getUser({ tenantId, id });
6

Oy Oluştur Internal Link

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
commentIdstringEvet
directionCreateVoteDirectionEnumEvet
userIdstringHayır
anonUserIdstringHayı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

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

NameTypeRequiredDescription
tenantIdstringEvet
urlIdstringEvet

Yanıt

Döndürür: GetVotes200Response

Örnek

getVotes Örneği
Copy Copy
1
2const tenantId: string = 'tenant-42c-eu';
3const urlId: string = 'article-7f9b';
4const includeMetadata: boolean | undefined = true;
5const votes: GetVotes200Response = await getVotes(tenantId, urlId);
6

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

Parametreler

AdTürGerekliAçıklama
tenantIdstringEvet
urlIdstringEvet
userIdstringHayır
anonUserIdstringHayı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.