FastComments.com

FastComments の JavaScript/TypeScript SDK


これは FastComments の公式 JavaScript/TypeScript SDK です。

Node.js またはブラウザからコメント、ユーザー、SSO、およびモデレーションを管理できます。

リポジトリ

GitHubで表示


インストール Internal Link

npm

npm install fastcomments-sdk

API ドキュメント Internal Link


完全な API リファレンス: docs/api/README.md

ブラウザとサーバーの互換性 Internal Link


この SDK は、最適な互換性を確保し実行時エラーを防ぐために デュアルエントリポイント を使用します:

  • fastcomments-sdk/browser - ブラウザ安全版(ネイティブの fetch 使用)
  • fastcomments-sdk/server - SSO をサポートするフル Node.js バージョン
  • fastcomments-sdk (デフォルト) - 型定義のみ、どこでも安全にインポート可能

公開APIと保護されたAPI Internal Link

The SDK は3つの主要な API クラスを提供します:

  • DefaultApi - 認証に API キーを必要とする保護されたエンドポイント。サーバー側の操作に使用してください。
  • PublicApi - API キーなしでアクセスできる公開エンドポイント。ブラウザやモバイルデバイスなどから直接呼び出せます。
  • HiddenApi - 高度なユースケース向けの内部/管理者用エンドポイント。

例: Public API の使用(ブラウザ対応)

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

const publicApi = new PublicApi();

// ページのコメントを取得(API キー不要)
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

例: Default API の使用(サーバー側のみ)

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

const config = new Configuration({
  apiKey: 'your-api-key' // これは秘密にしてください!
});
const defaultApi = new DefaultApi(config);

// 管理者権限でコメントを取得
const response = await defaultApi.getComments({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id'
});

SSO(シングルサインオン)統合 Internal Link

FastComments は既存のユーザー認証システムと統合するための SSO をサポートしています。SSO 機能は Node.js の crypto 機能を必要とするため、サーバーエクスポートでのみ利用可能です。

Simple SSO(サーバーサイドのみ)

Simple SSO はサーバーサイドで生成してクライアントに送信する必要があります:

// サーバー側のコード (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// 組み込みのヘルパーを使って simple SSO を作成  
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 をクライアント側コードに送信する
// クライアント側のコードはこのトークンをブラウザ用 SDK で使用できます

Secure SSO(サーバーサイド、推奨)

Secure SSO はサーバーサイドで実装するべきで、より高いセキュリティを提供します:

// サーバー側のコード (Node.js/backend)
import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';

// 組み込みのヘルパーを使って secure SSO を作成
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();

// サーバー上の API 呼び出しで使用
const publicApi = new PublicApi();
const response = await publicApi.getCommentsPublic({
  tenantId: 'your-tenant-id',
  urlId: 'page-url-id',
  sso: JSON.stringify(ssoConfig)
});

// または ssoConfig をクライアントに送ってブラウザで使用

ブラウザからの SSO の使用(サーバー生成トークンあり)

// クライアント側のコード(ブラウザ)
import { PublicApi } from 'fastcomments-sdk/browser';

// サーバーのエンドポイントから SSO トークンを取得
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 // サーバー生成の SSO トークンを使用
});

コメント作成時の SSO

// サーバー側: SSO とコメントを作成
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)
});

一般的なユースケース Internal Link

ページのコメントを取得する

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

コメントを作成する

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

コメントに投票する

const voteResponse = await sdk.publicApi.voteComment({
  voteBodyParams: {
    commentId: 'comment-id',
    direction: 1 // 1 は賛成(アップボート)、-1 は反対(ダウンボート)
  }
});

ユーザー管理 (APIキーが必要)

// ユーザーを検索する (DefaultApi が必要)
const users = await sdk.defaultApi.searchUsers({
  tenantId: 'your-tenant-id',
  urlId: 'page-id',
  usernameStartsWith: 'john'
});

ライブイベント(リアルタイム更新) Internal Link

ライブイベントを購読して、コメント、投票、その他のアクティビティのリアルタイム更新を取得します。

ページレベルのイベント

特定のページのライブイベント(コメント、投票など)を監視します:

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

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

// Subscribe to live events for a page
const subscription = subscribeToChanges(
  config,
  'your-tenant-id', // tenantIdWS
  'page-url-id',    // urlIdWS  
  'user-session-id', // userIdWS (get this from getComments response)
  (event: LiveEvent) => {
    console.log('Live event received:', event);
    
    switch (event.type) {
      case LiveEventType.new_comment:
        console.log('New comment:', event.comment);
        // Update your UI with the new comment
        break;
      case LiveEventType.new_vote:
        console.log('New vote:', event.vote);
        // Update vote counts in your UI
        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();

ユーザーイベントを購読

ユーザー固有のイベント(通知、メンションなど)を監視します:

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

const userConfig = {
  userIdWS: 'user-session-id', // Get this from getComments response
};

// Subscribe to user's personal feed
const userSubscription = subscribeToUserFeed(
  userConfig,
  (event: LiveEvent) => {
    console.log('User event received:', event);
    
    switch (event.type) {
      case LiveEventType.notification:
        console.log('New notification:', event.notification);
        // Show notification in your UI
        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');
  }
);

// Close when done
userSubscription.close();

userIdWS の取得

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'
});

// Extract userIdWS from the response
const userIdWS = response.data?.userSessionInfo?.userIdWS;

if (userIdWS) {
  // Now you can subscribe to live events
  const subscription = subscribeToChanges(config, tenantIdWS, urlIdWS, userIdWS, handleEvent);
}

ブロードキャストID Internal Link

You'll see you're supposed to pass a broadcastId in some API calls. When you receive events, you'll get this ID back, so you know to ignore the event if you plan to optimistically apply changes on the client (which you'll probably want to do since it offers the best experience). Pass a UUID here. The ID should be unique enough to not occur twice in a browser session.

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() // この操作のための一意のID
  }
});

エラー処理 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);
  }
}

集計 Internal Link

ドキュメントをグループ化して(groupBy が指定されている場合)複数の操作を適用して集計します。
さまざまな操作(例: sum、countDistinct、avg など)をサポートします。

Parameters

NameTypeRequiredDescription
tenantIdstringはい
aggregationRequestAggregationRequestはい
parentTenantIdstringいいえ
includeStatsbooleanいいえ

Response

戻り値: Aggregate200Response

Example

aggregate の例
Copy Copy
1
2const tenantId: string = 'tenant_78a9';
3const parentTenantId: string = 'parent_tenant_01';
4const includeStats: boolean = true;
5const aggregationRequest: AggregationRequest = {
6 operation: { type: 'COUNT' },
7 groupBy: ['pageUrl'],
8 predicate: { field: 'status', operator: 'EQUALS', value: 'approved' },
9 sort: [{ field: 'count', direction: 'DESC' }],
10 limit: 25
11};
12const result: Aggregate200Response = await aggregate(tenantId, aggregationRequest, parentTenantId, includeStats);
13

監査ログを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
limitnumberいいえ
skipnumberいいえ
orderSORTDIRいいえ
afternumberいいえ
beforenumberいいえ

レスポンス

戻り値: GetAuditLogs200Response

getAuditLogs の例
Copy Copy
1
2const tenantId: string = 'tenant_5f8d7c3a';
3const limit: number = 100;
4const skip: number = 0;
5const order: SORTDIR = 'DESC' as SORTDIR;
6const after: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // 1週間前
7const before: number = Date.now();
8const result: GetAuditLogs200Response = await getAuditLogs(tenantId, limit, skip, order, after, before);
9

コメントからブロック(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
publicBlockFromCommentParamsPublicBlockFromCommentParamsはい
ssostringいいえ

レスポンス

戻り値: BlockFromCommentPublic200Response

blockFromCommentPublic の例
Copy Copy
1
2const tenantId: string = 'tenant_6b3f9a2d';
3const commentId: string = 'cmt_8f4b12a9';
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: 'Repeated promotional links',
6 durationMinutes: 60 * 24 * 30, // 30日間
7 escalateToModeration: true
8};
9const sso: string = 'sso_token_3fH7kLw';
10
11const result: BlockFromCommentPublic200Response = await blockFromCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
12

コメントのブロック解除(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
publicBlockFromCommentParamsPublicBlockFromCommentParamsはい
ssostringいいえ

レスポンス

戻り値: UnBlockCommentPublic200Response

unBlockCommentPublic の例
Copy Copy
1
2const tenantId: string = "tenant-42-production";
3const commentId: string = "comment_7f3b2a9d";
4const publicBlockFromCommentParams: PublicBlockFromCommentParams = {
5 reason: "flag reviewed and determined not to violate policy",
6 restoredBy: "moderator_jane",
7 restoredAt: new Date().toISOString()
8};
9const sso: string = "sso_token_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
10const result: UnBlockCommentPublic200Response = await unBlockCommentPublic(tenantId, commentId, publicBlockFromCommentParams, sso);
11

ブロック済みコメントの確認 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdsstringはい
ssostringいいえ

レスポンス

戻り値: CheckedCommentsForBlocked200Response

checkedCommentsForBlocked の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_fa3b2c9e';
4 const commentIds: string = 'cmt_112233,cmt_445566';
5 const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI0Njc4IiwidGVuYW50IjoidGVuYW50X2ZhM2IifQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
6 const resultWithSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds, sso);
7 const resultWithoutSSO: CheckedCommentsForBlocked200Response = await checkedCommentsForBlocked(tenantId, commentIds);
8 console.log(resultWithSSO, resultWithoutSSO);
9})();
10

コメントからユーザーをブロック Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
blockFromCommentParamsBlockFromCommentParamsはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

戻り値: BlockFromCommentPublic200Response

blockUserFromComment の例
Copy Copy
1
2const tenantId: string = "tenant_7f3b4c";
3const id: string = "comment_9a8b7c6d";
4const blockFromCommentParams: BlockFromCommentParams = {
5 reason: "Repeated spam links",
6 durationHours: 168,
7 notifyModerators: true
8};
9const userId: string | undefined = "user_42";
10const anonUserId: string | undefined = undefined;
11const result: BlockFromCommentPublic200Response = await blockUserFromComment(tenantId, id, blockFromCommentParams, userId, anonUserId);
12

コメント作成(公開) Internal Link

パラメーター

名前必須説明
tenantIdstringはい
urlIdstringはい
broadcastIdstringはい
commentDataCommentDataはい
sessionIdstringいいえ
ssostringいいえ

レスポンス

返却値: CreateCommentPublic200Response

createCommentPublic の例
Copy Copy
1
2const tenantId: string = 'tenant_9a1b2c';
3const urlId: string = 'https://www.news-site.com/article/67890';
4const broadcastId: string = 'broadcast_2026-06-15-01';
5const sessionId: string | undefined = 'sess_abc123xyz';
6const sso: string | undefined = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiam9yZGFuIiwiaWF0IjoxNjI0MDAwMDB9.signature';
7const commentData: CommentData = {
8 content: 'Insightful piece — I appreciated the data-backed points and sources cited.',
9 authorDisplayName: 'Jordan Miles'
10} as CommentData;
11const result: CreateCommentPublic200Response = await createCommentPublic(tenantId, urlId, broadcastId, commentData, sessionId, sso);
12

コメントを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
contextUserIdstringいいえ
isLivebooleanいいえ

レスポンス

戻り値: DeleteComment200Response

deleteComment の例
Copy Copy
1
2const tenantId: string = 'tenant_84a9f2';
3const id: string = 'comment_5f3b21';
4const contextUserId: string | undefined = 'user_1122';
5const isLive: boolean | undefined = true;
6
7async function run(): Promise<void> {
8 const result: DeleteComment200Response = await deleteComment(tenantId, id, contextUserId, isLive);
9 console.log(result);
10}
11
12run();
13

