FastComments.com

FastComments JavaScript/TypeScript SDK


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

FastComments API'si için resmi JavaScript/TypeScript SDK

Depo

GitHub'da Görüntüle


Kurulum Internal Link

npm install fastcomments-sdk

API Dokümantasyonu Internal Link


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

Tarayıcı ve Sunucu Uyumluluğu Internal Link


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

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

Genel ve Güvenli API'ler Internal Link

SDK üç 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);
  }
}

aggregate Internal Link

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

Parametreler

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

Yanıt

Döndürür: AggregationResponse


getAuditLogs Internal Link


Parametreler

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

Yanıt

Döndürür: GetAuditLogs200Response


blockFromCommentPublic Internal Link

Parametreler

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

Yanıt

Döndürür: BlockFromCommentPublic200Response


unBlockCommentPublic Internal Link


Parametreler

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

Yanıt

Döndürür: UnBlockCommentPublic200Response


checkedCommentsForBlocked Internal Link

Parametreler

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

Yanıt

Döndürür: CheckedCommentsForBlocked200Response

blockUserFromComment Internal Link

Parametreler

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

Yanıt

Döndürür: BlockFromCommentPublic200Response


createCommentPublic Internal Link

Parametreler

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

Yanıt

Döndürür: CreateCommentPublic200Response


deleteComment Internal Link


Parametreler

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

Yanıt

Döndürür: DeleteComment200Response


deleteCommentPublic Internal Link

Parametreler

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

Yanıt

Döndürür: DeleteCommentPublic200Response


deleteCommentVote Internal Link

Parametreler

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

Yanıt

Döndürür: DeleteCommentVote200Response


flagComment Internal Link

Parametreler

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

Yanıt

Döndürür: FlagComment200Response


getComment Internal Link


Parametreler

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

Yanıt

Döndürür: GetComment200Response


getComments Internal Link

Parametreler

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

Yanıt

Döndürür: GetComments200Response


getCommentsPublic Internal Link

req tenantId urlId

Parametreler

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

Yanıt

Döndürür: GetCommentsPublic200Response

getCommentText Internal Link


Parametreler

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

Yanıt

Döndürür: GetCommentText200Response


getCommentVoteUserNames Internal Link


Parametreler

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

Yanıt

Döndürür: GetCommentVoteUserNames200Response


lockComment Internal Link

Parametreler

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

Yanıt

Döndürür: LockComment200Response


pinComment Internal Link

Parametreler

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

Yanıt

Döndürür: PinComment200Response


saveComment Internal Link

Parametreler

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

Yanıt

Döndürür: SaveComment200Response

saveCommentsBulk Internal Link


Parametreler

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

Yanıt

Döndürür: Array<SaveComment200Response


setCommentText Internal Link

Parametreler

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

Yanıt

Döndürür: SetCommentText200Response


unBlockUserFromComment Internal Link


Parametreler

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

Yanıt

Döndürür: UnBlockCommentPublic200Response


unFlagComment Internal Link


Parametreler

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

Yanıt

Döndürür: FlagComment200Response


unLockComment Internal Link

Parametreler

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

Yanıt

Döndürür: LockComment200Response


unPinComment Internal Link

Parametreler

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

Yanıt

Dönen değer: PinComment200Response


updateComment Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response


voteComment Internal Link

Parametreler

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

Yanıt

Döndürür: VoteComment200Response


addDomainConfig Internal Link

Parametreler

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

Yanıt

Döndürür: AddDomainConfig200Response


deleteDomainConfig Internal Link


Parametreler

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

Yanıt

Döndürür: DeleteDomainConfig200Response


getDomainConfig Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
domain string Evet

Yanıt

Döndürür: GetDomainConfig200Response

getDomainConfigs Internal Link

Parametreler

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

Yanıt

Döndürür: GetDomainConfigs200Response

patchDomainConfig Internal Link


Parametreler

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

Yanıt

Döndürür: GetDomainConfig200Response


putDomainConfig Internal Link

Parametreler

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

Yanıt

Döndürür: GetDomainConfig200Response


createEmailTemplate Internal Link

Parametreler

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

Yanıt

Döndürür: CreateEmailTemplate200Response

Örnek

createEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "tenant_7a9f2b3d";
3
4const createEmailTemplateBody: CreateEmailTemplateBody = {
5 name: "Comment Notification",
6 subject: "New comment on your article: ",
7 htmlBody: "<p> left a comment:</p><blockquote></blockquote>",
8 enabled: true,
9 defaultLocale: "en-US",
10 metadata: { createdBy: "admin@example.com", purpose: "notify_comment" } // isteğe bağlı ekstra veri
11};
12
13const result: CreateEmailTemplate200Response = await createEmailTemplate(tenantId, createEmailTemplateBody);
14

deleteEmailTemplate Internal Link


Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = "tenant_4b2f6a-4b2f6a2d";
3const templateId: string = "email_template_9f8b7c3e";
4const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, templateId);
5const status: APIStatus | undefined = result?.status
6

deleteEmailTemplateRenderError Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet
errorId string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteEmailTemplateRenderError Örnek
Copy Copy
1
2const tenantId: string = "tenant_8f3b2a9c";
3const id: string = "template_4a1c9f7e";
4const errorId: string = "err_20260112_abc123";
5const result: FlagCommentPublic200Response = await deleteEmailTemplateRenderError(tenantId, id, errorId);
6

