CDN Product Images: Admin API
Bilder per Admin-API mit CDN-URL anlegen: cdnUrl statt Datei-Upload für Produkt- und Taxon-Bilder, Regeln und Fehlerantworten.
CDN Product Images: Admin API
Diese Dokumentation bezieht sich immer auf die aktuellste veroeffentlichte Version.
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Überblick
Externe Admin-API-Clients und Automatisierungen können ein Produkt- oder Taxon-Bild nicht nur als Datei hochladen, sondern auch per cdnUrl anlegen. Das Bild liegt dann bereits auf dem CDN, es wird ausschließlich die URL gespeichert - genau wie bei der Anlage über das Admin-Formular.
| Endpunkt | Zweck |
|---|---|
POST /api/v2/admin/products/{code}/images |
Produkt-Bild anlegen |
POST /api/v2/admin/taxons/{code}/images |
Taxon-Bild anlegen |
Beide Endpunkte erwarten multipart/form-data, das Feld cdnUrl wird deshalb als Formularfeld gesendet, nicht als JSON.
Regeln
cdnUrlundfileschließen sich aus. Werden beide gesendet, antwortet die API mit HTTP 400.cdnUrlmuss eine gültigehttp- oderhttps-URL mit höchstens 255 Zeichen sein, sonst HTTP 400.- Führende und abschließende Leerzeichen werden entfernt, wie im Formular.
- Die URL wird nur gespeichert und nie serverseitig abgerufen. Es findet keine Erreichbarkeits-Prüfung statt.
- Dieselbe Regel gilt im Admin-Formular und in der API. Sie ist an einer einzigen Stelle implementiert.
Beispiel
curl -X POST "https://shop.example.com/api/v2/admin/products/mug-sw/images" \
-H "Authorization: Bearer <JWT>" \
-F "type=main" \
-F "cdnUrl=https://cdn.example.com/original/mug-sw.jpg"
Die Antwort hat dieselbe Bild-Repräsentation wie nach einem normalen Datei-Upload, mit path gleich der übergebenen URL.
Verhalten
| Anfrage | Ergebnis |
|---|---|
nur file |
Normaler Upload, unverändert |
nur cdnUrl |
Bild mit path = cdnUrl wird angelegt |
file und cdnUrl |
HTTP 400 |
ungültige oder zu lange cdnUrl |
HTTP 400 |
weder file noch cdnUrl |
HTTP 400 (wie bisher) |
| unbekanntes Produkt/Taxon | HTTP 404 (wie bisher) |
Einschränkungen
- Beim Produkt-Endpunkt ist
productVariantszusammen mitcdnUrlnicht unterstützt und wird mit HTTP 400 abgelehnt. Die Varianten-Zuordnung bleibt dem Datei-Upload vorbehalten. - Das neue Feld
cdnUrlerscheint noch nicht in der OpenAPI-Dokumentation unter/api/v2/docs. - Die API-Erweiterung ist nur aktiv, wenn
SyliusApiBundleregistriert ist.