ACP2E-4395: Geschenkkartenprodukte können über API ohne Betrag im globalen Umfang erstellt werden

Mit dem Patch ACP2E-4395 wird das Problem behoben, dass Geschenkkartenprodukte über die API ohne einen Betrag im globalen Umfang erstellt werden. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.81 installiert ist. Die Patch-ID lautet ACP2E-4395. Dieses Problem wird voraussichtlich in Adobe Commerce 2.4.9 behoben.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.7-p8

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5 - 2.4.8-p5
NOTE
Der Patch könnte mit neuen Quality Patches Tool-Versionen auch für andere Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.

Problem

Geschenkkartenprodukte können über eine API ohne Betrag im globalen Umfang erstellt werden.

Schritte zur Reproduktion:

  1. Erhalten Sie die Gutscheinbetrag-Attribut-ID, die im nächsten Schritt verwendet werden soll:

    code language-none
    GET /rest/V1/products/attributes/giftcard_amounts
    
  2. Erstellen Sie über die API ein Geschenkkartenprodukt mit einem Betrag nur im Website-Umfang und keinem Betrag für Alle Websites (website_id = 0):

    code language-none
    POST /rest/V1/products
    {
        "product": {
            "sku": "test-giftcard-bug",
            "name": "Test Gift Card",
            "attribute_set_id": 4,
            "status": 1,
            "visibility": 4,
            "type_id": "giftcard",
            "price": 0,
            "extension_attributes": {
                "website_ids": [1],
                "stock_item": {
                    "qty": 1000,
                    "is_in_stock": true,
                    "manage_stock": false,
                    "use_config_manage_stock": false
                },
                "giftcard_amounts": [
                    { "website_id": 1, "value": 50, "attribute_id": <attribute_id> }
                ]
            },
            "custom_attributes": [
                { "attribute_code": "giftcard_type", "value": "0" },
                { "attribute_code": "allow_open_amount", "value": "0" },
                { "attribute_code": "is_redeemable", "value": "1" }
            ]
        }
    }
    

Erwartete Ergebnisse:

Die Anfrage wird mit HTTP 400 abgelehnt und die Meldung wird angezeigt: Der Betrag für den Bereich „Alle Websites“ sollte angegeben werden oder der offene Betrag sollte zulässig sein.

Tatsächliche Ergebnisse:

Die Anfrage gibt HTTP 200 zurück, und das Geschenkkartenprodukt wird erstellt, obwohl es im globalen Bereich Alle Websites keinen Betrag aufweist, sodass es sich in einem ungültigen Status befindet.

Patch anwenden

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

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