コメント削除(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
editKeystringいいえ
ssostringいいえ

レスポンス

戻り値: DeleteCommentPublic200Response

deleteCommentPublic の例
Copy Copy
1
2const tenantId: string = 'tenant_acme_42';
3const commentId: string = 'c0mment-9f8b7a6';
4const broadcastId: string = 'site_homepage_2026-06-15';
5const editKey: string = 'ek_3b7a1f59-4d2c-11eb-8dcd-0242ac130003';
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fakePayload.signature';
7
8const result: DeleteCommentPublic200Response = await deleteCommentPublic(tenantId, commentId, broadcastId, editKey, sso);
9

コメントの投票を削除 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
voteIdstringはい
urlIdstringはい
broadcastIdstringはい
editKeystringいいえ
ssostringいいえ

レスポンス

戻り値: DeleteCommentVote200Response

deleteCommentVote の例
Copy Copy
1
2const tenantId: string = 'tenant_8f3a2b7c';
3const commentId: string = 'cmt-5a1f3d92';
4const voteId: string = 'vote-3b9c7e1a';
5const urlId: string = 'articles/2026/06/typescript-best-practices';
6const broadcastId: string = 'broadcast-77f4d2';
7const editKey: string = 'edk-9b2f4c';
8const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_payload.signature';
9const result: DeleteCommentVote200Response = await deleteCommentVote(tenantId, commentId, voteId, urlId, broadcastId, editKey, sso);
10

コメントを通報 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

戻り値: FlagComment200Response

flagComment の例
Copy Copy
1
2const tenantId: string = "tenant_4f21c9a";
3const commentId: string = "cmt_7a12b3e9";
4const userId: string = "user_82bd123";
5const result: FlagComment200Response = await flagComment(tenantId, commentId, userId);
6

コメントを取得 Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringはい
idstringはい

Response

戻り値: GetComment200Response

Example

getComment の例
Copy Copy
1
2const tenantId: string = 'tenant_6f1a2b';
3const commentId: string = 'cmt_4d9e8f';
4const includeReplies: boolean | undefined = true; // オプションパラメータの例(getCommentには渡されません)
5const result: GetComment200Response = await getComment(tenantId, commentId);
6console.log('Fetched comment for tenant:', tenantId, 'comment id:', commentId);
7console.log('API response received:', result);
8

コメント一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringYes
pagenumberNo
limitnumberNo
skipnumberNo
asTreebooleanNo
skipChildrennumberNo
limitChildrennumberNo
maxTreeDepthnumberNo
urlIdstringNo
userIdstringNo
anonUserIdstringNo
contextUserIdstringNo
hashTagstringNo
parentIdstringNo
directionSortDirectionsNo
fromDatenumberNo
toDatenumberNo

レスポンス

戻り値: GetComments200Response

getComments の例
Copy Copy
1
2const tenantId: string = "tenant_9a12b3";
3const response: GetComments200Response = await getComments(tenantId, 1, 20, 0, true, 0, 3, 2, "https://mysite.com/posts/678", undefined, undefined, undefined, undefined, "parent_987", undefined, 1716873600000, 1719552000000);
4

コメント一覧を取得(公開) Internal Link

req tenantId urlId

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
pagenumberいいえ
directionSortDirectionsいいえ
ssostringいいえ
skipnumberいいえ
skipChildrennumberいいえ
limitnumberいいえ
limitChildrennumberいいえ
countChildrenbooleanいいえ
fetchPageForCommentIdstringいいえ
includeConfigbooleanいいえ
countAllbooleanいいえ
includei10nbooleanいいえ
localestringいいえ
modulesstringいいえ
isCrawlerbooleanいいえ
includeNotificationCountbooleanいいえ
asTreebooleanいいえ
maxTreeDepthnumberいいえ
useFullTranslationIdsbooleanいいえ
parentIdstringいいえ
searchTextstringいいえ
hashTagsArrayいいえ
userIdstringいいえ
customConfigStrstringいいえ
afterCommentIdstringいいえ
beforeCommentIdstringいいえ

レスポンス

戻り値: GetCommentsPublic200Response

getCommentsPublic の例
Copy Copy
1
2const tenantId: string = 'acme-news';
3const urlId: string = '/articles/2026/fastcomments-update';
4const page: number = 1;
5const skip: number = 0;
6const limit: number = 25;
7const countChildren: boolean = true;
8const includeConfig: boolean = true;
9const result: GetCommentsPublic200Response = await getCommentsPublic(
10 tenantId,
11 urlId,
12 page,
13 undefined,
14 undefined,
15 skip,
16 undefined,
17 limit,
18 undefined,
19 countChildren,
20 undefined,
21 includeConfig
22);
23

コメントテキストを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
editKeystringいいえ
ssostringいいえ

レスポンス

返り値: GetCommentText200Response

getCommentText の例
Copy Copy
1
2const tenantId: string = 'tenant_42b7e9';
3const commentId: string = 'cmt_9f3a2b';
4const editKey: string = 'edk_3f1b7c9d';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ssoPayload.signature';
6
7const result: GetCommentText200Response = await getCommentText(tenantId, commentId, editKey, sso);
8

コメント投票者のユーザー名を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
dirnumberはい
ssostringいいえ

レスポンス

戻り値: GetCommentVoteUserNames200Response

getCommentVoteUserNames の例
Copy Copy
1
2const tenantId: string = "tenant_67890";
3const commentId: string = "comment_abc123";
4const dir: number = 1;
5const ssoToken: string = "sso-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
6
7const responseWithoutSSO: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dir);
8const responseWithSSO: GetCommentVoteUserNames200Response = await getCommentVoteUserNames(tenantId, commentId, dir, ssoToken);
9

コメントをロック Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

レスポンス

戻り値: LockComment200Response

lockCommentの例
Copy Copy
1
2const tenantId: string = 'tenant_42f6c1';
3const commentId: string = 'cmt-9a8b7c';
4const broadcastId: string = 'brd_2026_06_15';
5const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1Njc4OSIsImlhdCI6MTY1MDAwMDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
6
7const lockedWithSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId, ssoToken);
8const lockedWithoutSso: LockComment200Response = await lockComment(tenantId, commentId, broadcastId);
9

コメントをピン留め Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

レスポンス

返却値: PinComment200Response

pinComment の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant-72";
3const commentId: string = "cmt_8f3a2b4c9d";
4const broadcastId: string = "live_2026-06-15_21z";
5const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fake.payload.signature";
6
7const responseNoSSO: PinComment200Response = await pinComment(tenantId, commentId, broadcastId);
8const responseWithSSO: PinComment200Response = await pinComment(tenantId, commentId, broadcastId, ssoToken);
9

コメントを保存 Internal Link


パラメータ

名前Type必須説明
tenantIdstringはい
createCommentParamsCreateCommentParamsはい
isLivebooleanいいえ
doSpamCheckbooleanいいえ
sendEmailsbooleanいいえ
populateNotificationsbooleanいいえ

レスポンス

戻り値: SaveComment200Response

saveComment の例
Copy Copy
1
2const tenantId: string = "fastcomments-tenant-42";
3const createCommentParams: CreateCommentParams = {
4 threadId: "article-2026-06-0142",
5 content: "Great write-up — I followed the migration steps and everything worked as described.",
6 userId: "u_9c72b",
7 userName: "Ava R.",
8 userAvatarUrl: "https://cdn.example.com/avatars/u_9c72b.png",
9 metadata: { platform: "web", locale: "en-US" }
10};
11const isLive: boolean = true;
12const doSpamCheck: boolean = true;
13const sendEmails: boolean = false;
14const populateNotifications: boolean = true;
15const result: SaveComment200Response = await saveComment(tenantId, createCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications);
16

コメントを一括保存 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createCommentParamsArrayはい
isLivebooleanいいえ
doSpamCheckbooleanいいえ
sendEmailsbooleanいいえ
populateNotificationsbooleanいいえ

レスポンス

戻り値: Array<SaveComment200Response

saveCommentsBulk の例
Copy Copy
1
2const tenantId: string = "tenant_42a1b7";
3const mentions: CommentUserMentionInfo[] = [{ userId: "user_2b9", displayName: "Alex Chen" }];
4const hashtags: CommentUserHashTagInfo[] = [{ tag: "performance" }];
5const createCommentParams: CreateCommentParams[] = [
6 {
7 content: "Thanks for the detailed article — the alternative approach worked for me.",
8 authorId: "user_8f3c2",
9 authorName: "Maya Patel",
10 authorEmail: "maya.patel@example.com",
11 url: "/articles/optimizing-ts-performance",
12 createdAt: new Date().toISOString(),
13 mentions,
14 hashtags
15 }
16];
17const isLive: boolean = true;
18const doSpamCheck: boolean = false;
19const sendEmails: boolean = true;
20const populateNotifications: boolean = true;
21const result: Array<SaveComment200Response> = await saveCommentsBulk(tenantId, createCommentParams, isLive, doSpamCheck, sendEmails, populateNotifications);
22

コメントテキストを設定 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
commentTextUpdateRequestCommentTextUpdateRequestはい
editKeystringいいえ
ssostringいいえ

レスポンス

返却値: SetCommentText200Response

setCommentText の例
Copy Copy
1
2const tenantId: string = 'tenant_4f9a2b'
3const commentId: string = 'cmt-8421'
4const broadcastId: string = 'brd-2026-06-15'
5const commentTextUpdateRequest: CommentTextUpdateRequest = { text: 'Updated comment text to clarify the schedule.', mentions: [], hashtags: [] }
6const editKey: string = 'editkey_9b12'
7const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso.signature'
8const result: SetCommentText200Response = await setCommentText(tenantId, commentId, broadcastId, commentTextUpdateRequest, editKey, sso)
9

コメントからユーザーのブロックを解除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
unBlockFromCommentParamsUnBlockFromCommentParamsはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

戻り値: UnBlockCommentPublic200Response

unBlockUserFromComment の例
Copy Copy
1
2const tenantId: string = 'tenant_7b9c2a';
3const id: string = 'comment_4f8e1d';
4const unBlockFromCommentParams: UnBlockFromCommentParams = {
5 reason: 'User submitted appeal and provided additional context',
6 effectiveAt: new Date().toISOString()
7};
8const userId: string = 'user_92a3f6';
9const result: UnBlockCommentPublic200Response = await unBlockUserFromComment(tenantId, id, unBlockFromCommentParams, userId);
10

コメントの通報を取り消す Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

戻り値: FlagComment200Response

unFlagComment の例
Copy Copy
1
2const tenantId: string = 'tenant_8f3b2a1f';
3const commentId: string = 'cmt_20250614_01';
4const userId: string = 'user_47d2b9';
5const result: FlagComment200Response = await unFlagComment(tenantId, commentId, userId);
6

コメントのロックを解除 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

レスポンス

戻り値: LockComment200Response

unLockComment の例
Copy Copy
1
2const tenantId: string = "tenant-8f3b2c4a";
3const commentId: string = "cmt_92a7f3e6";
4const broadcastId: string = "brd_1b4c9d20";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMTIzIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6const result: LockComment200Response = await unLockComment(tenantId, commentId, broadcastId, sso);
7

コメントのピンを解除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
broadcastIdstringはい
ssostringいいえ

レスポンス

戻り値: PinComment200Response

unPinComment の例
Copy Copy
1
2const tenantId: string = "tenant_9f3b2c1a";
3const commentId: string = "comment_4d2e8a7f";
4const broadcastId: string = "broadcast_live_2026_06_15_18";
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.invalid-signature";
6const response: PinComment200Response = await unPinComment(tenantId, commentId, broadcastId, sso);
7console.log(response);
8

コメントを更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
contextUserIdstringNo
doSpamCheckbooleanNo
isLivebooleanNo

レスポンス

戻り値: FlagCommentPublic200Response

updateComment の例
Copy Copy
1
2const tenantId: string = 'tenant_7f3c1b2a';
3const commentId: string = 'cmt_8d9f2a4b';
4const updatableCommentParams: UpdatableCommentParams = {
5 body: 'Updating this comment to clarify the feature behavior and include a timestamp.',
6 metadata: { category: 'support', editedReason: 'clarify instructions' },
7 visible: true
8};
9const contextUserId: string = 'user_42';
10const doSpamCheck: boolean = true;
11const result: FlagCommentPublic200Response = await updateComment(tenantId, commentId, updatableCommentParams, contextUserId, doSpamCheck);
12

コメントに投票 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
urlIdstringはい
broadcastIdstringはい
voteBodyParamsVoteBodyParamsはい
sessionIdstringいいえ
ssostringいいえ

レスポンス

戻り値: VoteComment200Response

voteComment の例
Copy Copy
1
2const tenantId: string = 'tenant_7f9d2e';
3const commentId: string = '5a1d3f9b-2c4e-4a2b-bf7b-1234567890ab';
4const urlId: string = 'articles/2026/06/15/typescript-api-patterns';
5const broadcastId: string = 'broadcast-20260615-01';
6const voteBodyParams: VoteBodyParams = { vote: 'up' };
7const sessionId: string = 'sess_9d2f3b45';
8const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsImlhdCI6MTY5NzE2MDAwMH0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
9
10const response: VoteComment200Response = await voteComment(
11 tenantId,
12 commentId,
13 urlId,
14 broadcastId,
15 voteBodyParams,
16 sessionId,
17 sso
18);
19

ユーザーのコメントを取得 Internal Link


パラメータ

名前必須説明
userIdstring任意
directionSortDirections任意
repliesToUserIdstring任意
pagenumber任意
includei10nboolean任意
localestring任意
isCrawlerboolean任意

レスポンス

返却値: GetCommentsForUser200Response

