Die Shopware 6 API erlaubt laut den Docs das Auslesen der einzelnen Snippets und Snippet Sets aus dem Shop. Leider erhalte ich von Shop nur leere Antworten und komme nicht (außer über interne _action-Pfade) an die Gesamtliste aller Snippets.
Eine Anfrage an die /api/snippet
gibt mit folgende (leere) Antwort:
{
"data": [],
"included": [],
"links": {
"first": "https://shopware.internal/api/snippet?limit=500&page=1",
"self": "https://shopware.internal/api/snippet"
},
"meta": {
"totalCountMode": 0,
"total": 0
},
"aggregations": []
}
Eine Anfrage an die api/snippet-set
liefert mir zwar die beiden korrekten Snippet Sets „BASE de-DE“ und „gb-GB“ jedoch kann ich diese Objekte in keiner Weise weiter inspizieren. Eine Anfrage an die api/snippet-set/{id}
liefert in meinem Fall folgende Antwort:
{
"data": {
"id": "019173e5bfdc7070a31c6e77dd66fe59",
"type": "snippet_set",
"attributes": {
"name": "BASE de-DE",
"baseFile": "messages.de-DE",
"iso": "de-DE",
"customFields": null,
"createdAt": "2024-08-21T07:45:22.396+00:00",
"updatedAt": null,
"apiAlias": "snippet_set_foreign_keys_extension"
},
"links": {
"self": "https://shopware.internal/api/snippet-set/019173e5bfdc7070a31c6e77dd66fe59"
},
"relationships": {
"snippets": {
"data": [],
"links": {
"related": "https://shopware.internal/api/snippet-set/019173e5bfdc7070a31c6e77dd66fe59/snippets"
}
},
"salesChannelDomains": {
"data": [],
"links": {
"related": "https://shopware.internal/api/snippet-set/019173e5bfdc7070a31c6e77dd66fe59/sales-channel-domains"
}
}
},
"meta": null
},
"included": [],
"links": {
"self": "https://shopware.internal/api/snippet-set/019173e5bfdc7070a31c6e77dd66fe59"
}
}
Dieses Verhalten scheint angesichts der anderen Thread schon länger ein Problem für die Community zu sein:
Wie bereits erwähnt ist mir bewusst, dass ich die Snippets (auch) über den Pfad /api/_action/snippet-set
erhalten kann. Das kann aber angesichts der Dokumentation jedoch aber wirklich nicht Sinn der Sache sein, oder? Die _action
Pfade sind ja schließlich überhaupt nicht dokumentiert und sind eigentlich nur Threads in diesem Forum oder dem Symfony Profiler zu entnehmen. Dazu kommt, dass man sich die api/snippet..
Pfad dann doch gleich hätte sparen können?