getEmailTemplate Internal Link

Parametreler

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

Yanıt

Döndürür: GetEmailTemplate200Response

Örnek

getEmailTemplate Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-enterprises-123';
4 const id: string = 'welcome-email-template-v2';
5 const locale: string | undefined = 'en-US'; // isteğe bağlı parametre örneği
6 const template: GetEmailTemplate200Response = await getEmailTemplate(tenantId, id);
7 console.log(template, locale);
8})();
9

getEmailTemplateDefinitions Internal Link

Parametreler

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

Yanıt

Döndürür: GetEmailTemplateDefinitions200Response

Örnek

getEmailTemplateDefinitions Example
Copy Copy
1
2const tenantId: string = 'acme-enterprises-78f2';
3const emailTemplates: GetEmailTemplateDefinitions200Response = await getEmailTemplateDefinitions(tenantId);
4

getEmailTemplateRenderErrors Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Yes
id string Yes
skip number No

Yanıt

Döndürür: GetEmailTemplateRenderErrors200Response

Örnek

getEmailTemplateRenderErrors Örneği
Copy Copy
1
2const tenantId: string = "tenant_7b3f2a9c";
3const id: string = "tmpl_4f1b2c9e";
4const skip: number = 25;
5const result: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id, skip);
6

getEmailTemplates Internal Link

Parametreler

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

Yanıt

Döndürür: GetEmailTemplates200Response

Örnek

getEmailTemplates Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8f4d2b7c';
3const responseWithoutSkip: GetEmailTemplates200Response = await getEmailTemplates(tenantId);
4const skip: number = 20;
5const responseWithSkip: GetEmailTemplates200Response = await getEmailTemplates(tenantId, skip);
6

renderEmailTemplate Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
renderEmailTemplateBody RenderEmailTemplateBody Evet
locale string Hayır

Yanıt

Döndürür: RenderEmailTemplate200Response

Örnek

renderEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-7f3';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'new-comment-notification',
5 recipientEmail: 'jane.doe@acme.com',
6 variables: {
7 commenterName: 'Samir Patel',
8 commentText: 'I found this article really helpful — thanks for sharing!',
9 threadUrl: 'https://acme.com/blog/123#comments'
10 },
11 includeUnsubscribeLink: true
12};
13const locale: string = 'en-US';
14const response: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
15

updateEmailTemplate Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateEmailTemplate Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-01';
3const id: string = 'email_tpl_42b7a9';
4const updateEmailTemplateBody: UpdateEmailTemplateBody = {
5 name: 'Comment Flag Notification',
6 subject: 'A comment was flagged on acme.com',
7 html: '<p>A comment by was flagged. Review at </p>',
8 replyTo: 'noreply@acme.com', // isteğe bağlı alan örneği
9 enabled: true,
10 customConfig: { priority: 'high' } // isteğe bağlı özel parametreler
11};
12const response: FlagCommentPublic200Response = await updateEmailTemplate(tenantId, id, updateEmailTemplateBody);
13

getEventLog Internal Link


req tenantId urlId userIdWS

Parametreler

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

Yanıt

Döndürür: GetEventLog200Response


getGlobalEventLog Internal Link

req tenantId urlId userIdWS

Parametreler

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

Yanıt

Döndürür: GetEventLog200Response

createFeedPost Internal Link

Parametreler

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

Yanıt

Döndürür: CreateFeedPost200Response

createFeedPostPublic Internal Link

Parametreler

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

Yanıt

Döndürür: CreateFeedPostPublic200Response

deleteFeedPostPublic Internal Link

Parametreler

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

Yanıt

Döndürür: DeleteFeedPostPublic200Response


getFeedPosts Internal Link

req tenantId afterId

Parametreler

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

Yanıt

Döndürür: GetFeedPosts200Response

getFeedPostsPublic Internal Link

req tenantId afterId

Parametreler

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

Yanıt

Dönüş değeri: GetFeedPostsPublic200Response


getFeedPostsStats Internal Link

Parameters

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

Yanıt

Döndürür: GetFeedPostsStats200Response

getUserReactsPublic Internal Link

Parametreler

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

Yanıt

Döndürür: GetUserReactsPublic200Response


reactFeedPostPublic Internal Link


Parametreler

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

Yanıt

Döndürür: ReactFeedPostPublic200Response


updateFeedPost Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response


updateFeedPostPublic Internal Link


Parametreler

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

Yanıt

Döndürür: CreateFeedPostPublic200Response


flagCommentPublic Internal Link


Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response


addHashTag Internal Link

Parametreler

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

Yanıt

Döndürür: AddHashTag200Response

Örnek

addHashTag Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7b2f6c2b';
3const createBody: CreateHashTagBody = {
4 tag: 'feature-request',
5 label: 'Feature Request',
6 description: 'Requests for new functionality in the web client',
7 isActive: true,
8 visibility: 'public',
9 allowedDomains: ['example.com', 'internal.example.com']
10};
11const result: AddHashTag200Response = await addHashTag(tenantId, createBody);
12const resultWithoutTenant: AddHashTag200Response = await addHashTag(undefined, {
13 tag: 'bug',
14 label: 'Bug',
15 description: 'Use for reproducible bugs reported by users',
16 isActive: true,
17 visibility: 'public'
18});
19

