Auto-Login meldet einen Punchout-Einkäufer gleich beim Start in seinem Kundenkonto in Ihrem Shop an. So sieht er seine eigenen Preise und sein Sortiment statt der Gastpreise.
Wozu es dient
Abschnitt betitelt „Wozu es dient“Ein Einkaufssystem meldet sich mit seinem Einkäufer-Zugang bei punchout.dev an, nicht in Ihrem Shop. Ohne Auto-Login landet der Einkäufer als Gast in Ihrem Shop. Zeigt Ihr Shop kundenspezifische Preise, Vertragssortimente oder Preise erst nach dem Login, trägt der Gast-Warenkorb die falschen Preise in die Bedarfsanforderung.
Mit Auto-Login weiß punchout.dev, für welchen Shop-Kunden jeder Einkäufer-Zugang steht. Beim Launch schickt es den Browser mit einem kurzlebigen, signierten Token statt eines Passworts an den Login-Endpunkt Ihres Shops. Das Shop-Plugin prüft das Token und meldet diesen Kunden an.
Was Sie brauchen
Abschnitt betitelt „Was Sie brauchen“| Baustein | Wo |
|---|---|
| Ein Login-Endpunkt im Shop | Eines der Shop-Plugins oder Ihr eigener |
| Auto-Login eingeschaltet, mit Adapter, Login-Pfad und Kundenreferenz | Portal, Tab Auto-Login des Shops |
| Die Public-Key-Zeile im Plugin | Portal, Tab Auto-Login, Abschnitt Öffentliche Schlüssel |
| Ein Shop-Kunde je Einkäufer-Zugang | Portal, Tab Einkäufer, Feld Shop-Kundenreferenz |
| Ein gehosteter Launch | Das Einkaufssystem nutzt den OCI-Launch, den cXML PunchOutSetupRequest oder die IDS Connect Roundtrip-URL aus dem Tab Einbindung |
Einrichten
Abschnitt betitelt „Einrichten“1. Der Tab Auto-Login im Portal
Abschnitt betitelt „1. Der Tab Auto-Login im Portal“| Feld | Bedeutung |
|---|---|
| Auto-Login aktivieren | Schaltet die Weiterleitung an den Login-Endpunkt Ihres Shops ein. |
| Adapter | Shopware, Magento, WooCommerce oder Eigener Adapter. Er hält fest, welchen Endpunkt Sie betreiben, und ändert nichts am Token. Bei WooCommerce und Magento zeigt der Tab dann den Pfad dieses Plugins und was jede Kundenreferenz dort bedeutet. |
| Login-Pfad | Der Pfad des Endpunkts in Ihrem Shop, beginnend mit /. Die Weiterleitung geht an den ersten Eintrag unter Erlaubte Origins im Tab Allgemein, gefolgt von diesem Pfad. |
| Kundenreferenz | Wie jede Shop-Kundenreferenz dieses Shops gelesen wird: Kunden-ID, Kundennummer oder E-Mail-Adresse. |
Was jede Art je Plattform bedeutet:
| Kundenreferenz | Shopware | WooCommerce | Magento |
|---|---|---|---|
| Kunden-ID | Die ID des Kunden | Die numerische WordPress-Benutzer-ID | Die Kunden-Entity-ID |
| Kundennummer | Die Kundennummer | Der WordPress-Anmeldename | Nicht unterstützt, der Einkäufer landet als Gast |
| E-Mail-Adresse | Die E-Mail-Adresse des Kunden | Die E-Mail-Adresse des Benutzers | Die E-Mail-Adresse des Kunden auf der aktuellen Website |
2. Die Public-Key-Zeile
Abschnitt betitelt „2. Die Public-Key-Zeile“Der Abschnitt Öffentliche Schlüssel im selben Tab zeigt die Public-Key-Zeile, zum Beispiel k1=…. Fügen Sie sie in die Plugin-Einstellung Public-Key-Zeilen ein. Damit prüft das Plugin die Signatur. Es ist ein öffentlicher Schlüssel: Er kann Tokens prüfen, aber nie eines erzeugen.
Sagt der Abschnitt „Es ist kein Signaturschlüssel hinterlegt. Ohne ihn landet jeder Punchout auf der normalen Landing-Seite.“, gibt es keinen Schlüssel zum Einfügen, und Auto-Login lässt sich nicht einrichten.
Zeigt der Abschnitt mehr als eine Zeile, fügen Sie alle ein.
3. Die Zuordnung je Einkäufer
Abschnitt betitelt „3. Die Zuordnung je Einkäufer“Öffnen Sie im Tab Einkäufer einen Zugang und füllen Sie Shop-Kundenreferenz aus („Auf welches Shop-Konto der Auto-Login diesen Einkäufer anmeldet.“): die Kunden-ID, die Kundennummer oder die E-Mail-Adresse des Shop-Kontos, passend zu der Art, die im Tab Auto-Login gewählt ist. Ein Zugang ohne diesen Eintrag landet weiter als Gast, auch wenn Auto-Login an ist.
Der Ablauf
Abschnitt betitelt „Der Ablauf“- Launch. Das Einkaufssystem startet einen gehosteten Launch, und punchout.dev prüft den Einkäufer-Zugang.
- Token. Ist Auto-Login an und hat der Zugang eine Shop-Kundenreferenz, stellt punchout.dev ein signiertes Login-Token aus. Es ist 120 Sekunden gültig, nur einmal und nur in Ihrem Shop verwendbar. Es nennt den Kunden und Ihren Landing-Pfad.
- Weiterleitung. Der Browser geht mit dem Token an den Login-Pfad Ihres Shops, zum Beispiel
https://shop.example/punchout-dev/login?token=…. - Anmeldung. Das Plugin prüft das Token, sucht genau einen passenden Kunden und meldet ihn an.
- Warenkorbseite. Das Plugin leitet auf Ihre Landing-Seite weiter. Dort läuft der Punchout weiter, und der Einkäufer kauft angemeldet ein.
Das Token enthält kein Geheimnis. Weil es durch den Browser des Einkäufers reist, ist es kurzlebig, nur einmal verwendbar und auf einen Shop beschränkt, und es kann nur auf einen Pfad in Ihrem eigenen Shop führen, nie an ein anderes Ziel.
Wenn ein Teil fehlt
Abschnitt betitelt „Wenn ein Teil fehlt“Auto-Login bricht nie einen Punchout ab.
| Situation | Was passiert |
|---|---|
| Auto-Login aus, keine Shop-Kundenreferenz am Zugang oder kein Signaturschlüssel | Der Browser geht direkt auf die normale Landing-Seite, und der Einkäufer kauft als Gast ein. |
| Das Plugin lehnt das Token ab | Das Plugin leitet ohne Anmeldung auf die Landing-Seite weiter. Der Punchout läuft als Gast weiter. |
| Der Login-Pfad ist falsch | Der Browser landet auf dem, was Ihr Shop unter diesem Pfad ausliefert, meist auf seiner 404-Seite. |
| Auto-Login aktivieren, Shop-ID oder Public-Key-Zeilen ist im Plugin aus oder leer | Das Plugin leitet ohne Anmeldung auf die Landing-Seite weiter. Der Punchout läuft als Gast weiter. |
Was das Plugin protokolliert
Abschnitt betitelt „Was das Plugin protokolliert“Jedes Plugin schreibt je abgelehntem Token eine Zeile mit einem Ablehnungsgrund ins eigene Log des Shops. Keines protokolliert das Token oder den Kunden.
| Plattform | Log |
|---|---|
| Shopware 6 | Shopware-Log, Level Warning |
| Magento 2 | var/log/system.log, Level Info |
| WooCommerce | PHP-Fehlerlog, nur mit WP_DEBUG an |
Diese Ablehnungsgründe sehen Sie am häufigsten. Eine vertippte oder abgeschnittene Schlüsselzeile überspringt das Plugin; sie zeigt sich deshalb als not_configured oder kid_unknown.
| Grund | Ursache | Lösung |
|---|---|---|
not_configured |
Shop-ID im Plugin leer, oder keine lesbare Zeile in Public-Key-Zeilen | Füllen Sie beides aus |
disabled |
Auto-Login aktivieren ist im Plugin aus | Schalten Sie es ein |
kid_unknown |
In Public-Key-Zeilen fehlt die aktuelle Zeile aus dem Portal, zum Beispiel wenn nur eine alte Zeile dort steht | Fügen Sie die aktuelle Zeile aus dem Portal ein |
signature_invalid |
Eine Zeile in Public-Key-Zeilen ist falsch oder veraltet | Fügen Sie die aktuelle Zeile aus dem Portal ein |
audience |
Die Shop-ID im Plugin weicht von dem Shop ab, der den Launch gestartet hat | Kopieren Sie die Shop-ID aus dem Tab Einbindung |
expired |
Das Token kam mehr als 120 Sekunden nach seiner Ausstellung an, oder die Uhr des Shops geht vor | Starten Sie einen neuen Punchout. Passiert es jedes Mal, synchronisieren Sie die Serveruhr. |
iat_future |
Die Uhr des Shops geht nach | Synchronisieren Sie die Serveruhr |
replay |
Das Token wurde schon verwendet (ein Neuladen, die Zurück-Taste), oder die Tabelle des Plugins für verwendete Tokens fehlt | Starten Sie einen neuen Punchout. Passiert es jedes Mal, legen Sie die Tabelle neu an (siehe die Plattformseite). |
customer_unresolved |
Kein aktiver Kunde passt zur Referenz, oder mehr als einer | Prüfen Sie die Shop-Kundenreferenz und die Art der Kundenreferenz |
administrator_refused |
WooCommerce: Der zugeordnete Benutzer ist ein Administrator | Ordnen Sie ein gewöhnliches Kundenkonto zu |
unsupported_ref_kind |
Magento: Die Kundenreferenz ist Kundennummer | Nutzen Sie E-Mail-Adresse oder Kunden-ID |
Einen eigenen Endpunkt bauen
Abschnitt betitelt „Einen eigenen Endpunkt bauen“Das Token-Format, die Prüfungen in ihrer Reihenfolge und den Testvektor beschreibt die Spezifikation des Login-Tokens (auf Englisch). Die Seite Eigene Integration erklärt, was Sie für einen eigenen Endpunkt im Portal einstellen.
punchout.dev · hello@punchout.dev