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

SDK は次の API クラスを提供します:

  • DefaultApi - 認証に API キーを必要とする保護されたエンドポイント。サーバー側の操作に使用してください。
  • PublicApi - API キーなしでアクセスできる公開エンドポイント。ブラウザやモバイル端末などから直接呼び出せます。
  • ModerationApi - モデレーターダッシュボードのエンドポイント(コメントモデレーション、バン、バッジ、トラストファクター、検索)。モデレーターのセッションで認証されます。SSO 認証されたモデレーターの場合は sso クエリパラメータを渡してください。
  • HiddenApi - 高度なユースケース向けの内部/管理者用エンドポイント。

Example: Using Public API (browser-safe)

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

const publicApi = new PublicApi();

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

Example: Using Default API (server-side only)

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

Example: Using Moderation API

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

const sdk = createFastCommentsSDK({ /* basePath など */ });

// モデレーター認証済みの呼び出し(セッションクッキー、またはSSO認証されたモデレーターの場合は `sso` を渡してください)。
const comments = await sdk.moderationApi.getApiComments({
  tenantId: 'your-tenant-id'
});

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

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

aggregate Internal Link

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

Parameters

名前必須説明
tenantIdstringYes
aggregationRequestAggregationRequestYes
parentTenantIdstringNo
includeStatsbooleanNo

Response

Returns: AggregateResponse

Example

集計例
Copy Copy
1
2const tenantId: string = "tenant-12345";
3
4const aggregationRequest: AggregationRequest = {
5 predicates: [
6 {
7 field: "status",
8 operator: "eq",
9 value: { type: "string", value: "approved" }
10 }
11 ],
12 operations: [
13 { type: "count", field: "commentId" }
14 ],
15 sort: { field: "createdAt", direction: "desc" }
16};
17
18const parentTenantId: string = "parent-001";
19const includeStats: boolean = true;
20
21const result: AggregateResponse = await aggregate(
22 tenantId,
23 aggregationRequest,
24 parentTenantId,
25 includeStats
26);
27

getAuditLogs Internal Link

パラメータ

名前必須説明
tenantIdstringYes
limitnumberNo
skipnumberNo
orderSORTDIRNo
afternumberNo
beforenumberNo

レスポンス

返却: GetAuditLogsResponse1

getAuditLogs の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_42";
4 const limit: number = 100;
5 const skip: number = 10;
6 const order: SORTDIR = "desc";
7 const after: number = Date.now() - 3 * 24 * 60 * 60 * 1000; // 3日前
8
9 const auditResponse: GetAuditLogsResponse1 = await getAuditLogs(
10 tenantId,
11 limit,
12 skip,
13 order,
14 after
15 );
16
17 console.log(auditResponse);
18})();
19

blockFromCommentPublic Internal Link

パラメータ

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

レスポンス

返却値: BlockFromCommentPublicResponse

blockFromCommentPublic の例
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_9f8b7c";
4 const commentId: string = "cmt_1234567890";
5 const blockParams: PublicBlockFromCommentParams = {
6 reason: "spam",
7 durationHours: 24,
8 };
9 const ssoToken: string = "sso_ABCDEF123456";
10
11 const responseWithSso: BlockFromCommentPublicResponse = await blockFromCommentPublic(
12 tenantId,
13 commentId,
14 blockParams,
15 ssoToken
16 );
17
18 const responseWithoutSso: BlockFromCommentPublicResponse = await blockFromCommentPublic(
19 tenantId,
20 commentId,
21 blockParams
22 );
23
24 console.log(responseWithSso, responseWithoutSso);
25}
26demo();
27

unBlockCommentPublic Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
publicBlockFromCommentParamsPublicBlockFromCommentParamsYes
ssostringNo

レスポンス

戻り値: UnBlockCommentPublicResponse

unBlockCommentPublic の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const commentId: string = "cmt-20230915-001";
4const unblockParams: PublicBlockFromCommentParams = {
5 reason: "User appealed and was cleared",
6 unblockExpiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString()
7};
8const ssoToken: string = "sso-3d9f8a7b";
9
10const result: UnBlockCommentPublicResponse = await unBlockCommentPublic(
11 tenantId,
12 commentId,
13 unblockParams,
14 ssoToken
15);
16

checkedCommentsForBlocked Internal Link

パラメータ

名前必須説明
tenantIdstringYes
commentIdsstringYes
ssostringNo

レスポンス

返り値: CheckedCommentsForBlockedResponse

checkedCommentsForBlocked の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const commentIds: string = "cmt_001,cmt_002";
5 const ssoToken: string = "ssoTokenXYZ";
6
7 const blockedCheck: CheckedCommentsForBlockedResponse = await checkedCommentsForBlocked(tenantId, commentIds);
8 const blockedCheckWithSso: CheckedCommentsForBlockedResponse = await checkedCommentsForBlocked(tenantId, commentIds, ssoToken);
9})();
10

blockUserFromComment Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
blockFromCommentParamsBlockFromCommentParamsYes
userIdstringNo
anonUserIdstringNo

応答

返り値: BlockUserFromCommentResponse

blockUserFromComment の例
Copy Copy
1
2const tenantId: string = 'tenant_42';
3const commentId: string = 'cmt_20231101';
4
5const blockParams: BlockFromCommentParams = {
6 reason: 'spam',
7 blockDurationHours: 24,
8};
9
10const userId: string = 'user_123'; // optional parameter
11
12const response: BlockUserFromCommentResponse = await blockUserFromComment(
13 tenantId,
14 commentId,
15 blockParams,
16 userId
17);
18

createCommentPublic Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
broadcastIdstringYes
commentDataCommentDataYes
sessionIdstringNo
ssostringNo

レスポンス

返却: CreateCommentPublicResponse

createCommentPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-abc123";
4 const urlId: string = "post-987654";
5 const broadcastId: string = "bcast-001";
6 const commentData: CommentData = {
7 content: "I really enjoyed this article!"
8 };
9 const sessionId: string = "session-xyz789";
10 const sso: string = "sso-token-456def";
11
12 const response: CreateCommentPublicResponse = await createCommentPublic(
13 tenantId,
14 urlId,
15 broadcastId,
16 commentData,
17 sessionId,
18 sso
19 );
20
21 console.log(response);
22})();
23

deleteComment Internal Link

パラメータ

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

レスポンス

戻り値: DeleteCommentResponse

deleteComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_01';
4 const commentId: string = 'comment_abc123';
5 const contextUserId: string = 'user_42';
6 const isLive: boolean = false;
7
8 const deleteResult: DeleteCommentResponse = await deleteComment(tenantId, commentId, contextUserId, isLive);
9 const simpleResult: DeleteCommentResponse = await deleteComment(tenantId, commentId);
10})();
11

deleteCommentPublic Internal Link

パラメータ

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

レスポンス

返却: DeleteCommentPublicResponse

deleteCommentPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'c6f9a2e3-9b1d-4f8a-b2d2-1a2b3c4d5e6f';
4 const commentId: string = '7d9f0b1c-2e3f-4a5b-6c7d-8e9f0a1b2c3d';
5 const broadcastId: string = 'live-2023-09-15';
6 const editKey: string = 'ed1tK3y1234567890';
7 const sso: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.abc123';
8
9 const result: DeleteCommentPublicResponse = await deleteCommentPublic(
10 tenantId,
11 commentId,
12 broadcastId,
13 editKey,
14 sso
15 );
16})();
17

deleteCommentVote Internal Link

パラメータ

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

レスポンス

返却: DeleteCommentVoteResponse

deleteCommentVote の例
Copy Copy
1
2async function removeVote() {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const voteId: string = "vote_abcde";
6 const urlId: string = "url_56789";
7 const broadcastId: string = "brd_001";
8 const editKey: string = "edit_456";
9 // ssoはオプションで、省略されています
10
11 const response: DeleteCommentVoteResponse = await deleteCommentVote(
12 tenantId,
13 commentId,
14 voteId,
15 urlId,
16 broadcastId,
17 editKey
18 );
19
20 console.log(response);
21}
22
23removeVote();
24

flagComment Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
userIdstringNo
anonUserIdstringNo

レスポンス

返却: FlagCommentResponse1

flagComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_2023";
4 const commentId: string = "comment_5678";
5 const userId: string = "user_1234";
6 const anonUserId: string = "anon_4321";
7
8 const result: FlagCommentResponse1 = await flagComment(tenantId, commentId, userId);
9 const anonResult: FlagCommentResponse1 = await flagComment(tenantId, commentId, undefined, anonUserId);
10})();
11

getComment Internal Link

パラメータ

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

レスポンス

Returns: GetCommentResponse

getComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-987654";
5 const result: GetCommentResponse = await getComment(tenantId, commentId);
6 const badgeInfo: CommentUserBadgeInfo | undefined = result.comment?.user?.badgeInfo;
7 console.log(badgeInfo?.label);
8})();
9

getComments Internal Link

パラメータ

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

返却

Returns: GetCommentsResponse

getComments の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const page: number = 2;
4const limit: number = 50;
5const asTree: boolean = true;
6const urlId: string = "article_5678";
7const direction: SortDirections = "desc";
8const fromDate: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // 1 週間前
9const toDate: number = Date.now();
10
11const commentsResponse: GetCommentsResponse = await getComments({
12 tenantId,
13 page,
14 limit,
15 asTree,
16 urlId,
17 direction,
18 fromDate,
19 toDate,
20});
21

getCommentsPublic Internal Link

リクエスト
tenantId
urlId

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
pagenumberNo
directionSortDirectionsNo
ssostringNo
skipnumberNo
skipChildrennumberNo
limitnumberNo
limitChildrennumberNo
countChildrenbooleanNo
fetchPageForCommentIdstringNo
includeConfigbooleanNo
countAllbooleanNo
includei10nbooleanNo
localestringNo
modulesstringNo
isCrawlerbooleanNo
includeNotificationCountbooleanNo
asTreebooleanNo
maxTreeDepthnumberNo
useFullTranslationIdsbooleanNo
parentIdstringNo
searchTextstringNo
hashTagsArrayNo
userIdstringNo
customConfigStrstringNo
afterCommentIdstringNo
beforeCommentIdstringNo

応答

戻り値: GetCommentsPublicResponse

getCommentsPublic 例
Copy Copy
1
2async function fetchComments() {
3 const tenantId: string = 'acme-corp';
4 const urlId: string = 'blog/post-789';
5 const page: number = 1;
6 const direction: SortDirections = SortDirections.Desc;
7 const limit: number = 25;
8 const includeConfig: boolean = true;
9 const locale: string = 'en-GB';
10 const modules: string = 'reactions,attachments';
11 const isCrawler: boolean = false;
12 const includeNotificationCount: boolean = true;
13 const asTree: boolean = true;
14 const maxTreeDepth: number = 4;
15 const searchText: string = 'TypeScript';
16 const hashTags: string[] = ['typescript', 'api'];
17 const response: GetCommentsPublicResponse = await getCommentsPublic(
18 tenantId,
19 urlId,
20 page,
21 direction,
22 undefined,
23 undefined,
24 undefined,
25 limit,
26 undefined,
27 undefined,
28 undefined,
29 includeConfig,
30 undefined,
31 undefined,
32 locale,
33 modules,
34 isCrawler,
35 includeNotificationCount,
36 asTree,
37 maxTreeDepth,
38 undefined,
39 undefined,
40 searchText,
41 hashTags,
42 undefined,
43 undefined,
44 undefined,
45 undefined
46 );
47}
48

getCommentText Internal Link

パラメータ

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

レスポンス

戻り値: GetCommentTextResponse1

getCommentText の例
Copy Copy
1
2async function run() {
3 const tenantId: string = "acme-corp-tenant";
4 const commentId: string = "cmt-5f2e9a1b";
5 const editKey: string = "edk-9b7c3";
6 const ssoToken: string = "sso-xyz789";
7
8 const commentOnly: GetCommentTextResponse1 = await getCommentText(tenantId, commentId);
9 const commentWithEdit: GetCommentTextResponse1 = await getCommentText(tenantId, commentId, editKey);
10 const commentFull: GetCommentTextResponse1 = await getCommentText(tenantId, commentId, editKey, ssoToken);
11}
12run();
13

getCommentVoteUserNames Internal Link

パラメータ

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

レスポンス

戻り値: GetCommentVoteUserNamesResponse

getCommentVoteUserNames の例
Copy Copy
1
2async function demoGetCommentVoteUserNames() {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "cmt_5f2a1e3b";
5 const dir: number = 1; // 昇順
6
7 const votesWithoutSSO: GetCommentVoteUserNamesResponse = await getCommentVoteUserNames(
8 tenantId,
9 commentId,
10 dir
11 );
12
13 const ssoToken: string = "sso_abcdef123456";
14 const votesWithSSO: GetCommentVoteUserNamesResponse = await getCommentVoteUserNames(
15 tenantId,
16 commentId,
17 dir,
18 ssoToken
19 );
20
21 console.log(votesWithoutSSO, votesWithSSO);
22}
23

lockComment Internal Link

Parameters

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

Response

Returns: LockCommentResponse

Example

lockComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const commentId: string = "cmt_98765";
5 const broadcastId: string = "brd_54321";
6
7 // 任意の SSO トークンあり
8 const ssoToken: string = "user-abc123";
9 const lockedWithSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId, ssoToken);
10
11 // SSO トークンなし
12 const lockedWithoutSso: LockCommentResponse = await lockComment(tenantId, commentId, broadcastId);
13})();
14

pinComment Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
ssostringNo

レスポンス

戻り値: PinCommentResponse

pinComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant-001';
4 const commentId: string = 'comment-5678';
5 const broadcastId: string = 'broadcast-2023';
6 const ssoToken: string = 'sso-xyz-789';
7
8 const pinResult: PinCommentResponse = await pinComment(tenantId, commentId, broadcastId);
9 const pinResultWithSso: PinCommentResponse = await pinComment(tenantId, commentId, broadcastId, ssoToken);
10})();
11

saveComment Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createCommentParamsCreateCommentParamsYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

レスポンス

戻り値: SaveCommentResponse

saveComment の例
Copy Copy
1
2async function submitComment() {
3 const tenantId: string = "tenant_9f8e7d6c";
4 const commentParams: CreateCommentParams = {
5 text: "Great post, thanks for sharing!",
6 authorId: "user_123abc",
7 mentions: [] as CommentUserMentionInfo[],
8 hashtags: [] as CommentUserHashTagInfo[]
9 };
10 const response: SaveCommentResponse = await saveComment(
11 tenantId,
12 commentParams,
13 true, // isLive
14 false // doSpamCheck
15 );
16 console.log(response);
17}
18submitComment();
19

saveCommentsBulk Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createCommentParamsArrayYes
isLivebooleanNo
doSpamCheckbooleanNo
sendEmailsbooleanNo
populateNotificationsbooleanNo

レスポンス

返り値: Array<SaveCommentsBulkResponse

saveCommentsBulk の例
Copy Copy
1
2const tenantId: string = "tenant_9f8b7c6d";
3
4const bulkComments: CreateCommentParams[] = [
5 {
6 content: "Welcome to the new forum thread!",
7 authorId: "user_42",
8 mentions: [{ userId: "user_84", username: "alice" }],
9 hashtags: [{ tag: "intro" }]
10 },
11 {
12 content: "Please review the updated guidelines.",
13 authorId: "moderator_1",
14 mentions: [],
15 hashtags: [{ tag: "guidelines" }, { tag: "update" }]
16 }
17];
18
19const results: SaveCommentsBulkResponse[] = await saveCommentsBulk(
20 tenantId,
21 bulkComments,
22 true, // ライブ
23 false, // スパムチェック
24 true, // メール送信
25 undefined // populateNotifications (デフォルトを使用)
26);
27

setCommentText Internal Link


パラメータ

名前必須説明
tenantIdstringYes
commentIdstringYes
broadcastIdstringYes
commentTextUpdateRequestCommentTextUpdateRequestYes
editKeystringNo
ssostringNo

レスポンス

返り値: SetCommentTextResponse1

setCommentText の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const commentId: string = 'cmt_98765';
5 const broadcastId: string = 'brd_112233';
6 const commentTextUpdateRequest: CommentTextUpdateRequest = {
7 text: 'Updated comment with @john.doe and #important',
8 mentions: [{ userId: 'user_001', username: 'john.doe' }],
9 hashtags: [{ tag: 'important' }],
10 };
11 const editKey: string = 'edit_abc123';
12 const result: SetCommentTextResponse1 = await setCommentText(
13 tenantId,
14 commentId,
15 broadcastId,
16 commentTextUpdateRequest,
17 editKey,
18 );
19 console.log(result);
20})();
21

unBlockUserFromComment Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
unBlockFromCommentParamsUnBlockFromCommentParamsYes
userIdstringNo
anonUserIdstringNo

応答

戻り値: UnBlockUserFromCommentResponse

