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/.
84 lines
3.5 KiB
Markdown
84 lines
3.5 KiB
Markdown
---
|
||
sidebar_position: 5
|
||
title: "注文とプロビジョニング(詳細)"
|
||
---
|
||
|
||
# 注文とプロビジョニング(詳細ガイド)
|
||
|
||
注文作成からフルフィルメントまでの詳細な技術フローを説明します。
|
||
|
||
## 注文作成フロー
|
||
|
||
### チェックアウトセッション
|
||
|
||
- ユーザーがプランを設定すると、チェックアウトセッションがサーバーサイドで構築されます
|
||
- セッションには選択されたプラン、アドオン、設置オプション、すべての設定詳細が含まれます
|
||
- セッションには有効期限があり、長時間経過すると設定プロセスのやり直しが必要
|
||
|
||
### 事前検証
|
||
|
||
1. ユーザーにWHMCSクライアントマッピングが存在すること
|
||
2. WHMCSに少なくとも1つの支払い方法が存在すること
|
||
3. インターネット注文の場合、WHMCSにアクティブなインターネットサービスがないこと
|
||
4. 在留カードが提出済み(SubmittedまたはVerified)であること
|
||
|
||
### Salesforce Order構造
|
||
|
||
**Orderオブジェクトフィールド:**
|
||
|
||
| フィールド | API名 | 値 |
|
||
| --- | --- | --- |
|
||
| AccountId | `AccountId` | IDマッピングから |
|
||
| Status | `Status` | "Draft" |
|
||
| Type | `Type__c` | Internet / SIM / VPN |
|
||
| EffectiveDate | `EffectiveDate` | 本日の日付 |
|
||
| Pricebook2Id | `Pricebook2Id` | ポータル価格表ID |
|
||
|
||
**OrderItemレコード:**
|
||
- Salesforce Composite API経由で作成
|
||
- 各SKUに対してPricebookEntryIdからカタログ検索
|
||
- UnitPriceとQuantityを価格表から設定
|
||
|
||
### 住所スナップショット
|
||
|
||
注文には注文時点の住所が保存されます。後でプロフィールの住所が変更されても、注文の住所は変わりません。
|
||
|
||
## フルフィルメントプロセス
|
||
|
||
### トリガー
|
||
|
||
- Salesforce CDCが注文ステータスの変更を検出(例:「Approved」「Reactivate」)
|
||
- イベントがBFFのプロビジョニングキュー(BullMQ)に送信
|
||
- べき等キーによる重複処理防止
|
||
|
||
### プロビジョニングステップ
|
||
|
||
1. Salesforce `Activation_Status__c` = "Activating" に更新
|
||
2. Salesforce OrderItemsをWHMCS商品にマッピング
|
||
3. WHMCS `AddOrder` APIアクションを呼び出し:WHMCS注文、請求書、サブスクリプションレコードを作成
|
||
4. SIM注文の場合:FreebitアクティベーションAPIを呼び出し
|
||
5. SalesforceをWHMCS Order ID、Activation Status、エラー情報で更新
|
||
6. 注文キャッシュを無効化
|
||
7. UI ライブ更新用のリアルタイムイベントを公開
|
||
|
||
### 分散トランザクション
|
||
|
||
フルフィルメントはロールバック付きの分散トランザクションパターンを使用:
|
||
- Salesforceステータス更新後にWHMCS作成が失敗 → Salesforceステータスをロールバック
|
||
- WHMCSに部分的な注文は残りません
|
||
|
||
### エラー処理
|
||
|
||
| シナリオ | 動作 |
|
||
| --- | --- |
|
||
| 支払い方法不足 | Salesforceに`PAYMENT_METHOD_MISSING`で一時停止 |
|
||
| WHMCS APIエラー | 失敗としてマーク、Salesforceステータスをロールバック |
|
||
| Freebitエラー | 失敗としてマーク、エラーをSalesforceに記録 |
|
||
| 一時的エラー | BullMQキューでバックオフ付きリトライ |
|
||
|
||
## リアルタイム注文追跡
|
||
|
||
- 顧客は注文イベントストリーム(SSE)に接続可能
|
||
- Salesforceでステータスが変更されると、UIが手動更新なしで自動更新
|
||
- 注文詳細ページはServer-Sent Events経由でライブ接続を維持
|