addHashTagsBulk Internal Link

Parametreler

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

Yanıt

Döndürür: AddHashTagsBulk200Response

Örnek

addHashTagsBulk Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_3f2b9a';
4 const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
5 tags: [
6 { name: 'performance', description: 'Comments about site performance', visibleToModeratorsOnly: false },
7 { name: 'feature-request', description: 'Requests for new features', visibleToModeratorsOnly: true }
8 ]
9 };
10 const result: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
11 const resultWithNoTenant: AddHashTagsBulk200Response = await addHashTagsBulk(undefined, bulkCreateHashTagsBody);
12 console.log(result, resultWithNoTenant);
13})();
14

deleteHashTag Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteHashTag Örneği
Copy Copy
1
2const tag: string = 'breaking-news';
3const tenantId: string = 'tenant_42';
4const deleteReq: DeleteHashTagRequest = { removedBy: 'moderator_jane', reason: 'off-topic for this community', deleteAssociatedComments: true } as DeleteHashTagRequest;
5const result: FlagCommentPublic200Response = await deleteHashTag(tag, tenantId, deleteReq);
6

getHashTags Internal Link

Parametreler

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

Yanıt

Dönen Değer: GetHashTags200Response

Örnek

getHashTags Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-7a9f";
4 const tagsPage1: GetHashTags200Response = await getHashTags(tenantId);
5 const tagsPage2: GetHashTags200Response = await getHashTags(tenantId, 2);
6 console.log(tagsPage1, tagsPage2);
7})();
8

patchHashTag Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tag string Yes
tenantId string No
updateHashTagBody UpdateHashTagBody No

Yanıt

Döndürür: PatchHashTag200Response

Örnek

patchHashTag Örneği
Copy Copy
1
2const tag: string = 'release-2026';
3const tenantId: string = 'tenant_42';
4const updateHashTagBody: UpdateHashTagBody = {
5 displayName: 'Release 2026',
6 description: 'Discussions and notes for the 2026 product release',
7 isActive: true
8};
9const result: PatchHashTag200Response = await patchHashTag(tag, tenantId, updateHashTagBody);
10

createModerator Internal Link

Parametreler

Name Type Required Description
tenantId string Yes
createModeratorBody CreateModeratorBody Yes

Yanıt

Returns: CreateModerator200Response

Örnek

createModerator Örneği
Copy Copy
1
2const tenantId: string = "tenant_prod_us-east_01";
3const createModeratorBody: CreateModeratorBody = {
4 email: "maria.lopez+mod@fastcompany.com",
5 username: "mlopez_mod",
6 displayName: "Maria Lopez",
7 roles: ["content_moderator"],
8 notifyOnReports: true,
9 metadata: { region: "us-east", team: "community" }
10};
11const result: CreateModerator200Response = await createModerator(tenantId, createModeratorBody);
12

deleteModerator Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteModerator Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-987';
3const moderatorId: string = 'mod-78b2c9a4-3f1e-4d6a';
4const sendEmail: string = 'true';
5const result: FlagCommentPublic200Response = await deleteModerator(tenantId, moderatorId, sendEmail);
6

getModerator Internal Link

Parametreler

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

Yanıt

Döndürür: GetModerator200Response

Örnek

getModerator Örneği
Copy Copy
1
2const tenantId: string = "tenant_eu_4f8d2b9e";
3const maybeModeratorId: string | undefined = "mod_91c3b7a2"; // isteğe bağlı kaynak (undefined olabilir)
4const moderator: GetModerator200Response = await getModerator(tenantId, maybeModeratorId!);
5

getModerators Internal Link

Parametreler

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

Yanıt

Döndürür: GetModerators200Response

Örnek

getModerators Örneği
Copy Copy
1
2const tenantId: string = "tenant_corp_7f9b2a";
3const moderatorsPage1: GetModerators200Response = await getModerators(tenantId);
4const skip: number = 50;
5const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, skip);
6

sendInvite Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

sendInvite Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-004';
3const id: string = 'comment_9b7f3a2c';
4const fromName: string = 'María Hernández';
5const response: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName);
6

updateModerator Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateModerator Örneği
Copy Copy
1
2const tenantId: string = '4f8a9c2e-3b6d-4d9e-8c2f-1a2b3c4d5e6f';
3const id: string = 'mod_92a7c4';
4const updateModeratorBodyMinimal: UpdateModeratorBody = { displayName: 'Sophia Patel' };
5const updateModeratorBodyWithOptional: UpdateModeratorBody = {
6 displayName: 'Sophia Patel',
7 email: 'sophia.patel@newsroom.example',
8 permissions: ['remove_comments', 'ban_user'],
9 notifyOnFlag: true // isteğe bağlı parametre gösterimi
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBodyWithOptional);
12

deleteNotificationCount Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteNotificationCount Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3a1b2c4d9e';
3const notificationId: string = 'notif_8c9d0a1b2f3e4b7';
4const result: FlagCommentPublic200Response = await deleteNotificationCount(tenantId, notificationId);
5

getCachedNotificationCount Internal Link

Parametreler

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

Yanıt

Döndürür: GetCachedNotificationCount200Response

Örnek