unBlockUserFromComment 例
Copy Copy
1
2async function demoUnblock() {
3 const tenantId: string = "acme-corp-tenant";
4 const commentId: string = "cmt_9f8b7a6d";
5
6 const params: UnBlockFromCommentParams = {
7 reason: "User resolved the issue",
8 notifyUser: true
9 };
10
11 const userId: string = "usr_12345";
12
13 const result: UnBlockUserFromCommentResponse = await unBlockUserFromComment(
14 tenantId,
15 commentId,
16 params,
17 userId
18 // anonUserId は省略
19 );
20
21 console.log(result);
22}
23demoUnblock();
24

unFlagComment Internal Link

パラメータ

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

レスポンス

返り値: UnFlagCommentResponse

unFlagComment の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3const commentId: string = "cmt_123456";
4const userId: string = "usr_98765";
5
6const result: UnFlagCommentResponse = await unFlagComment(tenantId, commentId, userId);
7
8const anonCommentId: string = "cmt_123457";
9const anonUserId: string = "anon_abc123";
10
11const anonResult: UnFlagCommentResponse = await unFlagComment(tenantId, anonCommentId, undefined, anonUserId);
12

unLockComment Internal Link


パラメータ

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

レスポンス

返却: UnLockCommentResponse

unLockComment の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_9876";
4const broadcastId: string = "brd_001";
5const ssoToken: string | undefined = "sso_token_abc";
6
7async function run() {
8 const unlocked: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId, ssoToken);
9 console.log(unlocked);
10
11 // オプションの sso パラメータなしで呼び出す
12 const unlockedWithoutSso: UnLockCommentResponse = await unLockComment(tenantId, commentId, broadcastId);
13 console.log(unlockedWithoutSso);
14}
15
16run();
17

unPinComment Internal Link

パラメータ

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

レスポンス

返り値: UnPinCommentResponse

unPinComment の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-001"
4 const commentId: string = "comment-123"
5 const broadcastId: string = "broadcast-456"
6 const sso: string = "sso-token-xyz"
7
8 const resultWithSso: UnPinCommentResponse = await unPinComment(tenantId, commentId, broadcastId, sso)
9 const resultWithoutSso: UnPinCommentResponse = await unPinComment(tenantId, commentId, broadcastId)
10
11 console.log(resultWithSso, resultWithoutSso)
12})()
13

updateComment Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updatableCommentParamsUpdatableCommentParamsYes
contextUserIdstringNo
doSpamCheckbooleanNo
isLivebooleanNo

返り値

返り値: UpdateCommentResponse

updateComment の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "cmt_98765";
4
5const updatableCommentParams: UpdatableCommentParams = {
6 // 例のフィールド; 実際の形は API 定義に依存します
7 // 例: body: "Edited comment content",
8};
9
10const contextUserId: string = "user_abcde";
11const doSpamCheck: boolean = true;
12const isLive: boolean = false;
13
14const result: UpdateCommentResponse = await updateComment(
15 tenantId,
16 commentId,
17 updatableCommentParams,
18 contextUserId,
19 doSpamCheck,
20 isLive
21);
22

voteComment Internal Link

パラメータ

名前必須説明
tenantIdstringYes
commentIdstringYes
urlIdstringYes
broadcastIdstringYes
voteBodyParamsVoteBodyParamsYes
sessionIdstringNo
ssostringNo

応答

戻り値: VoteCommentResponse

voteComment の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3const commentId: string = "cmt_9f8e7d6c";
4const urlId: string = "url_123456";
5const broadcastId: string = "bcast_2024_01";
6
7const voteBodyParams: VoteBodyParams = {
8 vote: "up", // 例: "up" | "down"
9 weight: 1, // 投票のオプションの重み付け
10};
11
12const sessionId: string = "sess_abc123def";
13const sso: string = "sso_token_xyz";
14
15const result: VoteCommentResponse = await voteComment(
16 tenantId,
17 commentId,
18 urlId,
19 broadcastId,
20 voteBodyParams,
21 sessionId,
22 sso
23);
24

getCommentsForUser Internal Link

パラメータ

名前タイプ必須説明
userIdstringいいえ
directionSortDirectionsいいえ
repliesToUserIdstringいいえ
pagenumberいいえ
includei10nbooleanいいえ
localestringいいえ
isCrawlerbooleanいいえ

レスポンス

返却: GetCommentsForUserResponse1

getCommentsForUser の例
Copy Copy
1
2async function demo() {
3 const userId: string = "user-12345";
4 const direction: SortDirections = "desc";
5 const page: number = 1;
6 const includei10n: boolean = true;
7 const locale: string = "en-US";
8 const isCrawler: boolean = false;
9
10 const response: GetCommentsForUserResponse1 = await getCommentsForUser(
11 userId,
12 direction,
13 undefined,
14 page,
15 includei10n,
16 locale,
17 isCrawler
18 );
19
20 console.log(response);
21}
22

addDomainConfig Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
addDomainConfigParamsAddDomainConfigParamsはい

レスポンス

戻り値: AddDomainConfigResponse

addDomainConfig の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const config: AddDomainConfigParams = {
5 domain: 'myblog.example.com',
6 enabled: true,
7 // description はオプションで、ここでは省略されています
8 };
9 const response: AddDomainConfigResponse = await addDomainConfig(tenantId, config);
10 console.log(response);
11})();
12

deleteDomainConfig Internal Link

パラメータ

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

レスポンス

戻り値: DeleteDomainConfigResponse

deleteDomainConfig の例
Copy Copy
1
2async function runExample() {
3 const tenantId: string = 'acme-corp';
4 const domain: string = 'blog.acme.com';
5 const response: DeleteDomainConfigResponse = await deleteDomainConfig(tenantId, domain);
6 console.log(response);
7}
8runExample();
9

getDomainConfig Internal Link

パラメータ

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

レスポンス

戻り値: GetDomainConfigResponse

getDomainConfig の例
Copy Copy
1
2async function main() {
3 const tenantId: string = "acme-corp-123";
4 const domain: string = "blog.acme.com";
5 const config: GetDomainConfigResponse = await getDomainConfig(tenantId, domain);
6 console.log(config);
7}
8main();
9

getDomainConfigs Internal Link

パラメータ

名前必須説明
tenantIdstringはい

レスポンス

返却: GetDomainConfigsResponse

getDomainConfigs の例
Copy Copy
1
2async function fetchDomainConfigs(): Promise<void> {
3 const tenantId: string = "acme-corp-567";
4 const configs: GetDomainConfigsResponse = await getDomainConfigs(tenantId);
5 console.log(configs);
6}
7

patchDomainConfig Internal Link

パラメータ

名前必須説明
tenantIdstringYes
domainToUpdatestringYes
patchDomainConfigParamsPatchDomainConfigParamsYes

レスポンス

戻り値: PatchDomainConfigResponse

patchDomainConfig の例
Copy Copy
1
2async function updateDomainConfig() {
3 const tenantId: string = "tenant_98765";
4 const domainToUpdate: string = "forum.mycompany.com";
5 const patchParams: PatchDomainConfigParams = {
6 enableComments: true,
7 moderationLevel: "strict",
8 allowAnonymous: false, // オプションのパラメータの例
9 };
10 const response: PatchDomainConfigResponse = await patchDomainConfig(tenantId, domainToUpdate, patchParams);
11 console.log(response);
12}
13
14updateDomainConfig();
15

putDomainConfig Internal Link

パラメータ

名前必須説明
tenantIdstringYes
domainToUpdatestringYes
updateDomainConfigParamsUpdateDomainConfigParamsYes

レスポンス

返却: PutDomainConfigResponse

putDomainConfig 例
Copy Copy
1
2async function runExample() {
3 const tenantId: string = 'tenant-9f8c7b1a';
4 const domainToUpdate: string = 'comments.mywebsite.org';
5 const updateDomainConfigParams: UpdateDomainConfigParams = {
6 enableModeration: true,
7 // オプションのフィールドは省略されます、例: maxCommentLength?: number
8 };
9 const result: PutDomainConfigResponse = await putDomainConfig(
10 tenantId,
11 domainToUpdate,
12 updateDomainConfigParams,
13 );
14 console.log(result);
15}
16runExample();
17

createEmailTemplate Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createEmailTemplateBodyCreateEmailTemplateBodyYes

レスポンス

返却: CreateEmailTemplateResponse1

createEmailTemplate 例
Copy Copy
1
2const tenantId: string = "tenant_9f8e7d6c";
3
4const emailTemplate: CreateEmailTemplateBody = {
5 name: "Account Activation",
6 subject: "Activate Your New Account",
7 htmlContent: "<p>Welcome! Please click <a href=\"\{{activationLink}}\">here</a> to activate.</p>",
8 // textContentやisActiveなどのオプションフィールドは、オプションパラメータの例示のため省略されています
9};
10
11const result: CreateEmailTemplateResponse1 = await createEmailTemplate(
12 tenantId,
13 emailTemplate
14);
15
16console.log(result);
17

deleteEmailTemplate Internal Link


パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

レスポンス

返却: DeleteEmailTemplateResponse

deleteEmailTemplate の例
Copy Copy
1
2async () => {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "template_abcde";
5
6 const response: DeleteEmailTemplateResponse = await deleteEmailTemplate(tenantId, templateId);
7
8 // 応答からオプションのプロパティにアクセスする例
9 const statusCode: number | undefined = response.status?.code;
10}();
11

deleteEmailTemplateRenderError Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
idstringはい
errorIdstringはい

レスポンス

返却: DeleteEmailTemplateRenderErrorResponse

deleteEmailTemplateRenderError の例
Copy Copy
1
2async function executeDelete() {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "email_tpl_001";
5 const errorId: string = "render_err_2023";
6
7 const result: DeleteEmailTemplateRenderErrorResponse = await deleteEmailTemplateRenderError(
8 tenantId,
9 templateId,
10 errorId
11 );
12
13 console.log(result);
14}
15
16executeDelete();
17

getEmailTemplate Internal Link

パラメータ

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

レスポンス

返却: GetEmailTemplateResponse1

getEmailTemplate の例
Copy Copy
1
2async function fetchTemplate(): Promise<void> {
3 const tenantId: string = "tenant-12345";
4 const templateId: string = "order-confirmation";
5 const response: GetEmailTemplateResponse1 = await getEmailTemplate(tenantId, templateId);
6 const emailTemplate: CustomEmailTemplate | undefined = response.customEmailTemplate;
7 const configParams: CustomConfigParameters | undefined = response.customConfigParameters;
8}
9

getEmailTemplateDefinitions Internal Link

パラメータ

名前必須説明
tenantIdstringYes

レスポンス

戻り値: GetEmailTemplateDefinitionsResponse1

getEmailTemplateDefinitions の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const emailTemplateDefs: GetEmailTemplateDefinitionsResponse1 = await getEmailTemplateDefinitions(tenantId);
5 console.log(emailTemplateDefs);
6})();
7

getEmailTemplateRenderErrors Internal Link

パラメータ

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

レスポンス

返却: GetEmailTemplateRenderErrorsResponse1

getEmailTemplateRenderErrors の例
Copy Copy
1
2const tenantId: string = "c2f5a8d9-4b3e-4f6a-9e1b-2d5c6f7a8b9c";
3const templateId: string = "welcome-email-template";
4const skip: number = 20;
5
6const result: GetEmailTemplateRenderErrorsResponse1 = await getEmailTemplateRenderErrors(
7 tenantId,
8 templateId,
9 skip
10);
11

getEmailTemplates Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
skipnumberNo

レスポンス

返り値: GetEmailTemplatesResponse1

getEmailTemplates の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 // オプションの 'skip' を省いて呼び出す
6 const templates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId);
7
8 // オプションの 'skip' パラメータを指定して呼び出す
9 const pagedTemplates: GetEmailTemplatesResponse1 = await getEmailTemplates(tenantId, 20);
10})();
11

renderEmailTemplate Internal Link

パラメータ

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

レスポンス

返り値: RenderEmailTemplateResponse1

renderEmailTemplate の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-01";
4 const templateBody: RenderEmailTemplateBody = {
5 templateId: "welcome-email",
6 placeholders: {
7 userName: "John Doe",
8 signupDate: "2024-04-01"
9 }
10 };
11 const locale: string = "en-US";
12 const result: RenderEmailTemplateResponse1 = await renderEmailTemplate(tenantId, templateBody, locale);
13 console.log(result);
14})();
15

updateEmailTemplate Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateEmailTemplateBodyUpdateEmailTemplateBodyYes

レスポンス

戻り値: UpdateEmailTemplateResponse

updateEmailTemplate の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const templateId: string = "email_tpl_67890";
5
6 const updateBody: UpdateEmailTemplateBody = {
7 subject: "Comment reply notification",
8 htmlContent: "<p>Someone replied to your comment.</p>",
9 plainTextContent: "Someone replied to your comment.",
10 // 任意フィールドの例
11 isActive: true,
12 };
13
14 const result: UpdateEmailTemplateResponse = await updateEmailTemplate(
15 tenantId,
16 templateId,
17 updateBody
18 );
19
20 console.log(result);
21})();
22

getEventLog Internal Link

req tenantId urlId userIdWS

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimenumberYes
endTimenumberNo

応答

返却: GetEventLogResponse1

getEventLog の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9876";
4 const urlId: string = "page_54321";
5 const userIdWS: string = "ws_user_1122";
6 const startTime: number = Date.now() - 7 * 24 * 60 * 60 * 1000; // 1 週間前
7 const endTime: number = Date.now();
8
9 const log: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const recentLog: GetEventLogResponse1 = await getEventLog(tenantId, urlId, userIdWS, startTime);
11})();
12

getGlobalEventLog Internal Link

req tenantId urlId userIdWS

パラメータ

名前タイプ必須説明
tenantIdstringYes
urlIdstringYes
userIdWSstringYes
startTimenumberYes
endTimenumberNo

レスポンス

戻り値: GetGlobalEventLogResponse

getGlobalEventLog の例
Copy Copy
1
2(async () => {
3 const tenantId: string = '123e4567-e89b-12d3-a456-426614174000';
4 const urlId: string = 'article-2023-09-15';
5 const userIdWS: string = 'ws_987654321';
6 const startTime: number = Date.now() - 86400000;
7 const endTime: number = Date.now();
8
9 const fullLog: GetGlobalEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime, endTime);
10 const recentLog: GetGlobalEventLogResponse = await getGlobalEventLog(tenantId, urlId, userIdWS, startTime);
11
12 console.log(fullLog, recentLog);
13})();
14

createFeedPost Internal Link


パラメータ

名前必須説明
tenantIdstringYes
createFeedPostParamsCreateFeedPostParamsYes
broadcastIdstringNo
isLivebooleanNo
doSpamCheckbooleanNo
skipDupCheckbooleanNo

応答

戻り値: CreateFeedPostResponse1

createFeedPost の例
Copy Copy
1
2async function run() {
3 const tenantId = "tenant-12345";
4 const feedParams: CreateFeedPostParams = {
5 text: "New product launch!",
6 mediaItems: [{ type: "image", asset: { url: "https://cdn.example.com/img.jpg", width: 800, height: 600 } as FeedPostMediaItemAsset } as FeedPostMediaItem],
7 link: { url: "https://example.com/product", title: "Product" } as FeedPostLink
8 };
9 const result: CreateFeedPostResponse1 = await createFeedPost(tenantId, feedParams, "broadcast-987", true, false, true);
10 console.log(result);
11}
12run();
13

createFeedPostPublic Internal Link

パラメータ

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

レスポンス

返却: CreateFeedPostPublicResponse

createFeedPostPublic の例
Copy Copy
1
2async function submitPost() {
3 const tenantId: string = "tenant_12345";
4
5 const mediaItem: FeedPostMediaItem = {
6 asset: {
7 url: "https://cdn.example.com/image.jpg",
8 mimeType: "image/jpeg",
9 size: 104857,
10 },
11 type: "image",
12 };
13
14 const link: FeedPostLink = {
15 url: "https://example.com/blog/new-feature",
16 title: "New Feature Release",
17 description: "Details about our latest product update.",
18 };
19
20 const createFeedPostParams: CreateFeedPostParams = {
21 content: "Check out our new feature!",
22 media: [mediaItem],
23 link: link,
24 };
25
26 const broadcastId: string = "broadcast_9876";
27 const sso: string = "sso_token_abc123";
28
29 const response: CreateFeedPostPublicResponse = await createFeedPostPublic(
30 tenantId,
31 createFeedPostParams,
32 broadcastId,
33 sso
34 );
35}
36

deleteFeedPostPublic Internal Link

パラメータ

名前必須説明
tenantIdstringYes
postIdstringYes
broadcastIdstringNo
ssostringNo

レスポンス

戻り値: DeleteFeedPostPublicResponse

deleteFeedPostPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const postId: string = "post_987654321";
5 const broadcastId: string = "broadcast_2024Q1";
6 const sso: string = "sso_4fa3b9c2";
7
8 const response1: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId);
9 const response2: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId, broadcastId);
10 const response3: DeleteFeedPostPublicResponse = await deleteFeedPostPublic(tenantId, postId, broadcastId, sso);
11})();
12

getFeedPosts Internal Link

req tenantId afterId

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
afterIdstringNo
limitnumberNo
tagsArrayNo

