Assist_Design/docs/ja/how-it-works/ordering-provisioning.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

84 lines
3.5 KiB
Markdown
Raw Permalink 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: 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経由でライブ接続を維持