getCommentsForUser の例
Copy Copy
1
2const userId: string = "550e8400-e29b-41d4-a716-446655440000";
3const page: number = 2;
4const includei10n: boolean = true;
5const locale: string = "en-US";
6const isCrawler: boolean = false;
7
8const comments: GetCommentsForUser200Response = await getCommentsForUser(
9 userId,
10 undefined, // direction を省略
11 undefined, // repliesToUserId を省略
12 page,
13 includei10n,
14 locale,
15 isCrawler
16);
17
18console.log(comments);
19

ドメイン設定を追加 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
addDomainConfigParamsAddDomainConfigParamsはい

レスポンス

戻り値: AddDomainConfig200Response


ドメイン設定を削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
domainstringはい

レスポンス

戻り値: DeleteDomainConfig200Response


ドメイン設定を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
domainstringはい

レスポンス

戻り値: GetDomainConfig200Response


ドメイン設定一覧を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい

レスポンス

戻り値: GetDomainConfigs200Response


ドメイン設定を部分更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
domainToUpdatestringはい
patchDomainConfigParamsPatchDomainConfigParamsはい

レスポンス

戻り値: GetDomainConfig200Response


ドメイン設定を上書き Internal Link


パラメータ

名前必須説明
tenantIdstringはい
domainToUpdatestringはい
updateDomainConfigParamsUpdateDomainConfigParamsはい

レスポンス

戻り値: GetDomainConfig200Response


メールテンプレートを作成 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
createEmailTemplateBodyCreateEmailTemplateBodyはい

レスポンス

返却: CreateEmailTemplate200Response

createEmailTemplate の例
Copy Copy
1
2const tenantId: string = "tenant_4f2b1c9e";
3const createEmailTemplateBody: CreateEmailTemplateBody = {
4 name: "New Comment Notification",
5 subject: "Someone replied to your discussion",
6 fromName: "Community Team",
7 fromAddress: "no-reply@community.example.com",
8 htmlBody: "<p>\{{comment.author}} replied: \{{comment.text}}</p>",
9 plaintextBody: "\{{comment.author}} replied: \{{comment.text}}",
10 previewText: "A new reply on a discussion you follow",
11 isDefault: false // 任意パラメータの使用例を示すオプションのフラグ
12};
13const result: CreateEmailTemplate200Response = await createEmailTemplate(tenantId, createEmailTemplateBody);
14

メールテンプレートを削除 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: FlagCommentPublic200Response

deleteEmailTemplate の例
Copy Copy
1
2const tenantId: string = "tenant_9c4f1b2a";
3const id: string = "emailtmpl_4d2b9a5e";
4const requestorNote: string | undefined = undefined; // オプションのメタデータ(関数で必須ではありません)
5const result: FlagCommentPublic200Response = await deleteEmailTemplate(tenantId, id);
6

メールテンプレートのレンダーエラーを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
errorIdstringはい

レスポンス

戻り値: FlagCommentPublic200Response

deleteEmailTemplateRenderError の例
Copy Copy
1
2const tenantId: string = 'tenant-72f3b4';
3const templateId: string = 'email_template-9c3a1';
4let providedErrorId: string | undefined = undefined; // オプションの値で、別の場所で設定される可能性があります
5const errorId: string = providedErrorId ?? 'render_err-5d2f7';
6const result: FlagCommentPublic200Response = await deleteEmailTemplateRenderError(tenantId, templateId, errorId);
7

メールテンプレートを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetEmailTemplate200Response

getEmailTemplate の例
Copy Copy
1
2const tenantId: string = 'tenant_7f3b2c';
3const templateId: string = 'welcome-email-2024';
4const includeDrafts: boolean | undefined = undefined;
5const emailTemplate: GetEmailTemplate200Response = await getEmailTemplate(tenantId, templateId);
6

メールテンプレート定義を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい

レスポンス

戻り値: GetEmailTemplateDefinitions200Response

getEmailTemplateDefinitions の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_acme_001';
4 const options: { includeDrafts?: boolean } = { includeDrafts: true }; // オプションパラメータの例
5 const templates: GetEmailTemplateDefinitions200Response = await getEmailTemplateDefinitions(tenantId, options);
6 console.log(templates);
7})();
8

メールテンプレートのレンダーエラーを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
skipnumberNo

レスポンス

戻り値: GetEmailTemplateRenderErrors200Response

getEmailTemplateRenderErrors の例
Copy Copy
1
2const tenantId: string = 'acme-tenant-01';
3const id: string = 'tmpl_7f9a2b4c';
4const skip: number = 20;
5
6const errorsWithSkip: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id, skip);
7const errorsFirstPage: GetEmailTemplateRenderErrors200Response = await getEmailTemplateRenderErrors(tenantId, id);
8

メールテンプレート一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

返却値: GetEmailTemplates200Response

getEmailTemplates の例
Copy Copy
1
2async function run(): Promise<void> {
3 const tenantId: string = "acme-marketing-tenant-001";
4 const templatesDefault: GetEmailTemplates200Response = await getEmailTemplates(tenantId);
5 const templatesPaged: GetEmailTemplates200Response = await getEmailTemplates(tenantId, 25);
6 console.log(templatesDefault, templatesPaged);
7}
8run();
9

メールテンプレートをレンダー Internal Link


パラメータ

名前必須説明
tenantIdstringはい
renderEmailTemplateBodyRenderEmailTemplateBodyはい
localestringいいえ

レスポンス

戻り値: RenderEmailTemplate200Response

renderEmailTemplate の例
Copy Copy
1
2const tenantId: string = '7f7e2b90-3a2b-4d9b-9df1-5f0b6b2e8a1c';
3const renderEmailTemplateBody: RenderEmailTemplateBody = {
4 templateId: 'welcome_email',
5 recipient: { email: 'jordan.smith@acme.co', name: 'Jordan Smith' },
6 variables: { siteName: 'Acme Forum', verificationUrl: 'https://acme.forum/verify?code=abc123' }
7};
8const locale: string = 'en-US';
9const result: RenderEmailTemplate200Response = await renderEmailTemplate(tenantId, renderEmailTemplateBody, locale);
10

メールテンプレートを更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
updateEmailTemplateBodyUpdateEmailTemplateBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

updateEmailTemplate の例
Copy Copy
1
2const tenantId: string = 'acme-corp-123';
3const id: string = 'template-789';
4const locale: string | undefined = 'en-US';
5const updateEmailTemplateBody: UpdateEmailTemplateBody = {
6 subject: 'Welcome to Acme — Get started',
7 bodyHtml: '<p>Hi \{{firstName}}, welcome to Acme. Start by visiting your dashboard.</p>',
8 fromName: 'Acme Support',
9 fromEmail: 'support@acme.com',
10 enabled: true,
11 ...(locale ? { locale } : {})
12};
13const result: FlagCommentPublic200Response = await updateEmailTemplate(tenantId, id, updateEmailTemplateBody);
14

イベントログを取得 Internal Link

req tenantId urlId userIdWS

パラメーター

NameTypeRequiredDescription
tenantIdstringはい
urlIdstringはい
userIdWSstringはい
startTimenumberはい
endTimenumberいいえ

レスポンス

返却: GetEventLog200Response

getEventLog の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3a2b';
3const urlId: string = 'news/2026/06/fastcomments-release';
4const userIdWS: string = 'ws_user_48291';
5const startTime: number = Date.now() - 86_400_000;
6const endTime: number = Date.now();
7const result: GetEventLog200Response = await getEventLog(tenantId, urlId, userIdWS, startTime, endTime);
8

グローバルイベントログを取得 Internal Link

req tenantId urlId userIdWS

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
userIdWSstringはい
startTimenumberはい
endTimenumberいいえ

レスポンス

戻り値: GetEventLog200Response

getGlobalEventLog の例
Copy Copy
1
2const tenantId: string = "tenant_639b7f12";
3const urlId: string = "https://www.news-site.com/articles/2026/06/15/important-update-987";
4const userIdWS: string = "user_ws_42b7";
5const startTime: number = new Date("2026-06-14T00:00:00Z").getTime();
6const endTime: number = Date.now();
7
8const eventLog: GetEventLog200Response = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
9

フィード投稿を作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createFeedPostParamsCreateFeedPostParamsはい
broadcastIdstringいいえ
isLivebooleanいいえ
doSpamCheckbooleanいいえ
skipDupCheckbooleanいいえ

レスポンス

戻り値: CreateFeedPost200Response

createFeedPost の例
Copy Copy
1
2const tenantId: string = 'tenant_4f2b1c';
3const createFeedPostParams: CreateFeedPostParams = {
4 content: 'Launching our summer collection today — check it out!',
5 authorId: 'user_879',
6 media: [
7 {
8 type: 'image',
9 assets: [
10 { url: 'https://cdn.myshop.com/uploads/summer-look.jpg', width: 1200, height: 800 } as FeedPostMediaItemAsset
11 ]
12 } as FeedPostMediaItem
13 ],
14 links: [
15 { url: 'https://myshop.com/new-arrival', title: 'Summer Collection' } as FeedPostLink
16 ],
17 allowComments: true
18};
19const broadcastId: string = 'broadcast-2026-06-15-001';
20const isLive: boolean = false;
21const doSpamCheck: boolean = true;
22const skipDupCheck: boolean = false;
23const response: CreateFeedPost200Response = await createFeedPost(tenantId, createFeedPostParams, broadcastId, isLive, doSpamCheck, skipDupCheck);
24

フィード投稿を作成(公開) Internal Link

パラメーター

名前必須説明
tenantIdstringはい
createFeedPostParamsCreateFeedPostParamsはい
broadcastIdstringいいえ
ssostringいいえ

レスポンス

戻り値: CreateFeedPostPublic200Response

使用例

createFeedPostPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9f8b7c";
4 const media: FeedPostMediaItem[] = [{ type: "image", assets: [{ url: "https://cdn.example.com/roadmap.jpg", mimeType: "image/jpeg" }] }];
5 const links: FeedPostLink[] = [{ url: "https://company.example.com/roadmap", title: "Full roadmap" }];
6 const createFeedPostParams: CreateFeedPostParams = {
7 title: "Weekly Product Roadmap Update",
8 body: "This week we shipped enhancements to search relevance and fixed top customer bugs.",
9 authorId: "user_8321",
10 media,
11 links,
12 visibility: "public"
13 };
14 const broadcastId: string = "broadcast_2026_06_15";
15 const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_payload";
16 const response: CreateFeedPostPublic200Response = await createFeedPostPublic(tenantId, createFeedPostParams, broadcastId, sso);
17 console.log(response);
18})();
19

フィード投稿を削除(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
postIdstringはい
broadcastIdstringいいえ
ssostringいいえ

レスポンス

戻り値: DeleteFeedPostPublic200Response

deleteFeedPostPublic の例
Copy Copy
1
2const tenantId: string = 'acme-tenant-42';
3const postId: string = 'post_8f3d2a7c';
4const broadcastId: string = 'broadcast_2026-06-15_01';
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ssoPayload.signature';
6const response: DeleteFeedPostPublic200Response = await deleteFeedPostPublic(tenantId, postId, broadcastId, sso);
7

フィード投稿を取得 Internal Link

req tenantId afterId

パラメータ

名前必須説明
tenantIdstringはい
afterIdstringいいえ
limitnumberいいえ
tagsArrayいいえ

レスポンス

返却: GetFeedPosts200Response

getFeedPosts の例
Copy Copy
1
2const tenantId: string = "tenant_74321";
3const afterId: string = "post_20250610_9b2f3";
4const limit: number = 25;
5const tags: Array<string> = ["product-updates", "announcements"];
6
7const response: GetFeedPosts200Response = await getFeedPosts(tenantId, afterId, limit, tags);
8

フィード投稿を取得(公開) Internal Link

req tenantId afterId

パラメータ

名前必須説明
tenantIdstringYes
afterIdstringNo
limitnumberNo
tagsArrayNo
ssostringNo
isCrawlerbooleanNo
includeUserInfobooleanNo

レスポンス

戻り値: GetFeedPostsPublic200Response

getFeedPostsPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_acme_01';
4 const afterId: string = 'post_20250610_842';
5 const limit: number = 25;
6 const tags: string[] = ['news', 'technology'];
7 const sso: string = 'sso_jwt_eyJhbGciOiJIUzI1Ni';
8 const isCrawler: boolean = false;
9 const includeUserInfo: boolean = true;
10
11 const response: GetFeedPostsPublic200Response = await getFeedPostsPublic(
12 tenantId,
13 afterId,
14 limit,
15 tags,
16 sso,
17 isCrawler,
18 includeUserInfo
19 );
20
21 console.log(response);
22})();
23

フィード投稿の統計を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
postIdsArrayはい
ssostringいいえ