レスポンス

Returns: GetFeedPostsResponse1

getFeedPosts の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const afterId: string = 'post_9876';
5 const limit: number = 20;
6 const tags: string[] = ['news', 'sports'];
7
8 const feedResult: GetFeedPostsResponse1 = await getFeedPosts(tenantId, afterId, limit, tags);
9})();
10

getFeedPostsPublic Internal Link

req tenantId afterId

パラメータ

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

レスポンス

返却: GetFeedPostsPublicResponse

getFeedPostsPublic の例
Copy Copy
1
2async function example() {
3 const tenantId: string = "tenant_12345";
4 const afterId: string = "post_9876";
5 const limit: number = 20;
6 const tags: string[] = ["news", "tech"];
7 const sso: string = "userToken123";
8 const isCrawler: boolean = false;
9 const includeUserInfo: boolean = true;
10 const response: GetFeedPostsPublicResponse = await getFeedPostsPublic(
11 tenantId,
12 afterId,
13 limit,
14 tags,
15 sso,
16 isCrawler,
17 includeUserInfo
18 );
19}
20example();
21

getFeedPostsStats Internal Link

パラメータ

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

レスポンス

戻り値: GetFeedPostsStatsResponse

getFeedPostsStats の例
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const postIds: string[] = ["post_a1b2c3", "post_d4e5f6"];
5 const ssoToken: string = "sso_abcdef123456";
6
7 const statsWithoutSso: GetFeedPostsStatsResponse = await getFeedPostsStats(tenantId, postIds);
8 const statsWithSso: GetFeedPostsStatsResponse = await getFeedPostsStats(tenantId, postIds, ssoToken);
9}
10
11runExample();
12

getUserReactsPublic Internal Link

パラメータ

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

応答

返却: GetUserReactsPublicResponse

getUserReactsPublic の例
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_12345";
4 const postIds: string[] = ["post_1a2b3c", "post_4d5e6f"];
5 const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
6
7 const fullResponse: GetUserReactsPublicResponse = await getUserReactsPublic(tenantId, postIds, ssoToken);
8 const minimalResponse: GetUserReactsPublicResponse = await getUserReactsPublic(tenantId);
9}
10
11demo();
12

reactFeedPostPublic Internal Link

パラメーター

名前必須説明
tenantIdstringYes
postIdstringYes
reactBodyParamsReactBodyParamsYes
isUndobooleanNo
broadcastIdstringNo
ssostringNo

応答

返却: ReactFeedPostPublicResponse

reactFeedPostPublic の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_12345';
4 const postId: string = 'post_98765';
5 const reactBodyParams: ReactBodyParams = { reaction: 'thumbs_up' };
6 const isUndo: boolean = false;
7 const broadcastId: string = 'broadcast_abcde';
8 const sso: string = 'sso_token_xyz';
9
10 const response: ReactFeedPostPublicResponse = await reactFeedPostPublic(
11 tenantId,
12 postId,
13 reactBodyParams,
14 isUndo,
15 broadcastId,
16 sso
17 );
18
19 console.log(response);
20})();
21

updateFeedPost Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
feedPostFeedPostYes

レスポンス

返却: UpdateFeedPostResponse

updateFeedPost の例
Copy Copy
1
2const tenantId: string = "tenant_3421";
3const postId: string = "feedpost_a9b8c7";
4
5const feedPost: FeedPost = {
6 content: "We've refreshed the announcement with the latest project milestones.",
7 media: [
8 {
9 type: "image",
10 url: "https://assets.example.com/images/milestone.png",
11 caption: "Project Milestones"
12 } as FeedPostMediaItem
13 ],
14 link: {
15 url: "https://example.com/project-updates",
16 title: "Project Updates",
17 description: "Read about the recent progress and upcoming goals."
18 } as FeedPostLink
19};
20
21const result: UpdateFeedPostResponse = await updateFeedPost(tenantId, postId, feedPost);
22

updateFeedPostPublic Internal Link

パラメータ

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

レスポンス

返り値: UpdateFeedPostPublicResponse

updateFeedPostPublic の例
Copy Copy
1
2async function updatePostExample() {
3 const tenantId: string = 'tenant-9f8b7c';
4 const postId: string = 'post-3a4d5e';
5 const updateParams: UpdateFeedPostParams = {
6 title: 'New Announcement',
7 content: 'We have updated our terms of service.',
8 media: [
9 {
10 url: 'https://cdn.example.com/assets/image.png',
11 type: 'image',
12 asset: {
13 width: 800,
14 height: 600,
15 size: 124000
16 } as FeedPostMediaItemAsset
17 } as FeedPostMediaItem
18 ],
19 link: {
20 url: 'https://example.com/terms',
21 title: 'Read the new TOS'
22 } as FeedPostLink
23 };
24 const broadcastId: string = 'broadcast-2023-09';
25 const sso: string = 'sso-abc123xyz';
26 const result: UpdateFeedPostPublicResponse = await updateFeedPostPublic(
27 tenantId,
28 postId,
29 updateParams,
30 broadcastId,
31 sso
32 );
33}
34

flagCommentPublic Internal Link

パラメータ

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

応答

戻り値: FlagCommentPublicResponse

flagCommentPublic の例
Copy Copy
1
2async function demoFlagComment() {
3 const tenantId: string = "acme-tenant-123";
4 const commentId: string = "comment-987654";
5 const isFlagged: boolean = true;
6 const sso: string = "sso-token-abc123";
7
8 const result: FlagCommentPublicResponse = await flagCommentPublic(
9 tenantId,
10 commentId,
11 isFlagged,
12 sso
13 );
14
15 console.log(result);
16}
17
18demoFlagComment();
19

getGifLarge Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
largeInternalURLSanitizedstringYes

レスポンス

返り値: GetGifLargeResponse

getGifLarge の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'c9f4a1b2-3d5e-4f6a-8b9c-0d1e2f3a4b5c';
4 const largeInternalURLSanitized: string = 'https://cdn.fastcomments.com/gifs/awesome-cat-large.gif';
5 const result: GetGifLargeResponse = await getGifLarge(tenantId, largeInternalURLSanitized);
6 console.log(result);
7})();
8

getGifsSearch Internal Link

パラメータ

名前必須説明
tenantIdstringYes
searchstringYes
localestringNo
ratingstringNo
pagenumberNo

レスポンス

戻り値: GetGifsSearchResponse

getGifsSearch の例
Copy Copy
1
2async function demo() {
3 const tenantId: string = "tenant_9f8b7c";
4 const search: string = "funny cats";
5 const locale: string = "en-US";
6 const rating: string = "pg";
7 const page: number = 1;
8
9 const result: GetGifsSearchResponse = await getGifsSearch(
10 tenantId,
11 search,
12 locale,
13 rating,
14 page
15 );
16
17 console.log(result);
18}
19
20demo();
21

getGifsTrending Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
localestringNo
ratingstringNo
pagenumberNo

レスポンス

戻り値: GetGifsTrendingResponse

getGifsTrending の例
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6d";
4 const locale: string = "en-US";
5 const rating: string = "PG-13";
6 const page: number = 1;
7
8 const trendingAll: GetGifsTrendingResponse = await getGifsTrending(tenantId, locale, rating, page);
9 console.log(trendingAll);
10
11 // 必要なパラメータのみを使用
12 const trendingMinimal: GetGifsTrendingResponse = await getGifsTrending(tenantId);
13 console.log(trendingMinimal);
14}
15
16runExample();
17

addHashTag Internal Link


パラメータ

名前タイプ必須説明
tenantIdstringNo
createHashTagBodyCreateHashTagBodyNo

レスポンス

返却: AddHashTagResponse

addHashTag の例
Copy Copy
1
2const tenantId: string = "tenant_9876";
3
4const newHashTag: CreateHashTagBody = {
5 tag: "typescript",
6 description: "Discussions about TypeScript"
7};
8
9const responseWithTenant: AddHashTagResponse = await addHashTag(tenantId, newHashTag);
10
11const responseWithoutTenant: AddHashTagResponse = await addHashTag(undefined, newHashTag);
12

addHashTagsBulk Internal Link

パラメータ

名前必須説明
tenantIdstringNo
bulkCreateHashTagsBodyBulkCreateHashTagsBodyNo

応答

戻り値: AddHashTagsBulkResponse

addHashTagsBulk の例
Copy Copy
1
2async () => {
3 const tenantId: string | undefined = "tenant_9f8b7c6d";
4 const bulkCreateHashTagsBody: BulkCreateHashTagsBody = {
5 tags: [
6 {
7 name: "typescript",
8 description: "Discussions about TypeScript",
9 color: "#3178c6"
10 },
11 {
12 name: "fastcomments",
13 description: "Tags for FastComments integration",
14 color: "#00aaff"
15 }
16 ]
17 };
18 const result: AddHashTagsBulkResponse = await addHashTagsBulk(tenantId, bulkCreateHashTagsBody);
19 console.log(result);
20}();
21

deleteHashTag Internal Link

パラメータ

名前必須説明
tagstringYes
tenantIdstringNo
deleteHashTagRequestBodyDeleteHashTagRequestBodyNo

レスポンス

返却: DeleteHashTagResponse

deleteHashTag の例
Copy Copy
1
2(async () => {
3 const tag: string = "announcement";
4 const tenantId: string = "tenant_9876";
5 const requestBody: DeleteHashTagRequestBody = {
6 confirmDeletion: true
7 };
8 const response: DeleteHashTagResponse = await deleteHashTag(tag, tenantId, requestBody);
9 console.log(response);
10})();
11

getHashTags Internal Link

パラメータ

名前必須説明
tenantIdstringYes
pagenumberNo

応答

Returns: GetHashTagsResponse1

getHashTags の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4
5 const responseWithPage: GetHashTagsResponse1 = await getHashTags(tenantId, 1);
6 const responseDefault: GetHashTagsResponse1 = await getHashTags(tenantId);
7
8 console.log(responseWithPage, responseDefault);
9})();
10

patchHashTag Internal Link

パラメータ

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

レスポンス

戻り値: PatchHashTagResponse

patchHashTag の例
Copy Copy
1
2const response1: PatchHashTagResponse = await patchHashTag("new-feature");
3
4const response2: PatchHashTagResponse = await patchHashTag(
5 "beta-release",
6 "tenant-9f8b7c"
7);
8
9const updateBody: UpdateHashTagBody = {
10 description: "Mark comments related to the upcoming beta release",
11 color: "#1e90ff"
12};
13
14const response3: PatchHashTagResponse = await patchHashTag(
15 "beta-release",
16 "tenant-9f8b7c",
17 updateBody
18);
19

deleteModerationVote Internal Link

パラメータ

名前必須説明
commentIdstringYes
voteIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: DeleteModerationVoteResponse

deleteModerationVote の例
Copy Copy
1
2const commentId: string = "cmt_12345";
3const voteId: string = "vote_9876";
4const broadcastId: string = "brd_001";
5const tenantId: string = "tenant_42";
6const sso: string = "sso_token_abc";
7
8const result: DeleteModerationVoteResponse = await deleteModerationVote(
9 commentId,
10 voteId,
11 broadcastId,
12 tenantId,
13 sso
14);
15

getApiComments Internal Link

パラメータ

名前必須説明
pagenumberNo
countnumberNo
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
sortsstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

応答

返り値: GetApiCommentsResponse

getApiComments の例
Copy Copy
1
2async function loadComments() {
3 const fullResult: GetApiCommentsResponse = await getApiComments(
4 2, // page
5 25, // count
6 "feedback", // textSearch
7 "192.168.1.100", // byIPFromComment
8 "approved", // filters
9 "hasReplies", // searchFilters
10 "dateDesc", // sorts
11 false, // demo
12 "tenant-abc123", // tenantId
13 "sso-token-xyz" // sso
14 );
15
16 const minimalResult: GetApiCommentsResponse = await getApiComments(undefined, 5);
17}
18

getApiExportStatus Internal Link

パラメータ

名前必須説明
batchJobIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetApiExportStatusResponse

getApiExportStatus の例
Copy Copy
1
2async function demoExportStatus() {
3 const batchJobId: string = "exportBatch-20231101-001";
4 const tenantId: string = "tenant-abc123";
5 const ssoToken: string = "sso-xyz789";
6
7 const fullStatus: GetApiExportStatusResponse = await getApiExportStatus(batchJobId, tenantId, ssoToken);
8 const simpleStatus: GetApiExportStatusResponse = await getApiExportStatus(batchJobId);
9 console.log(fullStatus, simpleStatus);
10}
11

getApiIds Internal Link

パラメータ

名前必須説明
textSearchstringNo
byIPFromCommentstringNo
filtersstringNo
searchFiltersstringNo
afterIdstringNo
demobooleanNo
tenantIdstringNo
ssostringNo

応答

返却: GetApiIdsResponse

getApiIds の例
Copy Copy
1
2const textSearch: string = "urgent feedback";
3const byIPFromComment: string = "203.0.113.42";
4const filters: string = "status:approved";
5const afterId: string = "comment-789";
6const demo: boolean = true;
7const tenantId: string = "tenant-001";
8
9const apiIds: GetApiIdsResponse = await getApiIds({
10 textSearch,
11 byIPFromComment,
12 filters,
13 afterId,
14 demo,
15 tenantId,
16});
17

getBanUsersFromComment Internal Link

パラメータ

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

レスポンス

返却: GetBanUsersFromCommentResponse

getBanUsersFromComment の例
Copy Copy
1
2async function demoGetBanUsers() {
3 const commentId: string = "cmt_5f8e3a9b2d";
4 const tenantId: string = "tenant_42";
5 const sso: string = "sso_token_abc123";
6
7 // すべてのパラメータで呼び出し
8 const fullResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId, tenantId, sso);
9 console.log(fullResult);
10
11 // 必要なパラメータだけで呼び出し
12 const minimalResult: GetBanUsersFromCommentResponse = await getBanUsersFromComment(commentId);
13 console.log(minimalResult);
14}
15
16demoGetBanUsers();
17

getCommentBanStatus Internal Link

パラメータ

名前必須説明
commentIdstringYes
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetCommentBanStatusResponse1

getCommentBanStatus の例
Copy Copy
1
2async function checkCommentBanStatus() {
3 const banStatus: GetCommentBanStatusResponse1 = await getCommentBanStatus('cmt_987654321', 'tenant_42', 'sso_token_abc123');
4 const banStatusNoTenant: GetCommentBanStatusResponse1 = await getCommentBanStatus('cmt_987654322', undefined, 'sso_token_def456');
5}
6

getCommentChildren Internal Link


パラメータ

名前必須説明
commentIdstringYes
tenantIdstringNo
ssostringNo

レスポンス

返り値: GetCommentChildrenResponse

getCommentChildren の例
Copy Copy
1
2const commentId: string = "cmt_12345";
3const tenantId: string = "tenant_xyz";
4const sso: string = "sso_987654";
5
6const fullResponse: GetCommentChildrenResponse = await getCommentChildren(commentId, tenantId, sso);
7const minimalResponse: GetCommentChildrenResponse = await getCommentChildren(commentId);
8

getCount Internal Link

パラメータ

名前必須説明
textSearchstringいいえ
byIPFromCommentstringいいえ
filterstringいいえ
searchFiltersstringいいえ
demobooleanいいえ
tenantIdstringいいえ
ssostringいいえ

レスポンス

返却: GetCountResponse

getCount の例
Copy Copy
1
2async function main(): Promise<void> {
3 const count: GetCountResponse = await getCount({
4 textSearch: "order issue",
5 byIPFromComment: "198.51.100.23",
6 filter: "pending",
7 demo: true,
8 tenantId: "acme_corp",
9 sso: "sso_abcdef123456"
10 });
11 console.log(count);
12}
13main();
14

getCounts Internal Link

パラメータ

名前必須説明
tenantIdstringNo
ssostringNo

レスポンス

返り値: GetCountsResponse

getCounts の例
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "acme-corp";
4 const ssoToken: string = "sso-token-2024";
5
6 const withBoth: GetCountsResponse = await getCounts(tenantId, ssoToken);
7 const withTenantOnly: GetCountsResponse = await getCounts(tenantId);
8 const withoutParams: GetCountsResponse = await getCounts();
9
10 console.log(withBoth, withTenantOnly, withoutParams);
11}
12runExample();
13

getLogs Internal Link

パラメータ

名前必須説明
commentIdstringYes
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetLogsResponse

getLogs の例
Copy Copy
1
2async function fetchLogs() {
3 const commentId: string = "cmt_9a8b7c6d5e4f3a2b";
4 const tenantId: string = "tenant_9876";
5 const sso: string = "sso_abcdef123456";
6
7 const fullResponse: GetLogsResponse = await getLogs(commentId, tenantId, sso);
8 const minimalResponse: GetLogsResponse = await getLogs(commentId);
9}
10

getManualBadges Internal Link

パラメータ

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

レスポンス

返却: GetManualBadgesResponse

