---
sidebar_position: 4
title: "注文とプロビジョニング"
---

# 注文とプロビジョニング

顧客の注文がどのように作成され、どこに保存され、フルフィルメントがどのようにWHMCSに到達するかを説明します。

## 注文作成（顧客チェックアウト）

- 注文はポータル価格表を使用してSalesforceに作成されます。レコードに含まれるもの：
  - AccountId（ユーザーのマッピングから）
  - 注文タイプ（Internet、SIM、VPN）
  - アクティベーション設定
  - 顧客プロフィール/チェックアウトフォームからの住所スナップショット
  - ステータスは「Pending Review」で開始
- 作成前にWHMCS支払い方法の存在と（インターネットの場合）WHMCSにアクティブなインターネットサービスがないことを確認。

## WHMCSへのフルフィルメント（Salesforceトリガー）

- Salesforce Change Data Capture (CDC)が注文ステータスの変更を監視。トリガー時にプロビジョニングジョブをキューに入れます。
- フルフィルメントステップ：
  1. Salesforce注文のactivation statusを「Activating」に設定
  2. Salesforce注文アイテムをWHMCS商品にマッピングし、WHMCS AddOrderを呼び出して請求注文を作成
  3. SIM注文の場合、FreebitでSIMをアクティベート
  4. SalesforceをWHMCS Order ID、activation status/結果、エラーコード/メッセージで更新
  5. ライブイベントを公開してUIが注文ステータスをリアルタイム更新（SSE）

## データの所在

- Salesforce：マスター注文レコード、ステータス、住所スナップショット、商品明細
- WHMCS：フルフィルメント時に作成される請求コピー（請求書/サブスクリプション用）
- Freebit：SIMプロビジョニングタスクのみ

## エラー時の動作

- 支払い方法不足：フルフィルメントを一時停止。`Activation_Error_Code__c` = `PAYMENT_METHOD_MISSING`
- 検証/マッピング問題：停止してエラーを返却。Salesforceにエラーコード/メッセージを記録
- WHMCSエラー：失敗としてマークし、エラーをSalesforceに書き戻し
- Freebit/SIMエラー：ログに記録しactivation statusに表示。リトライ用にSalesforceに注文を保持