レスポンス

戻り値: GetFeedPostsStats200Response

getFeedPostsStats の例
Copy Copy
1
2const tenantId: string = "tenant_98765";
3const postIds: string[] = ["post_a1b2c3", "post_d4e5f6"];
4const ssoToken: string = "sso_jwt_eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
5
6const statsWithoutSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds);
7const statsWithSSO: GetFeedPostsStats200Response = await getFeedPostsStats(tenantId, postIds, ssoToken);
8

ユーザーのリアクションを取得(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
postIdsArrayいいえ
ssostringいいえ

レスポンス

返却値: GetUserReactsPublic200Response

getUserReactsPublic の例
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-4f2b9c';
3const postIds: Array<string> = ['post_7a1f9e', 'post_2b3c88'];
4const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1Njc4OSIsImlhdCI6MTYwOTQ0MDAwMH0.signature';
5
6const response: GetUserReactsPublic200Response = await getUserReactsPublic(tenantId, postIds, sso);
7

フィード投稿にリアクション(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
postIdstringはい
reactBodyParamsReactBodyParamsはい
isUndobooleanいいえ
broadcastIdstringいいえ
ssostringいいえ

レスポンス

戻り値: ReactFeedPostPublic200Response

reactFeedPostPublic の例
Copy Copy
1
2const tenantId: string = 'acme-tenant-001';
3const postId: string = 'feedpost_78901';
4const reactBodyParams: ReactBodyParams = { reaction: 'like', emoji: '👍' };
5const isUndo: boolean = false;
6const broadcastId: string = 'broadcast_2026_06_15_01';
7const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.signature';
8
9const response: ReactFeedPostPublic200Response = await reactFeedPostPublic(
10 tenantId,
11 postId,
12 reactBodyParams,
13 isUndo,
14 broadcastId,
15 sso
16);
17

フィード投稿を更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
feedPostFeedPostはい

レスポンス

戻り値: FlagCommentPublic200Response

updateFeedPost の例
Copy Copy
1
2const tenantId: string = "tenant_72f3b4c9";
3const id: string = "post_ba4f6e18-2d3c-4b7a-91f2-8c0e3a6b5d4f";
4
5const feedPost: FeedPost = {
6 title: "June feature rollout",
7 body: "Announcing performance improvements and moderation updates available to all sites.",
8 authorName: "Platform Team",
9 mediaItems: [
10 {
11 type: "image",
12 caption: "Release banner",
13 asset: { url: "https://cdn.fastcomments.com/assets/june-banner.jpg", mimeType: "image/jpeg", width: 1200, height: 600 }
14 }
15 ],
16 links: [{ title: "Release notes", url: "https://docs.fastcomments.com/releases/june-2026" }]
17} as FeedPost;
18
19const result: FlagCommentPublic200Response = await updateFeedPost(tenantId, id, feedPost);
20

フィード投稿を更新(公開) Internal Link

パラメータ

名前必須説明
tenantIdstringはい
postIdstringはい
updateFeedPostParamsUpdateFeedPostParamsはい
broadcastIdstringいいえ
ssostringいいえ

レスポンス

戻り値: CreateFeedPostPublic200Response

updateFeedPostPublic の例
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const postId: string = 'post_20260615_001';
4const updateFeedPostParams: UpdateFeedPostParams = {
5 title: 'Weekly Update: Product Launch',
6 content: 'We shipped the 2.0 release today — highlights and links below.',
7 media: [{ url: 'https://cdn.acme.com/releases/launch.jpg', type: 'image' }],
8 tags: ['release', 'product'],
9 isPublic: true
10};
11const broadcastId: string = 'broadcast_live_42';
12const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
13const result: CreateFeedPostPublic200Response = await updateFeedPostPublic(tenantId, postId, updateFeedPostParams, broadcastId, sso);
14

コメントを通報(公開) Internal Link


パラメータ

NameTypeRequiredDescription
tenantIdstringはい
commentIdstringはい
isFlaggedbooleanはい
ssostringいいえ

レスポンス

返却値: FlagCommentPublic200Response

flagCommentPublic の例
Copy Copy
1
2const tenantId: string = "tenant_4f1b2a9c";
3const commentId: string = "comment_8d3e6f12";
4const isFlagged: boolean = true;
5const sso: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
6const result: FlagCommentPublic200Response = await flagCommentPublic(tenantId, commentId, isFlagged, sso);
7

大きいGIFを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
largeInternalURLSanitizedstringはい

レスポンス

戻り値: GetGifLarge200Response

getGifLarge の例
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c";
3const largeInternalURLSanitized: string = "https://cdn.fastcomments.com/gifs/07d3f6_large.gif";
4const preferWebP: boolean | undefined = true; // 任意の優先設定
5const urlToUse: string = preferWebP ? largeInternalURLSanitized.replace(".gif", ".webp") : largeInternalURLSanitized;
6const response: GetGifLarge200Response = await getGifLarge(tenantId, urlToUse);
7

GIF検索 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
searchstringはい
localestringいいえ
ratingstringいいえ
pagenumberいいえ

レスポンス

戻り値: GetGifsSearch200Response

getGifsSearch の例
Copy Copy
1
2const tenantId: string = "tenant_acme_9876";
3const search: string = "cat playing piano";
4const locale: string = "en-US";
5const rating: string = "pg";
6const page: number = 1;
7const result: GetGifsSearch200Response = await getGifsSearch(tenantId, search, locale, rating, page);
8

トレンドのGIFを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
localestringいいえ
ratingstringいいえ
pagenumberいいえ

レスポンス

戻り値: GetGifsTrending200Response

getGifsTrending の例
Copy Copy
1
2async function main(): Promise<void> {
3 const tenantId: string = 'tenant_8b3f2c';
4 const locale: string = 'en-US';
5 const rating: string = 'pg';
6 const page: number = 1;
7 const result: GetGifsTrending200Response = await getGifsTrending(tenantId, locale, rating, page);
8 console.log(result);
9}
10main();
11

ハッシュタグを追加 Internal Link

パラメータ

名前必須説明
tenantIdstringいいえ
createHashTagBodyCreateHashTagBodyいいえ

レスポンス

戻り値: AddHashTag200Response

addHashTag の例
Copy Copy
1
2const tenantId: string | undefined = "tenant_3c9f7b";
3const createHashTagBody: CreateHashTagBody = {
4 name: "support",
5 title: "Support",
6 description: "Questions about product usage, bugs, and account issues",
7 color: "#0066CC",
8 isActive: true,
9 aliases: ["help", "customer-service"]
10};
11const result: AddHashTag200Response = await addHashTag(tenantId, createHashTagBody);
12

ハッシュタグを一括追加 Internal Link

パラメータ

名前必須説明
tenantIdstringいいえ
bulkCreateHashTagsBodyBulkCreateHashTagsBodyいいえ

レスポンス

返却値: AddHashTagsBulk200Response

addHashTagsBulk の例
Copy Copy
1
2const tenantId: string = "tenant_acme_corp_987";
3const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
4 tags: [
5 { name: "product-update", description: "Announcements about new product releases", visible: true },
6 { name: "customer-support", description: "Customer support related discussions", visible: false }
7 ],
8 createdBy: "moderator_jane"
9};
10const resultWithTenant: AddHashTagsBulk200Response = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
11const resultWithoutTenant: AddHashTagsBulk200Response = await addHashTagsBulk(undefined, bulkCreateHashTagsBody);
12

ハッシュタグを削除 Internal Link

パラメータ

名前必須説明
tagstringはい
tenantIdstringいいえ
deleteHashTagRequestDeleteHashTagRequestいいえ

レスポンス

返却値: FlagCommentPublic200Response

deleteHashTag の例
Copy Copy
1
2const tag: string = "breaking-news";
3const tenantId: string = "tenant_72a1";
4const deleteHashTagRequest: DeleteHashTagRequest = {
5 reason: "consolidate-duplicates",
6 requestedBy: "moderator@dailypress.com",
7 forceDelete: true
8};
9const result: FlagCommentPublic200Response = await deleteHashTag(tag, tenantId, deleteHashTagRequest);
10

ハッシュタグ一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
pagenumberいいえ

レスポンス

戻り値: GetHashTags200Response

getHashTags の例
Copy Copy
1
2const tenantId: string = 'tenant_7f4b2c3a';
3const tagsFirstPage: GetHashTags200Response = await getHashTags(tenantId);
4const tagsSecondPage: GetHashTags200Response = await getHashTags(tenantId, 2);
5console.log(tagsFirstPage, tagsSecondPage);
6

ハッシュタグを部分更新 Internal Link


パラメータ

名前必須説明
tagstringはい
tenantIdstringいいえ
updateHashTagBodyUpdateHashTagBodyいいえ

レスポンス

返却: PatchHashTag200Response

patchHashTag の例
Copy Copy
1
2const tag: string = "feature-request";
3const tenantId: string = "tenant_8f7a3b2c";
4const updateHashTagBody: UpdateHashTagBody = {
5 displayName: "Feature Request",
6 description: "Use this tag for requests to add new features to the product",
7 enabled: true
8};
9const result: PatchHashTag200Response = await patchHashTag(tag, tenantId, updateHashTagBody);
10

モデレーターを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createModeratorBodyCreateModeratorBodyはい

レスポンス

戻り値: CreateModerator200Response

createModerator の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3b21';
3const createModeratorBody: CreateModeratorBody = {
4 moderator: {
5 name: 'Alex Rivera',
6 email: 'alex.rivera@fastcomments.io',
7 role: 'global_moderator',
8 enabled: true,
9 },
10 // オプションのパラメータの例:
11 notifyUser: true,
12 permissions: ['delete_comment', 'edit_comment', 'ban_user'],
13 customConfig: { dashboardTheme: 'dark' } as unknown as CustomConfigParameters
14};
15const result: CreateModerator200Response = await createModerator(tenantId, createModeratorBody);
16

モデレーターを削除 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
sendEmailstringいいえ

レスポンス

戻り値: FlagCommentPublic200Response

deleteModerator の例
Copy Copy
1
2const tenantId: string = 'tenant_4f3b2c9a';
3const id: string = 'mod_9c2d1f7b';
4const sendEmail: string = 'true';
5const response: FlagCommentPublic200Response = await deleteModerator(tenantId, id, sendEmail);
6console.log(response);
7

モデレーターを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

Response

戻り値: GetModerator200Response

getModerator の例
Copy Copy
1
2const tenantId: string = 'acme-media-58';
3const id: string = 'mod-82f3b9c1';
4const moderatorResponse: GetModerator200Response = await getModerator(tenantId, id);
5

モデレーター一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

戻り値: GetModerators200Response

getModerators の例
Copy Copy
1
2const tenantId: string = 'tenant_0a1b2c3d';
3const moderators: GetModerators200Response = await getModerators(tenantId);
4const skip: number = 20;
5const moderatorsPage2: GetModerators200Response = await getModerators(tenantId, skip);
6

招待を送信 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
fromNamestringはい

レスポンス

戻り値: FlagCommentPublic200Response

sendInviteの例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_acme_42";
4 const id: string = "cmt_8f3b21";
5 const fromName: string = "Ava Thompson";
6 const inviteResult: FlagCommentPublic200Response = await sendInvite(tenantId, id, fromName);
7 console.log(inviteResult);
8})();
9

モデレーターを更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateModeratorBodyUpdateModeratorBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

updateModerator の例
Copy Copy
1
2const tenantId: string = 'acme-tenant-81';
3const id: string = 'mod_7f3a2b';
4const updateModeratorBody: UpdateModeratorBody = {
5 email: 'j.reyes@acme-corp.com',
6 displayName: 'Jordan Reyes',
7 roles: ['moderator', 'content_reviewer'],
8 active: true,
9 notes: 'Promoted to senior moderator; monitor flagged content weekly'
10};
11const result: FlagCommentPublic200Response = await updateModerator(tenantId, id, updateModeratorBody);
12

通知カウントを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: FlagCommentPublic200Response

deleteNotificationCount の例
Copy Copy
1
2const tenantId: string = 'tenant_5f3d2e1b';
3const id: string = 'notification_9a4b1c2';
4const result: FlagCommentPublic200Response = await deleteNotificationCount(tenantId, id);
5

キャッシュされた通知カウントを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetCachedNotificationCount200Response

getCachedNotificationCount の例
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-23';
3const id: string = 'user_987654';
4const cachedCount: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, id);
5
6const maybeId: string | undefined = Math.random() > 0.5 ? 'user_123456' : undefined;
7if (maybeId) {
8 const optionalCachedCount: GetCachedNotificationCount200Response = await getCachedNotificationCount(tenantId, maybeId);
9}
10