getManualBadges 例
Copy Copy
1
2async function fetchBadges() {
3 const tenantId: string = "tenant_987654321";
4 const ssoToken: string = "sso_ABCdef123456";
5
6 // すべてのオプションパラメータを使用して呼び出す
7 const responseFull: GetManualBadgesResponse = await getManualBadges(tenantId, ssoToken);
8 console.log(responseFull);
9
10 // tenantId のみで呼び出す
11 const responseTenantOnly: GetManualBadgesResponse = await getManualBadges(tenantId);
12 console.log(responseTenantOnly);
13}
14
15fetchBadges();
16

getManualBadgesForUser Internal Link

パラメータ

NameTypeRequiredDescription
badgesUserIdstringいいえ
commentIdstringいいえ
tenantIdstringいいえ
ssostringいいえ

応答

戻り値: GetManualBadgesForUserResponse

getManualBadgesForUser の例
Copy Copy
1
2(async () => {
3 const userId: string = "user_42";
4 const commentId: string = "comment_1001";
5 const tenantId: string = "tenant_acme";
6 const ssoToken: string = "sso_5f6g7h8i9j";
7
8 const badges: GetManualBadgesForUserResponse = await getManualBadgesForUser(userId, commentId, tenantId, ssoToken);
9 const limitedBadges: GetManualBadgesForUserResponse = await getManualBadgesForUser(userId);
10})();
11

getModerationComment Internal Link

パラメータ

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

レスポンス

戻り値: GetModerationCommentResponse

getModerationComment の例
Copy Copy
1
2async function fetchCommentDetails() {
3 // 完全なパラメータセット
4 const commentId: string = "cmt_12345abc";
5 const includeEmail: boolean = true;
6 const includeIP: boolean = false;
7 const tenantId: string = "tenant_9876";
8 const sso: string = "sso_token_xyz";
9
10 const fullResult: GetModerationCommentResponse = await getModerationComment(
11 commentId,
12 includeEmail,
13 includeIP,
14 tenantId,
15 sso
16 );
17
18 // 必須引数のみを使用した最小呼び出し
19 const minimalResult: GetModerationCommentResponse = await getModerationComment("cmt_67890def");
20
21 // 必要に応じて結果を使用してください...
22}
23

getModerationCommentText Internal Link

パラメータ

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

応答

返却: GetModerationCommentTextResponse

getModerationCommentText の例
Copy Copy
1
2async function exampleUsage(): Promise<void> {
3 const commentId: string = "cmt_9f8e7d6c5b4a3b2c1d0e";
4 const tenantId: string = "tenant_67890";
5 const sso: string = "sso_token_abc123";
6
7 // 必要なパラメータのみで呼び出す
8 const result1: GetModerationCommentTextResponse = await getModerationCommentText(commentId);
9
10 // オプションのパラメータを使用して呼び出す
11 const result2: GetModerationCommentTextResponse = await getModerationCommentText(commentId, tenantId, sso);
12}
13

getPreBanSummary Internal Link

パラメータ

名前タイプ必須説明
commentIdstringYes
includeByUserIdAndEmailbooleanNo
includeByIPbooleanNo
includeByEmailDomainbooleanNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetPreBanSummaryResponse

getPreBanSummary の例
Copy Copy
1
2const commentId: string = "5f8d0c2e4b1a2c3d4e5f6a7b";
3const includeByUserIdAndEmail: boolean = true;
4const includeByIP: boolean = true;
5const includeByEmailDomain: boolean = false;
6const tenantId: string = "tenant-001";
7const sso: string = "sso-xyz-123";
8
9const preBanSummary: GetPreBanSummaryResponse = await getPreBanSummary(
10 commentId,
11 includeByUserIdAndEmail,
12 includeByIP,
13 includeByEmailDomain,
14 tenantId,
15 sso
16);
17

getSearchCommentsSummary Internal Link

パラメータ

名前必須説明
valuestringNo
filtersstringNo
searchFiltersstringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: GetSearchCommentsSummaryResponse

getSearchCommentsSummary の例
Copy Copy
1
2async function runExample(): Promise<void> {
3 const searchTerm: string = "fastcomments integration";
4 const filterString: string = "status:approved";
5 const searchFilterString: string = "author:jane";
6 const tenantId: string = "123e4567-e89b-12d3-a456-426614174000";
7 const ssoToken: string = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...";
8
9 const summary: GetSearchCommentsSummaryResponse = await getSearchCommentsSummary(
10 searchTerm,
11 filterString,
12 searchFilterString,
13 tenantId,
14 ssoToken
15 );
16
17 console.log(summary);
18}
19runExample();
20

getSearchPages Internal Link

パラメータ

名前必須説明
valuestringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: GetSearchPagesResponse

getSearchPages 例
Copy Copy
1
2(async () => {
3 const query: string = "network outage";
4 const tenantId: string = "tenant-9876";
5 const ssoToken: string = "sso-abc123def456";
6
7 const searchResult: GetSearchPagesResponse = await getSearchPages(query, tenantId, ssoToken);
8 const searchResultNoSso: GetSearchPagesResponse = await getSearchPages(query, tenantId);
9})();
10

getSearchSites Internal Link

Parameters

NameTypeRequiredDescription
valuestringいいえ
tenantIdstringいいえ
ssostringいいえ

Response

返り値: GetSearchSitesResponse

Example

getSearchSites の例
Copy Copy
1
2async function fetchSites() {
3 const value: string = "customer support"
4 const tenantId: string = "tenant-9876"
5 const sso: string = "sso-abc123"
6
7 const sites: GetSearchSitesResponse = await getSearchSites(value, tenantId, sso)
8 const sitesOnlyTenant: GetSearchSitesResponse = await getSearchSites(undefined, tenantId)
9}
10

getSearchSuggest Internal Link

パラメータ

名前必須説明
textSearchstringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetSearchSuggestResponse

getSearchSuggest 例
Copy Copy
1
2async function example(): Promise<void> {
3 const term: string = "fastcomments api";
4 const tenant: string = "tenant_001";
5 const sso: string = "sso_9a8b7c";
6
7 const fullResult: GetSearchSuggestResponse = await getSearchSuggest(term, tenant, sso);
8 const partialResult: GetSearchSuggestResponse = await getSearchSuggest(term);
9}
10
11example();
12

getSearchUsers Internal Link

パラメータ

名前必須説明
valuestringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: GetSearchUsersResponse

getSearchUsers の例
Copy Copy
1
2async function demoSearch() {
3 const query: string = "john.doe@example.com";
4 const tenantId: string = "tenant_12345";
5 const ssoToken: string = "sso_token_abc";
6
7 const resultWithSso: GetSearchUsersResponse = await getSearchUsers(query, tenantId, ssoToken);
8 const resultWithoutSso: GetSearchUsersResponse = await getSearchUsers(query, tenantId);
9}
10

getTrustFactor Internal Link

パラメータ

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

レスポンス

戻り値: GetTrustFactorResponse

getTrustFactor 例
Copy Copy
1
2async function runDemo(): Promise<void> {
3 const trustFull: GetTrustFactorResponse = await getTrustFactor("user_12345", "tenant_abc", "sso_token_987");
4 const trustUserOnly: GetTrustFactorResponse = await getTrustFactor("user_12345");
5 console.log(trustFull, trustUserOnly);
6}
7runDemo();
8

getUserBanPreference Internal Link

パラメータ

名前必須説明
tenantIdstringNo
ssostringNo

レスポンス

返却: GetUserBanPreferenceResponse

getUserBanPreference の例
Copy Copy
1
2async function demoGetUserBanPreference(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant-2024";
4 const sso: string = "sso-token-9f8b7a6c";
5
6 const result: GetUserBanPreferenceResponse = await getUserBanPreference(tenantId, sso);
7 console.log(result);
8}
9
10demoGetUserBanPreference();
11

getUserInternalProfile Internal Link

パラメータ

名前タイプ必須説明
commentIdstringいいえ
tenantIdstringいいえ
ssostringいいえ

応答

返却: GetUserInternalProfileResponse1

getUserInternalProfile 例
Copy Copy
1
2(async () => {
3 const fullProfile: GetUserInternalProfileResponse1 = await getUserInternalProfile({
4 commentId: "cmt_12345",
5 tenantId: "tenant_67890",
6 sso: "sso_token_abcdef"
7 });
8
9 const partialProfile: GetUserInternalProfileResponse1 = await getUserInternalProfile({
10 commentId: "cmt_98765"
11 });
12})();
13

postAdjustCommentVotes Internal Link

パラメータ

名前タイプ必須説明
commentIdstringYes
adjustCommentVotesParamsAdjustCommentVotesParamsYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: PostAdjustCommentVotesResponse

postAdjustCommentVotes の例
Copy Copy
1
2const commentId: string = "cmt_9f8b7a6d";
3
4const adjustParams: AdjustCommentVotesParams = {
5 voteDelta: 1,
6 // AdjustCommentVotesParams が要求する追加フィールド
7};
8
9const broadcastId: string = "brd_20230915";
10const tenantId: string = "tenant_42";
11const sso: string = "sso-token-abc123";
12
13const result: PostAdjustCommentVotesResponse = await postAdjustCommentVotes(
14 commentId,
15 adjustParams,
16 broadcastId,
17 tenantId,
18 sso
19);
20

postApiExport Internal Link

Parameters

名前必須説明
textSearchstringいいえ
byIPFromCommentstringいいえ
filtersstringいいえ
searchFiltersstringいいえ
sortsstringいいえ
tenantIdstringいいえ
ssostringいいえ

Response

返却: PostApiExportResponse

postApiExport の例
Copy Copy
1
2(async () => {
3 const textSearch: string = "keyword:feedback"
4 const byIPFromComment: string = "203.0.113.45"
5 const filters: string = "status:pending,category:support"
6 const searchFilters: string = "createdAt>2023-01-01"
7 const sorts: string = "createdAt:desc"
8 const tenantId: string = "tenant_9876"
9 const sso: string = "sso_7e2a9b"
10
11 const exportResult: PostApiExportResponse = await postApiExport(
12 textSearch,
13 byIPFromComment,
14 filters,
15 searchFilters,
16 sorts,
17 tenantId,
18 sso
19 )
20
21 console.log(exportResult)
22})()
23

postBanUserFromComment Internal Link

パラメータ

名前タイプ必須説明
commentIdstringはい
banEmailbooleanいいえ
banEmailDomainbooleanいいえ
banIPbooleanいいえ
deleteAllUsersCommentsbooleanいいえ
bannedUntilstringいいえ
isShadowBanbooleanいいえ
updateIdstringいいえ
banReasonstringいいえ
tenantIdstringいいえ
ssostringいいえ

レスポンス

返却: PostBanUserFromCommentResponse

postBanUserFromComment の例
Copy Copy
1
2async function runBan() {
3 const commentId: string = "cmt_5f8a2b3c";
4 const banEmail: boolean = true;
5 const banIP: boolean = false;
6 const deleteAllUsersComments: boolean = true;
7 const bannedUntil: string = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString();
8 const isShadowBan: boolean = false;
9 const banReason: string = "Repeated spam posting";
10 const tenantId: string = "tenant_12345";
11
12 const response: PostBanUserFromCommentResponse = await postBanUserFromComment(
13 commentId,
14 banEmail,
15 undefined,
16 banIP,
17 deleteAllUsersComments,
18 bannedUntil,
19 isShadowBan,
20 undefined,
21 banReason,
22 tenantId
23 );
24 console.log(response);
25}
26runBan();
27

postBanUserUndo Internal Link

パラメータ

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

応答

戻り値: PostBanUserUndoResponse

postBanUserUndo の例
Copy Copy
1
2const undoParams: BanUserUndoParams = {
3 userId: "user-8421",
4 commentId: "comment-6702",
5 reason: "Accidental ban"
6};
7
8const tenantId: string = "tenant-7f9e";
9const ssoToken: string = "sso-4b2c1d";
10
11async function runUndo() {
12 const resultAll: PostBanUserUndoResponse = await postBanUserUndo(undoParams, tenantId, ssoToken);
13 console.log(resultAll);
14
15 const resultMinimal: PostBanUserUndoResponse = await postBanUserUndo(undoParams);
16 console.log(resultMinimal);
17}
18
19runUndo();
20

postBulkPreBanSummary Internal Link

パラメータ

名前必須説明
bulkPreBanParamsBulkPreBanParamsはい
includeByUserIdAndEmailbooleanいいえ
includeByIPbooleanいいえ
includeByEmailDomainbooleanいいえ
tenantIdstringいいえ
ssostringいいえ

レスポンス

返却: PostBulkPreBanSummaryResponse

postBulkPreBanSummary の例
Copy Copy
1
2async function runExample() {
3 const bulkPreBanParams: BulkPreBanParams = {
4 userIds: [10234, 56789],
5 emails: ["spam_user@example.com", "abuse@badsite.org"],
6 ips: ["203.0.113.45", "198.51.100.22"],
7 emailDomains: ["maliciousdomain.com"]
8 };
9
10 const includeByUserIdAndEmail: boolean = true;
11 const includeByIP: boolean = false;
12 const includeByEmailDomain: boolean = true;
13 const tenantId: string = "tenant_8f4b2c1a";
14 const sso: string = "sso-3948abf0";
15
16 const summary: PostBulkPreBanSummaryResponse = await postBulkPreBanSummary(
17 bulkPreBanParams,
18 includeByUserIdAndEmail,
19 includeByIP,
20 includeByEmailDomain,
21 tenantId,
22 sso
23 );
24
25 console.log(summary);
26}
27
28runExample();
29

postCommentsByIds Internal Link

パラメータ

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

レスポンス

戻り値: PostCommentsByIdsResponse

postCommentsByIds の例
Copy Copy
1
2const commentsByIdsParams: CommentsByIdsParams = {
3 commentIds: ['cmt001', 'cmt002'],
4 includeUserInfo: true,
5 includeThreadInfo: false,
6} as CommentsByIdsParams;
7
8const fullResponse: PostCommentsByIdsResponse = await postCommentsByIds(
9 commentsByIdsParams,
10 'tenant-12345',
11 'sso-token-xyz'
12);
13
14const minimalResponse: PostCommentsByIdsResponse = await postCommentsByIds(
15 commentsByIdsParams
16);
17

postFlagComment Internal Link

パラメータ

名前必須説明
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

応答

戻り値: PostFlagCommentResponse

postFlagComment の例
Copy Copy
1
2const commentId: string = "cmt_20230915_001";
3const broadcastId: string = "brd_20230915_live";
4const tenantId: string = "tenant_42";
5const sso: string = "sso_token_abc123";
6
7const flaggedResponse: PostFlagCommentResponse = await postFlagComment(
8 commentId,
9 broadcastId,
10 tenantId,
11 sso
12);
13

postRemoveComment Internal Link

パラメータ

NameTypeRequiredDescription
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: PostRemoveCommentResponse

postRemoveComment の例
Copy Copy
1
2async function removeCommentExample(): Promise<void> {
3 const commentId: string = "cmt_7f9a3e2b";
4
5 const result1: PostRemoveCommentResponse = await postRemoveComment(commentId);
6
7 const broadcastId: string = "brd_12ab34cd";
8 const tenantId: string = "tenant_5678efgh";
9 const sso: string = "sso_XYZ12345";
10
11 const result2: PostRemoveCommentResponse = await postRemoveComment(commentId, broadcastId, tenantId, sso);
12
13 console.log(result1, result2);
14}
15

postRestoreDeletedComment Internal Link

パラメータ

名前必須説明
commentIdstringYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

応答

戻り値: PostRestoreDeletedCommentResponse

postRestoreDeletedComment の例
Copy Copy
1
2async function restoreCommentDemo(): Promise<void> {
3 const commentId: string = "cmt_5f2a9b7e1234567890abcd";
4 const broadcastId: string | undefined = "brd_2023_09";
5 const tenantId: string | undefined = "tenant_42";
6 const sso: string | undefined = "sso_token_abcdef123456";
7
8 const response: PostRestoreDeletedCommentResponse = await postRestoreDeletedComment(
9 commentId,
10 broadcastId,
11 tenantId,
12 sso
13 );
14
15 console.log(response);
16}
17
18restoreCommentDemo();
19

postSetCommentApprovalStatus Internal Link

パラメータ

名前タイプ必須説明
commentIdstringYes
approvedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返り値: PostSetCommentApprovalStatusResponse

postSetCommentApprovalStatus の例
Copy Copy
1
2async function main() {
3 const commentIdOnly: string = "cmt_1001";
4 const resultOnly: PostSetCommentApprovalStatusResponse = await postSetCommentApprovalStatus(commentIdOnly);
5
6 const commentIdFull: string = "cmt_2002";
7 const approvedFull: boolean = true;
8 const broadcastIdFull: string = "brd_3003";
9 const tenantIdFull: string = "tenant_abc";
10 const ssoFull: string = "sso_token_xyz";
11 const resultFull: PostSetCommentApprovalStatusResponse = await postSetCommentApprovalStatus(
12 commentIdFull,
13 approvedFull,
14 broadcastIdFull,
15 tenantIdFull,
16 ssoFull
17 );
18
19 console.log(resultOnly, resultFull);
20}
21main();
22

