ACP2E-4653: カート価格ルール カテゴリ スコープの条件がREST APIにありません

ACP2E-4653 パッチは、REST APIを通じてルールを取得または更新する際に、Category (Parent Only)​および​ Category (Children Only) ​のカート価格ルール条件属性の範囲が公開されない問題を修正します。 このパッチは、Quality Patches Tool (QPT) 1.1.80がインストールされている場合に利用できます。 パッチ IDはACP2E-4653です。 この問題は、Adobe Commerce 2.4.9で修正される予定です。

影響を受ける製品とバージョン

パッチはAdobe Commerceのバージョン​用に作成されました

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.8-p2

Adobe Commerceのバージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.8 - 2.4.8-p5
NOTE
このパッチは、新しいQuality Patches Tool リリースを含む他のバージョンに適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool:パッチの検索ページ ​で互換性を確認します。 パッチ IDを検索キーワードとして使用して、パッチを検索します。

イシュー

REST APIを通じてカート価格ルールを取得または更新すると、Category (Parent Only)​と​ Category (Children Only) ​の属性範囲が公開されません。

複製する手順:

  1. 管理者資格情報を使用してPOST リクエストをrest/V1/integration/admin/tokenに送信して、管理トークンを生成します。
  2. REST エンドポイント rest/V1/salesRulescategory_ids属性を使用するアクション条件を使用して、カート価格ルールを作成します。
  3. 管理パネルで、買い物かごの価格ルールを開きます。 Actions セクションの​ Apply the rule only to cart items matching the following conditions (leave blank for all items ​の下で、Category (Children Only)​条件を手動で追加します。
  4. 条件を設定して、Category (Children Only)​が<category_id>にならないようにします。
  5. GET リクエストをrest/V1/salesRules/<rule_id>に送信して、APIを介してルールを取得します。
  6. 応答で返されたaction_condition値を確認します。

期待される結果:

  1. REST APIを通じて、Category (Children Only)​条件を含むカート価格ルールを作成、取得、更新できます。

  2. カテゴリ、Category (Parent Only)​および​ Category (Children Only) ​を正しく区別できるように、属性スコープを明示的に公開する必要があります。 例えば、action_conditionは次のように返されます。

    code language-none
            "action_condition": {
                "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product\\Combine",
                "conditions": [
                    {
                        "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product",
                        "operator": "!=",
                        "attribute_name": "category_ids",
                        "value": "4",
                        "extension_attributes": {
                            "attribute_scope": ""
                        }
                    },
                    {
                        "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product",
                        "operator": "==",
                        "attribute_name": "category_ids",
                        "value": "5",
                        "extension_attributes": {
                            "attribute_scope": "children"
                        }
                    }
                ],
                "aggregator_type": "all",
                "operator": null,
                "value": "1"
            },
    

実際の結果:

  1. 両方の条件属性名はcategory_idsとして返されます。
  2. REST APIを通じて​ Category (Children Only) ​条件を持つルールを作成または更新する方法が明確ではありません。

パッチを適用する

個別のパッチを適用するには、デプロイメント方法に応じて次のリンクを使用します。

関連トピックス

Quality Patches Toolについて詳しくは、次を参照してください。

recommendation-more-help
commerce-operations-help-tools