Die Rechnungserstellung schlägt bei konfigurierbaren Elementen bei Verwendung der Adobe Commerce-REST-API fehl
Die Rechnungserstellung mit der Adobe Commerce REST-API schlägt für konfigurierbare Produkte fehl, bei denen der Artikel nicht auf der Rechnung angezeigt wird und bei denen keine Validierungsfehler Trigger sind. Zur Behebung dieses Problems verweisen Sie in der Rechnungsanfrage auf die Artikel-ID des konfigurierbaren (übergeordneten) Produkts anstelle des einfachen (untergeordneten) Produkts.
Beschreibung description
Umgebung
Adobe Commerce
Problem/Symptome
- Über die API erstellte Rechnungen enthalten keine konfigurierbaren Produkte.
- Wenn nur untergeordnete (einfache) Element-IDs verwendet werden, wird keine Fehlermeldung angezeigt.
- Einschließlich übergeordneter und untergeordneter Artikel-IDs mit Null-Menge für die übergeordneten Rücksendungen Die Rechnung kann nicht ohne Produkte erstellt werden.
- Einfache Produktrechnung erfolgreich.
Lösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
-
Identifizieren Sie die Element-ID des konfigurierbaren (übergeordneten) Produkts aus der Bestellung, indem Sie die
sales_order_itemabfragen.code language-none select item_id, sku, product_type from sales_order_item; 208 simple_skuA configurable 211 simple_skuA simple 214 simple_skuB configurable 217 simple_skuB simple 220 simple_skuC simple 223 simple_skuD simple -
Erstellen Sie die Rechnung über die REST-API, indem Sie nur die Element-ID des konfigurierbaren übergeordneten Produkts in die Payload der Anfrage aufnehmen.
Hinweis: Schließen Sie keine untergeordneten (einfachen) Produktelementkennungen ein und setzen Sie die Menge für keine Artikel auf null.
-
Senden Sie die Anfrage zur Rechnungserstellung mit der folgenden Payload-Struktur:
code language-none curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ https://<store_url>/rest/V1/order/<order_id>/invoice { "items": [ { "order_item_id": 208, "qty": 1 }, { "order_item_id": 220, "qty": 1 }, { "order_item_id": 223, "qty": 1 } ] } -
Stellen Sie sicher, dass die erstellte Rechnung Positionen für alle gewünschten konfigurierbaren Produkte enthält.
Hinweis
Wenn mehrere Varianten eines konfigurierbaren Produkts innerhalb einer Bestellung vorhanden sind, verwenden Sie beim Erstellen von Rechnungen jede relevante übergeordnete Artikel-ID, die diesen Varianten entspricht.
select item_id, sku, product_type from sales_order_item;
226 simple_skuA configurable
229 simple_skuA simple
232 simple_skuB configurable
235 simple_skuB simple
In diesem Beispiel verwendet die Payload zur Rechnungsvariante B der SKU simple_skuB die ID des übergeordneten Artikels 232.