通知カウントを取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
userIdstringいいえ
urlIdstringいいえ
fromCommentIdstringいいえ
viewedbooleanいいえ
typestringいいえ

レスポンス

戻り値: GetNotificationCount200Response

getNotificationCount の例
Copy Copy
1
2const tenantId: string = 'tenant_82a3b9f';
3const userId: string = 'user_43721';
4const urlId: string = 'https://news.example.com/articles/2026/06/15/coverage-123';
5const fromCommentId: string = 'comment_98765';
6const viewed: boolean = false;
7const notificationType: string = 'mention';
8
9const result: GetNotificationCount200Response = await getNotificationCount(tenantId, userId, urlId, fromCommentId, viewed, notificationType);
10

通知を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
userIdstringいいえ
urlIdstringいいえ
fromCommentIdstringいいえ
viewedbooleanいいえ
typestringいいえ
skipnumberいいえ

レスポンス

戻り値: GetNotifications200Response

getNotifications の例
Copy Copy
1
2const tenantId: string = 'tenant_9f8b7c6a';
3const userId: string = 'user_5a4b3c2d';
4const urlId: string = 'post_84f2a1b9';
5const fromCommentId: string = 'cmt_0a1b2c3d';
6const viewed: boolean = false;
7const type: string = 'reply';
8const skip: number = 0;
9
10const notifications: GetNotifications200Response = await getNotifications(
11 tenantId,
12 userId,
13 urlId,
14 fromCommentId,
15 viewed,
16 type,
17 skip
18);
19

通知を更新 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateNotificationBodyUpdateNotificationBodyはい
userIdstringいいえ

レスポンス

返り値: FlagCommentPublic200Response

updateNotification の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2c';
3const id: string = 'notification_4a1d2e';
4const updateNotificationBody: UpdateNotificationBody = {
5 enabled: true,
6 channels: ['email', 'push'],
7 frequency: 'immediate',
8 templateId: 'tmpl_77aa'
9} as UpdateNotificationBody;
10const userId: string = 'user_2468';
11const result: FlagCommentPublic200Response = await updateNotification(tenantId, id, updateNotificationBody, userId);
12

V1ページリアクションを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
titlestringいいえ

レスポンス

戻り値: CreateV1PageReact200Response

createV1PageReact の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'b12f3c4d-5678-90ab-cdef-1234567890ab';
4 const urlId: string = 'https://www.news-site.com/world/2026/election-results';
5 const title: string = 'Election results: key takeaways and analysis';
6 const responseWithTitle: CreateV1PageReact200Response = await createV1PageReact(tenantId, urlId, title);
7 const responseWithoutTitle: CreateV1PageReact200Response = await createV1PageReact(tenantId, urlId);
8 console.log(responseWithTitle, responseWithoutTitle);
9})();
10

V2ページリアクションを作成 Internal Link

パラメーター

名前必須説明
tenantIdstringはい
urlIdstringはい
idstringはい
titlestringいいえ

レスポンス

戻り値: CreateV2PageReact200Response

createV2PageReact の例
Copy Copy
1
2const tenantId: string = "fastcomments-tenant-72";
3const urlId: string = "articles/2026/06/15/product-update";
4const id: string = "page-8f3b2a";
5const title: string = "Product Update: June 15, 2026";
6
7(async function run(): Promise<void> {
8 const response: CreateV2PageReact200Response = await createV2PageReact(tenantId, urlId, id, title);
9 console.log(response);
10})();
11

V1ページリアクションを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: DeleteV1PageReact200Response

deleteV1PageReact の例
Copy Copy
1
2const tenantId: string = process.env.TENANT_ID ?? 'd3b07384-9f6a-4c2b-8c3e-0a1b2c3d4e5f';
3const urlId: string = 'https://acme.com/articles/2026/06/fastcomments-integration';
4const result: DeleteV1PageReact200Response = await deleteV1PageReact(tenantId, urlId);
5

V2ページリアクションを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes
idstringYes

レスポンス

戻り値: DeleteV2PageReact200Response

deleteV2PageReact の例
Copy Copy
1
2const tenantId: string = "tenant_79021";
3const urlId: string = "blog/my-first-post";
4const id: string = "reaction_9f8b7c";
5let includeHistory: boolean | undefined = undefined; // オプションのフラグ。いくつかの呼び出しで使用されます
6
7const result: DeleteV2PageReact200Response = await deleteV2PageReact(tenantId, urlId, id);
8console.log(result);
9

V1ページのいいねを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: GetV1PageLikes200Response

getV1PageLikes の例
Copy Copy
1
2const tenantId: string = 'fastcomments-742';
3const urlId: string = 'sports/2026/06/15/world-cup-preview';
4const pageLikes: GetV1PageLikes200Response = await getV1PageLikes(tenantId, urlId);
5

V2ページのリアクションを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: GetV2PageReacts200Response

getV2PageReacts の例
Copy Copy
1
2const tenantId: string = "tenant_82f4b3a9";
3const urlId: string = "https://news.site.com/articles/2026/06/15/product-launch";
4const response: GetV2PageReacts200Response = await getV2PageReacts(tenantId, urlId);
5console.log(response);
6

V2ページのリアクションユーザーを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
idstringはい

レスポンス

戻り値: GetV2PageReactUsers200Response

getV2PageReactUsers の例
Copy Copy
1
2const tenantId: string = "7421";
3const urlId: string = "sports/london-marathon";
4const id: string = "reactUser-3fa85f64-5717-4562-b3fc-2c963f66afa6";
5const includeDeleted: boolean | undefined = undefined; // オプションのフラグ(例示)
6
7const result: GetV2PageReactUsers200Response = await getV2PageReactUsers(tenantId, urlId, id);
8

ページを追加 Internal Link

Parameters

名前必須説明
tenantIdstringはい
createAPIPageDataCreateAPIPageDataはい

Response

戻り値: AddPageAPIResponse


ページを削除 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: DeletePageAPIResponse


オフラインユーザーを取得 Internal Link


現在オンラインではない、そのページの過去のコメント投稿者。displayNameでソートされています。 /users/online を使い果たした後に、"Members" セクションをレンダリングするために使用します。 commenterName に対するカーソルページネーション: サーバーは部分的な {tenantId, urlId, commenterName} を走査します。 afterName から先へ $gt を使ってインデックスし、$skip のコストは発生しません。

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
afterNamestringいいえ
afterUserIdstringいいえ

レスポンス

戻り値: GetOfflineUsers200Response

getOfflineUsers の例
Copy Copy
1
2const tenantId: string = 'tenant_prod_001';
3const urlId: string = 'article-2026-06-15-how-ai-impacts';
4const afterName: string = 'michael.smith';
5const afterUserId: string = 'user_72b9';
6
7const response: GetOfflineUsers200Response = await getOfflineUsers(tenantId, urlId, afterName, afterUserId);
8

オンラインユーザーを取得 Internal Link

現在オンラインのページ閲覧者: 現在そのページに対してwebsocketセッションがサブスクライブされている人々。 anonCount + totalCount を返します(ルーム全体の購読者数。個別に列挙しない匿名閲覧者を含む)。

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
afterNamestringいいえ
afterUserIdstringいいえ

レスポンス

戻り値: GetOnlineUsers200Response

getOnlineUsers の例
Copy Copy
1
2const tenantId: string = 'tenant_14f9c3';
3const urlId: string = 'article_20250615';
4const afterName: string = 'marie.curie';
5const afterUserId: string = 'u_92b7';
6const result: GetOnlineUsers200Response = await getOnlineUsers(tenantId, urlId, afterName, afterUserId);
7

URL IDでページを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: GetPageByURLIdAPIResponse


ページ一覧を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい

レスポンス

戻り値: GetPagesAPIResponse


ページ一覧を取得(公開) Internal Link

テナントのページ一覧を返します。FChat デスクトップクライアントがルームリストを表示するために使用します。 各ページの解決済みカスタム設定で enableFChat が true である必要があります。 SSO を必要とするページは、要求ユーザーのグループアクセスに基づいてフィルタリングされます。

Parameters

名前必須説明
tenantIdstringはい
cursorstringいいえ
limitnumberいいえ
qstringいいえ
sortByPagesSortByいいえ
hasCommentsbooleanいいえ

Response

戻り値: GetPagesPublic200Response

Example

getPagesPublic の例
Copy Copy
1
2const tenantId: string = 'tenant_8f3b2c';
3const cursor: string = 'eyJwYWdlIjoiMTIwIn0';
4const limit: number = 25;
5const q: string = 'homepage hero';
6const hasComments: boolean = true;
7
8const response: GetPagesPublic200Response = await getPagesPublic(
9 tenantId,
10 cursor,
11 limit,
12 q,
13 undefined,
14 hasComments
15);
16

ユーザー情報を取得 Internal Link

テナントの一括ユーザー情報。userIds を指定すると、User / SSOUser から表示用情報を返します。 コメントウィジェットで使用され、プレゼンスイベントで出現したユーザーの情報を補完します。 ページコンテキストがないため、プライバシーは一律に適用されます(非公開プロフィールはマスクされます)。

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idsstringYes

レスポンス

戻り値: GetUsersInfo200Response

getUsersInfo の例
Copy Copy
1
2const tenantId: string = 'acme-tenant-007';
3const userIdsList: string[] = ['user_12a', 'user_34b', 'user_56c'];
4const separator: string | undefined = undefined; // 任意。undefined の場合はデフォルトでカンマが使用されます
5const ids: string = userIdsList.join(separator ?? ',');
6const usersInfo: GetUsersInfo200Response = await getUsersInfo(tenantId, ids);
7

ページを部分更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateAPIPageDataUpdateAPIPageDataはい

レスポンス

戻り値: PatchPageAPIResponse

保留中のWebhookイベントを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: FlagCommentPublic200Response

deletePendingWebhookEvent の例
Copy Copy
1
2const tenantId: string = "tenant_5f8d7a34";
3const id: string = "webhook_evt_987654321";
4const requestNote: string | undefined = undefined;
5const response: FlagCommentPublic200Response = await deletePendingWebhookEvent(tenantId, id);
6

保留中のWebhookイベント数を取得 Internal Link

パラメーター

名前必須説明
tenantIdstringはい
commentIdstringいいえ
externalIdstringいいえ
eventTypestringいいえ
typestringいいえ
domainstringいいえ
attemptCountGTnumberいいえ

レスポンス

戻り値: GetPendingWebhookEventCount200Response

getPendingWebhookEventCount の例
Copy Copy
1
2const tenantId: string = 'tenant_9f8b3b';
3const commentId: string = 'cmt_1a2b3c';
4const eventType: string = 'comment.created';
5const domain: string = 'news-site.com';
6const attemptCountGT: number = 2;
7
8const result: GetPendingWebhookEventCount200Response = await getPendingWebhookEventCount(
9 tenantId,
10 commentId,
11 undefined, // externalId omitted
12 eventType,
13 undefined, // type omitted
14 domain,
15 attemptCountGT
16);
17

保留中のWebhookイベントを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringいいえ
externalIdstringいいえ
eventTypestringいいえ
typestringいいえ
domainstringいいえ
attemptCountGTnumberいいえ
skipnumberいいえ

レスポンス

戻り値: GetPendingWebhookEvents200Response

getPendingWebhookEvents の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2a';
3const commentId: string = 'cmt_8a7d1';
4const eventType: string = 'comment.created';
5const domain: string = 'reviews.myshop.com';
6const attemptCountGT: number = 1;
7const skip: number = 0;
8
9const result: GetPendingWebhookEvents200Response = await getPendingWebhookEvents(
10 tenantId,
11 commentId,
12 undefined,
13 eventType,
14 undefined,
15 domain,
16 attemptCountGT,
17 skip
18);
19

質問設定を作成 Internal Link


パラメータ

NameTypeRequiredDescription
tenantIdstringはい
createQuestionConfigBodyCreateQuestionConfigBodyはい

レスポンス

戻り値: CreateQuestionConfig200Response

createQuestionConfig の例
Copy Copy
1
2const tenantId: string = "tenant_9f3b1c2a";
3
4const createQuestionConfigBody: CreateQuestionConfigBody = {
5 name: "Product feedback",
6 key: "product_quality",
7 description: "Short survey question shown after posting a comment",
8 required: true,
9 renderingType: "singleChoice",
10 customOptions: [
11 { label: "Excellent", value: "5" },
12 { label: "Good", value: "4" },
13 { label: "Fair", value: "3" }
14 ] as QuestionConfigCustomOptionsInner[],
15 notifyModerators: false // オプションのパラメータの例を示す
16};
17
18const result: CreateQuestionConfig200Response = await createQuestionConfig(tenantId, createQuestionConfigBody);
19

質問設定を削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

返却値: FlagCommentPublic200Response

