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/.
3.6 KiB
3.6 KiB
sidebar_position, title
| sidebar_position | title |
|---|---|
| 6 | 注文フルフィルメント |
注文フルフィルメント
Salesforceの注文がWHMCSのサービスとして実現される技術的プロセスを説明します。
フルフィルメントトリガー
Salesforce Change Data Capture (CDC)が注文のActivation_Status__cフィールドの変更を検出すると、BFFのプロビジョニングキュー(BullMQ)にジョブがエンキューされます。
トリガー条件
- 注文ステータスが「Approved」または「Reactivate」に変更
- べき等キーにより同一注文の重複処理を防止
- ジョブはバックオフ付きリトライ戦略を使用
プロビジョニングワークフロー
ステップ1:ステータス更新
Salesforce注文のActivation_Status__cを「Activating」に設定し、処理中であることを示します。
ステップ2:WHMCS注文作成
- Salesforce OrderItemsをWHMCS商品IDにマッピング(Product2の
WH_Product_ID__cフィールドを使用) - WHMCS
AddOrderAPIアクションを呼び出し - 作成されるもの:WHMCSオーダー、請求書、サブスクリプション/サービスレコード
- 支払い方法:
stripe - プロモコード:設定されている場合に適用
ステップ3:SIMアクティベーション(SIM注文のみ)
- eSIM注文:Freebit APIでeSIMプロファイルをアクティベート
- Physical SIM注文:エージェントが
Assign_Physical_SIM__cにSIMを割り当て後にアクティベート
ステップ4:Salesforce更新
WHMCS_Order_ID__cに作成されたWHMCS Order IDを記録Activation_Status__cを「Active」(成功時)またはエラーステータスに更新- 各OrderItemに
WHMCS_Service_ID__cを記録 - 関連Opportunityに
WHMCS_Service_ID__cを記録しステージを「Active」に更新
ステップ5:リアルタイム通知
- SSEイベントを公開して接続中のクライアントに注文ステータスの変更を通知
- アプリ内通知を作成(「Order approved」「Service activated」など)
エラー処理とリカバリ
支払い方法不足
Activation_Error_Code__c = PAYMENT_METHOD_MISSINGが設定されます。顧客がWHMCSで支払い方法を追加し、サポートチームが再トリガーするまでプロビジョニングは一時停止されます。
WHMCS APIエラー
- WHMCS注文作成失敗時、Salesforceステータスをロールバック
- エラーコードとメッセージをSalesforceに記録
- 部分的なWHMCS注文は保持されません
Freebit/SIMエラー
- エラーをログに記録しactivation statusに表示
- 注文はSalesforceにリトライ用に保持
一時的エラー
- BullMQキューでエクスポネンシャルバックオフ付きリトライ
- 最大リトライ回数後にフルフィルメント失敗としてマーク
双方向リンク
フルフィルメント後、システムは双方向にリンクされます:
| 方向 | フィールド | 場所 | 値 |
|---|---|---|---|
| SF Order → WHMCS | WHMCS_Order_ID__c |
Salesforce Order | WHMCS Order ID |
| SF OrderItem → WHMCS | WHMCS_Service_ID__c |
Salesforce OrderItem | WHMCSサービスID |
| SF Opportunity → WHMCS | WHMCS_Service_ID__c |
Salesforce Opportunity | メインWHMCSサービスID |
| WHMCS Service → SF | OpportunityIdカスタムフィールド | WHMCS Product/Service | Salesforce Opportunity ID |
この双方向リンクにより解約が機能します。ポータルはWHMCSサービスIDでOpportunityを検索しステージを更新します。