getCachedNotificationCount Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-01';
3const baseNotificationId: string = 'notif-000123';
4const idSuffix: string | undefined = undefined; // isteğe bağlı parametre örneği
5const notificationId: string = idSuffix ? `${baseNotificationId}-${idSuffix}` : baseNotificationId;
6const result: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, notificationId);
7console.log(result);
8

getNotificationCount Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
userId string Hayır
urlId string Hayır
fromCommentId string Hayır
viewed boolean Hayır
type string Hayır

Yanıt

Döndürür: GetNotificationCount200Response

Örnek

getNotificationCount Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8a9b7c';
3const userId: string = 'user_42b3c';
4const urlId: string = 'https://blog.example.com/posts/introducing-new-editor';
5const fromCommentId: string | undefined = undefined;
6const viewed: boolean = false;
7const type: string = 'mention';
8const result: GetNotificationCount200Response = await getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, type);
9

getNotifications Internal Link

Parametreler

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

Yanıt

Döndürür: GetNotifications200Response

Örnek

getNotifications Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_8f3b1a2c';
4 const userId: string = 'user_42';
5 const urlId: string = 'https://news.example.com/articles/2026/01/11/comment-thread';
6 const fromCommentId: string = 'cmt_9a7b';
7 const viewed: boolean = false;
8 const type: string = 'mention';
9 const skip: number = 0;
10 const response: GetNotifications200Response = await getNotifications(tenantId, userId, urlId, fromCommentId, viewed, type, skip);
11 console.log(response);
12})();
13

updateNotification Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateNotification Örneği
Copy Copy
1
2const tenantId: string = "tenant_86a7b3";
3const id: string = "notif_20260112_01";
4const userId: string = "moderator_42";
5const updateNotificationBody: UpdateNotificationBody = {
6 name: "Flagged comment alert",
7 enabled: true,
8 channels: ["email"],
9 recipients: ["mod-team@news-site.com"],
10 threshold: 1
11};
12
13(async () => {
14 const result: FlagCommentPublic200Response = await updateNotification(tenantId, id, updateNotificationBody, userId);
15 console.log(result);
16})();
17

addPage Internal Link


Parametreler

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

Yanıt

Döndürür: AddPageAPIResponse


deletePage Internal Link

Parametreler

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

Yanıt

Döndürür: DeletePageAPIResponse

getPageByURLId Internal Link


Parametreler

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

Yanıt

Döndürür: GetPageByURLIdAPIResponse


getPages Internal Link


Parametreler

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

Yanıt

Döndürür: GetPagesAPIResponse


patchPage Internal Link


Parametreler

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

Yanıt

Döndürür: PatchPageAPIResponse


deletePendingWebhookEvent Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deletePendingWebhookEvent Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f4e2b';
3const pendingEventId: string = '9f7b6a8c-3b2a-4c0d-a8e5-1234567890ab';
4const result: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, pendingEventId);
5console.log(result);
6

getPendingWebhookEventCount Internal Link

Parametreler

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

Yanıt

Döndürür: GetPendingWebhookEventCount200Response

Örnek

getPendingWebhookEventCount Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_9c3b2b';
4 const commentId: string = 'cmt_f4a1b2';
5 const externalId: string = 'ext-789';
6 const eventType: string = 'comment.created';
7 const type: string = 'delivery';
8 const domain: string = 'app.example.com';
9 const attemptCountGT: number = 2;
10
11 const result: GetPendingWebhookEventCount200Response = await getPendingWebhookEventCount(
12 tenantId,
13 commentId,
14 externalId,
15 eventType,
16 type,
17 domain,
18 attemptCountGT
19 );
20
21 console.log(result);
22})();
23

getPendingWebhookEvents Internal Link

Parametreler

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

Yanıt

Döndürür: GetPendingWebhookEvents200Response

Örnek

getPendingWebhookEvents Örneği
Copy Copy
1
2const tenantId: string = "tenant_78b2f1";
3const commentId: string = "cmt_0042";
4const eventType: string = "comment.created";
5const domain: string = "blog.example.com";
6const attemptCountGT: number = 1;
7const skip: number = 0;
8
9const pending: GetPendingWebhookEvents200Response = await getPendingWebhookEvents(
10 tenantId,
11 commentId,
12 undefined, // externalId
13 eventType,
14 undefined, // type
15 domain,
16 attemptCountGT,
17 skip
18);
19

createQuestionConfig Internal Link

Parametreler

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

Yanıt

Döndürür: CreateQuestionConfig200Response

Örnek

createQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = "tenant_live_7f8b3c2a";
3const customOptions: QuestionConfigCustomOptionsInner[] = [
4 { value: "under18", label: "Under 18" },
5 { value: "18-24", label: "18-24" },
6 { value: "25-34", label: "25-34", defaultSelected: true }
7];
8const createQuestionConfigBody: CreateQuestionConfigBody = {
9 key: "age_range",
10 label: "What is your age range?",
11 required: false, // isteğe bağlı: opsiyonel alanların atlandığını veya dahil edildiğini göstermek için
12 renderingType: QuestionRenderingType.Dropdown,
13 options: customOptions,
14 whenSave: QuestionWhenSave.Always
15};
16const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
17