deleteQuestionConfig の例
Copy Copy
1
2const tenantId: string = 'acme-corp-47a9';
3const id: string = 'qcfg_20260615_001';
4const result: FlagCommentPublic200Response = await deleteQuestionConfig(tenantId, id);
5

質問設定を取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

レスポンス

返却値: GetQuestionConfig200Response

getQuestionConfig の例
Copy Copy
1
2const tenantId: string = "acme-corp-47";
3const questionId: string = "q-4f2b9a";
4const includeDrafts: boolean | undefined = undefined; // オプションパラメータのプレースホルダ
5const result: GetQuestionConfig200Response = await getQuestionConfig(tenantId, questionId);
6console.log(result);
7

質問設定一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

戻り値: GetQuestionConfigs200Response

getQuestionConfigs の例
Copy Copy
1
2const tenantId: string = "tenant_4c9f2b";
3const responseWithoutSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId);
4const skip: number = 50;
5const responseWithSkip: GetQuestionConfigs200Response = await getQuestionConfigs(tenantId, skip);
6

質問設定を更新 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
updateQuestionConfigBodyUpdateQuestionConfigBodyはい

戻り値

Returns: FlagCommentPublic200Response

updateQuestionConfig の例
Copy Copy
1
2const tenantId: string = "tenant_9f3b8a2e-4c6d-4b4f-a1b2-9e8f7d6c5b3a";
3const id: string = "q_7c2e1b4a-5d6f-4a8b-9c3d-2e1f0b9a4c5d";
4const options: QuestionConfigCustomOptionsInner[] = [
5 { value: "1", label: "Very dissatisfied" },
6 { value: "2", label: "Dissatisfied" },
7 { value: "3", label: "Neutral" },
8 { value: "4", label: "Satisfied" },
9 { value: "5", label: "Very satisfied" }
10];
11const updateQuestionConfigBody: UpdateQuestionConfigBody = {
12 label: "How satisfied are you with the article?",
13 enabled: true,
14 required: false, // 任意のパラメータの例
15 options
16};
17const result: FlagCommentPublic200Response = await updateQuestionConfig(tenantId, id, updateQuestionConfigBody);
18

質問結果を作成 Internal Link

パラメータ

名称必須説明
tenantIdstringはい
createQuestionResultBodyCreateQuestionResultBodyはい

レスポンス

戻り値: CreateQuestionResult200Response

createQuestionResult の例
Copy Copy
1
2const tenantId: string = 'fc-tenant-512';
3const meta: MetaItem[] = [{ key: 'source', value: 'article' }];
4const body: CreateQuestionResultBody = {
5 questionId: 'q-94',
6 userId: 'user_332',
7 answers: [{ optionId: 'opt_a', score: 1 }],
8 meta, // 任意のメタデータ
9} as CreateQuestionResultBody;
10const result: CreateQuestionResult200Response = await createQuestionResult(tenantId, body);
11

質問結果を削除 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

返却値: FlagCommentPublic200Response

deleteQuestionResult の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant-01";
3const id: string = "qres_9f8b7c3a";
4const response: FlagCommentPublic200Response = await deleteQuestionResult(tenantId, id);
5const optionalResponse: FlagCommentPublic200Response | undefined = response;
6

質問結果を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetQuestionResult200Response

getQuestionResult の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2a7c9';
3const questionId: string = 'q_8d4f1b2c3a';
4const options: { includeMeta?: boolean } = { includeMeta: true }; // オプションパラメータの例
5const result: GetQuestionResult200Response = await getQuestionResult(tenantId, questionId);
6const apiStatus: APIStatus | undefined = (result as unknown as { apiStatus?: APIStatus }).apiStatus;
7const question: QuestionResult | undefined = (result as unknown as { question?: QuestionResult }).question;
8

質問結果一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringNo
userIdstringNo
startDatestringNo
questionIdstringNo
questionIdsstringNo
skipnumberNo

レスポンス

戻り値: GetQuestionResults200Response

getQuestionResults の例
Copy Copy
1
2const tenantId: string = 'fc-tenant-7a9c';
3const urlId: string = 'news/article-2026-06-15';
4const userId: string = 'user-8421';
5const startDate: string = '2026-05-01T00:00:00Z';
6const questionId: string = 'q-13';
7const questionIds: string = 'q-13,q-14';
8const skip: number = 20;
9const result: GetQuestionResults200Response = await getQuestionResults(tenantId, urlId, userId, startDate, questionId, questionIds, skip);
10

質問結果を更新 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateQuestionResultBodyUpdateQuestionResultBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

updateQuestionResult の例
Copy Copy
1
2const tenantId: string = "tenant_prod_84b2";
3const id: string = "question_9f3a";
4const updateQuestionResultBody: UpdateQuestionResultBody = {
5 outcome: "accepted",
6 confidence: 0.88,
7 moderatorId: "moderator_17",
8 notes: "Validated by automated review" // オプションのフィールドを含む
9};
10const result: FlagCommentPublic200Response = await updateQuestionResult(tenantId, id, updateQuestionResultBody);
11

質問結果を集計 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
questionIdstringいいえ
questionIdsArrayいいえ
urlIdstringいいえ
timeBucketAggregateTimeBucketいいえ
startDateDateいいえ
forceRecalculatebooleanいいえ

レスポンス

戻り値: AggregateQuestionResults200Response

aggregateQuestionResults の例
Copy Copy
1
2const tenantId: string = 'tenant_6f2b3c';
3const questionIds: Array<string> = ['q-7a1b2c', 'q-8d3e4f'];
4const urlId: string = 'url_9f8e7d';
5const startDate: Date = new Date('2025-01-01T00:00:00Z');
6const result: AggregateQuestionResults200Response = await aggregateQuestionResults(tenantId, undefined, questionIds, urlId, undefined, startDate, true);
7

質問結果を一括集計 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculatebooleanNo

レスポンス

戻り値: BulkAggregateQuestionResults200Response

bulkAggregateQuestionResults の例
Copy Copy
1
2const tenantId: string = "tenant_0012";
3const bulkAggregateQuestionResultsRequest: BulkAggregateQuestionResultsRequest = {
4 items: [
5 {
6 questionId: "quality_score",
7 startTime: "2026-06-01T00:00:00Z",
8 endTime: "2026-06-14T00:00:00Z",
9 timeBucket: "day",
10 dimensions: ["threadId"]
11 }
12 ],
13 includeTotals: true
14};
15const forceRecalculate: boolean = false;
16const result: BulkAggregateQuestionResults200Response = await bulkAggregateQuestionResults(tenantId, bulkAggregateQuestionResultsRequest, forceRecalculate);
17

コメントと質問結果を結合 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
questionIdstringいいえ
questionIdsArrayいいえ
urlIdstringいいえ
startDateDateいいえ
forceRecalculatebooleanいいえ
minValuenumberいいえ
maxValuenumberいいえ
limitnumberいいえ

レスポンス

戻り値: CombineCommentsWithQuestionResults200Response

combineCommentsWithQuestionResults の例
Copy Copy
1
2const tenantId: string = 'tenant_12345';
3const questionId: string = 'q_98765';
4const questionIds: string[] = ['q_98765', 'q_12345'];
5const urlId: string = 'url_abc123';
6const startDate: Date = new Date('2026-01-01T00:00:00Z');
7const forceRecalculate: boolean = true;
8const minValue: number = 0;
9const maxValue: number = 5;
10const limit: number = 50;
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ユーザーを追加 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createAPISSOUserDataCreateAPISSOUserDataはい

レスポンス

返却値: AddSSOUserAPIResponse


SSOユーザーを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
deleteCommentsbooleanいいえ
commentDeleteModestringいいえ

レスポンス

戻り値: DeleteSSOUserAPIResponse

メールでSSOユーザーを取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
emailstringはい

レスポンス

戻り値: GetSSOUserByEmailAPIResponse


IDでSSOユーザーを取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetSSOUserByIdAPIResponse


SSOユーザー一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

返却: GetSSOUsers200Response


SSOユーザーを部分更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateAPISSOUserDataUpdateAPISSOUserDataはい
updateCommentsbooleanいいえ

レスポンス

戻り値: PatchSSOUserAPIResponse


SSOユーザーを上書き Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
updateAPISSOUserDataUpdateAPISSOUserDataはい
updateCommentsbooleanいいえ

レスポンス

戻り値: PutSSOUserAPIResponse

putSSOUser の例
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

サブスクリプションを作成 Internal Link

パラメーター

名前必須説明
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

レスポンス

返却値: CreateSubscriptionAPIResponse

createSubscription の例
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, // オプションのパラメーターの例
9 metadata: { campaign: "spring_launch" } // オプションのパラメーターの例
10};
11const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, createAPIUserSubscriptionData);
12

サブスクリプションを削除 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい
userIdstringいいえ

レスポンス

戻り値: DeleteSubscriptionAPIResponse


サブスクリプション一覧を取得 Internal Link

パラメーター

名前必須説明
tenantIdstringはい
userIdstringいいえ

レスポンス

戻り値: GetSubscriptionsAPIResponse

getSubscriptions の例
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

サブスクリプションを更新 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataはい
userIdstringいいえ

レスポンス

戻り値: UpdateSubscriptionAPIResponse

updateSubscription の例
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

テナントの日別使用量を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
yearNumbernumberいいえ
monthNumbernumberいいえ
dayNumbernumberいいえ
skipnumberいいえ

レスポンス

戻り値: GetTenantDailyUsages200Response

getTenantDailyUsages の例
Copy Copy
1
2const tenantId: string = 'tenant_7a3c2e';
3const dailyUsages: GetTenantDailyUsages200Response = await getTenantDailyUsages(tenantId, 2026, 6, undefined, 0);
4

テナントパッケージを作成 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
createTenantPackageBodyCreateTenantPackageBodyはい

レスポンス

戻り値: CreateTenantPackage200Response

createTenantPackage の例
Copy Copy
1
2const tenantId: string = "tenant_7890";
3const createTenantPackageBody: CreateTenantPackageBody = {
4 packageName: "Growth Plan",
5 maxSeats: 2500,
6 features: {
7 moderation: true,
8 analytics: true,
9 sso: { enabled: true, provider: "saml" }
10 },
11 billing: { interval: "monthly", priceCents: 19900 },
12 // オプションのパラメータの例: notes は必須ではありませんが指定しています
13 notes: "Onboarding bundle with priority support"
14};
15const result: CreateTenantPackage200Response = await createTenantPackage(tenantId, createTenantPackageBody);
16

テナントパッケージを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: FlagCommentPublic200Response

deleteTenantPackage の例
Copy Copy
1
2const tenantId: string = 'acme-corp-tenant-01';
3const packageId: string = 'pkg-2026-06-15-001';
4const dryRun: boolean | undefined = undefined; // 任意のフラグの例(関数に必須ではありません)
5const result: FlagCommentPublic200Response = await deleteTenantPackage(tenantId, packageId);
6

テナントパッケージを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetTenantPackage200Response

getTenantPackage の例
Copy Copy
1
2const tenantId: string = 'tenant_4b8c2a9f';
3const packageId: string = 'pkg_7d3e1b5c';
4const includeMetadata: boolean | undefined = true;
5const packageResponse: GetTenantPackage200Response = await getTenantPackage(tenantId, packageId);
6

テナントパッケージ一覧を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

返却値: GetTenantPackages200Response

使用例

getTenantPackages の例
Copy Copy
1
2const tenantId: string = 'tenant_8421';
3const packagesWithSkip: GetTenantPackages200Response = await getTenantPackages(tenantId, 25);
4const packagesWithoutSkip: GetTenantPackages200Response = await getTenantPackages(tenantId);
5

テナントパッケージを置換 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
idstringはい
replaceTenantPackageBodyReplaceTenantPackageBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

replaceTenantPackage の例
Copy Copy
1
2const tenantId: string = "fastcomments-tenant-114";
3const id: string = "pkg-enterprise-2026-06";
4const replaceTenantPackageBody: ReplaceTenantPackageBody = {
5 name: "EnterpriseModeration",
6 version: "2.4.7",
7 enabled: true,
8 apiStatus: { state: "active", lastUpdated: "2026-06-10T12:00:00Z" },
9 customConfigParameters: { maxCommentLength: 1200, allowImages: true }, // オプション設定が含まれています
10 voteStyle: { style: "updown" }
11};
12const result: FlagCommentPublic200Response = await replaceTenantPackage(tenantId, id, replaceTenantPackageBody);
13

テナントパッケージを更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateTenantPackageBodyUpdateTenantPackageBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

