注文アクションの有効化
B2B Commerce Checkout フローで、Salesforce 標準ドラフト注文を有効化します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| サポートされているエディションを表示する。 |
Flow Builder で、[アクション] 要素をフローに追加します。[B2B Commerce] カテゴリを選択し、[注文を有効化] を検索します。API からこのアクションにアクセスするには、activateOrderAction という名前を使用します。
入力値を設定:
フローの前半の値を使用して、入力を設定します。
| 入力パラメーター | 説明 |
|---|---|
| cartId | チェックアウトに移行するカートの ID。 |
| orderStatus | OrderTypeEnum 値が含まれる DynamicEnum。 |
出力値を保存:
| 出力パラメーター | 説明 |
|---|---|
| backgroundOperationId | カート内のすべての品目の合計金額を処理するバックグラウンド操作の ID。 |
エラー条件:
| エラー条件 | 説明 |
|---|---|
| 無効な CartId 入力 | 受け入れられないカート ID の値です。 エラーコード: UNKNOWN_EXCEPTION HTTP 状況コード: 500 |
| ユーザーがアクションを呼び出すことができない | コール元にアクションをコールするための適切な権限 (MAD や B2B Commerce インテグレーターユーザー権限など) がありません。 エラーコード: BAD_REQUEST HTTP 状況コード: 400 |
| ユーザーがカートにアクセスできない | 購入者はカートを所有していないか、カートへの参照アクセス権がないか、カートを共有していません。 エラーコード: BAD_REQUEST HTTP 状況コード: 400 |
| カートが [チェックアウト] 状態になっていない | カート状況が [チェックアウト] 状態になっていないため続行できません。 エラーコード: INVALID_OPERATION HTTP 状況コード: 403 |
| インテグレーションがすでに処理中 | 一度に処理できるインテグレーションは 1 つのみです。このエラーでは、インテグレーションがいつ実行中になったのかが示されます。 エラーコード: ALREADY_IN_PROCESS HTTP 状況コード: 400 |
| カートに関連付けられた取引先が無効かアクセス不可 | リストされた有効取引先が無効です。 エラーコード: INSUFFICIENT_ACCESS_OR_READONLY HTTP 状況コード: 500 |
| ユーザーがストアのメンバーではない | ユーザーがストアのメンバーではありません。 エラーコード: INSUFFICIENT_ACCESS_OR_READONLY HTTP 状況コード: 500 |
| CartValidationOutput オブジェクトにエラーがある | CartValidationOutput オブジェクトに、注文を有効化する前にクリアする必要があるカートに関連するエラーがあります。 エラーコード: INVALID_INPUT HTTP 状況コード: 403 |
| CheckoutSession が [有効化] 状態になっていない | 注文の有効化を進めるには、チェックアウトセッションの状態が [有効化] である必要があります。 エラーコード: INVALID_INPUT HTTP 状況コード: 403 |
| CheckoutSession が [処理中] 状態になっている | CheckoutSession は [処理中] 状態にできません。[処理中] は、個別のインテグレーションがすでに実行されていることを示します。 エラーコード: INVALID_INPUT HTTP 状況コード: 403 |
| 無効な注文状況入力 | API に渡される注文状況入力は、 エラーコード: UNKNOWN_EXCEPTION HTTP 状況コード: 500 |
| OrderSummary が作成されなかった | 内部エラーのため、OrderSummary が作成されませんでした。 エラーコード: UNKNOWN_EXCEPTION HTTP 状況コード: 403 |
| OrderSummary がすでに存在する | 別の Apex トリガー、フローベースのトリガー、またはその他のプロセスによって、注文の有効化に渡される注文の OrderSummary がすでに作成されています。 エラーコード: UNKNOWN_EXCEPTION HTTP 状況コード: 500 |
使用方法:
B2B Commerce の [注文を有効化] アクションを使用する場合、次の要件が適用されます。
- ユーザーにアクションを呼び出す適切な権限がある。
- 有効取引先が有効である。
- 購入者取引先がストアのメンバーである。
- 購入者にカートへの編集アクセス権がある。
Draft状況の注文は cartToOrder アクションから生成され、orderId は CartCheckoutSession に含まれる。- カートの状況が
CartStatusEnum.CHECKOUTである。 Session.IsProcessingがFalseに設定されていない。Session.NextStateがactivateOrderに設定されている。Session.Stateは空にできない。- backgroundOperationId は
NewまたはRunningにできない。 - すでに OrderSummary レコードに関連付けられている注文は有効化できない。
[注文を有効化] アクションが実行されると、次の API のやりとりが発生します。
- 注文品目が有効化され、参照のみになる。
- 注文概要が非同期で生成される。
- CheckoutSession がアーカイブされる。
- カートがアーカイブされる。