deleteQuestionConfig Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteQuestionConfig Örneği
Copy Copy
1
2async function deleteIfPresent(tenantId: string, id?: string): Promise<FlagCommentPublic200Response | null> {
3 if (!id) return null;
4 const result: FlagCommentPublic200Response = await deleteQuestionConfig(tenantId, id);
5 return result;
6}
7const tenantId: string = 'tenant_acme_001';
8const optionalConfigId: string | undefined = 'qcfg_20260112_01';
9(async (): Promise<void> => {
10 const deleted: FlagCommentPublic200Response | null = await deleteIfPresent(tenantId, optionalConfigId);
11 void deleted;
12})();
13

getQuestionConfig Internal Link

Parametreler

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

Yanıt

Döndürür: GetQuestionConfig200Response

Örnek

getQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = 'acme-corp-47';
3const questionId: string = 'q-2026-01-12-01';
4const result: GetQuestionConfig200Response = await getQuestionConfig(tenantId, questionId);
5function summarizeConfig(cfg: GetQuestionConfig200Response, includeMetadata?: boolean): QuestionConfig | undefined {
6 // includeMetadata isteğe bağlıdır; uygulama kısalık nedeniyle atlandı.
7 return undefined;
8}
9const summarizedWithMeta: QuestionConfig | undefined = summarizeConfig(result, true);
10const summarizedDefault: QuestionConfig | undefined = summarizeConfig(result);
11

getQuestionConfigs Internal Link

Parametreler

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

Yanıt

Döndürür: GetQuestionConfigs200Response

Örnek

getQuestionConfigs Örneği
Copy Copy
1
2const tenantId: string = 'tenant-42a7b9';
3const firstPage: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const secondPage: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, 50);
5

updateQuestionConfig Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateQuestionConfig Örneği
Copy Copy
1
2const tenantId: string = 'tenant-82b3a';
3const id: string = 'qst-20260112';
4const updateQuestionConfigBody: UpdateQuestionConfigBody = { label: 'Age verification', required: true, renderingType: 'singleChoice', customOptions: [{ value: '18-24', label: '18–24' }] } as UpdateQuestionConfigBody;
5const result: FlagCommentPublic200Response = await updateQuestionConfig(tenantId, id, updateQuestionConfigBody);
6

createQuestionResult Internal Link

Parametreler

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

Yanıt

Döndürür: CreateQuestionResult200Response

Örnek

createQuestionResult Örneği
Copy Copy
1
2const tenantId: string = "fc_tenant_7a3c_us-east-1";
3const metaItem: MetaItem = { key: "referrer", value: "/blog/how-to-comment" };
4const createQuestionResultBody: CreateQuestionResultBody = {
5 questionId: "q_42",
6 commenterId: "user_1984",
7 answer: "yes",
8 score: 4,
9 meta: [metaItem] // isteğe bağlı meta veri gösterimi
10} as CreateQuestionResultBody;
11const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, createQuestionResultBody);
12

deleteQuestionResult Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteQuestionResult Örneği
Copy Copy
1
2const tenantId: string = 'acme-tenant-01';
3const questionResultId: string = '6f1a2b3c-4d5e-6789-abcd-ef0123456789';
4const deletedResult: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, questionResultId);
5console.log(deletedResult);
6

getQuestionResult Internal Link

Parametreler

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

Yanıt

Döndürür: GetQuestionResult200Response

Örnek

getQuestionResult Örneği
Copy Copy
1
2const tenantId: string = "3fa85f64-5717-4562-b3fc-2c963f66afa6";
3const questionId: string = "question_72f1b9c3a4";
4const result: GetQuestionResult200Response = await getQuestionResult(tenantId, questionId);
5console.log(result);
6

getQuestionResults Internal Link

Parametreler

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

Yanıt

Döndürür: GetQuestionResults200Response

Örnek

getQuestionResults Örneği
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const urlId: string = 'news/2025/fastcomments-release';
4const userId: string = 'user_8b7f3c';
5const startDate: string = '2025-01-01T00:00:00Z';
6const questionIds: string = 'q123,q124';
7const skip: number = 20;
8const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, undefined, questionIds, skip);
9

updateQuestionResult Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateQuestionResult Örneği
Copy Copy
1
2const tenantId: string = 'tenant_84f2b9';
3const id: string = 'question_3a7c1d';
4const updateQuestionResultBody: UpdateQuestionResultBody = {
5 result: { verdict: 'helpful', confidence: 0.92 },
6 reviewer: { id: 'mod_102', name: 'Aisha Rahman' },
7 notifyUser: true // isteğe bağlı parametre dahil edildi
8};
9const response: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
10

aggregateQuestionResults Internal Link


Parametreler

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

Yanıt

Döndürür: AggregateQuestionResults200Response


bulkAggregateQuestionResults Internal Link

Parametreler

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

Yanıt

Döndürür: BulkAggregateQuestionResults200Response

combineCommentsWithQuestionResults Internal Link

Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
questionId string Hayır
questionIds Array Hayır
urlId string Hayır
startDate Date Hayır
forceRecalculate boolean Hayır
minValue number Hayır
maxValue number Hayır
limit number Hayır

Yanıt

Döndürür: CombineCommentsWithQuestionResults200Response

addSSOUser Internal Link


Parametreler

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

Yanıt