postSetCommentReviewStatus Internal Link

パラメータ

名前必須説明
commentIdstringYes
reviewedbooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

応答

返り値: PostSetCommentReviewStatusResponse

postSetCommentReviewStatus の例
Copy Copy
1
2async function updateCommentReviewStatus(): Promise<void> {
3 const commentId: string = "cmt_9f8a7b6c5d4e3f2a1b0c";
4 const reviewed: boolean = true;
5 const broadcastId: string = "broadcast_2024Q1";
6 const tenantId: string = "tenant_1001";
7 const sso: string = "alice@example.com";
8
9 const response: PostSetCommentReviewStatusResponse = await postSetCommentReviewStatus(
10 commentId,
11 reviewed,
12 broadcastId,
13 tenantId,
14 sso
15 );
16
17 console.log(response);
18}
19

postSetCommentSpamStatus Internal Link

パラメータ

名前必須説明
commentIdstringYes
spambooleanNo
permNotSpambooleanNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: PostSetCommentSpamStatusResponse

postSetCommentSpamStatus の例
Copy Copy
1
2async function demoSpamStatus(): Promise<void> {
3 const commentId: string = "cmt_5f2a1b3c4d6e7f8g9h0i";
4
5 // 必要なパラメータだけ
6 const resultSimple: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(commentId, true);
7
8 // すべてのオプションパラメータが提供された
9 const resultFull: PostSetCommentSpamStatusResponse = await postSetCommentSpamStatus(
10 commentId,
11 false,
12 true,
13 "brd_1234abcd",
14 "tenant_42",
15 "sso_9876xyz"
16 );
17
18 console.log(resultSimple, resultFull);
19}
20

postSetCommentText Internal Link

パラメータ

名前必須説明
commentIdstringYes
setCommentTextParamsSetCommentTextParamsYes
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返却: PostSetCommentTextResponse

postSetCommentText の例
Copy Copy
1
2(async () => {
3 const commentId: string = "cmt_9f8b7a6d5e4c3b2a1";
4 const setParams: SetCommentTextParams = {
5 text: "Edited comment to correct a typo and add clarification."
6 };
7 const broadcastId: string = "brd_1a2b3c4d5e6f7g8h9";
8 const tenantId: string = "tenant_xyz123";
9 const sso: string = "sso_user_456def";
10
11 const fullResult: PostSetCommentTextResponse = await postSetCommentText(
12 commentId,
13 setParams,
14 broadcastId,
15 tenantId,
16 sso
17 );
18
19 const minimalResult: PostSetCommentTextResponse = await postSetCommentText(
20 commentId,
21 setParams
22 );
23
24 console.log(fullResult, minimalResult);
25})();
26

postUnFlagComment Internal Link

パラメータ

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

レスポンス

返却: PostUnFlagCommentResponse

postUnFlagComment の例
Copy Copy
1
2async () => {
3 const response: PostUnFlagCommentResponse = await postUnFlagComment(
4 "cmt_12345", // commentId
5 "brd_67890", // broadcastId(オプション)
6 "tenant_abc", // tenantId(オプション)
7 "sso_user_token_789" // sso(オプション)
8 );
9};
10

postVote Internal Link

パラメータ

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

レスポンス

返却: PostVoteResponse

postVote の例
Copy Copy
1
2let commentId: string = 'cmt_12345';
3let direction: string = 'up';
4let broadcastId: string = 'brd_67890';
5let tenantId: string = 'tenant_abc';
6let sso: string = 'sso_token_xyz';
7
8const fullVote: PostVoteResponse = await postVote(
9 commentId,
10 direction,
11 broadcastId,
12 tenantId,
13 sso
14);
15
16const simpleVote: PostVoteResponse = await postVote('cmt_67890');
17

putAwardBadge Internal Link

パラメータ

NameTypeRequiredDescription
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

返り値: PutAwardBadgeResponse

putAwardBadge の例
Copy Copy
1
2(async () => {
3 const badgeId: string = "badge-superstar"
4 const userId: string = "user-42"
5 const commentId: string = "comment-7f9c3"
6 const broadcastId: string = "broadcast-2023-09"
7 const result: PutAwardBadgeResponse = await putAwardBadge(badgeId, userId, commentId, broadcastId)
8 console.log(result)
9})()
10

putCloseThread Internal Link

パラメータ

名前必須説明
urlIdstringYes
tenantIdstringNo
ssostringNo

レスポンス

Returns: PutCloseThreadResponse

putCloseThread 例
Copy Copy
1
2async function closeThreadDemo(): Promise<void> {
3 const urlId: string = "article-2023-09-15";
4 const tenantId: string = "tenant-42";
5 const sso: string = "sso-token-xyz";
6
7 const response: PutCloseThreadResponse = await putCloseThread(urlId, tenantId, sso);
8 console.log(response);
9}
10
11closeThreadDemo();
12

putRemoveBadge Internal Link

パラメータ

NameTypeRequiredDescription
badgeIdstringYes
userIdstringNo
commentIdstringNo
broadcastIdstringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: PutRemoveBadgeResponse

putRemoveBadge の例
Copy Copy
1
2const badgeId: string = "badge-12345";
3const userId: string = "user-9876";
4const commentId: string = "comment-5555";
5const broadcastId: string = "broadcast-001";
6
7const result: PutRemoveBadgeResponse = await putRemoveBadge(
8 badgeId,
9 userId,
10 commentId,
11 broadcastId
12);
13

putReopenThread Internal Link

パラメータ

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

レスポンス

返却: PutReopenThreadResponse

putReopenThread の例
Copy Copy
1
2async function exampleUsage() {
3 const urlId: string = "thread-9f8b7c6a";
4 const tenantId: string = "tenant-001";
5 const sso: string = "sso-3f9d2e1a";
6
7 const resultAll: PutReopenThreadResponse = await putReopenThread(urlId, tenantId, sso);
8 console.log(resultAll);
9
10 const resultMinimal: PutReopenThreadResponse = await putReopenThread(urlId);
11 console.log(resultMinimal);
12}
13

setTrustFactor Internal Link

パラメータ

名前タイプ必須説明
userIdstringNo
trustFactorstringNo
tenantIdstringNo
ssostringNo

レスポンス

戻り値: SetTrustFactorResponse

setTrustFactor の例
Copy Copy
1
2(async () => {
3 const userId: string = "user_8421";
4 const trustFactor: string = "high";
5 const tenantId: string = "tenant_33";
6 const ssoToken: string = "sso_7d9f";
7
8 const fullResult: SetTrustFactorResponse = await setTrustFactor(userId, trustFactor, tenantId, ssoToken);
9 const minimalResult: SetTrustFactorResponse = await setTrustFactor(userId, trustFactor);
10})();
11

createModerator Internal Link

パラメータ

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

レスポンス

返却: CreateModeratorResponse1

createModerator の例
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_9876";
4 const moderatorPayload: CreateModeratorBody = {
5 name: "Alice Johnson",
6 email: "alice.johnson@example.com"
7 // 説明などの任意フィールドは省略されています
8 };
9 const result: CreateModeratorResponse1 = await createModerator(tenantId, moderatorPayload);
10 console.log(result);
11}
12
13runExample();
14

deleteModerator Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
sendEmailstringNo

レスポンス

返り値: DeleteModeratorResponse

deleteModerator 例
Copy Copy
1
2async function runDeleteModeratorExample() {
3 const tenantId: string = "tenant_2023";
4 const moderatorId: string = "mod_001";
5 const notificationEmail: string = "admin@mycompany.com";
6
7 const resultWithEmail: DeleteModeratorResponse = await deleteModerator(tenantId, moderatorId, notificationEmail);
8 const resultWithoutEmail: DeleteModeratorResponse = await deleteModerator(tenantId, moderatorId);
9}
10

getModerator Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: GetModeratorResponse1

getModerator の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-001";
4 const id: string = "mod-12345";
5
6 const result: GetModeratorResponse1 = await getModerator(tenantId, id);
7
8 const moderatorName: string | undefined = result.moderator?.name;
9 console.log(moderatorName);
10})();
11

getModerators Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

戻り値: GetModeratorsResponse1

getModerators 例
Copy Copy
1
2async function fetchModerators(): Promise<void> {
3 const tenantId: string = "tenant-9876";
4 const skip: number = 30; // オプションのページネーションオフセット
5 const moderators: GetModeratorsResponse1 = await getModerators(tenantId, skip);
6 // ページネーションなしの例:
7 // const allModerators: GetModeratorsResponse1 = await getModerators(tenantId);
8}
9

sendInvite Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
fromNamestringYes

レスポンス

戻り値: SendInviteResponse

sendInvite の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const inviteId: string = "invite-12345";
4const fromName: string = "John Doe";
5
6const inviteResult: SendInviteResponse = await sendInvite(tenantId, inviteId, fromName);
7

updateModerator Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateModeratorBodyUpdateModeratorBodyYes

応答

返り値: UpdateModeratorResponse

updateModerator の例
Copy Copy
1
2async function demoUpdateModerator(): Promise<void> {
3 const tenantId: string = "tenant_42abc";
4 const moderatorId: string = "moderator_8f9e";
5 const updateBody: UpdateModeratorBody = {
6 isActive: true,
7 role: "admin",
8 // 任意のフィールド
9 notes: "Promoted to senior moderator"
10 };
11 const result: UpdateModeratorResponse = await updateModerator(tenantId, moderatorId, updateBody);
12 console.log(result);
13}
14
15demoUpdateModerator();
16

deleteNotificationCount Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

応答

返却: DeleteNotificationCountResponse

deleteNotificationCount の例
Copy Copy
1
2async function run() {
3 const tenantId: string = "tenant_12345";
4 const notificationId: string = "notif_98765";
5 const result: DeleteNotificationCountResponse = await deleteNotificationCount(tenantId, notificationId);
6 console.log(result);
7}
8run();
9

getCachedNotificationCount Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

応答

戻り値: GetCachedNotificationCountResponse1

getCachedNotificationCount の例
Copy Copy
1
2const tenantId: string = "e3f1a9b2-4c5d-6e7f-8a9b-0c1d2e3f4a5b";
3const userId: string = "u-20231101-001";
4
5const notificationResult: GetCachedNotificationCountResponse1 = await getCachedNotificationCount(tenantId, userId);
6
7console.log(notificationResult);
8

getNotificationCount Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringNo
urlIdstringNo
fromCommentIdstringNo
viewedbooleanNo
typestringNo

レスポンス

返却: GetNotificationCountResponse1

getNotificationCount 例
Copy Copy
1
2async function demoNotificationCount() {
3 const tenantId: string = "tenant_001";
4 const userId: string = "user_42";
5 const urlId: string = "url_9f8e7d";
6 const fromCommentId: string = "comment_12345";
7 const viewed: boolean = false;
8 const type: string = "mention";
9
10 const result: GetNotificationCountResponse1 = await getNotificationCount(
11 tenantId,
12 userId,
13 urlId,
14 fromCommentId,
15 viewed,
16 type
17 );
18
19 console.log(result);
20}
21
22demoNotificationCount();
23

getNotifications Internal Link

パラメータ

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

レスポンス

返却: GetNotificationsResponse1

getNotifications 例
Copy Copy
1
2async function demo() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5
6 const notifications: GetNotificationsResponse1 = await getNotifications(tenantId, userId);
7 console.log(notifications);
8
9 const more: GetNotificationsResponse1 = await getNotifications(
10 tenantId,
11 undefined,
12 "article-5678",
13 undefined,
14 true,
15 "reply",
16 10
17 );
18 console.log(more);
19}
20demo();
21

updateNotification Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
updateNotificationBodyUpdateNotificationBodyYes
userIdstringNo

応答

返り値: UpdateNotificationResponse

updateNotification 例
Copy Copy
1
2const tenantId: string = "tenant_5f4d2c";
3const notificationId: string = "notif_9b8a7c";
4
5const updateBody: UpdateNotificationBody = {
6 enabled: false,
7 sendEmail: true,
8 schedule: "2023-12-01T08:00:00Z"
9};
10
11const userId: string = "user_123e4567";
12
13const responseWithUser: UpdateNotificationResponse = await updateNotification(
14 tenantId,
15 notificationId,
16 updateBody,
17 userId
18);
19
20const responseWithoutUser: UpdateNotificationResponse = await updateNotification(
21 tenantId,
22 notificationId,
23 updateBody
24);
25

createV1PageReact Internal Link

パラメータ

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

レスポンス

戻り値: CreateV1PageReactResponse

createV1PageReact の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "article-2024-06-improvements";
4const title: string = "FastComments API Integration Guide";
5
6const responseWithTitle: CreateV1PageReactResponse = await createV1PageReact(tenantId, urlId, title);
7const responseWithoutTitle: CreateV1PageReactResponse = await createV1PageReact(tenantId, urlId);
8

createV2PageReact Internal Link

パラメータ

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

レスポンス

戻り値: CreateV2PageReactResponse

createV2PageReact 例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "blog/posts/fastcomments-integration";
5 const pageId: string = "page-12345";
6 const title: string = "FastComments API Integration Guide";
7
8 const responseWithoutTitle: CreateV2PageReactResponse = await createV2PageReact(tenantId, urlId, pageId);
9 const responseWithTitle: CreateV2PageReactResponse = await createV2PageReact(tenantId, urlId, pageId, title);
10
11 console.log(responseWithoutTitle, responseWithTitle);
12})();
13

deleteV1PageReact Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes

応答

戻り値: DeleteV1PageReactResponse

deleteV1PageReact の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3const urlId: string = "article-2024-06-01";
4
5const response: DeleteV1PageReactResponse = await deleteV1PageReact(tenantId, urlId);
6console.log(response);
7

deleteV2PageReact Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes
idstringYes

レスポンス

戻り値: DeleteV2PageReactResponse

deleteV2PageReact の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const urlId: string = "page_98765";
4const reactionId: string = "react_abcde";
5
6const deleteResult: DeleteV2PageReactResponse = await deleteV2PageReact(tenantId, urlId, reactionId);
7

getV1PageLikes Internal Link

パラメータ

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

レスポンス

返却: GetV1PageLikesResponse

getV1PageLikes の例
Copy Copy
1
2async function fetchPageLikes() {
3 const tenantId: string = "acme-corp-tenant-42";
4 const urlId: string = "blog-post-2024-06-typescript-best-practices";
5
6 const likes: GetV1PageLikesResponse = await getV1PageLikes(tenantId, urlId);
7 console.log(likes);
8}
9

getV2PageReacts Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes

レスポンス

返却: GetV2PageReactsResponse

getV2PageReacts 例
Copy Copy
1
2async function demoGetPageReacts(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant";
4 const urlId: string = "article-2024-06-01";
5
6 const reacts: GetV2PageReactsResponse = await getV2PageReacts(tenantId, urlId);
7
8 // オプションのプロパティアクセス例
9 const customConfig: CustomConfigParameters | undefined = reacts.customConfig;
10 console.log(reacts);
11}
12
13demoGetPageReacts();
14

getV2PageReactUsers Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
urlIdstringYes
idstringYes

レスポンス

戻り値: GetV2PageReactUsersResponse1

getV2PageReactUsers の例
Copy Copy
1
2async function fetchReactUsers() {
3 const tenantId: string = 'tenant_12345';
4 const urlId: string = 'article-9876';
5 const id: string = 'user_abcde';
6 const response: GetV2PageReactUsersResponse1 = await getV2PageReactUsers(tenantId, urlId, id);
7 console.log(response);
8}
9fetchReactUsers();
10

addPage Internal Link

パラメータ

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

応答

Returns: AddPageAPIResponse

addPage の例
Copy Copy
1
2const tenantId: string = "tenant_9f8432b1-4c2e-4f9d-8a5d-7bc9e2f6d9a0";
3
4const pageData: CreateAPIPageData = {
5 url: "https://example.com/articles/fastcomments-intro",
6 title: "FastComments Introduction",
7 description: "An introductory guide to FastComments API usage.",
8 tags: ["fastcomments", "api", "tutorial"],
9 metadata: {
10 author: "Jane Doe",
11 publishedAt: "2024-03-15T08:00:00Z"
12 }
13};
14
15const response: AddPageAPIResponse = await addPage(tenantId, pageData);
16

deletePage Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

レスポンス

返り値: DeletePageAPIResponse

deletePage 例
Copy Copy
1
2async function example() {
3 const tenantId: string = "acme-corp-001";
4 const pageId: string = "page-987654321";
5 const result: DeletePageAPIResponse = await deletePage(tenantId, pageId);
6 console.log(result);
7}
8example();
9

getOfflineUsers Internal Link

過去にページ上でコメントしたが、現在オンラインではないユーザー。displayName でソートされます。
/​users/online をすべて使用し終えた後、"Members" セクションを表示するために使用します。
commenterName に対するカーソルページネーション: サーバーは部分的な {tenantId, urlId, commenterName} インデックスを afterName から $gt で前方向に走査し、$skip コストはかかりません。

Parameters

名前必須説明
tenantIdstringYes
urlIdstringYes
afterNamestringNo
afterUserIdstringNo

