Problem bei Produkte-Abfrage via API

hi,

wir entwickeln gerade eine integration, die produkte von der api abfragt. die abfrage funktioniert grundsätzlich, wir bekommen nur keine manufacturer und media daten beim call. die integration hat die richtigen berechtigungen (media, manufacturer lesen) in der role. hier sind die request parameter:

{
                "includes": {
                    "product": [
                        "productNumber",
                        "children",
                        "name",
                        "active",
                        "stock",
                        "productNumber",
                        "price",
                        "ean",
                        "releaseDate",
                        "childCount",
                        "description",
                        "updatedAt",
                        "prices",
                        "manufacturerId",
                        "manufacturer"
                    ],
                    "product_manufacturer": [
                        'name'
                    ]
                },
                "associations": {
                    "product_manufacturer": {}
                },
                "filter": [
                    {
                        "type": "multi",
                        "operator": "and",
                        "queries": [
                            {
                                "type": "equals",
                                "field": "product.active",
                                "value": 1
                            }
                        ]
                    }
                ]
            }

leider bleiben die association felder immer null:

{
    updatedAt: '2023-07-26T14:13:39.386+00:00',
    childCount: 4,
    manufacturerId: '7f24e96676e944b0a0addc20d56728cb',
    active: true,
    price: [ [Object] ],
    ean: null,
    productNumber: 'SWDEMO10007',
    stock: 50,
    releaseDate: '2023-07-18T13:45:01.249+00:00',
    name: 'Main product with properties',
    description: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.',
    manufacturer: null,
    prices: [],
    children: null,
    media: null,
    apiAlias: 'product'
  }

schätze unsere parameter passe nicht?

danke für jede hilfe.

Moin,

gegen welche API stellst du denn den Request, GET POST store-api oder api??

Auf jeden Fall müsste man statt product_manufacturer wohl productManufacturer verwenden, an beiden Stellen.

Ich bin hier gelandet weil ich es nicht hinbekomme meine benannten Felder zu selectieren, und nicht alle Felder zu bekommen, daher wäre interessant welche API du verwendest und welche URL??

sorry. die api wäre natürlich interessant.

Shopware 6.5 Admin-API

GET {host}/api/product

Edit: auch productManufacturer funktioniert nicht. glaube die syntax is generell falsch.

der Bereich Associations ist nicht richtig, dass müsste so sein:

"manufacturer": {
            "associations": {
                "media": {
                    "total-count-mode": 1
                }
            },
            "total-count-mode": 1
        }

hier dann hersteller und darin dann das hersteller-bild.

Ich meine die Auswahl eines Feldes geht dann mit „manufacturer.name“

wow. danke. funktioniert jetzt!

Wie sieht denn jetzt das fertige Ding aus?

Bei mir funktionieren die Feldeingrenzungen mit GET und der URL: {{HOST}}/api/product überhaupt nicht.

Mit POST {{HOST}}/api/search/product bekomme ich das entsprechend zurück, allerdings dann wiederum mit dem gesamten manufacturer Object.

Hier wäre mein Body für mein POST:

{
    "associations": {
            "manufacturer": {}
                
        },
    "includes": {
        "product": [
        "id",
        "name",
        "productNumber",
        "manufacturer"
        ],
        "manufacturer":  ["name"]
        }
}

Vielleicht kannst du mich mit deiner Variante erhellen??

Danke!

EDIT: OK, bei der Feldauswahl muss es dann wohl doch wieder
"product_manufacturer": ["name"]
heißen.
Dennoch, bei mir geht es nur mit POST {{HOST}}/api/search/product
Wenn es bei dir wirklich eine GET Variante an api/product gibt wüsste ich die gerne auch!?

aktuell lasse ich mir noch das ganze manufacturer objekt geben:

{
                "includes": {
                    "product": [
                        "productNumber",
                        "children",
                        "name",
                        "active",
                        "stock",
                        "productNumber",
                        "price",
                        "ean",
                        "releaseDate",
                        "childCount",
                        "description",
                        "updatedAt",
                        "prices",
                        "manufacturerId",
                        "manufacturer",
                        "media"
                    ]
                },
                "associations": {
                    "manufacturer": {
                        "total-count-mode": 1
                    },
                    "media": {
                        "total-count-mode": 1
                    },
                    "children": {
                        "total-count-mode": 1
                    }
                },
                "filter": [
                    {
                        "type": "multi",
                        "operator": "and",
                        "queries": [
                            {
                                "type": "equals",
                                "field": "product.active",
                                "value": 1
                            }
                        ]
                    }
                ]
            }

Hallo zusammen,

die associations sehen gut aus. Ohne exakte Anweisungen für die Hersteller im includes Teil fehlen die Daten.

"includes": {
  "product": [...],
  "product_manufacturer": ["column1", ..., "columnN"],
}