Zum Hauptinhalt springen

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​

OptionBeschreibung
GET & POSTBeide Methoden werden akzeptiert (Standardeinstellung, empfohlen)
GETNur GET-Anfragen erlaubt
POSTNur 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.

VariablennameStandardBeschreibung
Variablenname BenutzerUSERNAMEParametername für E-Mail-Adresse oder Benutzername
Variablenname PasswortPASSWORDParametername für das Passwort
Variablenname URLHOOK_URLParametername für die Rückgabe-URL
Variablenname TokenTOKENParametername für einen Token (alternativ zu Passwort)
Beispiel

Ein SAP-System sendet möglicherweise ~username statt USERNAME.

Leere Parameter

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.

Doppelte Übertragung vermeiden

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.

FeldBeschreibung
Variablenname TokenParametername, den das Procurement-System für den Token verwendet
Token-Benutzerdefiniertes FeldTechnischer 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.

Seit 3.7.500 / 3.6.300
  • 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​

OptionStandardBeschreibung
URL validiereneinPrü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-SessioneinDie 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-ButtonsIm Shop bleibenLegt 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. ~username statt USERNAME)?
  • 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.