Response

返却: GetOfflineUsersResponse

Example

getOfflineUsers の例
Copy Copy
1
2async function fetchOfflineUsers(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "thread_9876";
5 const afterName: string = "Jane Smith";
6 const afterUserId: string = "user_7f9b3c";
7
8 const offlineUsers: GetOfflineUsersResponse = await getOfflineUsers(
9 tenantId,
10 urlId,
11 afterName,
12 afterUserId
13 );
14
15 console.log(offlineUsers);
16}
17

getOnlineUsers Internal Link

現在オンラインのページ閲覧者: 現在ページにサブスクライブされている WebSocket セッションを持つユーザーです。
anonCount と totalCount(部屋全体の購読者数、匿名閲覧者は列挙しません)を合計して返します。

Parameters

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

Response

返却: GetOnlineUsersResponse

getOnlineUsers の例
Copy Copy
1
2async function demoOnlineUsers() {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_98765";
5
6 // オプションのページングパラメータあり
7 const pagedResult: GetOnlineUsersResponse = await getOnlineUsers(
8 tenantId,
9 urlId,
10 "alice_smith",
11 "user_9"
12 );
13
14 // オプションのページングパラメータなし
15 const fullResult: GetOnlineUsersResponse = await getOnlineUsers(tenantId, urlId);
16}
17

getPageByURLId Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdstringYes

レスポンス

返り値: GetPageByURLIdAPIResponse

getPageByURLId の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "url_9876";
5
6 const response: GetPageByURLIdAPIResponse = await getPageByURLId(tenantId, urlId);
7 const page: APIPage | undefined = response.page;
8})();
9

getPages Internal Link

パラメータ

名前必須説明
tenantIdstringはい

応答

戻り値: GetPagesAPIResponse

getPages の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4(async () => {
5 const response: GetPagesAPIResponse = await getPages(tenantId);
6 const firstPage: APIPage | undefined = response.pages?.[0];
7 console.log(firstPage?.title);
8})();
9

getPagesPublic Internal Link

List pages for a tenant. Used by the FChat desktop client to populate its room list.
テナントのページを一覧取得します。FChat デスクトップクライアントが部屋リストを表示するために使用します。

Requires enableFChat to be true on the resolved custom config for each page.
各ページの解決されたカスタム設定で enableFChat が true である必要があります。

Pages that require SSO are filtered against the requesting user's group access.
SSO が必要なページは、リクエストするユーザーのグループアクセスに基づいてフィルタリングされます。

Parameters

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

Response

返却: GetPagesPublicResponse

Example

getPagesPublic の例
Copy Copy
1
2async function fetchPages() {
3 const tenantId: string = "tenant_12345";
4 const cursor: string = "nextPageToken";
5 const limit: number = 20;
6 const q: string = "blog";
7 const sortBy: PagesSortBy = "createdAt";
8 const hasComments: boolean = true;
9
10 const response: GetPagesPublicResponse = await getPagesPublic(
11 tenantId,
12 cursor,
13 limit,
14 q,
15 sortBy,
16 hasComments
17 );
18
19 console.log(response);
20}
21

getUsersInfo Internal Link

Bulk user info for a tenant. Given userIds, return display info from User / SSOUser.
Used by the comment widget to enrich users that just appeared via a presence event.
No page context: privacy is enforced uniformly (private profiles are masked).

Parameters

名前タイプ必須説明
tenantIdstringYes
idsstringYes

Response

Returns: GetUsersInfoResponse

Example

getUsersInfo の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const ids: string = "user-1001,user-1002";
4
5const usersInfo: GetUsersInfoResponse = await getUsersInfo(tenantId, ids);
6
7// Optional fields in the response may be undefined
8const firstUser: PageUserEntry | undefined = usersInfo?.users?.[0];
9

patchPage Internal Link

パラメータ

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

レスポンス

戻り値: PatchPageAPIResponse

patchPage 例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const pageId: string = "page_98765";
5
6 const updateData: UpdateAPIPageData = {
7 title: "Updated FAQ Page"
8 // description?: string は省略可能
9 };
10
11 const response: PatchPageAPIResponse = await patchPage(tenantId, pageId, updateData);
12})();
13

deletePendingWebhookEvent Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: DeletePendingWebhookEventResponse

deletePendingWebhookEvent の例
Copy Copy
1
2async function runDemo() {
3 const tenantId: string = 'c3f5e9d2-1a2b-4c3d-9e7f-1234567890ab';
4 const eventId: string = 'event_987654321';
5 const response: DeletePendingWebhookEventResponse = await deletePendingWebhookEvent(tenantId, eventId);
6 console.log(response);
7}
8runDemo();
9

getPendingWebhookEventCount Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo

レスポンス

返却: GetPendingWebhookEventCountResponse1

getPendingWebhookEventCount の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_001";
4
5 const responseAll: GetPendingWebhookEventCountResponse1 = await getPendingWebhookEventCount(
6 tenantId,
7 "comment_456",
8 "ext_789",
9 "comment.updated",
10 "webhook",
11 "mydomain.com",
12 3
13 );
14
15 const responseMinimal: GetPendingWebhookEventCountResponse1 = await getPendingWebhookEventCount(tenantId);
16
17 console.log(responseAll, responseMinimal);
18})();
19

getPendingWebhookEvents Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
commentIdstringNo
externalIdstringNo
eventTypestringNo
typestringNo
domainstringNo
attemptCountGTnumberNo
skipnumberNo

レスポンス

返り値: GetPendingWebhookEventsResponse1

getPendingWebhookEvents の例
Copy Copy
1
2async function fetchPendingEvents(): Promise<void> {
3 const tenantId: string = "123e4567-e89b-12d3-a456-426614174000";
4 const commentId: string = "cmt-987654321";
5 const externalId: string = "ext-abc-123";
6 const eventType: string = "comment_created";
7 const type: string = "outbound";
8 const domain: string = "myblog.com";
9 const attemptCountGT: number = 3;
10 const skip: number = 0;
11
12 const pending: GetPendingWebhookEventsResponse1 = await getPendingWebhookEvents(
13 tenantId,
14 commentId,
15 externalId,
16 eventType,
17 type,
18 domain,
19 attemptCountGT,
20 skip
21 );
22
23 console.log(pending);
24}
25
26fetchPendingEvents();
27

createQuestionConfig Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createQuestionConfigBodyCreateQuestionConfigBodyYes

応答

返り値: CreateQuestionConfigResponse1

createQuestionConfig の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const customOption: QuestionConfigCustomOptionsInner = {
5 label: "Option A",
6 value: "a",
7};
8
9const createQuestionConfigBody: CreateQuestionConfigBody = {
10 questionText: "What is your favorite color?",
11 isActive: true,
12 // オプションのフィールドは省略できます
13 customOptions: [customOption],
14};
15
16const response: CreateQuestionConfigResponse1 = await createQuestionConfig(
17 tenantId,
18 createQuestionConfigBody
19);
20

deleteQuestionConfig Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

レスポンス

返り値: DeleteQuestionConfigResponse

deleteQuestionConfig の例
Copy Copy
1
2async function runDeletion(): Promise<void> {
3 const tenantId: string = "tenant_8f5a2c9d";
4 const configId: string = "questionConfig_4b7e1f";
5 const deleteResult: DeleteQuestionConfigResponse = await deleteQuestionConfig(tenantId, configId);
6 console.log(deleteResult);
7}
8void runDeletion();
9

getQuestionConfig Internal Link

パラメータ

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

レスポンス

返り値: GetQuestionConfigResponse1

getQuestionConfig 例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant-42";
3const questionId: string = "question-7f9b3e";
4
5const response: GetQuestionConfigResponse1 = await getQuestionConfig(tenantId, questionId);
6

getQuestionConfigs Internal Link

Parameters

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

レスポンス

戻り値: GetQuestionConfigsResponse1

getQuestionConfigs の例
Copy Copy
1
2async function fetchQuestionConfigs() {
3 const tenantId: string = "tenant-9876";
4
5 // 任意の 'skip' パラメータなしで呼び出す
6 const configsWithoutSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId);
7
8 // 任意の 'skip' パラメータありで呼び出す
9 const skip: number = 10;
10 const configsWithSkip: GetQuestionConfigsResponse1 = await getQuestionConfigs(tenantId, skip);
11
12 console.log(configsWithoutSkip, configsWithSkip);
13}
14

updateQuestionConfig Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
updateQuestionConfigBodyUpdateQuestionConfigBodyYes

レスポンス

戻り値: UpdateQuestionConfigResponse

updateQuestionConfig 例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const questionId: string = "qstn-2023-04";
4
5const updateBody: UpdateQuestionConfigBody = {
6 // オプションフィールドのデモ
7 customOptions: [
8 {
9 id: "opt-001",
10 label: "Extra Details",
11 required: true,
12 },
13 ],
14 renderingType: "markdown",
15};
16
17const response: UpdateQuestionConfigResponse = await updateQuestionConfig(
18 tenantId,
19 questionId,
20 updateBody
21);
22

createQuestionResult Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createQuestionResultBodyCreateQuestionResultBodyYes

レスポンス

返却: CreateQuestionResultResponse1

createQuestionResult の例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3
4const metaItem: MetaItem = {
5 key: "campaign",
6 value: "spring-launch"
7};
8
9const questionResultBody: CreateQuestionResultBody = {
10 questionId: "question-42",
11 answer: "Positive",
12 metadata: [metaItem]
13 // optional fields such as notes are omitted
14};
15
16const result: CreateQuestionResultResponse1 = await createQuestionResult(tenantId, questionResultBody);
17

deleteQuestionResult Internal Link

パラメータ

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

レスポンス

返却: DeleteQuestionResultResponse

deleteQuestionResult 例
Copy Copy
1
2async function runDeletion(): Promise<void> {
3 const tenantId: string = "tenant-001";
4 const resultId: string = "c9f2a5b3-7e6d-4c9a-8b1f-2d3e4f5a6b7c";
5 const result: DeleteQuestionResultResponse = await deleteQuestionResult(tenantId, resultId);
6 console.log(result);
7}
8
9runDeletion();
10

getQuestionResult Internal Link

パラメータ

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

応答

返却: GetQuestionResultResponse1

getQuestionResult の例
Copy Copy
1
2async function fetchQuestionResult(): Promise<void> {
3 const tenantId: string = "acme-corp-001";
4 const questionId: string = "question-7a9b8c";
5 const result: GetQuestionResultResponse1 = await getQuestionResult(tenantId, questionId);
6
7 const question: QuestionResult | undefined = result.questionResult;
8 const firstMeta: MetaItem | undefined = result.meta?.[0];
9
10 console.log(question?.id, firstMeta?.key);
11}
12

getQuestionResults Internal Link

パラメータ

名前必須説明
tenantIdstringはい
urlIdstringいいえ
userIdstringいいえ
startDatestringいいえ
questionIdstringいいえ
questionIdsstringいいえ
skipnumberいいえ

レスポンス

戻り値: GetQuestionResultsResponse1

getQuestionResults の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const urlId: string = "post-456";
5 const userId: string = "user-789";
6 const startDate: string = "2023-09-01T00:00:00Z";
7 const questionId: string = "q-101";
8 const questionIds: string = "q-102,q-103";
9 const skip: number = 20;
10
11 const results: GetQuestionResultsResponse1 = await getQuestionResults(
12 tenantId,
13 urlId,
14 userId,
15 startDate,
16 questionId,
17 questionIds,
18 skip
19 );
20
21 console.log(results);
22})();
23

updateQuestionResult Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateQuestionResultBodyUpdateQuestionResultBodyYes

レスポンス

Returns: UpdateQuestionResultResponse

updateQuestionResult 例
Copy Copy
1
2async function runUpdate() {
3 const tenantId: string = "acme-corp-01";
4 const id: string = "qr-20230915-001";
5
6 const updateQuestionResultBody: UpdateQuestionResultBody = {
7 // 必須フィールド
8 answer: "No",
9 // オプションフィールド
10 comment: "User clarified their response",
11 // anotherOptionalField?: value,
12 };
13
14 const result: UpdateQuestionResultResponse = await updateQuestionResult(
15 tenantId,
16 id,
17 updateQuestionResultBody
18 );
19
20 console.log(result);
21}
22
23runUpdate();
24

aggregateQuestionResults Internal Link

パラメータ

名前必須説明
tenantIdstringYes
questionIdstringNo
questionIdsArrayNo
urlIdstringNo
timeBucketAggregateTimeBucketNo
startDateDateNo
forceRecalculatebooleanNo

レスポンス

戻り値: AggregateQuestionResultsResponse1

aggregateQuestionResults の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const questionId: string = "feedback-rating";
5 const questionIds: string[] = ["feedback-rating", "recommendation"];
6 const urlId: string = "https://myblog.com/articles/42";
7 const timeBucket: AggregateTimeBucket = "month";
8 const startDate: Date = new Date("2023-01-01T00:00:00Z");
9 const forceRecalculate: boolean = true;
10
11 const result: AggregateQuestionResultsResponse1 = await aggregateQuestionResults(
12 tenantId,
13 questionId,
14 questionIds,
15 urlId,
16 timeBucket,
17 startDate,
18 forceRecalculate
19 );
20
21 console.log(result);
22})();
23

bulkAggregateQuestionResults Internal Link

パラメータ

名前必要説明
tenantIdstringYes
bulkAggregateQuestionResultsRequestBulkAggregateQuestionResultsRequestYes
forceRecalculatebooleanNo

レスポンス

返却: BulkAggregateQuestionResultsResponse1

bulkAggregateQuestionResults の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3
4const request: BulkAggregateQuestionResultsRequest = {
5 questionIds: ["product-satisfaction", "feature-usage"],
6 startDate: "2024-01-01T00:00:00Z",
7 endDate: "2024-01-31T23:59:59Z",
8 timeBucket: "day"
9};
10
11const result: BulkAggregateQuestionResultsResponse1 = await bulkAggregateQuestionResults(
12 tenantId,
13 request,
14 true
15);
16

combineCommentsWithQuestionResults Internal Link

パラメータ

名前必須説明
tenantIdstringはい
questionIdstringいいえ
questionIdsArrayいいえ
urlIdstringいいえ
startDateDateいいえ
forceRecalculatebooleanいいえ
minValuenumberいいえ
maxValuenumberいいえ
limitnumberいいえ

レスポンス

返却: CombineCommentsWithQuestionResultsResponse

combineCommentsWithQuestionResults の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const questionIds: string[] = ["question_1", "question_2"];
4const urlId: string = "article-9876";
5const startDate: Date = new Date("2023-01-01T00:00:00Z");
6const forceRecalculate: boolean = false;
7const minValue: number = 1;
8const maxValue: number = 5;
9const limit: number = 50;
10
11const result: CombineCommentsWithQuestionResultsResponse = await combineCommentsWithQuestionResults(
12 tenantId,
13 undefined,
14 questionIds,
15 urlId,
16 startDate,
17 forceRecalculate,
18 minValue,
19 maxValue,
20 limit
21);
22

addSSOUser Internal Link

Parameters

名前必須説明
tenantIdstringYes
createAPISSOUserDataCreateAPISSOUserDataYes

レスポンス

返り値: AddSSOUserAPIResponse

addSSOUser の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3
4const newUser: CreateAPISSOUserData = {
5 userId: "sso_user_987",
6 name: "Jane Doe",
7 email: "jane.doe@example.com",
8 // 任意フィールド
9 avatarUrl: "https://example.com/avatars/jane.jpg",
10};
11
12const result: AddSSOUserAPIResponse = await addSSOUser(tenantId, newUser);
13

deleteSSOUser Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
deleteCommentsbooleanNo
commentDeleteModestringNo

レスポンス

戻り値: DeleteSSOUserAPIResponse

deleteSSOUser 例
Copy Copy
1
2const tenantId: string = "acme-corp-tenant";
3const userId: string = "sso-user-42";
4const deleteComments: boolean = true;
5const commentDeleteMode: string = "hard";
6
7const detailedResult: DeleteSSOUserAPIResponse = await deleteSSOUser(
8 tenantId,
9 userId,
10 deleteComments,
11 commentDeleteMode
12);
13
14const simpleResult: DeleteSSOUserAPIResponse = await deleteSSOUser(
15 tenantId,
16 userId
17);
18

getSSOUserByEmail Internal Link


パラメータ

名前必須説明
tenantIdstringYes
emailstringYes

レスポンス

戻り値: GetSSOUserByEmailAPIResponse

getSSOUserByEmail の例
Copy Copy
1
2async function fetchSSOUser() {
3 const tenantId: string = "tenant_12345";
4 const email: string = "john.doe@example.com";
5
6 const result: GetSSOUserByEmailAPIResponse = await getSSOUserByEmail(tenantId, email);
7 const user: APISSOUser | undefined = result?.user;
8}
9

getSSOUserById Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

レスポンス

返却: GetSSOUserByIdAPIResponse