updateTenantPackage の例
Copy Copy
1
2const tenantId: string = 'tenant_9f3b2a';
3const id: string = 'pkg_pro_2026';
4const updateTenantPackageBody: UpdateTenantPackageBody = {
5 name: 'Pro Plan',
6 monthlyPriceUsd: 49,
7 isActive: true,
8 features: ['moderation', 'analytics', 'sso'],
9 trialDays: 14 // 任意のパラメータの例
10};
11const result: FlagCommentPublic200Response = await updateTenantPackage(tenantId, id, updateTenantPackageBody);
12

テナントユーザーを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createTenantUserBodyCreateTenantUserBodyはい

レスポンス

返却値: CreateTenantUser200Response

createTenantUser の例
Copy Copy
1
2const tenantId: string = "tenant_7f4a2b";
3const createTenantUserBody: CreateTenantUserBody = {
4 email: "jane.doe@example.com",
5 firstName: "Jane",
6 lastName: "Doe",
7 role: "commenter",
8 approved: true,
9 displayName: "Jane D." // 任意: フレンドリーな表示名を指定
10};
11const result: CreateTenantUser200Response = await createTenantUser(tenantId, createTenantUserBody);
12console.log(result);
13

テナントユーザーを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
deleteCommentsstringいいえ
commentDeleteModestringいいえ

レスポンス

返却値: FlagCommentPublic200Response

deleteTenantUser の例
Copy Copy
1
2const tenantId: string = "tenant_8f3a2b1c4d";
3const id: string = "user_62a4f9e0b7";
4const deleteComments: string = "true";
5const commentDeleteMode: string = "permanent";
6const result: FlagCommentPublic200Response = await deleteTenantUser(tenantId, id, deleteComments, commentDeleteMode);
7

テナントユーザーを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

返却: GetTenantUser200Response

getTenantUser の例
Copy Copy
1
2const tenantId: string = 'tenant_ab12c3';
3const id: string = 'user_9f8e7d';
4const response: GetTenantUser200Response = await getTenantUser(tenantId, id);
5console.log(response);
6

テナントユーザー一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

戻り値: GetTenantUsers200Response

getTenantUsers の例
Copy Copy
1
2const tenantId: string = 'tenant_7b8f3a2c-9e4d-4f1a';
3const skip: number = 50;
4const usersResponseDefault: GetTenantUsers200Response = await getTenantUsers(tenantId);
5const usersResponsePaged: GetTenantUsers200Response = await getTenantUsers(tenantId, skip);
6

テナントユーザーを置換 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
replaceTenantUserBodyReplaceTenantUserBodyはい
updateCommentsstringいいえ

レスポンス

戻り値: FlagCommentPublic200Response

replaceTenantUser の例
Copy Copy
1
2const tenantId: string = "f3b9a2d1-8b4e-4c6a-9f2b-1d5c4e6a7b8c";
3const id: string = "user_92f7c3b1";
4const replaceTenantUserBody: ReplaceTenantUserBody = {
5 externalId: "auth0|1234567890",
6 email: "jane.doe@company.com",
7 displayName: "Jane Doe",
8 roles: ["moderator"],
9 metadata: { department: "support" }
10};
11const updateComments: string = "reassign-comments-to-new-user";
12const response: FlagCommentPublic200Response = await replaceTenantUser(tenantId, id, replaceTenantUserBody, updateComments);
13

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
redirectURLstringいいえ

レスポンス

戻り値: FlagCommentPublic200Response

sendLoginLink の例
Copy Copy
1
2const tenantId: string = "tenant_0a1b2c3d";
3const id: string = "user_984321";
4const redirectURL: string = "https://app.acme-corp.com/welcome";
5const responseWithRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id, redirectURL);
6const responseWithoutRedirect: FlagCommentPublic200Response = await sendLoginLink(tenantId, id);
7

テナントユーザーを更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateTenantUserBodyUpdateTenantUserBodyはい
updateCommentsstringいいえ

レスポンス

戻り値: FlagCommentPublic200Response

updateTenantUser の例
Copy Copy
1
2const tenantId: string = 'acme-corp';
3const userId: string = 'u_72b9f4';
4const updateTenantUserBody: UpdateTenantUserBody = {
5 email: 'jane.doe@acme.com',
6 displayName: 'Jane Doe',
7 roles: ['moderator'],
8 suspended: false
9};
10const updateComments: string = 'Promoted to moderator after review of activity and community feedback';
11const result: FlagCommentPublic200Response = await updateTenantUser(tenantId, userId, updateTenantUserBody, updateComments);
12

テナントを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createTenantBodyCreateTenantBodyはい

レスポンス

戻り値: CreateTenant200Response

createTenant の例
Copy Copy
1
2const tenantId: string = 'acme-news-01';
3const createTenantBody: CreateTenantBody = {
4 name: 'Acme News',
5 domainConfiguration: { primaryDomain: 'news.acme.com', redirectHttps: true } as APIDomainConfiguration,
6 importedSites: [{ siteId: 'site-92', url: 'https://news.acme.com' }] as ImportedSiteType[],
7 billingInfo: { planId: 'business_monthly', contactEmail: 'billing@acme.com' } as BillingInfo
8};
9const result: CreateTenant200Response = await createTenant(tenantId, createTenantBody);
10

テナントを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
surestringいいえ

レスポンス

返却値: FlagCommentPublic200Response

deleteTenant の例
Copy Copy
1
2const tenantId: string = 'tenant_742b9c';
3const flagId: string = 'flag_1a2b3c';
4const resultWithoutSure: FlagCommentPublic200Response = await deleteTenant(tenantId, flagId);
5const sureConfirmation: string = 'confirmed';
6const resultWithSure: FlagCommentPublic200Response = await deleteTenant(tenantId, flagId, sureConfirmation);
7

テナントを取得 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

レスポンス

返却: GetTenant200Response

getTenant の例
Copy Copy
1
2const tenantId: string = 'fc_tenant_6b3e2a';
3const id: string = 'site_42f1';
4const tenantResponse: GetTenant200Response = await getTenant(tenantId, id);
5const tenant: APITenant | undefined = tenantResponse.tenant;
6const primaryDomain: APIDomainConfiguration | undefined = tenant?.domainConfiguration?.[0];
7

テナント一覧を取得 Internal Link


パラメータ

名前必須説明
tenantIdstringはい
metastringいいえ
skipnumberいいえ

レスポンス

返却: GetTenants200Response

getTenants の例
Copy Copy
1
2const tenantId: string = "fcom-tenant-8b4f2a1c";
3const meta: string = "include=domains,billing&status=active";
4const skip: number = 20;
5const response: GetTenants200Response = await getTenants(tenantId, meta, skip);
6console.log(response);
7

テナントを更新 Internal Link

パラメーター

名前必須説明
tenantIdstringはい
idstringはい
updateTenantBodyUpdateTenantBodyはい

レスポンス

戻り値: FlagCommentPublic200Response

updateTenant の例
Copy Copy
1
2const tenantId: string = 'tenant_84f12';
3const id: string = 'flag_192b';
4const updateTenantBody: UpdateTenantBody = {
5 name: 'Acme Media',
6 billingInfo: { plan: 'enterprise', seats: 25, nextBillingDate: '2026-07-01' },
7 apiDomainConfiguration: { primaryDomain: 'comments.acme.com', additionalDomains: ['acme.com'] },
8 importedSites: [{ siteUrl: 'https://blog.acme.com', archived: false }], // 任意
9 commentSettings: { htmlRenderingMode: 'sanitized', deletionMode: 'soft' } // 任意
10} as UpdateTenantBody;
11const result: FlagCommentPublic200Response = await updateTenant(tenantId, id, updateTenantBody);
12

チケットの状態を変更 Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
userIdstringはい
idstringはい
changeTicketStateBodyChangeTicketStateBodyはい

レスポンス

戻り値: ChangeTicketState200Response

changeTicketState の例
Copy Copy
1
2const tenantId: string = 'tenant_8a7d3f4b';
3const userId: string = 'user_5d1a9b2c';
4const id: string = 'ticket_1024';
5const changeTicketStateBody: ChangeTicketStateBody = {
6 state: 'closed',
7 notifyParticipants: true, // 任意のパラメータの例
8 comment: 'Resolved by support — follow-up not required.'
9};
10const result: ChangeTicketState200Response = await changeTicketState(tenantId, userId, id, changeTicketStateBody);
11

チケットを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
userIdstringはい
createTicketBodyCreateTicketBodyはい

レスポンス

戻り値: CreateTicket200Response

createTicket の例
Copy Copy
1
2const tenantId: string = 'tenant_acme_corp';
3const userId: string = 'moderator_jane';
4const createTicketBody: CreateTicketBody = {
5 subject: 'Mass spam reports on article 789',
6 description: 'Multiple identical spam comments posted under article 789. Needs moderation and bulk removal.',
7 priority: 'high',
8 contactEmail: 'jane@acme-corp.com',
9 metadata: { articleId: '789', reportedCount: 12 } // オプションのメタデータの例
10};
11const ticket: CreateTicket200Response = await createTicket(tenantId, userId, createTicketBody);
12

チケットを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
userIdstringいいえ

レスポンス

戻り値: GetTicket200Response

getTicket の例
Copy Copy
1
2const tenantId: string = 'acme-corp';
3const ticketId: string = 'TCKT-20250615-42';
4const userId: string = 'user_84b2';
5
6const ticketWithUser: GetTicket200Response = await getTicket(tenantId, ticketId, userId);
7const ticketWithoutUser: GetTicket200Response = await getTicket(tenantId, ticketId);
8
9console.log(ticketWithUser.id, ticketWithoutUser.id);
10

チケット一覧を取得 Internal Link


パラメータ

NameTypeRequiredDescription
tenantIdstringYes
userIdstringNo
statenumberNo
skipnumberNo
limitnumberNo

レスポンス

戻り値: GetTickets200Response

getTickets の例
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const userId: string = 'user_87b3';
4const state: number = 2;
5const skip: number = 0;
6const limit: number = 50;
7
8const tickets: GetTickets200Response = await getTickets(tenantId, userId, state, skip, limit);
9

翻訳を取得 Internal Link

パラメータ

名前必須説明
namespacestringはい
componentstringはい
localestringいいえ
useFullTranslationIdsbooleanいいえ

レスポンス

戻り値: GetTranslations200Response

getTranslations の例
Copy Copy
1
2const namespaceName: string = 'site-ui';
3const componentName: string = 'comment-widget';
4const locale: string = 'fr-FR';
5const useFullTranslationIds: boolean = true;
6const translationsWithLocale: GetTranslations200Response = await getTranslations(namespaceName, componentName, locale, useFullTranslationIds);
7const translationsDefault: GetTranslations200Response = await getTranslations(namespaceName, componentName);
8

画像をアップロード Internal Link

画像をアップロードしてリサイズする

パラメータ

名前必須説明
tenantIdstringはい
fileBlobはい
sizePresetSizePresetいいえ
urlIdstringいいえ

レスポンス

戻り値: UploadImageResponse


IDでユーザーバッジ進捗を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetUserBadgeProgressById200Response

getUserBadgeProgressById の例
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-241';
3const badgeId: string = 'user-78b3d-badge-3';
4const response: GetUserBadgeProgressById200Response = await getUserBadgeProgressById(tenantId, badgeId);
5const progress: UserBadgeProgress | undefined = (response as unknown as { progress?: UserBadgeProgress }).progress;
6const percentComplete: number | undefined = progress?.percentage;
7console.log('Badge progress percent complete:', percentComplete);
8

ユーザーIDでユーザーバッジ進捗を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
userIdstringはい

レスポンス

戻り値: GetUserBadgeProgressById200Response

getUserBadgeProgressByUserId の例
Copy Copy
1
2const tenantId: string = 'acme-inc-tenant-01';
3const userId: string = 'user_73c9b2';
4const progress: GetUserBadgeProgressById200Response = await getUserBadgeProgressByUserId(tenantId, userId);
5
6async function maybeFetchProgress(tenant: string, user?: string): Promise<GetUserBadgeProgressById200Response | null> {
7 if (!user) return null;
8 return await getUserBadgeProgressByUserId(tenant, user);
9}
10
11const optionalResult: GetUserBadgeProgressById200Response | null = await maybeFetchProgress(tenantId, userId);
12

ユーザーバッジ進捗一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
userIdstringいいえ
limitnumberいいえ
skipnumberいいえ

レスポンス

戻り値: GetUserBadgeProgressList200Response

getUserBadgeProgressList の例
Copy Copy
1
2const tenantId: string = 'tenant_4f3a2b9c';
3const userId: string = 'user_7721d';
4const limit: number = 20;
5const skip: number = 0;
6const result: GetUserBadgeProgressList200Response = await getUserBadgeProgressList(tenantId, userId, limit, skip);
7

ユーザーバッジを作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
createUserBadgeParamsCreateUserBadgeParamsはい