Döndürür: AddSSOUserAPIResponse


deleteSSOUser Internal Link


Parametreler

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

Yanıt

Döndürür: DeleteSSOUserAPIResponse


getSSOUserByEmail Internal Link


Parametreler

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

Yanıt

Döndürür: GetSSOUserByEmailAPIResponse


getSSOUserById Internal Link

Parametreler

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

Yanıt

Dönüş: GetSSOUserByIdAPIResponse


getSSOUsers Internal Link


Parametreler

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

Yanıt

Döndürür: GetSSOUsers200Response


patchSSOUser Internal Link

Parametreler

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

Yanıt

Döndürür: PatchSSOUserAPIResponse


putSSOUser Internal Link

Parametreler

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

Yanıt

Döndürür: PutSSOUserAPIResponse


createSubscription Internal Link

Parametreler

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

Yanıt

Döndürür: CreateSubscriptionAPIResponse


deleteSubscription Internal Link


Parametreler

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

Yanıt

Döndürür: DeleteSubscriptionAPIResponse


getSubscriptions Internal Link


Parametreler

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

Yanıt

Döndürür: GetSubscriptionsAPIResponse


getTenantDailyUsages Internal Link

Parametreler

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

Yanıt

Dönüş: GetTenantDailyUsages200Response

Örnek

getTenantDailyUsages Örneği
Copy Copy
1
2const tenantId: string = "tenant_89f3c2-prod";
3const yearNumber: number = 2026;
4const monthNumber: number = 1;
5const skip: number = 0;
6const usages: GetTenantDailyUsages200Response = await getTenantDailyUsages(tenantId, yearNumber, monthNumber, undefined, skip);
7

createTenantPackage Internal Link

Parametreler

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

Yanıt

Döndürür: CreateTenantPackage200Response

Örnek

createTenantPackage Örneği
Copy Copy
1
2const tenantId: string = "tenant_7f3b1a9c";
3const tenantPackage: TenantPackage = { id: "pkg_001", name: "Premium Plan", seats: 100 };
4const customConfig: CustomConfigParameters = { enableImages: true, maxImageSizeMb: 10 };
5const createTenantPackageBody: CreateTenantPackageBody = {
6 packageName: "Premium Plus",
7 tenantPackage,
8 customConfig,
9 notes: "Enable advanced moderation and image uploads" // isteğe bağlı parametre örneği
10};
11const result: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
12

deleteTenantPackage Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenantPackage Örneği
Copy Copy
1
2const tenantId: string = 'fc-tenant-8a9c2b';
3const packageId: string = 'pkg-47f3c9';
4const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
5

getTenantPackage Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetTenantPackage200Response

Örnek

getTenantPackage Örneği
Copy Copy
1
2const tenantId: string = 'tenant_westus_01';
3const packageId: string = 'pkg_premium_annual_2026';
4interface FetchOptions { includeArchived?: boolean }
5const options: FetchOptions = { includeArchived: false };
6const result: GetTenantPackage200Response = await getTenantPackage(tenantId, packageId);
7

getTenantPackages Internal Link


Parametreler

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

Yanıt

Döndürür: GetTenantPackages200Response

Örnek

getTenantPackages Örneği
Copy Copy
1
2const tenantId: string = 'tenant_4f3a9c2d';
3const skip: number = 25;
4const packagesResponse: GetTenantPackages200Response = await getTenantPackages(tenantId);
5const pagedPackagesResponse: GetTenantPackages200Response = await getTenantPackages(tenantId, skip);
6

replaceTenantPackage Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

replaceTenantPackage Örneği
Copy Copy
1
2const tenantId: string = 'tenant-9b72f2';
3const packageId: string = 'pkg-prod-v2';
4const replaceTenantPackageBody: ReplaceTenantPackageBody = {
5 name: 'Premium Moderation Bundle',
6 enabled: true,
7 maxModerators: 4,
8 // "notes" veya "trialExpiry" gibi isteğe bağlı alanlar kasıtlı olarak burada dahil edilmemiştir
9} as ReplaceTenantPackageBody;
10const result: FlagCommentPublic200Response = await replaceTenantPackage(
11 tenantId,
12 packageId,
13 replaceTenantPackageBody
14);
15

updateTenantPackage Internal Link


Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenantPackage Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8a4f1c9b';
3const packageId: string = 'pkg_premium_v2';
4const customConfig: CustomConfigParameters = { enableRichText: true, maxImagesPerComment: 5 };
5const updateTenantPackageBody: UpdateTenantPackageBody = {
6 name: 'Premium Moderation Package',
7 enabled: true,
8 description: 'Adds advanced spam rules, image moderation and priority support',
9 customConfigParameters: customConfig
10};
11const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, packageId, updateTenantPackageBody);
12

createTenantUser Internal Link

Parametreler

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

Yanıt

Döndürür: CreateTenantUser200Response

Örnek

createTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_9a8c7e4b";
3const createTenantUserBody: CreateTenantUserBody = {
4 email: "julia.smith@acme-corp.com",
5 displayName: "Julia Smith",
6 role: "moderator",
7 password: "Str0ngP@ssword!23",
8 sendInviteEmail: true, // isteğe bağlı parametre örneği
9 locale: "en-US",
10 metadata: { department: "Customer Success" }
11};
12const result: CreateTenantUser200Response = await createTenantUser(tenantId, createTenantUserBody);
13

