Admin API und Webservice in PrestaShop 9: wann welche
PrestaShop 9 bringt eine moderne Administrations-API, doch der bewährte Webservice bleibt. Wir helfen Ihnen bei der Wahl für Ihre Integration.
Mehr als ein Jahrzehnt lang war der Webservice der Weg, von außen mit PrestaShop zu sprechen: eine REST-API mit XML (oder JSON) und einem Schlüssel pro Integration. PrestaShop 9 führt eine neue Admin API ein, gebaut auf API Platform und mit OAuth2-Authentifizierung. Beide bestehen nebeneinander, und es lohnt sich zu wissen, welche Sie nutzen sollten.
Der klassische Webservice
- Wird unter Erweiterte Einstellungen > Webservice aktiviert, indem Sie einen Schlüssel mit Berechtigungen pro Ressource anlegen.
- Basic-Authentifizierung mit dem Schlüssel als Benutzername.
- Deckt fast das gesamte Datenmodell ab: Produkte, Kombinationen, Bestellungen, Kunden, Bestand …
- Basiert auf den
ObjectModeldes Kerns: Was Sie speichern, durchläuft dieselben Validierungen wie im alten Back Office.
curl -u CLAVE: "https://tienda.com/api/products/12?output_format=JSON"
Die Admin API
- OAuth2-Authentifizierung mit client credentials: Sie fordern ein Zugriffstoken an und verwenden es im Header
Authorization: Bearer. - Natives JSON, automatisch generierte Dokumentation und Berechtigungen über Scopes.
- Ihre Operationen nutzen die Commands und Queries (CQRS) des neuen Back Office, die Logik ist also dieselbe wie in den Symfony-Seiten.
- Ihr Umfang wächst von Version zu Version; in den ersten Versionen von PrestaShop 9 erreicht sie noch nicht alle Ressourcen, die der Webservice bietet.
Welche wähle ich?
| Situation | Empfehlung |
|---|---|
| Neue Integration mit Ressourcen, die die Admin API bereits abdeckt | Admin API |
| Sie brauchen eine Ressource, die die Admin API noch nicht hat | Webservice |
| Shop mit PrestaShop 8 oder älter | Webservice |
| ERP, das bereits mit dem Webservice spricht und funktioniert | Ohne Grund nicht ändern |
Tipps für jede Integration
- Ein Schlüssel bzw. ein Client pro Integration, mit minimalen Berechtigungen. Gelangt einer nach außen, wird er widerrufen, ohne die anderen anzufassen.
- Immer über HTTPS.
- Paginierung und Filter: Fragen Sie nicht bei jedem Aufruf alle Bestellungen der Geschichte ab.
- Protokoll der Aufrufe auf Ihrer Seite: Wenn etwas nicht stimmt, wissen Sie, was wann gesendet wurde.
Sie möchten das in Ihrem Shop umsetzen? Rekire unterstützt Sie: individuelle PrestaShop-Modulentwicklung und technischer PrestaShop-Support mit Stundenpaketen.