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:

  1. Identifizieren Sie die Element-ID des konfigurierbaren (übergeordneten) Produkts aus der Bestellung, indem Sie die sales_order_item abfragen.

    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
    
  2. 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.

  3. 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
        }
      ]
    }
    
  4. 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.

Verwandtes Lesen

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f