deleteTenantUser Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenantUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_8f3b2a9c';
3const id: string = 'user_4e5f6a7b';
4const deleteComments: string = 'true';
5const commentDeleteMode: string = 'hard';
6
7const result: FlagCommentPublic200Response = await deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode);
8

getTenantUser Internal Link

Parametreler

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

Yanıt

Döndürür: GetTenantUser200Response

Örnek

getTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_9f7d4b2a-1c3e";
3const id: string = "user_6a12b3c4d5";
4const includeProfile: boolean | undefined = true; // isteğe bağlı parametre örneği
5const response: GetTenantUser200Response = await getTenantUser(tenantId, id);
6console.log("Tenant user fetched", response);
7

getTenantUsers Internal Link

Parametreler

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

Yanıt

Döndürür: GetTenantUsers200Response

Örnek

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

replaceTenantUser Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

replaceTenantUser Örneği
Copy Copy
1
2const tenantId: string = "tenant_5f8b9a";
3const id: string = "user_92bf21";
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 email: "jane.doe@acme-corp.com",
6 displayName: "Jane Doe",
7 externalId: "acme|12345",
8 roles: ["commenter", "moderator"],
9 isActive: true,
10 metadata: { team: "product", location: "NYC" }
11};
12const updateComments: string = "Update historical comments to reflect new display name";
13const result: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
14

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

sendLoginLink Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const id: string = 'user_9f3b2a';
4const redirectURL: string = 'https://app.example.com/onboard?source=login-email';
5const result: FlagCommentPublic200Response = await sendLoginLink(tenantId, id, redirectURL);
6

updateTenantUser Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Yes
id string Yes
updateTenantUserBody UpdateTenantUserBody Yes
updateComments string No

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenantUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_84f3b2';
3const id: string = 'user_7a9d1c';
4const updateComments: string = 'Promoted to moderator and updated contact email';
5const updateTenantUserBody: UpdateTenantUserBody = {
6 email: 'jane.doe+mod@example.com',
7 displayName: 'Jane D.',
8 roles: ['moderator'],
9 isBanned: false,
10 metadata: { department: 'community' }
11};
12const result: FlagCommentPublic200Response = await updateTenantUser(tenantId, id, updateTenantUserBody, updateComments);
13

createTenant Internal Link


Parametreler

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

Yanıt

Döndürür: CreateTenant200Response

Örnek

createTenant Örneği
Copy Copy
1
2const tenantId: string = "acme-corporation";
3const billing: BillingInfo = { planId: "pro", billingContactEmail: "finance@acme-corp.com", currency: "USD" };
4const domainConfig: APIDomainConfiguration = { primaryDomain: "comments.acme-corp.com", allowedDomains: ["acme-corp.com", "www.acme-corp.com"], enforceHttps: true };
5const importedSites: ImportedSiteType[] = [{ siteId: "site-001", url: "https://blog.acme-corp.com", name: "Acme Blog" }]; // isteğe bağlı
6const createBody: CreateTenantBody = { tenantName: "Acme Corporation", adminEmail: "admin@acme-corp.com", billingInfo: billing, domainConfiguration: domainConfig, importedSites, enableModeration: true };
7const response: CreateTenant200Response = await createTenant(tenantId, createBody);
8

deleteTenant Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

deleteTenant Örneği
Copy Copy
1
2const tenantId: string = "tenant_7b3f1a9e";
3const id: string = "flag_9c4d2b1a";
4const sure: string = "yes_confirm_delete";
5
6const result: FlagCommentPublic200Response = await deleteTenant(tenantId, id, sure);
7console.log(result);
8

getTenant Internal Link

Parametreler

Name Type Gerekli Açıklama
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetTenant200Response

Örnek

getTenant Örneği
Copy Copy
1
2const tenantId: string = "tenant_acme_corp";
3const id: string = "f47ac10b-58cc-4372-a567-0e02b2c3d479";
4interface GetOptions { includeDeleted?: boolean; locale?: string; }
5const options: GetOptions = { locale: "en-US" };
6const result: GetTenant200Response = await getTenant(tenantId, id);
7

getTenants Internal Link

Parametreler

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

Yanıt

Döndürür: GetTenants200Response

Örnek

getTenants Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_9f2d1b7c';
4 const meta: string = 'include=domains,billing,customConfig';
5 const skip: number = 20;
6 const response: GetTenants200Response = await getTenants(tenantId, meta, skip);
7 console.log(response);
8})();
9

updateTenant Internal Link

Parametreler

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

Yanıt

Döndürür: FlagCommentPublic200Response

Örnek

updateTenant Örneği
Copy Copy
1
2const tenantId: string = "tenant_01H4ZQ7KABCD";
3const id: string = "site_9f8e7d6c";
4const apiDomainConfiguration: APIDomainConfiguration = {
5 primaryDomain: "comments.acme.com",
6 allowSubdomains: true
7};
8const billingInfo: BillingInfo = {
9 planName: "Business",
10 billingContactEmail: "billing@acme.com",
11 seats: 25
12};
13const updateTenantBody: UpdateTenantBody = {
14 displayName: "Acme Corporation Comments",
15 apiDomainConfiguration,
16 billingInfo, // isteğe bağlı parametre örneği
17 enableModeration: true
18};
19const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
20