レスポンス

戻り値: CreateUserBadge200Response

createUserBadge の例
Copy Copy
1
2const tenantId: string = "tenant_7f4b2a";
3const createUserBadgeParams: CreateUserBadgeParams = {
4 code: "top_contributor",
5 title: "Top Contributor",
6 description: "Awarded for 100 high-quality comments",
7 iconUrl: "https://cdn.fastcomments.com/badges/top_contributor.svg",
8 isActive: true,
9 criteria: { commentsRequired: 100 },
10 customConfig: { displayOnProfile: true } // オプションのパラメータを示す
11};
12const result: CreateUserBadge200Response = await createUserBadge(tenantId, createUserBadgeParams);
13

ユーザーバッジを削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: UpdateUserBadge200Response

deleteUserBadge の例
Copy Copy
1
2const tenantId: string = "tenant_8b3f2c7a";
3const badgeIdOptional: string | undefined = Math.random() > 0.5 ? "badge_4f9a21" : undefined;
4const id: string = badgeIdOptional ?? "badge_backup_01";
5const result: UpdateUserBadge200Response = await deleteUserBadge(tenantId, id);
6

ユーザーバッジを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetUserBadge200Response

getUserBadge の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_6b8f2a1c';
4 const id: string = 'badge_9f3d4b2a';
5 const response: GetUserBadge200Response = await getUserBadge(tenantId, id);
6 const badge: UserBadge | undefined = response.userBadge;
7 const badgeName: string | undefined = badge?.name;
8 console.log('Retrieved badge name:', badgeName);
9})();
10

ユーザーバッジ一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
userIdstringいいえ
badgeIdstringいいえ
typenumberいいえ
displayedOnCommentsbooleanいいえ
limitnumberいいえ
skipnumberいいえ

レスポンス

返り値: GetUserBadges200Response

getUserBadges の例
Copy Copy
1
2const tenantId: string = 'tenant_7f9a12';
3const userId: string = 'user_42b7';
4const badgeId: string = 'badge_top_contributor';
5const type: number = 2;
6const displayedOnComments: boolean = true;
7const limit: number = 25;
8const skip: number = 0;
9const badges: GetUserBadges200Response = await getUserBadges(tenantId, userId, badgeId, type, displayedOnComments, limit, skip);
10

ユーザーバッジを更新 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
updateUserBadgeParamsUpdateUserBadgeParamsはい

レスポンス

返却値: UpdateUserBadge200Response

updateUserBadge の例
Copy Copy
1
2const tenantId: string = "tenant_9a8b7c";
3const id: string = "badge_a1b2c3";
4const updateUserBadgeParams: UpdateUserBadgeParams = {
5 title: "Community Helper",
6 description: "Awarded for providing 50 helpful answers",
7 iconUrl: "https://cdn.fastcomments.com/badges/community-helper.png",
8 isActive: true,
9 expiryDate: undefined
10};
11const result: UpdateUserBadge200Response = await updateUserBadge(tenantId, id, updateUserBadgeParams);
12

ユーザーの通知カウントを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
ssostringいいえ

レスポンス

返却値: GetUserNotificationCount200Response

getUserNotificationCount の例
Copy Copy
1
2const tenantId: string = 'tenant_acme_01';
3const ssoToken: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.sso_payload.signature';
4const notificationCountNoSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId);
5const notificationCountWithSSO: GetUserNotificationCount200Response = await getUserNotificationCount(tenantId, ssoToken);
6

ユーザーの通知を取得 Internal Link

パラメーター

名前必須説明
tenantIdstringはい
urlIdstringいいえ
pageSizenumberいいえ
afterIdstringいいえ
includeContextbooleanいいえ
afterCreatedAtnumberいいえ
unreadOnlybooleanいいえ
dmOnlybooleanいいえ
noDmbooleanいいえ
includeTranslationsbooleanいいえ
includeTenantNotificationsbooleanいいえ
ssostringいいえ

レスポンス

戻り値: GetUserNotifications200Response

getUserNotifications の例
Copy Copy
1
2const tenantId: string = "tenant_8271";
3const urlId: string = "https://www.news-site.com/articles/2026/06/15/ai-updates";
4const pageSize: number = 25;
5const afterId: string = "notif_abc123";
6const includeContext: boolean = true;
7const afterCreatedAt: number = Date.now() - 86_400_000;
8const unreadOnly: boolean = true;
9const dmOnly: boolean = false;
10const noDm: boolean = false;
11const includeTranslations: boolean = true;
12const includeTenantNotifications: boolean = true;
13const sso: string = "sso_token_xyz_987";
14
15const notifications: GetUserNotifications200Response = await getUserNotifications(
16 tenantId,
17 urlId,
18 pageSize,
19 afterId,
20 includeContext,
21 afterCreatedAt,
22 unreadOnly,
23 dmOnly,
24 noDm,
25 includeTranslations,
26 includeTenantNotifications,
27 sso
28);
29

ユーザーの通知カウントをリセット Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringはい
ssostringいいえ

レスポンス

戻り値: ResetUserNotifications200Response

resetUserNotificationCount の例
Copy Copy
1
2const tenantId: string = "tenant_8a3f2b6c";
3const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyX2QxMjM0IiwiaWF0IjoxNjI1MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
4const resetResponseWithSso: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId, ssoToken);
5const resetResponseWithoutSso: ResetUserNotifications200Response = await resetUserNotificationCount(tenantId);
6

ユーザーの通知をリセット Internal Link

パラメーター

名前必須説明
tenantIdstringはい
afterIdstringいいえ
afterCreatedAtnumberいいえ
unreadOnlybooleanいいえ
dmOnlybooleanいいえ
noDmbooleanいいえ
ssostringいいえ

レスポンス

戻り値: ResetUserNotifications200Response

resetUserNotifications の例
Copy Copy
1
2const tenantId: string = "tenant_9b1f2";
3const afterId: string = "notification_0001";
4const afterCreatedAt: number = Date.now() - 60 * 60 * 1000; // 1時間前
5const unreadOnly: boolean = true;
6const dmOnly: boolean = false;
7const noDm: boolean = false;
8const sso: string = "sso_session_7f2d";
9const result: ResetUserNotifications200Response = await resetUserNotifications(
10 tenantId,
11 afterId,
12 afterCreatedAt,
13 unreadOnly,
14 dmOnly,
15 noDm,
16 sso
17);
18

ユーザーのコメント通知購読ステータスを更新 Internal Link

特定のコメントの通知を有効または無効にします。

パラメータ

名前必須説明
tenantIdstringYes
notificationIdstringYes
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumYes
commentIdstringYes
ssostringNo

レスポンス

返却: UpdateUserNotificationStatus200Response

updateUserNotificationCommentSubscriptionStatus の例
Copy Copy
1
2const tenantId: string = 'f3a9c8b0-4d2e-4f8a-9c3b-1234567890ab';
3const notificationId: string = '62a1f4d2-8c7b-4e1a-aaa1-abcdef123456';
4const commentId: string = '7e4a2b1c-1234-5678-90ab-cdef12345678';
5const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum = UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptedIn;
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ssoPayload.signature';
7const response: UpdateUserNotificationStatus200Response = await updateUserNotificationCommentSubscriptionStatus(tenantId, notificationId, optedInOrOut, commentId, sso);
8

ユーザーのページ通知購読ステータスを更新 Internal Link

ページの通知を有効または無効にします。ユーザーがページを購読している場合、新しいルートコメントに対して通知が作成され、また

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
urlstringはい
pageTitlestringはい
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumはい
ssostringいいえ

レスポンス

戻り値: UpdateUserNotificationStatus200Response

updateUserNotificationPageSubscriptionStatus の例
Copy Copy
1
2const tenantId: string = 'tenant_7f3b2';
3const urlId: string = 'article_987';
4const url: string = 'https://www.news-site.com/articles/2026/pasta-guide';
5const pageTitle: string = 'The Definitive Guide to Cooking Pasta';
6const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum = UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
7const sso: string = 'sso-token-62b9f1';
8const result: UpdateUserNotificationStatus200Response = await updateUserNotificationPageSubscriptionStatus(tenantId, urlId, url, pageTitle, subscribedOrUnsubscribed, sso);
9

ユーザーの通知ステータスを更新 Internal Link

パラメータ

NameType必須説明
tenantIdstringはい
notificationIdstringはい
newStatusUpdateUserNotificationStatusNewStatusEnumはい
ssostringいいえ

レスポンス

戻り値: UpdateUserNotificationStatus200Response

updateUserNotificationStatus の例
Copy Copy
1
2const tenantId: string = 'tenant_5f2a8b9c';
3const notificationId: string = 'notif_987654321';
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.Read;
5const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.payload.signature';
6const result: UpdateUserNotificationStatus200Response = await updateUserNotificationStatus(tenantId, notificationId, newStatus, sso);
7

ユーザーのプレゼンス状態を取得 Internal Link

パラメータ

NameType必須説明
tenantIdstringはい
urlIdWSstringはい
userIdsstringはい

レスポンス

戻り値: GetUserPresenceStatuses200Response

getUserPresenceStatuses の例
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const urlIdWS: string = 'wss://comments.fastsite.com/ws/tenant_42';
4const userIds: string = 'user_9012,user_3478';
5const includePresenceMetadata: boolean | undefined = true; // オプションのパラメータの例
6const presenceStatuses: GetUserPresenceStatuses200Response = await getUserPresenceStatuses(tenantId, urlIdWS, userIds);
7

ユーザーを検索 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
usernameStartsWithstringいいえ
mentionGroupIdsArrayいいえ
ssostringいいえ
searchSectionSearchUsersSearchSectionEnumいいえ

レスポンス

戻り値: SearchUsers200Response

searchUsers の例
Copy Copy
1
2const tenantId: string = 'tenant_7890';
3const urlId: string = 'news/2026-06-15-world-cup-final';
4const usernameStartsWith: string = 'mar';
5const mentionGroupIds: string[] = ['staff', 'trusted-commenters'];
6const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI0NTY3OCJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
7const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.Commenters;
8const response: SearchUsers200Response = await searchUsers(tenantId, urlId, usernameStartsWith, mentionGroupIds, sso, searchSection);
9

ユーザーを取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetUser200Response

getUser の例
Copy Copy
1
2const tenantId: string = 'fastcomments_corp';
3const id: string = 'user_9f8b7c6d-5e4a-3b2c-1f0e-123456789abc';
4const response: GetUser200Response = await getUser(tenantId, id);
5const userEmail: string | undefined = response.user?.email;
6const displayName: string | undefined = response.user?.displayName
7

投票を作成 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
commentIdstringはい
directionCreateVoteDirectionEnumはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

戻り値: VoteComment200Response

createVote の例
Copy Copy
1
2const tenantId: string = 'fastcomments-tenant-001';
3const commentId: string = 'cmt_8f3b2a9d';
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.Up;
5const userId: string = 'user_5021';
6const anonUserId: string = 'anon_7a9c';
7
8const voteResponse: VoteComment200Response = await createVote(tenantId, commentId, direction, userId, anonUserId);
9

投票を削除 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
idstringはい
editKeystringいいえ

レスポンス

戻り値: DeleteCommentVote200Response

deleteVote の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_8421';
4 const id: string = 'vote_3f9b7c2a';
5 const editKey: string = 'edit_7Xk9LpQ';
6 const responseWithoutEdit: DeleteCommentVote200Response = await deleteVote(tenantId, id);
7 const responseWithEdit: DeleteCommentVote200Response = await deleteVote(tenantId, id, editKey);
8 console.log(responseWithoutEdit, responseWithEdit);
9})();
10

投票一覧を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

戻り値: GetVotes200Response

getVotes の例
Copy Copy
1
2const tenantId: string = 'tenant_7f8e91c2';
3const urlId: string = 'https://www.sportsdaily.com/news/2026/06/15/championship-game-recap';
4const votes: GetVotes200Response = await getVotes(tenantId, urlId);
5console.log(votes);
6

ユーザーの投票を取得 Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringはい
userIdstringいいえ
anonUserIdstringいいえ

レスポンス

返却値: GetVotesForUser200Response

getVotesForUser の例
Copy Copy
1
2const tenantId: string = 'tenant_9b8f7c6d';
3const urlId: string = 'articles/product-update-2026';
4const userId: string = 'user_c12345';
5const anonUserId: string = 'anon_7f4e2a';
6const votes: GetVotesForUser200Response = await getVotesForUser(tenantId, urlId, userId, anonUserId);
7

ヘルプが必要ですか?

JavaScript/TypeScript SDKに関して問題が発生したり質問がある場合は、以下をご利用ください:

貢献

貢献は歓迎します!貢献に関するガイドラインはGitHubリポジトリをご覧ください。