Fremdsystem anbinden
Garantiedaten lassen sich auch von außerhalb der Administration lesen und schreiben. So hält ein ERP, PIM oder ein Lieferanten-Feed sie aktuell, ohne dass jemand sie erneut eintippt. Diese Seite ist optional — für die Pflege in der Administration brauchst du sie nicht.
Zugang anlegen
Öffne Einstellungen > System > Integrationen und erstelle eine Integration. Erteile ihr die Rechte der EU-Gewährleistung zum Ansehen, Bearbeiten und Anlegen.
[Screenshot: Einstellungen > System > Integrationen]
Alle drei Rechte sind nötig, weil erst das Anlegen es der Verbindung erlaubt, ein Produkt zu konfigurieren, das noch keine Garantiedaten hat.
Zugriffsschlüssel und Secret Kopiere beides und gib es an die technische Umsetzung weiter. Das Secret wird nur einmal angezeigt.
Nur lesen Vergib ausschließlich das Recht zum Ansehen, dann wird jeder Schreibvorgang abgelehnt.
Zugang entziehen Lösche die Integration, der Zugang endet sofort.
Technische Referenz
Die Authentifizierung erfolgt über POST /api/oauth/token mit grant_type=client_credentials sowie Zugriffsschlüssel und Secret. Der Token wird als Authorization: Bearer mitgesendet.
Ein Produkt lesen, adressiert über die Produktnummer, sodass das angebundene System keine internen Shopware-IDs kennen muss:
GET /api/_action/iwv-eu-guarantee/product-configuration?productNumber=DEINE-SKU
Ein Produkt schreiben:
POST /api/_action/iwv-eu-guarantee/product-configuration
{"productNumber": "DEINE-SKU", "values": {"durationMonths": 36}}
Bis zu 500 Produkte auf einmal — hier werden Produkt-IDs statt Produktnummern erwartet:
POST /api/_action/iwv-eu-guarantee/bulk-apply
{"productIds": ["…", "…"], "values": {"durationMonths": 36}}
Zwei Regeln, die wichtiger sind als der Rest
Ein Schreibvorgang ändert nur die übermittelten Felder Ein weggelassenes Feld behält seinen Wert, ein als
nullübermitteltes Feld wird geleert. Sende also nicht bei jedem Abgleich das vollständige Modell, sofern du nicht alles überschreiben möchtest.Ein Lesevorgang liefert
storedundresolvedstoredsind die am einzelnen Produkt gespeicherten Werte und istnull, sobald das Produkt keine eigenen hat.resolvedsind die tatsächlich geltenden Werte,sourceLevelbenennt die Ebene, von der sie stammen, z.B.:labelfür eine EU-Label-Regel. Ein Produkt mitstored: nullkann sehr wohl eine gültige Garantie haben — maßgeblich istresolved.
Schreibbare Werte
configurationMode (inherit, override oder disabled), active, suppressStatutoryNotice, producerGuaranteeConfirmed, providedAtNoCost, coversEntireGood, informationSuppliedToSeller, durationMonths, producerBrand, modelIdentifier, termsUrl, termsMediaId, generalInfo, sourceReference, validFrom und validUntil.
Die ersten drei können nicht geleert werden. Der Berechtigungsstatus wird bei jedem Schreibvorgang neu berechnet und nie direkt gesetzt.
Herstellervorgaben und EU-Label-Regeln tauschst du am einfachsten über den Import aus.