uploadImage Internal Link

Bir resmi yükle ve yeniden boyutlandır

Parametreler

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

Yanıt

Döndürür: UploadImageResponse


getUserBadgeProgressById Internal Link

Parametreler

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

Yanıt

Döndürür: GetUserBadgeProgressById200Response

getUserBadgeProgressByUserId Internal Link


Parametreler

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

Yanıt

Döndürür: GetUserBadgeProgressById200Response


getUserBadgeProgressList Internal Link

Parametreler

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

Yanıt

Döndürür: GetUserBadgeProgressList200Response


createUserBadge Internal Link


Parametreler

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

Yanıt

Döndürür: CreateUserBadge200Response


deleteUserBadge Internal Link

Parametreler

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

Yanıt

Döndürür: UpdateUserBadge200Response


getUserBadge Internal Link


Parametreler

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

Yanıt

Döndürür: GetUserBadge200Response


getUserBadges Internal Link


Parametreler

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

Yanıt

Döndürür: GetUserBadges200Response


updateUserBadge Internal Link


Parametreler

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

Yanıt

Döndürür: UpdateUserBadge200Response


getUserNotificationCount Internal Link


Parametreler

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

Yanıt

Döndürür: GetUserNotificationCount200Response


getUserNotifications Internal Link

Parametreler

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

Yanıt

Döndürür: GetUserNotifications200Response


resetUserNotificationCount Internal Link


Parametreler

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

Yanıt

Döndürür: ResetUserNotifications200Response


resetUserNotifications Internal Link

Parametreler

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

Yanıt

Döndürür: ResetUserNotifications200Response


updateUserNotificationCommentSubscriptionStatus Internal Link

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

Parametreler

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

Yanıt

Döndürür: UpdateUserNotificationStatus200Response


updateUserNotificationPageSubscriptionStatus Internal Link


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

Parametreler

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

Yanıt

Döndürür: UpdateUserNotificationStatus200Response


updateUserNotificationStatus Internal Link

Parametreler

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

Yanıt

Döndürür: UpdateUserNotificationStatus200Response


getUserPresenceStatuses Internal Link


Parametreler

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

Yanıt

Döndürür: GetUserPresenceStatuses200Response


searchUsers Internal Link


Parametreler

Ad Tür Gerekli Açıklama
tenantId string Evet
urlId string Evet
usernameStartsWith string Evet
mentionGroupIds Array Hayır
sso string Hayır

Yanıt

Döndürür: SearchUsers200Response


getUser Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
id string Evet

Yanıt

Döndürür: GetUser200Response

Örnek

getUser Örneği
Copy Copy
1
2const tenantId: string = "acme-publishing-42";
3const userIdOptional: string | undefined = "user_9d7b4c"; // bazı akışlarda undefined olabilir (isteğe bağlı)
4const id: string = userIdOptional ?? "user_default_0001";
5const result: GetUser200Response = await getUser(tenantId, id);
6console.log(result);
7

createVote Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
commentId string Evet
direction CreateVoteDirectionEnum Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: VoteComment200Response

Örnek

createVote Örneği
Copy Copy
1
2(async () => {
3 const tenantId: string = 'acme-tenant-812';
4 const commentId: string = '5e8f8b7a-3d4b-4f1b-9a2e-1c9f2d6a7b8c';
5 const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.UP;
6 const anonUserId: string = 'anon-84b9c2d';
7 const voteResult: VoteComment200Response = await createVote(tenantId, commentId, direction, undefined, anonUserId);
8 console.log(voteResult);
9})();
10

deleteVote Internal Link

Parametreler

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

Yanıt

Döndürür: DeleteCommentVote200Response

Örnek

deleteVote Örneği
Copy Copy
1
2const tenantId: string = 'tenant_7f3b21c9';
3const id: string = 'vote_4a2d9f1b';
4const editKey: string = 'edit_92b7c6a1';
5
6const resultWithoutEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id);
7const resultWithEditKey: DeleteCommentVote200Response = await deleteVote(tenantId, id, editKey);
8

getVotes Internal Link

Parametreler

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

Yanıt

Döndürür: GetVotes200Response

Örnek

getVotes Örneği
Copy Copy
1
2const tenantId: string = 'tenant_9f8b3c_prod';
3const urlId: string = '/news/2026/typescript-ecosystem-update';
4const votes: GetVotes200Response = await getVotes(tenantId, urlId);
5// Eğer bir isteğe bağlı parametre olsaydı, ör. includeHidden, şu şekilde kullanılabilirdi:
6// const votesWithHidden: GetVotes200Response = await getVotes(tenantId, urlId, { includeHidden: true });
7

getVotesForUser Internal Link

Parametreler

Name Type Required Description
tenantId string Evet
urlId string Evet
userId string Hayır
anonUserId string Hayır

Yanıt

Döndürür: GetVotesForUser200Response

Örnek

getVotesForUser Örneği
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const urlId: string = 'news/2026/01/12/product-launch';
4const userId: string = 'user_9c3f2b';
5const anonUserId: string = 'anon_d4e7a1';
6
7const votesForUser: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, userId);
8const votesForAnon: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, undefined, anonUserId);
9

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.