ACSD-50368:透過非同步REST API或非同步大量REST API建立客戶時,會忽略客戶group_id

NOTE
ACSD-50368修補程式已部分淘汰,因為此問題已由2.4.4以上版本的強制安全性修補程式APSB25-08解決。

ACSD-50368修補程式修正了透過Async REST API或Async Bulk REST API建立客戶時,忽略客戶group_id的問題。 安裝Quality Patches Tool (QPT) 1.1.33時,即可使用此修補程式。 修補程式ID為ACSD-50368。 請注意,此問題已排程在Adobe Commerce 2.4.7中修正。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.4

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.4.3 - 2.4.3-p3
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

透過非同步REST API或非同步大量REST API建立客戶時,會忽略客戶group_id。

必要條件

設定RabbitMQ以處理佇列:

bin/magento setup:config:set --amqp-host=services --amqp-port=5672 --amqp-user=guest --amqp-password=guest
bin/magento setup:upgrade --keep-generated

要再現的步驟

  1. 使用非同步Rest API請求來建立客戶:

    code language-none
    curl --location 'https://site.test/rest/default/async/V1/customers' \
    --header 'Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MiwiaWF0IjoxNjc5NDMzNzcxLCJleHAiOjE2Nzk0MzczNzF9.xau6KyILrkdCY_8K8aMlH4TmqcCXdH4Zcst_CLhdxYY' \
    --header 'Content-Type: application/json' \
    --header 'Cookie: PHPSESSID=844fltmqq1g15qe4ju3l00tiai' \
    --data-raw '{
        "customer": {
            "email": "foo@bar.test",
            "firstname": "Test",
            "lastname": "User",
            "group_id": 2
        }
    }
    
  2. 會傳回類似的回應:

    code language-none
    {
        "bulk_uuid": "b101ddcb-b7fd-4208-a2a6-2e84c9e61bcd",
        "request_items": [
            {
                "id": 0,
                "data_hash":   "6e718a93b02a30a98cb994d1c4e8cf1eeedcb962f384e4a463c"   ,
                "status": "accepted"
            }
        ],
        "errors": false
    }
    
  3. 檢查此非同步請求的狀態:

    code language-none
    curl --location 'https://site.test/rest/default/V1/bulk/b101ddcb-b7fd-4208-a2a6-2e84c9e61bcd/detailed-status' \
    --header 'Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MiwiaWF0IjoxNjc5NDMzNzcxLCJleHAiOjE2Nzk0MzczNzF9.xau6KyILrkdCY_8K8aMlH4TmqcCXdH4Zcst_CLhdxYY' \
    --header 'Cookie: PHPSESSID=844fltmqq1g15qe4ju3l00tiai
    

預期結果

新客戶的group_id正確設定為2。

實際結果

針對新客戶,group_id會設定為預設值1。

{
    "operations_list": [
        {
            "id": 0,
            "bulk_uuid": "b101ddcb-b7fd-4208-a2a6-2e84c9e61bcd",
            "topic_name": "async.magento.customer.api.accountmanagementinterface.createaccount.post",
            "serialized_data": null,
            "result_serialized_data": "{\"id\":4,\"group_id\":1,\"created_at\":\"2023-03-21 22:01:09\",\"updated_at\":\"2023-03-21 22:01:09\",\"created_in\":\"Default Store View\",\"email\":\"foo@bar.test\",\"firstname\":\"Test\",\"lastname\":\"User\",\"store_id\":1,\"website_id\":1,\"addresses\":[],\"disable_auto_group_change\":0,\"extension_attributes\":{\"is_subscribed\":false}}",
            "status": 1,
            "result_message": "Service execution success Magento\\Customer\\Model\\AccountManagement\\Interceptor::createAccount",
            "error_code": null
        }
    ],
        "user_type": 2,
        "bulk_id": "b101ddcb-b7fd-4208-a2a6-2e84c9e61bcd",
        "description": "Topic async.magento.customer.api.accountmanagementinterface.createaccount.post",
        "start_time": "2023-03-21 22:01:09",
        "user_id": 1,
        "operation_count": 1
}

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3