Mittels SSO-Schnittstelle kann eine automatisierte Anmeldung und Registrierung von Benutzern vorgenommen werden. In der Regel wird die Schnittstelle dazu verwendet, dass die Daten von einem Kundensystem (z. B. durch ein CMS- oder CRM-System, Intranet oder Procurementplattform) aufbereitet werden. Über einen Link mit speziell verschlüsselten Query String wird die PRINT LOUNGE aufgerufen.
Die URL lautet wie folgt:
http[s]://[www.]shopname.print-server.net/sso.php?h=ENCODED_KEY_VALUE_PAIRS
Für shopname wird der Shopname angegeben der in der Administration der Print Lounge (Verwaltung → Kunden → bearbeiten) eingestellt wurde. Bitte konfigurieren Sie in der Administration Ihres Shops die SSO-Schnittstelle (Verwaltung → Kunden → bearbeiten → SSO-Schnittstelle) und verwenden Sie die dort eingestellte Passphrase um die Daten zu verschlüsseln.
Bezeichnung | Typ / Wert | Bemerkung | Version |
---|---|---|---|
request_time * | Datum und Uhrzeit (ISO 8601) | Zeitpunkt des Aufrufs (Standardgültigkeit des Requests 500s - 8 min) | since 4.3.23 |
customer_user_name * | 50 Zeichen (A-Z0-9_-.@) | Benutzen Sie eindeutige Zuordnungen wie UserIds, E-Mails oder Benutzernamen | |
customer_user_budgetgruppe__id | Integer | Wird keine Benutzergruppe übergeben, wird der Benutzer in einer definierten Standardbenutzergruppe angelegt. Gleiches gilt, wenn das System anhand der ID keine gültige Benutzergruppe ermitteln kann. | |
group_name | 50 Zeichen (Utf8) | Wird der Name der Benutzergruppe übergeben, wird geprüft ob die Gruppe mit exakt diesem Namen existiert. Falls nicht wird die Gruppe neu angelegt. Der Benutzer wird dieser Gruppe zugewiesen. ACHTUG: Funktioniert nur wenn unter "Shops->bearbeiten" die Option "Benutzergruppen automatisch anlegen" aktiviert wurde. | since 6.34.0 |
customer_longname | 50 Zeichen (Utf8) | ||
customer_firstname | 50 Zeichen (Utf8) | ||
customer_lastname | 50 Zeichen (Utf8) | ||
customer_user_businessunit | 50 Zeichen (Utf8) | ||
customer_user_purchaser | 50 Zeichen (Utf8) | ||
customer_user_company1 | 200 Zeichen (Utf8) | ||
customer_user_company2 | 200 Zeichen (Utf8) | ||
customer_user_company3 | 200 Zeichen (Utf8) | ||
customer_user_street | 200 Zeichen (Utf8) | ||
customer_user_zip | 10 Zeichen (Utf8) | ||
customer_user_town | 200 Zeichen (Utf8) | ||
customer_user_country | 200 Zeichen (Utf8) | Veraltet, nutzen Sie customer_user_countrycode | |
customer_user_countrycode | Ländercode (ISO 3166) | since 4.2.10 | |
customer_user_costcenter | 200 Zeichen (Utf8) | ||
customer_user_telefon | 200 Zeichen (Utf8) | ||
customer_user_telefax | 200 Zeichen (Utf8) | ||
customer_user_email | 100 Zeichen (Utf8) | ||
user_groups_binary_url | 200 Zeichen (Utf8) | URL für Logo (Bild) einer Benutzergruppe | |
user_groups_binary_description | 50 Zeichen (Utf8) | Beschreibung für Logo (Bild) einer Benutzergruppe | |
customer_user_internet | 100 Zeichen (Utf8) | ||
customer_user_mobil | 50 Zeichen (Utf8) | ||
customer_user_kundennummer | 100 Zeichen (Utf8) | ||
customer_user_level | Integer | ||
freigabeportal_zeigen | 53: Ja | ||
customer_user_aussendienst | 200 Zeichen (Utf8) | ||
customer_funktion | 200 Zeichen (Utf8) | ||
sprache | de: Deutsch (Standard) (veraltet) | ||
customfield1 | 200 Zeichen (Utf8) | ||
customfield2 | 200 Zeichen (Utf8) | ||
customfield3 | 200 Zeichen (Utf8) | ||
customfield4 | 200 Zeichen (Utf8) | ||
customfield5 | 200 Zeichen (Utf8) | ||
customer_user_level | 57: A - Benutzer (Standard) | ||
delivery_address_editable | 0: Ja 1: Nein, ohne E-Mail 2: Nein | Legt fest, ob die Lieferadresse im Warenkorb editierbar ist. | |
dest_page | wg: Eine Warengruppenseite | ||
dest_id | Die ID des Eintrags (Warengruppe oder Artikel) | ||
quantity | Die Anzahl aus der Preisstaffel (Wird keine Anzahl übermittel, ermittelt das System die kleinste Preisstaffel für den jeweiligen Artikel) | ||
skip_cart | 53: Ja | ||
continue_shopping | Zeigt im Warenkorb den Button "Weiter einkaufen". 0: Deaktivieren Achtung: Beim Aktivieren wird die Variable "skip_cart" ignoriert. | ||
pers_data | Dient der Übermittlung von Personalisierungsdaten (siehe unten) | ||
test | Zum Aktivieren des Testmodus kann der Parameter „test = true“ übergeben werden. Anstelle der Weiterleitung findet eine Bildschirmausgabe der übergebenen Daten statt. | ||
lang |
| ||
dynamic_lists | Listeneinträge über die SSO-Schnittstelle als JSON-String übergeben. (Mehr dazu erfahren Sie unter dem Punkt "Dynamische Listeneinträge") | ||
view_settings | Typ/Wert: Array
| ||
email_address_for_cost_release | E-Mail-Adresse für Kostenfreigabe (ab Version 6.0.0) |
* Pflichtfelder
Nach der Anmeldung am System stehen alle Funktionen wie gewohnt zur Verfügung, als ob der Benutzer sich regulär angemeldet hätte. Optional kann die reguläre Anmeldung mit Benutzernamen und Kennwort deaktiviert werden, sodass Benutzer nur noch über die Schnittstelle ins System gelangen können.
Bestellung stornieren
Folgende Daten müssen übermittelt werden:
Bezeichnung | Typ / Wert | Bemerkung | Version |
---|---|---|---|
request_time * | Datum und Uhrzeit (ISO 8601) | Zeitpunkt des Aufrufs (Standardgültigkeit des Requests 500s - 8 min) | since 4.3.23 |
dest_page | cancel_order | ||
dest_id | Der Bestellcode |
Dynamische Listeneinträge
Mit dieser Funktion können die Listeneinträge über die SSO-Schnittstelle in JSON-Format übergeben werden.
Diese Funktion kann unter Feldspezialoptionen aktiviert werden:
Hinweis
Die Erweiterung unterstützt ausschließlich eindimensionale Listen, weitere Felder werden von der Listenfunktion nicht beeinflusst.
JSON-String-Beispiel:
{ "FELD_ANREDE": { "default_value": "w", "options": [ { "name": "Frau", "value": "w" }, { "name": "Herr", "value": "h" } ] }, "FELD_TELEFON_LAENDERVORWAHL": { "default_value": "0049", "options": [ { "name": "(+49 Deutschland)", "value": "0049" }, { "name": "(+43 Österreich)", "value": "0043" } ] } }
Übermittlung von Personalisierungsdaten
Zur direkten Personalisierung eines Artikels kann der Parameter „pers = true“ und „dest_page = pers“ angegeben werden. Wird der Parameter weggelassen wird der Benutzer zur angegebenen Zielseite weitergeleitet. Zusätzlich kann man Personalisierungsdaten übergeben. Dazu wird der Paramater „pers_data“ angegeben. Die Datenübergabe kann auf zwei Wegen erfolgen:
- „pers_data“ wird als Array übergeben. Hierbei wird als Key der Variablenname aus der Druckvorlage übergeben und als Value ein gewünschter Wert.
- „pers_data“ wird als Integer übergeben. Hierbei handelt es sich um die „Id“ eines für die Vorlage gespeicherten Datensatzes. Wird ein Datensatz erfolgreich ermittelt, werden diese Daten automatisch geladen.
$userData["request_time"] = (new DateTime())->format(DateTime::ISO8601); // ab PHP 5.4 $userData["customer_user_name"] = "max@mustermann.de"; $userData["customer_longname"] = "Max Mustermann"; $userData["customer_user_company1"] = "Mustermann GmbH"; //Übermittlung von weiteren Personalisierungsdaten $userData["pers"] = true; $userData["pers_data"]["Feld1"] = "Wert1"; $userData["pers_data"]["Feld2"] = "Wert2"; $string = http_build_query($userData); $myPasshrase = "Passphrase"; $myCipher = "AES-256-CBC"; // Die Einstellungen unter "Verwaltung - Shops - SSO Schnittstelle - Verschlüsselungsverfahren" beachten! $iv = substr (hash('sha256', $myPasshrase), 0, 16); $encoded_string = openssl_encrypt ($string, $myCipher, $myPasshrase, false, $iv); $encoded_string = urlencode($encoded_string);
Referer Prüfung
Im Feld Referer Prüfung kann ein Regex eingegeben werden, mit dem die Anmeldung und Erstellung von Nutzern nur für eine oder mehrere angegebene Domains erlaubt.
Beispiel: www.domain.de zulassen:
/www\.domain\.de/
Beispiel: www.domain.de und www.weiteredomain.de zulassen:
/www\.(domain|weiteredomain)\.de/
Refererprüfung und Benutzer ohne Benutzernamen mit temporärem Benutzernamen anmelden
Wenn eine Referer Prüfung gesetzt ist, die Option 'Benutzer ohne Benutzernamen mit temporärem Benutzernamen anmelden' aktiviert ist und
keine ENCODED_KEY_VALUE_PAIRS (?h=) übergeben werden, wird ein temporärer Benutzer mit einem Dummy Benutzernamen angelegt.
Innerhalb der Administration im Bereich Verwaltung → Kunden → bearbeiten → SSO-Schnittstelle können die oben beschriebenen Informationen abgelegt und die Funktionen aktiviert werden.