getSSOUserById の例
Copy Copy
1
2async function fetchUser() {
3 const tenantId: string = "tenant-987654321";
4 const userId: string = "sso-user-abc123";
5 const result: GetSSOUserByIdAPIResponse = await getSSOUserById(tenantId, userId);
6 const ssoUser: APISSOUser = result.user;
7}
8

getSSOUsers Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
skipnumberいいえ

レスポンス

戻り値: GetSSOUsersResponse

getSSOUsers の例
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4
5 // オプションの `skip` を指定せずに呼び出す
6 const firstPage: GetSSOUsersResponse = await getSSOUsers(tenantId);
7
8 // オプションの `skip` を指定して呼び出す
9 const secondPage: GetSSOUsersResponse = await getSSOUsers(tenantId, 100);
10
11 console.log(firstPage, secondPage);
12}
13
14runExample();
15

patchSSOUser Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsbooleanNo

レスポンス

返却: PatchSSOUserAPIResponse

patchSSOUser の例
Copy Copy
1
2const tenantId: string = "c1f2a3b4-5678-90ab-cdef-1234567890ab";
3const userId: string = "user-987654321";
4const updateData: UpdateAPISSOUserData = {
5 email: "jane.smith@enterprise.com",
6 displayName: "Jane Smith",
7 role: "editor"
8};
9
10const responseWithComments: PatchSSOUserAPIResponse = await patchSSOUser(
11 tenantId,
12 userId,
13 updateData,
14 true
15);
16
17const responseWithoutComments: PatchSSOUserAPIResponse = await patchSSOUser(
18 tenantId,
19 userId,
20 updateData
21);
22

putSSOUser Internal Link


パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
updateAPISSOUserDataUpdateAPISSOUserDataYes
updateCommentsbooleanNo

レスポンス

返却: PutSSOUserAPIResponse

putSSOUser の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_abc123";
4 const userId: string = "user_456def";
5
6 const updateData: UpdateAPISSOUserData = {
7 email: "jane.doe@example.com",
8 displayName: "Jane Doe",
9 isActive: true,
10 };
11
12 const response: PutSSOUserAPIResponse = await putSSOUser(tenantId, userId, updateData, true);
13})();
14

createSubscription Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createAPIUserSubscriptionDataCreateAPIUserSubscriptionDataYes

レスポンス

返却: CreateSubscriptionAPIResponse

createSubscription の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4
5 const subscriptionData: CreateAPIUserSubscriptionData = {
6 userId: "user-456",
7 planId: "premium-monthly",
8 startDate: new Date(),
9 trialPeriodDays: 14 // オプションフィールド
10 };
11
12 const result: CreateSubscriptionAPIResponse = await createSubscription(tenantId, subscriptionData);
13 console.log(result);
14})();
15

deleteSubscription Internal Link

パラメータ

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

応答

返却: DeleteSubscriptionAPIResponse

deleteSubscription 例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9876";
4 const subscriptionId: string = "sub_54321";
5 const userId: string = "user_abc123";
6
7 // オプションの userId を使用
8 const responseWithUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId, userId);
9
10 // オプションの userId なし
11 const responseWithoutUser: DeleteSubscriptionAPIResponse = await deleteSubscription(tenantId, subscriptionId);
12})();
13

getSubscriptions Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringNo

レスポンス

Returns: GetSubscriptionsAPIResponse

getSubscriptions の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-123";
4 const userId: string = "user-789";
5
6 const responseWithUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId, userId);
7 const responseWithoutUser: GetSubscriptionsAPIResponse = await getSubscriptions(tenantId);
8})();
9

updateSubscription Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateAPIUserSubscriptionDataUpdateAPIUserSubscriptionDataYes
userIdstringNo

レスポンス

返却値: UpdateSubscriptionAPIResponse

updateSubscription の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const subscriptionId: string = "sub_98765";
4
5const updateData: UpdateAPIUserSubscriptionData = {
6 planId: "premium_plan",
7 status: "active",
8 renewalDate: "2024-12-31",
9};
10
11const userId: string = "user_abcde";
12
13const response: UpdateSubscriptionAPIResponse = await updateSubscription(
14 tenantId,
15 subscriptionId,
16 updateData,
17 userId
18);
19

getTenantDailyUsages Internal Link

パラメータ

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

レスポンス

返却: GetTenantDailyUsagesResponse1

getTenantDailyUsages の例
Copy Copy
1
2async function fetchDailyUsage() {
3 const tenantId: string = "tenant-9876";
4 const yearNumber: number = 2024;
5 const monthNumber: number = 5; // 5月
6 const dayNumber: number = 12;
7 const skip: number = 0;
8
9 const fullResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
10 tenantId,
11 yearNumber,
12 monthNumber,
13 dayNumber,
14 skip
15 );
16
17 // 必要なパラメータのみと1つのオプションパラメータを使用
18 const partialResult: GetTenantDailyUsagesResponse1 = await getTenantDailyUsages(
19 tenantId,
20 yearNumber
21 );
22
23 console.log(fullResult, partialResult);
24}
25
26fetchDailyUsage();
27

createTenantPackage Internal Link

パラメータ

名前必須説明
tenantIdstringYes
createTenantPackageBodyCreateTenantPackageBodyYes

レスポンス

戻り値: CreateTenantPackageResponse1

createTenantPackage の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9876";
4
5 const body: CreateTenantPackageBody = {
6 packageName: "Standard",
7 quota: 5000,
8 // 任意フィールド
9 description: "Standard package for medium traffic",
10 };
11
12 const result: CreateTenantPackageResponse1 = await createTenantPackage(tenantId, body);
13 console.log(result);
14})();
15

deleteTenantPackage Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes

応答

返却: DeleteTenantPackageResponse

deleteTenantPackage の例
Copy Copy
1
2async function removeTenantPackage(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const packageId: string = "pkg_67890";
5
6 const result: DeleteTenantPackageResponse = await deleteTenantPackage(tenantId, packageId);
7 // 必要に応じて結果を使用
8}
9
10removeTenantPackage();
11

getTenantPackage Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
idstringはい

レスポンス

戻り値: GetTenantPackageResponse1

getTenantPackage の例
Copy Copy
1
2async function fetchTenantPackage(): Promise<void> {
3 const tenantId: string = "acme-tenant-2024";
4 const packageId: string = "premium-package-01";
5 const response: GetTenantPackageResponse1 = await getTenantPackage(tenantId, packageId);
6
7 // 応答内のオプションフィールド
8 const tenantPackage: TenantPackage | undefined = response.tenantPackage;
9 const customConfig: CustomConfigParameters | undefined = response.customConfigParameters;
10}
11

getTenantPackages Internal Link

パラメータ

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

レスポンス

戻り値: GetTenantPackagesResponse1

getTenantPackages の例
Copy Copy
1
2(async () => {
3 const tenantId: string = 'tenant_67890';
4 const skip: number = 30;
5
6 const packagesWithSkip: GetTenantPackagesResponse1 = await getTenantPackages(tenantId, skip);
7 const packagesWithoutSkip: GetTenantPackagesResponse1 = await getTenantPackages(tenantId);
8
9 console.log(packagesWithSkip, packagesWithoutSkip);
10})();
11

replaceTenantPackage Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
replaceTenantPackageBodyReplaceTenantPackageBodyYes

レスポンス

返却: ReplaceTenantPackageResponse

replaceTenantPackage の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp-tenant-01";
4 const packageId: string = "pkg-2024-annual";
5
6 const config: CustomConfigParameters = {
7 // ここにカスタム構成フィールドを記述
8 };
9
10 const body: ReplaceTenantPackageBody = {
11 name: "Enterprise Package",
12 // 任意のカスタム構成
13 customConfig: config,
14 };
15
16 const response: ReplaceTenantPackageResponse = await replaceTenantPackage(tenantId, packageId, body);
17 console.log(response);
18})();
19

updateTenantPackage Internal Link

パラメータ

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

レスポンス

返却: UpdateTenantPackageResponse

updateTenantPackage の例
Copy Copy
1
2const tenantId: string = "tenant-9876";
3const packageId: string = "pkg-2023";
4
5const customConfig: CustomConfigParameters = {
6 enableSpamFilter: true,
7 spamRatingThreshold: 4,
8};
9
10const updateBody: UpdateTenantPackageBody = {
11 displayName: "Enterprise Pro",
12 customConfig,
13};
14
15const response: UpdateTenantPackageResponse = await updateTenantPackage(
16 tenantId,
17 packageId,
18 updateBody
19);
20

createTenantUser Internal Link

パラメータ

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

レスポンス

戻り値: CreateTenantUserResponse1

createTenantUser の例
Copy Copy
1
2const tenantId: string = "a1b2c3d4-5678-90ab-cdef-1234567890ab";
3
4const newUser: CreateTenantUserBody = {
5 email: "jane.doe@example.com",
6 firstName: "Jane",
7 lastName: "Doe",
8 role: "admin",
9 // 任意のパラメータ
10 phoneNumber: "+15551234567",
11 isActive: true,
12};
13
14const result: CreateTenantUserResponse1 = await createTenantUser(tenantId, newUser);
15

deleteTenantUser Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
idstringYes
deleteCommentsstringNo
commentDeleteModestringNo

レスポンス

戻り値: DeleteTenantUserResponse

deleteTenantUser の例
Copy Copy
1
2async function demoDeleteTenantUser() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-9876";
5
6 // ユーザーとそのすべてのコメントを、ハード削除モードで削除します
7 const resultWithOptions: DeleteTenantUserResponse = await deleteTenantUser(
8 tenantId,
9 userId,
10 "true",
11 "hard"
12 );
13
14 // コメントを削除せずにユーザーを削除します(デフォルトの動作)
15 const resultBasic: DeleteTenantUserResponse = await deleteTenantUser(tenantId, userId);
16}
17

getTenantUser Internal Link

パラメータ

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

レスポンス

返り値: GetTenantUserResponse1

getTenantUser の例
Copy Copy
1
2async function fetchUser(): Promise<void> {
3 const tenantId: string = "tenant-01a2b3c";
4 const userId: string = "user-7890";
5 const result: GetTenantUserResponse1 = await getTenantUser(tenantId, userId);
6 console.log(result);
7}
8

getTenantUsers Internal Link

パラメータ

名前必須説明
tenantIdstringYes
skipnumberNo

レスポンス

返却: GetTenantUsersResponse1

getTenantUsers の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_9f7a2c";
4 const skip: number = 25;
5
6 const usersPage: GetTenantUsersResponse1 = await getTenantUsers(tenantId, skip);
7 const allUsers: GetTenantUsersResponse1 = await getTenantUsers(tenantId);
8})();
9

replaceTenantUser Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringYes
idstringYes
replaceTenantUserBodyReplaceTenantUserBodyYes
updateCommentsstringNo

レスポンス

返り値: ReplaceTenantUserResponse

replaceTenantUser の例
Copy Copy
1
2async function updateUser() {
3 const tenantId: string = "c3d1f2e4-5b6a-4c7d-9f2e-1234567890ab";
4 const userId: string = "u-654321";
5 const replaceBody: ReplaceTenantUserBody = {
6 email: "newuser@example.com",
7 username: "newusername"
8 };
9 const response: ReplaceTenantUserResponse = await replaceTenantUser(
10 tenantId,
11 userId,
12 replaceBody,
13 "true"
14 );
15 console.log(response);
16}
17updateUser();
18

パラメータ

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

レスポンス

返却: SendLoginLinkResponse

sendLoginLink の例
Copy Copy
1
2async function demoSendLoginLink() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-9876";
5 const redirectURL: string = "https://app.acme-corp.com/auth/callback";
6
7 const resultWithRedirect: SendLoginLinkResponse = await sendLoginLink(tenantId, userId, redirectURL);
8 const resultWithoutRedirect: SendLoginLinkResponse = await sendLoginLink(tenantId, userId);
9}
10

updateTenantUser Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateTenantUserBodyUpdateTenantUserBodyYes
updateCommentsstringNo

レスポンス

戻り値: UpdateTenantUserResponse

updateTenantUser の例
Copy Copy
1
2let tenantId: string = "5f8f8c1a2e9b3c001c2a9b2d";
3let userId: string = "user_98765";
4
5let updateBody: UpdateTenantUserBody = {
6 email: "jane.smith@example.com",
7 role: "moderator",
8 isActive: false,
9};
10
11let updateComments: string = "Deactivated user due to policy violation.";
12
13let result: UpdateTenantUserResponse = await updateTenantUser(tenantId, userId, updateBody, updateComments);
14

createTenant Internal Link

パラメータ

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

レスポンス

戻り値: CreateTenantResponse1

createTenant の例
Copy Copy
1
2async function example() {
3 const tenantId: string = 'tenant-2024-01';
4 const createTenantBody: CreateTenantBody = {
5 // 必要なフィールド
6 name: 'Acme International',
7 // 任意のフィールドは必要に応じて追加できます。例:
8 // billingInfo: { address: '123 Main St', city: 'Metropolis' } as BillingInfo,
9 };
10 const response: CreateTenantResponse1 = await createTenant(tenantId, createTenantBody);
11 console.log(response);
12}
13

deleteTenant Internal Link

パラメータ

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

レスポンス

返却: DeleteTenantResponse

deleteTenant 例
Copy Copy
1
2async function runExample() {
3 const tenantId: string = "tenant_12345";
4 const id: string = "resource_98765";
5 const sure: string = "confirm";
6
7 // オプションの 'sure' パラメータを使用して呼び出す
8 const responseWithSure: DeleteTenantResponse = await deleteTenant(tenantId, id, sure);
9 console.log(responseWithSure);
10
11 // オプションの 'sure' パラメータなしで呼び出す
12 const responseWithoutSure: DeleteTenantResponse = await deleteTenant(tenantId, id);
13 console.log(responseWithoutSure);
14}
15
16runExample();
17

getTenant Internal Link

パラメータ

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

レスポンス

返却: GetTenantResponse1

getTenant の例
Copy Copy
1
2async function fetchTenant(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const id: string = "user_9876";
5 const tenantInfo: GetTenantResponse1 = await getTenant(tenantId, id);
6 console.log(tenantInfo);
7}
8
9fetchTenant();
10

getTenants Internal Link

パラメータ

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

レスポンス

返却: GetTenantsResponse1

getTenants の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-9f8e7d6c";
4 const resultOnlyId: GetTenantsResponse1 = await getTenants(tenantId);
5 const resultWithMeta: GetTenantsResponse1 = await getTenants(tenantId, "full");
6 const resultAllParams: GetTenantsResponse1 = await getTenants(tenantId, "full", 15);
7 console.log(resultOnlyId, resultWithMeta, resultAllParams);
8})();
9

updateTenant Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes
updateTenantBodyUpdateTenantBodyYes

レスポンス

返却: UpdateTenantResponse

updateTenant の例
Copy Copy
1
2const tenantId: string = "c8f9e3d2-4b6a-11ee-8c99-0242ac130003";
3const id: string = "tenant-config-01";
4
5const updateBody: UpdateTenantBody = {
6 domain: "mytenant.fastcomments.io",
7 branding: {
8 logoUrl: "https://cdn.mytenant.com/assets/logo.png"
9 },
10 description: "Branding update for Q3"
11};
12
13const response: UpdateTenantResponse = await updateTenant(tenantId, id, updateBody);
14console.log(response);
15

changeTicketState Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringYes
idstringYes
changeTicketStateBodyChangeTicketStateBodyYes

Response

返り値: ChangeTicketStateResponse1

changeTicketState の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3const userId: string = "user-97123";
4const ticketId: string = "ticket-45001";
5
6const changeTicketStateBody: ChangeTicketStateBody = {
7 state: "closed",
8 // 本体の任意フィールド
9 comment: "Issue resolved after code fix"
10};
11
12const response: ChangeTicketStateResponse1 = await changeTicketState(
13 tenantId,
14 userId,
15 ticketId,
16 changeTicketStateBody
17);
18

createTicket Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringYes
createTicketBodyCreateTicketBodyYes

レスポンス

戻り値: CreateTicketResponse1

createTicket 例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const userId: string = "user_98765";
4
5const ticketBody: CreateTicketBody = {
6 subject: "Issue with payment processing"
7 // description?: string はオプションで、省略されています
8};
9
10const response: CreateTicketResponse1 = await createTicket(tenantId, userId, ticketBody);
11// 応答からオプションフィールドを使用する例
12// console.log(response.ticket?.id);
13

getTicket Internal Link

パラメータ

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

レスポンス

返却: GetTicketResponse1

getTicket の例
Copy Copy
1
2const tenantId: string = "acme-inc";
3const ticketId: string = "ticket-3421";
4const userId: string = "alice.smith";
5
6const ticketWithUser: GetTicketResponse1 = await getTicket(tenantId, ticketId, userId);
7const ticketWithoutUser: GetTicketResponse1 = await getTicket(tenantId, ticketId);
8

getTickets Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
userIdstringNo
statenumberNo
skipnumberNo
limitnumberNo

応答

Returns: GetTicketsResponse1

