Bestellungen - Feld Vererbung (Field Inheritance) der Produkte (LineItems) fehlt und Parent ist None

Hallo Zusammen,
Ich versuche für eine ERP Schnittstelle die Bestellungen über den search Endpunkt zu importieren.
Ich bekomme auch die Bestellungen, jedoch benötige ich daten aus den Produkten und zwar spezifisch den Namen der Artikel. Meine Abfrage mit den associationen funktioniert auch soweit, dass ich in den LineItems auf die Product relation zugreifen kann. Das Problem entsteht, wenn es sich bei den Artikeln um Varianten handelt bei denen die Felder vererbt sind. Hier sind im Product selber die Felder Leer (None). Da das Product eine parentId hat, habe ich versucht über die associationen einfach das Parent Product zusätzlich abzurufen, aber das parent Feld bleibt immer leer.

Hier ist meine association die ich sende (die includes sind leer da ich erstmal alles haben möchte):

{
  'deliveries': {
    'associations': {
      'shippingOrderAddress': {
        'associations': {
          'country': {}
        }
      }
    },
    'transactions': {
      'associations': {
        'stateMachineState': {}
      }
    },
    'billingAddress': {
      'associations': {
        'country': []
      }
    },
    'orderCustomer': {},
    'addresses': {
      'associations': {
        'country': []
      }
    },
    'lineItems': {
      'associations': {
        'product': []
      }
    },
    'salesChannel': {
      'associations': {
        'paymentMethods': [],
        'shippingMethod': []
      }
    }
  },
  'transactions': {
    'associations': {
      'stateMachineState': {}
    }
  },
  'billingAddress': {
    'associations': {
      'country': {}
    }
  },
  'lineItems': {
    'associations': {
      'product': {
        'associations': {
          'parent': {}
        }
      }
    }
  },
  'salesChannel': {},
  'orderCustomer': {}
}

Hat jemand das selbe Problem und weiß wie ich entweder direkt die verlinkten Daten in die Felder der Varianten bekomme (ohne die Verlinkung aufzuheben) oder wie ich die association anpassen muss um das parent Product direkt zu bekommen?

Das Problem ist in Shopware 6.4.20.2 und in 6.5.4.1

Mit freundlichen Grüßen,
Frederik

Edit: Die Vererbung funktioniert aber korrekt, wenn man direkt über den „api/order/“ Endpunkt bzw. über die Relation „api/order//line-items“ geht.

Das ist äußerst ungünstig, dass die API hier unterschiedlich funktioniert. Der Work around wäre also pro Bestellung einen extra Request zu machen um die Positionen abzufragen…

Das kann eigentlich nicht der richtige Weg sein.

Ich hab eine Lösung gefunden:

im request header muss ‚sw-inheritance‘: ‚1‘ gesetzt sein.

Siehe sw-inheritance

Dies muss für den Search Endpunkt gesetzt sein, damit Shopware die Feldvererbung auflöst.

Zur Info: Auf die Parent Relation kann nie zugegriffen werden. Schopware hat sich dazu entschieden dies nie zuzulassen. Wenn man dies tut bekommt man an vielen stellen einen Fehler mit der Nachricht:

It is not possible to read the parent association directly. Please read the parents via a separate call over the repository

Leider wird dieser Fehler in meinem Beispiel nicht geworfen und das Parent Attribut blieb einfach leer.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.