Spryker
Spryker – Ausgang in Spryker Cloud Commerce / Commerce OS. Benötigtes Addon:
connector_spryker.
Überblick
Spryker ist eine Enterprise-Commerce-Plattform mit der Glue-REST-API für externe Integrationen. Mit dieser Integration legt Orderport Bestellungen aus anderen Quellen (z. B. cXML, EDIFACT, Shopware) direkt als Spryker-Order über die Glue API an.
Die Integration unterstützt nur den Ausgang – Spryker sendet derzeit keine Bestellungen zurück an Orderport.
Kompatibilität
Unterstützte Versionen
| Bereich | Version |
|---|---|
| Spryker | Cloud Commerce / Commerce OS mit aktueller Glue-API |
| Endpoint | POST /checkout |
| Content-Type | application/vnd.api+json (JSON:API) |
| Auth | OAuth 2.0 Password Grant |
Bekannte Einschränkungen
- Kein Rückkanal. Bestell-Updates, Fulfillment- oder Zahlstatus-Änderungen werden nicht an Orderport zurückgemeldet.
- OAuth Password Grant. Spryker bietet für die Glue-API aktuell nur den
password-Grant-Type an; dieser ist eng mit einem Benutzerkonto verknüpft. Client-Credentials werden nicht unterstützt. - Kein Katalog-Sync. Produkt-Verfügbarkeit wird nicht vorab geprüft – nicht existierende Produkte führen beim Checkout zu Fehlern.
- Mehrere Shops/Stores werden über eine eigene Pipeline je Store abgebildet.
- Gutscheine, Rabatte, Mengenstaffeln werden aktuell nicht übersetzt.
Authentifizierung
- Auth-Typ im Transport:
oauth_password - Benötigte Felder:
username,password,token_url(typisch{Glue-URL}/token) - Orderport holt den Access Token bei jedem Job und hält ihn im Cache, bis er abläuft.
Einrichten in Orderport
Pipeline anlegen
- Pipelines → Neue Pipeline → Simple Wizard, Ziel: Spryker
- Quelle wählen
- Spryker-Zugangsdaten eingeben: Glue-URL, Benutzername, Passwort (gespeichert verschlüsselt)
- Verbindung testen – Orderport holt Payment- und Shipment-Methoden aus der Glue API und lädt sie in Dropdowns
- Zahlungsart, Versandart, Store, Währung, Anrede auswählen
- Auto-Mapping für das JSON:API-Schema übernehmen
Credential
Spryker-Seite: Orderport authentifiziert sich am Spryker Glue API – keine Orderport-Credential nötig. Der Transport-Config enthält die verschlüsselten Zugangsdaten.
Einrichten in Spryker
API-Benutzer anlegen
- Backoffice → Users → Add User mit Rolle, die
POST /checkoutund Lookup-Endpoints erlaubt - Spryker Glue API unter Ihrer URL aktiv (Cloud-Umgebung: automatisch)
- CORS / Whitelist sicherstellen – Orderports Outbound-IPs werden vom Spryker-Cloud-Team auf Wunsch freigeschaltet
Technische Details
Ausgangs-Payload (Auszug JSON:API)
{
"data": {
"type": "checkout",
"attributes": {
"customer": {
"email": "bestellung@muster.de",
"firstName": "Max",
"lastName": "Mustermann",
"salutation": "Mr"
},
"billingAddress": { "...": "..." },
"shippingAddress": { "...": "..." },
"payments": [{ "paymentMethodName": "Rechnung", "paymentProviderName": "DummyPayment" }],
"shipment": { "idShipmentMethod": 1 },
"items": [
{ "sku": "WIDGET-001", "quantity": 10 }
]
}
}
}
Verfügbare Zielfelder (Auszug)
| Pfad | Bedeutung |
|---|---|
customer.email / firstName / lastName / salutation |
Kundendaten |
billingAddress.* / shippingAddress.* |
Adressen |
payments[].paymentMethodName |
Name der Zahlungsart (aus Spryker-Dropdown) |
shipment.idShipmentMethod |
ID der Versandart (aus Spryker-Dropdown) |
items[].sku / quantity |
Positionen |
Transport-Konfiguration
{
"type": "rest_api",
"adapter_type": "spryker",
"url": "https://glue.spryker.example.com/checkout",
"method": "POST",
"content_type": "application/vnd.api+json",
"auth": {
"type": "oauth_password",
"token_url": "https://glue.spryker.example.com/token",
"username": "api-user@shop.example",
"password_encrypted": "…"
}
}
Endpoint
Kein Inbound – Spryker ist reiner Ausgang. Zielsystem: {Glue-URL}/checkout.
Fehlerbehebung
| Symptom | Ursache | Lösung |
|---|---|---|
| 401 beim Token-Request | Benutzername/Passwort falsch oder Benutzer deaktiviert | Zugangsdaten in Spryker prüfen, Password-Reset initiieren |
| 422 „SKU not found" | Produkt existiert nicht im Ziel-Store | SKU-Mapping prüfen; Katalog in Spryker abgleichen |
| Shipment-Method leer | idShipmentMethod zeigt auf ID, die im gewählten Store nicht existiert |
Im Wizard die Store-Dropdown neu wählen und Versandart erneut auswählen |
| Orderport bekommt wiederholt 401 | Spryker-Token wurde invalidiert (Session-Ablauf) | Transport neu testen; Orderport holt sich einen frischen Token |
Nächste Schritte
- REST API – OAuth-Flow im Detail
- Feldmapping
- Fehlerbehebung