getTickets の例
Copy Copy
1
2async function loadTickets() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe";
5 const state: number = 2; // 例: クローズド
6 const skip: number = 10;
7 const limit: number = 5;
8
9 const ticketsFull: GetTicketsResponse1 = await getTickets(tenantId, userId, state, skip, limit);
10 const ticketsPartial: GetTicketsResponse1 = await getTickets(tenantId);
11}
12
13loadTickets();
14

getTranslations Internal Link

パラメータ

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

レスポンス

返却: GetTranslationsResponse1

getTranslations の例
Copy Copy
1
2(async () => {
3 const namespace: string = 'blog';
4 const component: string = 'comment-editor';
5 const locale: string = 'fr-FR';
6 const useFullTranslationIds: boolean = true;
7
8 const basicTranslations: GetTranslationsResponse1 = await getTranslations(namespace, component);
9 const fullTranslations: GetTranslationsResponse1 = await getTranslations(namespace, component, locale, useFullTranslationIds);
10})();
11

uploadImage Internal Link

画像のアップロードとリサイズ

パラメータ

名前必須説明
tenantIdstringYes
fileBlobYes
sizePresetSizePresetNo
urlIdstringNo

レスポンス

返却: UploadImageResponse

uploadImage の例
Copy Copy
1
2const tenantId: string = "acme-tenant-01";
3const imageBlob: Blob = new Blob([new Uint8Array([137,80,78,71])], { type: "image/png" });
4
5const uploadResult1: UploadImageResponse = await uploadImage(tenantId, imageBlob);
6
7const sizePreset: SizePreset = { presetName: "medium" };
8const urlId: string = "article-9876";
9
10const uploadResult2: UploadImageResponse = await uploadImage(tenantId, imageBlob, sizePreset, urlId);
11

getUserBadgeProgressById Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: GetUserBadgeProgressByIdResponse

getUserBadgeProgressById の例
Copy Copy
1
2async function demo(): Promise<void> {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-42";
5 const result: GetUserBadgeProgressByIdResponse = await getUserBadgeProgressById(tenantId, userId);
6 const progress: UserBadgeProgress | undefined = result.progress;
7 const earnedAt: Date | undefined = progress?.earnedAt;
8 console.log(`Badge earned at: ${earnedAt?.toISOString() ?? "not earned yet"}`);
9}
10demo();
11

getUserBadgeProgressByUserId Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringYes

レスポンス

返却: GetUserBadgeProgressByUserIdResponse

getUserBadgeProgressByUserId の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const userId: string = "user-12345";
5
6 const badgeProgress: GetUserBadgeProgressByUserIdResponse = await getUserBadgeProgressByUserId(tenantId, userId);
7 console.log(badgeProgress);
8})();
9

getUserBadgeProgressList Internal Link

パラメータ

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

レスポンス

戻り値: GetUserBadgeProgressListResponse

getUserBadgeProgressList の例
Copy Copy
1
2async function fetchBadgeProgress() {
3 const tenantId: string = "acme-corp";
4 const userId: string = "john.doe@example.com";
5 const limit: number = 10;
6 const skip: number = 5;
7
8 const fullList: GetUserBadgeProgressListResponse = await getUserBadgeProgressList(
9 tenantId,
10 userId,
11 limit,
12 skip
13 );
14
15 const simpleList: GetUserBadgeProgressListResponse = await getUserBadgeProgressList(tenantId);
16}
17
18fetchBadgeProgress();
19

createUserBadge Internal Link

パラメーター

名前必須説明
tenantIdstringYes
createUserBadgeParamsCreateUserBadgeParamsYes

レスポンス

返却: CreateUserBadgeResponse

createUserBadge の例
Copy Copy
1
2const tenantId: string = "company-42";
3
4const badgeParams: CreateUserBadgeParams = {
5 name: "Community Champion",
6 iconUrl: "https://assets.example.com/badges/champion.png",
7 // 説明は省略可能で、ここでは省略されています
8};
9
10const result: CreateUserBadgeResponse = await createUserBadge(tenantId, badgeParams);
11

deleteUserBadge Internal Link

パラメータ

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

レスポンス

返却: DeleteUserBadgeResponse

deleteUserBadge の例
Copy Copy
1
2async function exampleDeleteBadge(): Promise<void> {
3 const tenantId: string = "tenant_9f8b7c6a";
4 const badgeId: string = "badge_4e3d2c1b";
5 const result: DeleteUserBadgeResponse = await deleteUserBadge(tenantId, badgeId);
6 console.log(result);
7}
8exampleDeleteBadge();
9

getUserBadge Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

応答

戻り値: GetUserBadgeResponse

getUserBadge の例
Copy Copy
1
2async function runExample(): Promise<void> {
3 const tenantId: string = "acme-corp-tenant-001";
4 const badgeId: string = "badge-5f9d3a2b";
5
6 const badgeResponse: GetUserBadgeResponse = await getUserBadge(tenantId, badgeId);
7
8 // オプションのフィールドに安全にアクセス
9 const badgeName: string | undefined = badgeResponse.userBadge?.name;
10 console.log(`Badge ID: ${badgeId}, Name: ${badgeName ?? "Unnamed"}`);
11}
12
13runExample();
14

getUserBadges Internal Link

パラメータ

名前必須説明
tenantIdstringYes
userIdstringNo
badgeIdstringNo
typenumberNo
displayedOnCommentsbooleanNo
limitnumberNo
skipnumberNo

レスポンス

戻り値: GetUserBadgesResponse

getUserBadges の例
Copy Copy
1
2async function example() {
3 const tenantId: string = "tenant-01";
4 const userId: string = "user-42";
5 const badgeId: string = "badge-gold";
6 const type: number = 1;
7 const displayedOnComments: boolean = true;
8 const limit: number = 10;
9 const skip: number = 5;
10
11 const fullResult: GetUserBadgesResponse = await getUserBadges(
12 tenantId,
13 userId,
14 badgeId,
15 type,
16 displayedOnComments,
17 limit,
18 skip
19 );
20
21 const minimalResult: GetUserBadgesResponse = await getUserBadges(tenantId);
22}
23example();
24

updateUserBadge Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
idstringはい
updateUserBadgeParamsUpdateUserBadgeParamsはい

レスポンス

返却: UpdateUserBadgeResponse

updateUserBadge の例
Copy Copy
1
2async function applyBadge() {
3 const tenantId: string = "acme-corp-tenant";
4 const userId: string = "user-98765";
5
6 const params: UpdateUserBadgeParams = {
7 badgeId: "gold-contributor",
8 // オプションフィールドの例
9 expiresAt: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
10 };
11
12 const result: UpdateUserBadgeResponse = await updateUserBadge(tenantId, userId, params);
13 console.log(result);
14}
15
16applyBadge();
17

getUserNotificationCount Internal Link

パラメータ

名前必須説明
tenantIdstringYes
ssostringNo

レスポンス

戻り値: GetUserNotificationCountResponse1

getUserNotificationCount の例
Copy Copy
1
2async function demoGetUserNotificationCount() {
3 const tenantId: string = "acme-corp-01";
4
5 // オプションの SSO トークンで呼び出す
6 const countWithSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
7 tenantId,
8 "sso-token-abc123"
9 );
10
11 // SSO トークンなしで呼び出す
12 const countWithoutSSO: GetUserNotificationCountResponse1 = await getUserNotificationCount(
13 tenantId
14 );
15
16 console.log(countWithSSO, countWithoutSSO);
17}
18

getUserNotifications Internal Link

パラメータ

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

レスポンス

返却: GetUserNotificationsResponse

getUserNotifications の例
Copy Copy
1
2async function fetchUserNotifications() {
3 const tenantId: string = "tenant_9f4b2c";
4 const urlId: string = "post_1234";
5 const pageSize: number = 25;
6 const afterId: string = "notif_5678";
7 const includeContext: boolean = true;
8 const unreadOnly: boolean = false;
9 const dmOnly: boolean = false;
10 const includeTranslations: boolean = true;
11
12 const notifications: GetUserNotificationsResponse = await getUserNotifications(
13 tenantId,
14 urlId,
15 pageSize,
16 afterId,
17 includeContext,
18 undefined,
19 unreadOnly,
20 dmOnly,
21 undefined,
22 includeTranslations,
23 undefined,
24 undefined
25 );
26
27 console.log(notifications);
28}
29

resetUserNotificationCount Internal Link

Parameters

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

Response

戻り値: ResetUserNotificationCountResponse

Example

resetUserNotificationCount の例
Copy Copy
1
2async function demoResetCount() {
3 const tenantId: string = "acme-corp-tenant";
4 const sso: string = "sso-user-9876";
5
6 // オプションの sso パラメータで呼び出す
7 const resultWithSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId, sso);
8
9 // オプションの sso パラメータなしで呼び出す
10 const resultWithoutSso: ResetUserNotificationCountResponse = await resetUserNotificationCount(tenantId);
11
12 console.log(resultWithSso, resultWithoutSso);
13}
14

resetUserNotifications Internal Link

パラメータ

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

応答

返却: ResetUserNotificationsResponse1

resetUserNotifications の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-001";
4 const afterId: string = "notif-123";
5 const afterCreatedAt: number = 1697049600; // 例の UNIX タイムスタンプ
6 const unreadOnly: boolean = true;
7 const dmOnly: boolean = false;
8 const noDm: boolean = false;
9 const sso: string = "sso-token-xyz";
10
11 const result: ResetUserNotificationsResponse1 = await resetUserNotifications(
12 tenantId,
13 afterId,
14 afterCreatedAt,
15 unreadOnly,
16 dmOnly,
17 noDm,
18 sso
19 );
20
21 console.log(result);
22})();
23

updateUserNotificationCommentSubscriptionStatus Internal Link

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

パラメータ

名前必須説明
tenantIdstringYes
notificationIdstringYes
optedInOrOutUpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnumYes
commentIdstringYes
ssostringNo

レスポンス

返却: UpdateUserNotificationCommentSubscriptionStatusResponse

updateUserNotificationCommentSubscriptionStatus 例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const notificationId: string = "notif_9876";
4const commentId: string = "comment_abc123";
5const optedInOrOut: UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum =
6 UpdateUserNotificationCommentSubscriptionStatusOptedInOrOutEnum.OptIn;
7const sso: string = "ssoTokenXYZ";
8
9const responseWithSso: UpdateUserNotificationCommentSubscriptionStatusResponse =
10 await updateUserNotificationCommentSubscriptionStatus(
11 tenantId,
12 notificationId,
13 optedInOrOut,
14 commentId,
15 sso
16 );
17
18const responseWithoutSso: UpdateUserNotificationCommentSubscriptionStatusResponse =
19 await updateUserNotificationCommentSubscriptionStatus(
20 tenantId,
21 notificationId,
22 optedInOrOut,
23 commentId
24 );
25

updateUserNotificationPageSubscriptionStatus Internal Link

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

Parameters

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
urlstringYes
pageTitlestringYes
subscribedOrUnsubscribedUpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnumYes
ssostringNo

Response

戻り値: UpdateUserNotificationPageSubscriptionStatusResponse

Example

updateUserNotificationPageSubscriptionStatus の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant-2024";
4 const urlId: string = "page-5678";
5 const url: string = "https://example.com/articles/typescript-tips";
6 const pageTitle: string = "Top TypeScript Tips";
7 const subscribedOrUnsubscribed: UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum =
8 UpdateUserNotificationPageSubscriptionStatusSubscribedOrUnsubscribedEnum.Subscribed;
9 const sso: string = "sso-token-xyz";
10
11 const resultWithSso: UpdateUserNotificationPageSubscriptionStatusResponse = await updateUserNotificationPageSubscriptionStatus(
12 tenantId,
13 urlId,
14 url,
15 pageTitle,
16 subscribedOrUnsubscribed,
17 sso
18 );
19
20 const resultWithoutSso: UpdateUserNotificationPageSubscriptionStatusResponse = await updateUserNotificationPageSubscriptionStatus(
21 tenantId,
22 urlId,
23 url,
24 pageTitle,
25 subscribedOrUnsubscribed
26 );
27})();
28

updateUserNotificationStatus Internal Link

パラメータ

名前必須説明
tenantIdstringYes
notificationIdstringYes
newStatusUpdateUserNotificationStatusNewStatusEnumYes
ssostringNo

レスポンス

戻り値: UpdateUserNotificationStatusResponse

updateUserNotificationStatus の例
Copy Copy
1
2const tenantId: string = "acme-corp";
3const notificationId: string = "notif-20231101-001";
4const newStatus: UpdateUserNotificationStatusNewStatusEnum = UpdateUserNotificationStatusNewStatusEnum.Dismissed;
5const ssoToken: string = "sso-9f8e7d6c5b4a";
6
7const result: UpdateUserNotificationStatusResponse = await updateUserNotificationStatus(
8 tenantId,
9 notificationId,
10 newStatus,
11 ssoToken
12);
13

getUserPresenceStatuses Internal Link

パラメータ

名前必須説明
tenantIdstringYes
urlIdWSstringYes
userIdsstringYes

応答

返り値: GetUserPresenceStatusesResponse1

getUserPresenceStatuses の例
Copy Copy
1
2async function fetchUserPresences() {
3 const tenantId: string = "tenant_9f8e2d";
4 const urlIdWS: string = "blog.mycompany.com/thread/12345";
5 const userIds: string = "alice,bob,carol";
6
7 const result: GetUserPresenceStatusesResponse1 = await getUserPresenceStatuses(
8 tenantId,
9 urlIdWS,
10 userIds
11 );
12
13 console.log(result);
14}
15

searchUsers Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
usernameStartsWithstringNo
mentionGroupIdsArrayNo
ssostringNo
searchSectionSearchUsersSearchSectionEnumNo

レスポンス

戻り値: SearchUsersResponse1

searchUsers の例
Copy Copy
1
2async function demoSearch(): Promise<void> {
3 const tenantId: string = "tenant_12345";
4 const urlId: string = "article-9876";
5 const usernameStartsWith: string = "john";
6 const mentionGroupIds: string[] = ["groupA", "groupB"];
7 const sso: string = "sso_abc123";
8 const searchSection: SearchUsersSearchSectionEnum = SearchUsersSearchSectionEnum.Users;
9
10 const response: SearchUsersResponse1 = await searchUsers(
11 tenantId,
12 urlId,
13 usernameStartsWith,
14 mentionGroupIds,
15 sso,
16 searchSection
17 );
18
19 console.log(response);
20}
21
22demoSearch();
23

getUser Internal Link

パラメータ

名前必須説明
tenantIdstringYes
idstringYes

レスポンス

戻り値: GetUserResponse1

getUser の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "tenant_12345";
4 const userId: string = "user_98765";
5 const result: GetUserResponse1 = await getUser(tenantId, userId);
6})();
7

createVote Internal Link

パラメータ

名前必須説明
tenantIdstringYes
commentIdstringYes
directionCreateVoteDirectionEnumYes
userIdstringNo
anonUserIdstringNo

レスポンス

戻り値: CreateVoteResponse

createVote の例
Copy Copy
1
2const tenantId: string = "tenant_12345";
3const commentId: string = "comment_987654";
4const direction: CreateVoteDirectionEnum = CreateVoteDirectionEnum.Upvote;
5const userId: string = "user_7f9a2b";
6
7const voteResult: CreateVoteResponse = await createVote(
8 tenantId,
9 commentId,
10 direction,
11 userId
12);
13

deleteVote Internal Link

パラメータ

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

応答

戻り値: DeleteVoteResponse

deleteVote の例
Copy Copy
1
2(async () => {
3 const tenantId: string = "acme-corp";
4 const commentId: string = "comment-9876";
5 const editKey: string = "edit-key-123";
6
7 const resultWithEdit: DeleteVoteResponse = await deleteVote(tenantId, commentId, editKey);
8 const resultWithoutEdit: DeleteVoteResponse = await deleteVote(tenantId, commentId);
9})();
10

getVotes Internal Link

パラメータ

名前タイプ必須説明
tenantIdstringはい
urlIdstringはい

レスポンス

返却: GetVotesResponse1

getVotes の例
Copy Copy
1
2async function fetchVotes(): Promise<void> {
3 const tenantId: string = "acme-corp-01";
4 const urlId: string = "article-2024-05-15";
5
6 const response: GetVotesResponse1 = await getVotes(tenantId, urlId);
7
8 // レスポンスのオプションフィールドにアクセスする例
9 const firstVoteId: string | undefined = response?.votes?.[0]?.id;
10}
11

getVotesForUser Internal Link

パラメータ

NameTypeRequiredDescription
tenantIdstringYes
urlIdstringYes
userIdstringNo
anonUserIdstringNo

レスポンス

返却: GetVotesForUserResponse1

getVotesForUser の例
Copy Copy
1
2async function demo() {
3 const tenantId: string = "acme-corp";
4 const urlId: string = "post-9f8b7c";
5 const userId: string = "user-42";
6 const anonUserId: string = "anon-123";
7
8 const votesRequiredOnly: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId);
9 const votesWithUserId: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId, userId);
10 const votesWithAnonId: GetVotesForUserResponse1 = await getVotesForUser(tenantId, urlId, undefined, anonUserId);
11}
12demo();
13

ヘルプが必要ですか?

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

貢献

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