Assist_Design/docs/ja/how-it-works/system-overview.md
ramirez d7efc99fdc Add Japanese translations of UAT and how-it-works documentation
Translated all UAT test guides and how-it-works documentation to Japanese.
Files are organized under docs/ja/uat/ and docs/ja/how-it-works/.
2026-02-24 12:11:14 +09:00

57 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 1
title: "システム概要"
---
# ポータルの仕組み(概要)
目的:ポータルの機能、各システムが管理するデータ、データの鮮度管理方法を説明します。
## コアコンポーネントと責務
- Portal UI (Next.js) + BFF API (NestJS):すべてのユーザートラフィックを処理し、外部システムを呼び出します。
- Postgresポータルユーザーとクロスシステムマッピング `user_id ↔ whmcs_client_id ↔ sf_account_id` を保存。
- Redisキャッシュ**グローバル**キャッシュ(商品カタログなど)と**アカウントスコープ**キャッシュ(利用資格など)の組み合わせで負荷を軽減し、顧客データの混在を防ぎます。
- WHMCS請求の管理システムクライアント、住所、請求書、支払い方法、サブスクリプション
- SalesforceCRMアカウント/コンタクト)、商品カタログ/価格表、注文、サポートケースの管理システム。
- FreebitSIMプロビジョニングのみ、モバイル/SIM注文のフルフィルメント時に使用。
## 高レベルデータフロー
- **サインアップ**ポータルがSalesforceでCustomer Numberを確認 → WHMCSクライアント請求アカウントを作成 → ポータルユーザー + マッピングを保存 → Salesforceをポータルステータス + WHMCS IDで更新。
- **ログイン/リンク**既存WHMCSユーザーがWHMCS認証情報を検証。ポータルユーザーを作成し、IDをマッピングし、Salesforceアカウントをポータルアクティブとしてマーク。
- **サービス & チェックアウト**:商品/価格はSalesforceのポータル価格表から取得。利用資格はアカウントごとに確認。チェックアウト前にWHMCSの支払い方法が必要。
- **注文**Salesforceに住所スナップショット付きで作成。Salesforce変更イベントがフルフィルメントをトリガーし、対応するWHMCS注文を作成しSalesforceステータスを更新。
- **請求**請求書、支払い方法、サブスクリプションはWHMCSから読み取り。WHMCS内での請求書支払い用に安全なSSOリンクを生成。
- **サポート**ケースはOrigin = "Portal Website"でSalesforceに直接作成/読み取り。
## データ所有権チートシート
- ID & セッションPortal DBハッシュ化パスワード、WHMCS/SF認証情報の保存なし
- 請求プロフィール & 住所WHMCS権威的ソース。ポータルが変更をWHMCSに書き戻し。
- 注文 & 注文ステータスSalesforce真のソース。フルフィルメント時にWHMCSが請求/プロビジョニングコピーを受信。
- サポートケースSalesforceポータルはアカウントのケースのみフィルター
## キャッシュ & 鮮度Redis
- サービスカタログイベント駆動Salesforce CDC+ 12時間の安全TTL。「volatile」データは60秒TTL。
- 注文イベント駆動Salesforce CDC、TTLなし。
- 請求書一覧90秒キャッシュ、詳細5分キャッシュ。
- サブスクリプション/サービス一覧5分、個別10分キャッシュ。
- 支払い方法15分キャッシュ。決済ゲートウェイ一覧1時間キャッシュ。
- WHMCSクライアントプロフィール30分キャッシュ。
- サポートケースSalesforceからライブ読み取りキャッシュなし
## エラー時の動作
- 安全に失敗し明確なメッセージを表示Customer Number不明、重複アカウント、支払い方法不足など。
- WHMCS/Salesforceが一時的に利用不可の場合、部分的なデータではなく「後でやり直してください」メッセージを表示。
- フルフィルメントがエラーコード/メッセージをSalesforceに書き戻し、チームがプロビジョニング停止の理由を確認可能。
## パブリック vs アカウントAPIの境界
BFFは2種類のサービスカタログエンドポイントを公開
- **パブリックカタログ(パーソナライズなし)**`GET /api/public/services/*` — Cookie/トークンを無視。パブリックキャッシュ可能。
- **アカウントカタログ(認証 + パーソナライズ)**`GET /api/account/services/*` — 認証が必要。アカウント固有のカタログバリアント返却可能。