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

85 lines
3.6 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: 6
title: "注文フルフィルメント"
---
# 注文フルフィルメント
Salesforceの注文がWHMCSのサービスとして実現される技術的プロセスを説明します。
## フルフィルメントトリガー
Salesforce Change Data Capture (CDC)が注文の`Activation_Status__c`フィールドの変更を検出すると、BFFのプロビジョニングキューBullMQにジョブがエンキューされます。
### トリガー条件
- 注文ステータスが「Approved」または「Reactivate」に変更
- べき等キーにより同一注文の重複処理を防止
- ジョブはバックオフ付きリトライ戦略を使用
## プロビジョニングワークフロー
### ステップ1ステータス更新
Salesforce注文の`Activation_Status__c`を「Activating」に設定し、処理中であることを示します。
### ステップ2WHMCS注文作成
- Salesforce OrderItemsをWHMCS商品IDにマッピングProduct2の`WH_Product_ID__c`フィールドを使用)
- WHMCS `AddOrder` APIアクションを呼び出し
- 作成されるものWHMCSオーダー、請求書、サブスクリプション/サービスレコード
- 支払い方法:`stripe`
- プロモコード:設定されている場合に適用
### ステップ3SIMアクティベーションSIM注文のみ
- eSIM注文Freebit APIでeSIMプロファイルをアクティベート
- Physical SIM注文エージェントが`Assign_Physical_SIM__c`にSIMを割り当て後にアクティベート
### ステップ4Salesforce更新
- `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を検索しステージを更新します。