OCI – Login konfigurieren
Im Tab Allgemein sind unter „Login" alle Einstellungen aufgeführt, die bestimmen, wie das Procurement-System den Punchout-Vorgang startet.
HTTP-Anfragemethode
| Option | Beschreibung |
|---|---|
| GET & POST | Beide Methoden werden akzeptiert (Standardeinstellung, empfohlen) |
| GET | Nur GET-Anfragen erlaubt |
| POST | Nur POST-Anfragen erlaubt |
Variablennamen
Das Procurement-System übergibt Benutzerdaten und Rückgabe-URL als URL-Parameter oder POST-Body. Die Feldnamen sind im OCI-Standard vorgegeben, können aber von System zu System abweichen.
| Variablenname | Standard | Beschreibung |
|---|---|---|
| Variablenname Benutzer | USERNAME | Parametername für E-Mail-Adresse oder Benutzername |
| Variablenname Passwort | PASSWORD | Parametername für das Passwort |
| Variablenname URL | HOOK_URL | Parametername für die Rückgabe-URL |
| Variablenname Token | TOKEN | Parametername für einen Token (alternativ zu Passwort) |
Ein SAP-System sendet möglicherweise ~username statt USERNAME.
Ein leer übergebener Parameter gilt als nicht gesetzt. Beschaffungssysteme senden häufig alle konfigurierten Parameter mit und lassen die nicht genutzten leer — ein leeres TOKEN verhindert deshalb nicht mehr die Anmeldung über Benutzername und Passwort.
Steuerparameter
Die SAP-Steuerparameter ~target, ~OkCode und ~caller werden unverändert an das Beschaffungssystem zurückgegeben. Sie landen als versteckte Felder im Rückgabeformular; die Schreibweise wird dabei auf die von SAP dokumentierte Form normalisiert, unabhängig davon, wie das Beschaffungssystem sie gesendet hat.
~target bestimmt zusätzlich, in welches Fenster das Rückgabeformular postet. Erlaubt sind die Schlüsselwörter _top, _parent, _self und _blank sowie gültige Fensternamen. Fehlt der Parameter oder ist der Wert unbrauchbar, wird _top verwendet.
Wurde einer dieser Parameter bisher von Hand über transmissionAdditionalDataField abgebildet, wird er ab 3.7.500 / 3.6.300 doppelt gesendet. Das entsprechende Feld muss aus der Feldkonfiguration entfernt werden.
Token-Authentifizierung
Als Alternative zum Passwort kann ein Token verwendet werden. Das Token wird in einem Shopware Custom Field des Kunden gespeichert.
| Feld | Beschreibung |
|---|---|
| Variablenname Token | Parametername, den das Procurement-System für den Token verwendet |
| Token-Benutzerdefiniertes Feld | Technischer Name des Shopware Custom Fields am Kundenprofil, in dem das Token hinterlegt ist |
Beim Login vergleicht der Connector den übermittelten Token mit dem Wert im Custom Field des passenden Shopware-Kunden.
- Ein in Shopware deaktiviertes Kundenkonto kann sich nicht mehr per Token anmelden. Konten, die bislang trotz Deaktivierung punchen konnten, verlieren den Zugang.
- Das Token-Benutzerdefinierte Feld muss bei jedem System, das den Token-Login nutzt, einmal eingetragen werden — der Wert ließ sich in früheren Versionen nicht speichern.
Weitere Optionen
| Option | Standard | Beschreibung |
|---|---|---|
| URL validieren | ein | Prüft, ob HOOK_URL eine gültige HTTP/HTTPS-URL ist. Ausschalten, wenn das System eine nicht-HTTP-URL übergibt (z.B. SAPEVENT:POST bei SAP). |
| Separate Warenkorb-Session | ein | Die Punchout-Session erhält einen eigenen, leeren Warenkorb; der bestehende Shop-Warenkorb des Kunden bleibt unverändert. Kundenspezifische Preise und Rabatte gelten weiterhin. Im Zweifel aktiviert lassen. (hieß bis 3.7.400 / 3.6.200 „Gastsitzung") |
| Verhalten des Schließen-Buttons | Im Shop bleiben | Legt fest, wohin der Nutzer beim Klick auf Schließen geleitet wird. Im Shop bleiben: Rücksprung zur Shop-Startseite. An Hook weiterleiten: Rücksprung zum aufrufenden Beschaffungssystem — nur wenn für die Session eine Hook-URL bekannt ist, sonst automatischer Fallback auf „Im Shop bleiben". |
Beispiel-Login-URL (GET)
https://shop.example.com/AgiqonOciEntry/login
?USERNAME=kunde@firma.de
&PASSWORD=geheim
&HOOK_URL=https://procurement.firma.de/oci/return
Beispiel mit Token
https://shop.example.com/AgiqonOciEntry/login
?TOKEN=abc123xyz
&HOOK_URL=https://procurement.firma.de/oci/return
Häufige Probleme
Login schlägt fehl — „URL-Validierung"
Wenn das Procurement-System eine nicht-HTTP-URL als Hook-URL übergibt (z.B. SAPEVENT:POST), deaktiviere die Option URL validieren.
Kunde kann sich nicht einloggen
- Ist der Kunde dem System im Tab Kunden zugewiesen?
- Ist das System auf Aktiv gestellt?
- Stimmt der Lizenzschlüssel?
- Stimmen die Variablennamen (z.B.
~usernamestattUSERNAME)? - Passt die Kundenzuordnung zu den gesendeten Variablennamen? Seit 3.7.500 / 3.6.300 wird ein Login abgelehnt, wenn der Kunde einem System zugeordnet ist, dessen Variablennamen die Anfrage nicht sendet. Der Log-Eintrag nennt die in Frage kommenden Systeme und das System des Kunden — mehr dazu unter Kunden & Einheiten.