Format und Inhalt - WS-SFTP-Kunden PRO (DE)

Allgemeines

Diese Dokumentation beschreibt das Format und den Inhalt der Importdateien um Kundenstammdaten in den Shop zu senden.

Übertragung der Importdateien

Die nachfolgend beschriebenen Importdateien können dabei auf 3 Arten übertragen werden.

Übertragung per SFTP/REST

Schritt 1: Übertragen der Importdateien mittels SFTP
Schritt 2: Starten des Imports der Daten mittels REST-Trigger

Da das Triggerverfahren in ähnlicher Weise für verschiedene Schnittstellen verwendet wird, ist es in der separaten Dokumentation „SFTP-REST-to-Shop“ beschrieben.

Übertragung per SFTP/SOAP

Schritt 1: Übertragen der Importdateien mittels SFTP
Schritt 2: Starten des Imports der Daten mittels SOAP-Trigger

Da das Triggerverfahren in ähnlicher Weise für verschiedene Schnittstellen verwendet wird, ist es in der separaten Dokumentation „SFTP-SOAP-to-Shop“ beschrieben.

Alternative Übertragung per WSPManager (Vorgängerversion)

Auch mittels des von WEBSALE bereitgestellten Windows-Tools „WSPManager“ können Daten auf den Shop-Server übertragen und importiert werden. Diese Methode sollte benutzt werden, wenn z. B. auf dem System des Händlers kein SFTP-Transfer bzw. kein REST/SOAP-Trigger implementiert werden kann.

Die Übertragung per WSPManager wird in der separaten Dokumentation „WSPManager-to-Shop“ beschrieben.

Format und Zeichensatz der Dateien

Die Importdateien müssen im CSV-Format (character separated values) geliefert werden.

Das Zeichen (Character) das als Feld-Trennzeichen verwendet wird, muss das Tabulator-Zeichen (ASCII 9) sein. Andere Feldtrenner sind nicht zulässig.

Durch die Verwendung des Tabulator-Trennzeichens ist eine zusätzliche Umkleidung von Textfeldern, z. B. durch Doppel-Anführungszeichen ("), nicht erforderlich und auch nicht zulässig. Alle Arten von Anführungszeichen sind reguläre, zulässige Zeichen in den Feldern und dürfen daher direkt und ohne weitere Markierung in den Daten enthalten sein.

Der Zeichensatz in dem die Daten codiert sind, richtet sich nach der Sprache des Landes für den der Shop betrieben wird. Es sind die im Internet normierten Länder- ISO-Codes (z. B. ISO 8859-1) zu verwenden. Die Verwendung von UTF-8 ist bei WEBSALE V8 nicht zulässig, da sonst viele Schnittstellen und Services intern und zu Drittanbietern fehlerhafte Ergebnisse liefern würden.

Adressierung der Datensätze

Um gezielt auf die Stammdaten eines Kunden zugreifen zu können, sind Schlüsselfelder in den Daten erforderlich. Hierbei gibt es verschiedene Schlüsselfelder deren Inhalt entweder der Shop, die Warenwirtschaft oder der Kunde verwaltet.

Zu jedem Kundendatensatz gehören nur ein Mal vorkommende Daten wie der Kundenname oder dessen Anschrift, aber auch mehrfach vorkommende Datensets (Multiple Kundenzusatzdaten) wie mehrere abweichende Lieferanschriften.

IDs mit Schlüsselfunktion

E-Mail

Die primäre Identifikation eines Kunden erfolgt im Shop stets über seine Mail-Adresse.

Ein Neukunde ist aus Sicht des Shops somit ein Kunde, der sich im Shop ein neues Konto anlegt mit einer neuen, d. h. bisher noch keinem Konto zugeordneten, E-Mail-Adresse.

UserIndex der Kundenstammdaten (vom Shop verwaltet)

Der UserIndex ist eine eindeutige, numerische ID, die ausschließlich vom Shop bei einer Neuanlage eines Kundendatensatzes in der Shop-Datenbank vergeben wird.

Mögliche Fälle der Neuanlage im Shop

  1. Ein Neukunde registriert sich im Shop

  2. Ein ERP-System übergibt an den Shop einen bisher im Shopsystem unbekannten Kundendatensatz.

Um vorhandene Datensätze im Shop zu aktualisieren adressiert ein ERP-System einen Kundendatensatz mittels UserIndex.

CustomerID der Kundenstammdaten (vom ERP verwaltet)

Die CustomerID ist aus Sicht des Shops lediglich ein String, den der Shopbetreiber vergeben hat. Üblicherweise ist die CustomerID die eindeutige Kundennummer die das ERP-System generiert hat und mit dem im ERP-System der Kunden referenziert wird.

Importiert ein ERP-System einen neuen Kundendatensatz aus dem Shopsystem und vergibt anschließend eine neue Kundennummer (CustomerID), so muss das ERP-System dem Shop diese neue Kundennummer mitteilen. Als Userindex muss in dem Fall der Wert übergeben werden, der dem ERP zusammen mit der Bestellung oder dem Kundendatensatz (beim Abholen von Kundendatenänderungen) übermittelt wurde. Existiert bereits eine gleiche Kundennummer im Shop, dann wird der Import als Dublette abgelehnt.

TableIndex und ExternalID der Multiplen Kundenzusatzdaten

Diese beiden IDs werden bei der Adressierung in Tabellen von sog. "Multiplen Kundenzusatzdaten" verwendet, d. h. bei Datensätzen die nicht nur ein Mal sondern auch mehrfach vorkommen können. Solche multiplen, auch mehrfach je Kunde vorkommenden Datensätze können bei 2 Datentypen vorkommen

  • Lieferadressen

  • Bankverbindungen

Für jeden dieser zwei Datentyp gibt es im Shop eine eigene Tabelle.

TableIndex

Der TableIndex wird ausschliesslich vom Shop bei einer Neuanlage eines Datensatzes in einer der Kundenzusatzdaten-Tabellen vergeben.

Der TableIndex ist eine innerhalb der Tabelle eindeutige numerische ID.

Da es sich um drei verschiedene Kundenzusatzdaten-Tabellen handelt, können und werden in jeder Tabelle die TableIndex-Werte für die darin befindlichen Datensätze teilweise auch gleiche Werte aufweisen.

Beispiel
Ein Datensatz in der Tabelle der Lieferadressen kann den TableIndex "123" aufweisen, ebenso wie ein Datensatz eines ganz anderen Kunden in der Tabelle der Bankverbindungen ebenfalls den TableIndex "123" haben kann.

ExternalID

Die ExternalID ist aus Sicht des Shops lediglich ein String, den der Shopbetreiber vergeben hat. Üblicherweise ist dies ein Index den das ERP-System generiert hat und mit dem im ERP-System z. B. eine vom mehreren (multiplen) Lieferadressen eines Kunden referenziert wird.

Regeln der Datenübergabe vom ERP an den Shop

Neuanlage eines Kundenstammdatensatzes

Ein ERP-System übergibt an das Shopsystem einen Datensatz mit vom ERP vergebener neuer CustomerID und einer im Shop noch nicht bekannten Mail-Adresse.

Das Kennzeichen einer Neuanlage ist, dass das Feld "UserIndex" in den Kundenstammdaten leer ist.

Im Zuge des Imports der neuen Kundenstammdaten in die Shopdatenbank wird der UserIndex neu vergeben und anschließend vom Shop über eine Export-Schnittstelle an das ERP-System mitgeteilt (siehe Dokumentation der Schnittstelle „SOAP-from-shop“).

Der Import einer Kundendatensatz-Dublette wird als Fehler abgelehnt und der Datensatz wird verworfen. Eine Dublette wird erkannt, wenn in der Shopdatenbank die CustomerID oder die Mail-Adresse bereits vorhanden ist. Sowohl CustomerID als auch Mail-Adresse dürfen also im Shop nicht vorhanden sein. Die übrigen Daten wie Name oder Anschrift spielen für die Dublettenprüfung des Shops beim Kundendatenimport keine Rolle!

Hinweis:
Bei einem B2B-Shop könnte es eventuell eine Ausnahme von der Regel "Neuanlage nur bei nicht vorhandener Mail-Adresse" geben. Und zwar bei Verwendung sog. "Mehrfachkonten" (siehe dazu weiter unten das Kapitel "Mehrfachkonten"). In dieser Dokumentation wird jedoch im Zusammenhang mit der Mailadresse stets der Standardfall "eine Mailadresse darf nur ein Mal vorhanden sein" behandelt.

Update eines Kundenstammdatensatzes

Ein ERP-System aktualisiert einen bereits im Shop vorhandenen Datensatz, indem sämtliche Felder des gewünschten Kundenstammdatensatzes übergeben werden.

Das Kennzeichen eines Updates ist, dass das Feld "UserIndex" einen im Shop vorhandenen UserIndex beinhaltet.

Neuanlage eines Multiplen Kundenzusatzdatensatzes

Bei einer Neuanlage können dem Shop gleiche E-Mail-Adressen für unterschiedliche Konten übergeben werden. Die CustomerID muss jedoch eindeutig sein und darf noch nicht im Shop existieren. Sollte die CustomerID bereits existieren, so wird der Datensatz verworfen.

Update eines Multiplen Kundenzusatzdatensatzes

Ein Update eines multiplen Kundendatensatzes erfolgt über den UserIndex, wie es im Abschnitt oben “Update eines Kundenstammdatensatzes” beschrieben ist.

Beispiele der Adressierung

Zuweisung der IDs von Neukunden, die sich selbst im Shop registrieren

In der Shopdatenbank wird bei der Neuanlage des Kundenstammdatensatzes ein neuer UserIndex, z. B. „123456“generiert .

Der Shop übergibt nach der Neuanlage diesen UserIndex zusammen mit den anderen Kundenstammdaten an das ERP-System.

Die Übergabe der Kundenstammdaten des Neukunden erfolgt nach seiner Registrierung. Es werden dabei zwei Fälle unterschieden:

  1. Übergabe gemeinsam mit den Bestelldaten
    wenn der Kunde nach der Neuanlage des Kontos eine Bestellung aufgegeben hat

  2. Übergabe per Adressänderungsdaten
    wenn der Kunde nach der Neuanlage des Kontos nichts bestellt hat

Bei der Übergabe der Kundenstammdaten bleibt das Feld CustomerID (Kundennummer) leer, da der Shop ja noch keine ERP-Kundennummer kennt (siehe Dokumentation der Schnittstelle „SOAP-from-Shop“).

Das ERP-System muss nun beim Einlesen der Bestellung bzw. Adressänderungsdaten das Feld CustomerID prüfen und aufgrund der nicht vorhandenen Kundennummer erkennen, dass es sich um einen neuen Shopkunden handelt. Es muss dann eine neue ERP-Kundennummer vergeben, z. B. „777888“. Diese wird umgehend an den Shop zurück repliziert, indem das ERP-System in der Importdatei den Kunden mit dem Shop-UserIndex „123456“ adressiert und die neu vergebene ERP-Kundennummer „777888“ übergibt.

Zuweisung der IDs von Neukunden, die im ERP-System angelegt werden

Im ERP-System wird ein neuer Kunde (z. B. durch Mitarbeiter im Callcenter des Händlers) angelegt.
Für den Import eines Neukunden in den Shop sind mindestens 2 Felder notwendig:

  1. eine neue Kundennummer

  2. eine neue Mail-Adresse

Beide Felder sind Pflichtfelder. Der UserIndex hingegen muss in diesem Fall leer oder 0 sein.

Der Shop erkennt aufgrund des fehlenden UserIndex, dass es sich um eine Neuanlage handeln soll und prüft, ob CustomerID oder E-Mail bereits existieren. Falls nicht, wird ein neuer Datensatz mit einem neuen UserIndex in der Shopdatenbank angelegt. Die Userindizes der angelegten Neukunden lassen sich über die SOAP-Funktion “GetAddedCustomers” abfragen (siehe Dokumentation Übertragung per SFTP-SOAP-to-Shop).

Ausnahmen und Optionen

eMarketingManager-Anlagen

Neben dem Shop, legt auch der WEBSALE-eMarketingManager (eMM), ein Newslettersystem mit erweitertem Funktionsumfang, Datensätze an. Diese sind

  • Mail-Adresse

  • optionale Adressdaten

Da für einen Newsletter meist nur die Angabe einer Mail-Adresse erforderlich ist, sind die vom eMarketingManager (eMM) angelegten Kundendatensätze üblicherweise ohne Passwort.

Als Folge davon dass ein ERP-System einen Kundendatensatz aus dem Shop, der allein aus einer Mail-Adresse besteht, in der Regel verwirft, hat der Datensatz auch keine Kundennummer in der Kundendatenbank.

Hierbei ist zu beachten, wenn später ein Datensatz aus dem ERP-System mit einer vom der gleichen Mail-Adresse importiert werden soll:

  • Viele ERP-Systeme kennen den UserIndex dieser Datensätze nicht, da sie entweder keine Adressdatenänderungen aus dem Shop einlesen oder die unvollständigen Adressdaten, die der eMarketingManager anlegt verworfen haben.

  • Wenn diese Systeme dann versuchen einen neuen Datensatz mit der gleichen Mail-Adresse anzulegen, so wird dieser beim Import mit einer Fehlermeldung abgewiesen, da eine Mail-Adresse nicht doppelt in der Datenbank vorkommen darf.

Aus diesem Grund wird unter folgenden Bedingung zusätzlich die Mail-Adresse zu Adressierung herangezogen:

  • In den Importdaten vom ERP ist kein UserIndex angegeben (d. h. es handelt sich aus Sicht des ERP um die Anlage eines Neukunden)

  • In der Shop-Kundendatenbank existiert ein Kunde mit der Mail-Adresse in den Importdaten und ohne angelegtes Passwort und ohne Kundennummer in der Shopdatenbank.

Wenn diese Bedingungen erfüllt sind, so werden die Kundendaten aus den Importdaten in den Shop-Datensatz geschrieben, der die angegebene Mail-Adresse hat.

Hinweis:
Dies ist auch unter Datensicherheits-Aspekten aus Sicht des Shops tolerierbar, denn der Besitzer der Mailadresse musste sich bei der Newsletter-Registrierung einem Double-Opt-In-Verfahren unterziehen und damit eindeutig die Berechtigung zur Nutzung der Mail-Adresse beweisen.

Mehrfachkonten (eMail)

Mehrfachkonten sind ein Feature das vom Versandhändler für einen B2B Shop gewünscht sein kann.

Standardmäßig kann in einem WEBSALE Shop je Mail-Adresse immer nur ein einziges Konto angelegt werden. Sind jedoch in einem Shop Mehrfachkonten erlaubt, so ist es möglich, abweichend vom Standard, mehrere Kundenkonten mit der gleichen Mail-Adresse anzulegen. Jedes dieser Mehrfachkonten hat dann ein eigenes Passwort für den Login.

Mehrfachkonten sollten in einem Shop nur in absoluten Ausnahmefällen eingesetzt werden, da Mail-Dubletten einige Funktionen im Shop einschränken oder gar unmöglich machen.

Beispiel für eine Anwendung
Eine Einkaufsabteilung mit mehreren Einkäufern wickelt nicht mit individuellen Mail-Adressen je Einkäufer sondern mit einer einzigen zentralen Einkaufs-Mail-Adresse (z. B. einkaufsteam@firma.de) sämtliche einkaufsbezogene Kommunikation ab. Dennoch soll aber jede Bestellung im Shop nachvollziehbar dem einzelnen Einkäufer zugeordnet werden. In diesem Fall findet das Login in den Shop mit der jeweils gleichen Mail-Adresse statt, jeder Einkäufer hat aber sein eigenes Passwort. Durch die Kombination Mail / Passwort wird die Zuordnung zum richtigen Stammdatensatz des jeweiligen Einkäufers gewährleistet.

Bei Mehrfachkonten existieren somit mehrere Kundenstammdatensätze mit der gleichen Mail-Adresse im Shop.

Voraussetzung für die Nutzung
Um dieses Feature zu nutzen, muss der Shop speziell konfiguriert werden. Bitte kontaktieren Sie die WEBSALE AG, falls Mehrfachkonten erforderlich sein sollten.

Mehrfachkonten (CustomerID)

Normalerweise ist es über den Import nicht möglich mehrere Kundendatensätze mit der gleichen Kundennummer (CustomerID) anzulegen, da diese als Duplikate abgelehnt werden.

Bei Nutzung des Features „Mehrfachkonten (CustomerID)“ ist diese Beschränkung aufgehoben.

Im Vergleich zu dem Feature „Mehrfachkonten (eMail)“ ergibt sich die zusätzliche Komplikation, dass die Datensätze in den einzelnen Importdateien (z. B. custupdate.csv und billcomplete.csv) über UserIndex oder CustomerID verknüpft werden. Bei einer Neuanlage muss nun aber der UserIndex den Wert „0“ haben, so dass bei mehrdeutigen CustomerIDs keine eindeutige Zuordnung der Zeilen in den einzelnen Importdateien mehr möglich ist.

Aus diesem Grund muss bei Verwendung von „Mehrfachkonten (CustomerID)“ in jeder Importdatei das Feld „Email“ angegeben werden.

Eine Kombination von „Mehrfachkonten (CustomerID)“ mit „Mehrfachkonten (eMail)“ ist aus dem gleichen Grund nicht möglich.

Voraussetzung für die Nutzung
Um dieses Feature zu nutzen, muss der Shop speziell konfiguriert werden. Bitte kontaktieren Sie die WEBSALE AG, falls Mehrfachkonten erforderlich sein sollten.

Mail-Adressierung

Normalerweise wird ein Importdatensatz mit leerem Userindex (oder Userindex = 0) als Dublette abgelehnt, wenn die dort angegebene Mail-Adresse bereits für einen Kundendatensatz im Shop verwendet wird.

Bei aktivierter “Mail-Adressierung” wird in diesem Fall stattdessen der Datensatz mit der angegebenen Mail-Adresse überschrieben.
Das gleiche wird gemacht, wenn der in den Importdaten angegebene Userindex nicht in der Shopdatenbank existiert, d. h. es wird nach einem Datensatz mit übereinstimmender Mail gesucht und dieser wird überschrieben.

Vorteile

Es wird eine gewisse “Fehlertoleranz” erreicht. Wenn im ERP-System ein Kunde angelegt wird, der sich bereits selbst im Shop registriert hat, dann schlägt der Import normalerweise fehl, denn der Importdatensatz ist als “Neuanlage” gekennzeichnet und die Mail ist schon vergeben.

Zu diesem Fall kann es kommen, wenn das ERP den im Shop angelegten Kunden (noch) nicht eingelesen hat. Das kann passieren, wenn die Anlage im Shop und im ERP quasi gleichzeitig erfolgt ist oder wenn das ERP das Einlesen des Kundendatensatzes explizit abgelehnt hat (z. B. wegen einer unvollständigen Adresse).

Weiterhin kann auch dann noch ein Import eines Kundendatensatzes erfolgen, wenn in der ERP-Datenbank ein falscher Userindex steht, z. B. weil sich der Kunde im Shop gelöscht und wieder neu registriert hat und dieser Vorgang nicht im ERP angekommen ist.

Nachteile

Die “Fehlertoleranz” ist auch gleichzeitig ein Nachteil, weil sie Abweichungen zwischen ERP-Datenbank und Shop-Datenbank verschleiert.

So kann ein Sachbearbeiter durch die Neuanlage eines Kunden im ERP einen bereits vorhandenen Kundendatensatz im Shop überschreiben, ohne dass er in irgendeiner Form darauf hingewiesen wird.

Etwas ähnliches kann passieren, wenn der Userindex im ERP nicht mehr stimmt, auch dadurch können unbewusst Daten eines Shopkunden überschrieben werden, für den die Änderungen nicht gedacht waren.

Weiterhin können “Mehrfachkonten (eMail)” natürlich nicht in Kombination mit der “E-Mail-Adressierung“ verwendet werden.

Voraussetzung für die Nutzung
Um dieses Feature zu nutzen, muss der Shop speziell konfiguriert werden. Bitte kontaktieren Sie die WEBSALE AG, falls E-Mail-Adressierung erforderlich sein sollten.

Import-Dateien

Beschränkung der Feldlängen

Die Voreinstellung und gleichzeitig maximal zulässige Länge aller Kundendatenfelder ist 256 Zeichen.

Im Abschnitt “AddressMaxInputLen” der Shopkonfiguration „shop.config“ kann bei Bedarf die maximale Länge der einzelnen Felder, für die der Kunde im Shop Inhalte eingeben kann, herabgesetzt werden. Von dieser Möglichkeit sollten Sie Gebrauch machen, wenn die jeweilige Feldlänge in Ihrem System kleiner als 256 Zeichen ist.

Beschränkung der Dateigröße

  • Import per SFTP: 4 GB je Datei

  • Import per WSPManager: 1 GB je Datei

Übersicht über die Importdateien

Dateiname

Kommentar

Dateiname

Kommentar

custupdate.csv

Zu aktualisierende und einzufügende Datensätze/ Zugangsdaten und Kundenoptionen

custdelete.csv

Zu löschende Datensätze

billupdate.csv

Zu aktualisierende und einzufügende Rechnungsadressen.

billcomplete.csv

Zu aktualisierende und einzufügende Rechnungsadressen. Im Gegensatz zur Datei „billupdate.csv“ müssen in dieser Datei alle Rechnungsadressen eines Kunden enthalten sein. Nicht enthaltene Rechnungsadressen werden gelöscht.
Diese Datei ist als Alternative zu billupdate.csv gedacht, ein gleichzeitiger Import wird im allgemeinen nicht sinnvoll sein.

billdelete.csv

Zu löschende Rechnungsadressen. Diese Datei ist dafür gedacht, einzelne Adressen von bestimmten Kunden zu löschen. Beim Löschen des kompletten Kunden mit Hilfe der Datei “custdelete.csv” werden automatisch auch alle Rechnungsadressen gelöscht.

delivupdate.csv

Zu aktualisierende und einzufügende Lieferadressen

delivcomplete.csv

Zu aktualisierende und einzufügende Lieferadressen. (analog zu billcomplete.csv).

delivdelete.csv

Zu löschende Lieferadressen (analog zu billdelete.csv).

bankupdate.csv

Zu aktualisierende und einzufügende Bankverbindungen

bankcomplete.csv

Zu aktualisierende und einzufügende Bankverbindungen (analog zu billcomplete.csv).

bankdelete.csv

Zu löschende Bankverbindungen (analog zu billdelete.csv).

Reihenfolge des Imports

Die Dateien werden in folgender Reihenfolge importiert:

  1. *delete Dateien

  2. custupdate.csv

  3. Alle anderen *update Dateien

  4. *complete Dateien

Es könnten also innerhalb eines Imports zuerst Datensätze eines Kunden gelöscht und danach wieder eingefügt werden, falls das aus Sicht des exportierenden Systems sinnvoll ist.

Aufgrund der Verarbeitung als letztes hat ein Komplett-Import aller Datensätze stets "die Oberhand". Werden mit einer update-Datei und in der zugehörigen complete-Datei also Datensätze für den gleichen Kunden übergeben, so überschreiben die Daten der complete-Datei die vorher importierten Daten der update-Datei.

Aufbau und Inhalt der Datei custupdate.csv

Über diese Datei können neue Datensätze im Shop angelegt und diverse Optionen für die Kunden gesetzt werden. Damit für einen Kunden Rechnungsadressen, Lieferadressen usw. importiert werden können muss immer auch zunächst ein Datensatz mit Hilfe der custupdate.csv angelegt werden.

Werden Pflichtfelder in der Datei nicht geliefert (d. h. fehlt die Spalte komplett), so bleiben die ursprünglich für diese Felder im Kundendatensatz gespeicherten Werte erhalten.

Die Datei enthält folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt Adressierung der Datensätze)

ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes (siehe Adressierung der Datensätze)

CustomerID

Die Kundennummer

ja bei der Neuanlage eines Datensatzes, sonst: siehe Adressierung der Datensätze

Password

Das Passwort mit dem sich der Kunde im Shop einloggen kann.
Beachten Sie, dass Sie das Passwort nur bei der Neuanlage von Kunden setzen können. Da der Kunde sein Passwort im Shop jederzeit ändern kann bestünde ansonsten die Gefahr, dass Sie das vom Kunden gewählte Passwort überschreiben.

nein

EMail

Die Mail-Adresse des Kunden

ja

MainSubshop

Ist hier eine Subshop-ID eingetragen, so kann sich der Kunde nur in diesen Subshop (und in die eventuell im Feld Subshop angegebenen Subshops) einloggen. Versucht sich ein Kunde in einen Subshop einzuloggen, für den er keine Zugangsberechtigung hat, so wird er in den unter “MainSubshop” angegebenen Subshop umgeleitet.

Ist dieses Feld leer, so kann sich der Kunde in alle Subshops einloggen.

ja, wenn das Feld “Subshop” verwendet wird

Subshop

Ist im Feld “MainSubshop” ein Subshop eingetragen, so kann im Feld “Subshop” eine kommagetrennte Liste von weiteren Subshops angegeben werden, in die sich der Kunde einloggen kann.

Alternativ zu einer Liste von Subshops kann hier auch der Wert “*” eingetragen werden, in diesem Fall kann sich der Kunde in alle Subshops einloggen.

nein

CharsetImport

Wenn die Kundendaten nicht in dem Zeichensatz geliefert werden können der im Shop verwendet wird, so kann der Zeichensatz mit diesen beiden Feldern konvertiert werden

nein

CharsetShop

nein

AddressSharingLastChangeDate

Einwilligung zur Weitergabe von Adressen zu Werbezwecken: Datum der letzten Änderung des Zustandes im Format TT.MM.JJJJ

nein

AddressSharingLastChangeIP

Einwilligung zur Weitergabe von Adressen zu Werbezwecken: IP-Adresse bei der letzten Änderung

nein

AddressSharingLastChangeTime

Einwilligung zur Weitergabe von Adressen zu Werbezwecken: Zeit der letzten Änderung des Zustandes im Format SS:MM:SS (Stunden/Minuten/Sekunden)

nein

AddressSharingState

Einwilligung zur Weitergabe von Adressen zu Werbezwecken: Status, mögliche Werte sind:
0: Nicht gesetzt
1: Einwilligung telefonisch abgelehnt
2: Einwilligung telefonisch gegeben
3: Einwilligung im Shop abgelehnt
4: Einwilligung im Shop gegeben

nein

AgeResMail

Eine Mail-Adresse, an die das „AgeResPasswd“ geschickt werden kann

nein

AgeRestricted

Das Alter des Kunden. Ist dieses Feld mit einem Wert größer 0 gefüllt, so werden dem eingeloggten Kunden nur Produkte angezeigt, deren „Altersbeschränkung“ kleiner oder gleich dem Alter des Kunden ist

nein

AgeResPasswd

Das Passwort (für den Erziehungsberechtigten), mit dem das „AgeRestricted“ Feld geänderten werden kann

nein

BillieDuration

Zeit in Tagen innerhalb derer der Kunde die Rechnung bezahlen muss (nur bei Zahlungsart Billie)

Gültige Werte: 7 - 120 (überschreibt den Standardwert von 30 Tagen aus der Shopkonfiguration)

nein

CreditCheckDate

Datum, zu dem eine (automatische, erneute) Bonitätsprüfung erfolgen soll.
Das Feld kann verwendet werden, wenn eine positive Bonitätsprüfung durch den Shop zeitlich nicht unbegrenzt gelten soll, sondern z. B. nach einem Jahr erneut geprüft werden soll, ob ein Kunde weiterhin mit Rechnung bezahlen darf.

Format: YYYY-MM-DD

Beispiel: 2022-03-17

nein

CreditPassState

0/leer: nicht geprüft

1: positiv geprüft

2: negativ geprüft

nein

Currency

Die Währung in der dem Kunden die Preise nach dem Login standardmäßig angezeigt werden.

nein

CustomerDiscountOnly

„X“: Dem Kunden wird nur der unter “Discount” angegebene Kundenrabatt gewährt, keine anderen Rabatte.
Wenn dem Kunden kein Kundenrabatt zugewiesen ist und dieses Flag gesetzt ist, so erhält er überhaupt keine Rabatte.

nein

DelCostDiscRate

Rabatt in %, den der Kunde auf die Versandkosten erhält.

nein

DeliveryCostReduction

„X“: Für den Kunden gelten reduzierte Versandkosten

nein

DeliveryDays

Kommaseparierte Liste der Wochentage an denen der Kunde beliefert werden kann.

1=Montag
...
7=Sonntag

nein

DeliveryGroup

Versandkostengruppe, ermöglicht es artikelabhängige Versandkosten zusätzlich kundenabhängig zu machen.

nein

Discount

Rabatt in %, den der Kunde beim Kauf von rabattierfähigen Artikeln erhält

nein

DiscountGroupID

Suffix für Discount.dat, ermöglicht kundenabhängige Rabattgruppen.

Beispiel:

Wenn DiscountGroupID=“abc“, dann wird die Datei „discount_abc.dat“ vom Shop geladen.

Wenn DiscountGroupID=““, dann wird die Standard-Datei „discount.dat“ vom Shop geladen.

Das Format der „discount_*.dat“ Dateien ist in der Dokumentation WS-SFTP-Produkte PRO beschrieben.

nein

DiscountList

Definition der möglichen Gruppierung an rabattierbaren Produkten für diesen Kunden. Wird dieses Feld verwendet, ignoriert der Shop den allgemeinen Rabattsatz. In diesem Feld können Rabatte für Produkte oder Kategorien geliefert werden, die der angegebenen Suchmaske entsprechen.

Aufbau des Feldes:

<g>(Type):(Rabattsatz)[:(Suchmaske)][:(abMenge-bisMenge)]</g>…

Type kann die folgenden Werte haben:
1: Produktnummer mit optionalen Wildcard-Zeichen
2: Produktindex mit optionalen Wildcard-Zeichen
3: UserDiscountCategory (reserviert für Spezialanwendung)

„Wildcard-Zeichen“ sind:
?: Ein beliebiges Zeichen
*: Beliebig viele beliebige Zeichen

Beispiele:
<g>1:12.00:123?R*</g><g>2:12.00:10-123?R*</g><g>3:3.00:UserDiscountCategory</g>

Angaben mit und ohne Mengen können auch kombiniert werden. Dabei wird die erste Regel, die von links betrachtet zutrifft, verwendet.

Beispiel: In der Kategorie “flyer” wird bis 1000 Stück 3% Rabatt gewährt, 2% bis 10.000 und 1% ab 10.000:

<g>3:3.00:flyer:-999</g><g>3:2.00:flyer:1000-9999</g><g>3:1.00:flyer:10000-</g>

nein

FreeDelivery

“X”: Der Kunde bezahlt keine Versandkosten

nein

FreePayCost

“X”: Der Kunde bezahlt keine Zahlungsartenkosten

nein

FreightCostsValue

Betrag eines Frachtkostenauf-/abschlages, z. B. 23.50

nein

FreightCostsType

Typ des Frachtkostenauf-/abschlages, mögliche Werte:

A+=Absoluter Aufschlag
A-=Absoluter Abschlag
P+=Prozentualer Aufschlag
P-=Prozentualer Abschlag

nein

GroupLogin

„X“: Die Login-Daten werden von mehreren Usern verwendet („Gruppen-Login“). In diesem Fall können weder die Login-Daten noch die Adressdaten durch den eingeloggten User im Shop geändert werden.

nein

InfoScoreState

0/leer: nicht geprüft

1: positiv geprüft

2: negativ geprüft

nein

LastOrderDate

Datum der letzten Bestellung im Format YYYY-MM-DD

Dieses Feld ist für Bestellungen gedacht, die am Online-Shop vorbei gemacht wurden, z.B. telefonisch. Es kann dann zur Neukundenerkennung und zur Steuerung der Logiken beim Holen von Adressdatenänderungen verwendet werden.

nein

MaxOrderForUserAccount

Steht in diesem Feld ein Wert > 0, so wird dieser statt des bei den Zahlungsarten in der shop.config eingetragenen “MaxOrder-Value” verwendet.

nein

OrderGenerator

„X“: Falls dem eingeloggten Kunden ein Link zum „Bestellgenerator“ angeboten werden soll.

nein

PayCostDiscRate

Rabatt in %, den der Kunde auf die Zahlungsartenkosten erhält

 

PaymentMethods

Eine kommagetrennte Liste von Zahlungsarten-Codes der Zahlungsmethoden, die dem Kunden zur Verfügung stehen.

Beispiele für Zahlungsarten-Codes:
1=Kreditkarte
3=Nachnahme
4=Bankeinzug/Lastschrift
5=Vorauskasse
6=Rechnung

Eine Liste aller Zahlungsarten-Codes finden Sie in der Designer-Dokumentation:
Zahlungsarten-Codes

nein

ProductDiscount

“X”: Der Kundenrabatt wird beim Produkt angezeigt
Jeder andere Wert: Der Kundenrabatt wird im Warenkorb angezeigt

nein

PriceGroup

Eine Preisgruppe, sind für diese Preisgruppe beim Artikel-Import abweichende Preise angegeben worden, so werden dem Kunde diese statt der Default-Preise angezeigt.

Auch wenn die Zuordnung von kundenabhängigen Preisen über die Kundennummer erfolgt muss dieses Feld einen nicht leeren Eintrag enthalten. Dieser „Dummy-Eintrag“ muss keiner existierenden Preisgruppe entsprechen und dient nur als Flag, damit der Online-Shop die Funktion „kundenabhängige Preise“ aktiviert.

nein

RegistrationCode

"Freischaltcode", der Shop kann so eingerichtet werden, dass sich nur Kunden registrieren können, die einen Freischaltcode kennen.

Dieser Freischaltcode wird vom Shop bei den Kundendaten gespeichert, ein Verändern des Wertes über den Import ist deshalb nicht sinnvoll wohl aber ein Löschen des Codes.

nein

Releaser

„X“: Der Kunde kann die Bestellungen anderer Kunden freigeben

nein

ReleaseID

Eine ID für das Freigabeverfahren

nein

ReleaseRequired

„X“: Die Bestellungen des Kunden müssen freigegeben werden bevor sie ausgeführt werden.

nein

Reseller

„X“: Der Kunden kann einen „Reseller-Aufschlag“ (Provision) eingeben, welcher dann zur Gesamtsumme der Bestellung hinzuaddiert wird

nein

StartPage

Eine „Startseite“ die nach dem Login des Kunden angezeigt wird

nein

SuperUserID

ID eines „Super-Users“ mit besonderen Rechten.

Dieser kann sich z. B. als ein anderer User einloggen und für diesen bestellen.

Jeder Kunde mit einer gefüllten SuperUserID gilt als „SuperUser“, die hier eingetragene ID wird in den Bestelldaten zurückgegeben. Es empfiehlt sich also für jeden SuperUser eine andere ID zu verwenden, damit in den Bestelldaten ersichtlich ist, wer die Bestellung ausgeführt hat.

nein

SuperUserRestricted

„X“: Der „SuperUser“ darf nur auf die Kundendatensätze zugreifen, bei denen seine SuperUserID im Feld SuperUserIDList eingetragen ist.

nein

SuperUserIDList

Eine kommagetrennte Liste der SuperUserIDs der SuperUser, die auf diesen Kundensatz zugreifen dürfen.

nein

Surcharge

Zusätzlich zum globalen Mindermengenzuschlag ist es möglich, pro Kunde einen Betrag (SurchargeLimit) zu hinterlegen, bis zu welchem bei einer Bestellung ein Mindermengenzuschlag (Surcharge) pro Bestellung berechnet wird (Mindermengenzuschlags-Basis), wenn dieser unterschritten wird. Weiterhin kann pro Kunde die Höhe des Mindermengenzuschlags individuell hinterlegt werden.

nein

SurchargeLimit

nein

TeleMarketingLastChangeDate

Einwilligung für Telefonwerbung: Datum der letzten Änderung des Zustandes im Format TT.MM.JJJJ

nein

TeleMarketingLastChangeIP

Einwilligung für Telefonwerbung: IP-Adresse bei der letzten Änderung

nein

TeleMarketingLastChangeTime

Einwilligung für Telefonwerbung: Zeit der letzten Änderung des Zustandes im Format SS:MM:SS

nein

TeleMarketingState

Einwilligung für Telefonwerbung: Status, mögliche Werte sind:
0: Nicht gesetzt
1: Einwilligung telefonisch abgelehnt
2: Einwilligung telefonisch gegeben
3: Einwilligung im Shop abgelehnt
4: Einwilligung im Shop gegeben

nein

UnitFactorGroupID

Wenn kundenabhängige Stückelungen verwendet werden sollen, so muss hier die Gruppen-ID eingetragen werden, die dann auch im Feld “UnitFactorGroups” in den Produktdaten benutzt wird.

nein

Warranty

Kommagetrennte Liste der Berechtigungscodes des Kunden. Ein Berechtigungscode ist ein alphanumerischer String, dessen Inhalt festlegt, ob dem Kunden bestimmte Bereiche im Shop angezeigt werden oder nicht.

Beispiel-Liste: 1,2,abc

Der Kunde gehört den Berechtigungsgruppen „1“, „2“ und „abc“ an.

Beispiel-Klammerungen in einem Template:

{ST-Warranty(1,abc)} Dieser Bereich wird dem Kunden nur dann angezeigt, wenn er der Gruppe „1“ oder der Gruppe „abc“ angehört. {/ST-Warranty(1,abc)} {!ST-Warranty(1,abc)} Dieser Bereich wird dem Kunden angezeigt, wenn er weder der Gruppe „1“ noch der Gruppe „abc“ angehört. {/!ST-Warranty(1,abc)}

nein

WebsaleIni

Veraltet/deprecated: Der Name einer alternativen shop.config, die für den Kunden verwendet werden soll.

nein

Aufbau und Inhalt der Datei custdelete.csv

Über diese Datei können Datensätze aus dem Shop gelöscht werden. Wird ein Datensatz mit der custdelete.csv gelöscht, so werden alle Daten des Kunden gelöscht, d. h. seine Rechnungsadressen, Lieferadressen usw.

Die Datei enthält folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

Ja, wenn das Feld CustomerID fehlt oder leer ist (siehe Adressierung der Datensätze)

CustomerID

Die Kundennummer

Ja, wenn das Feld UserIndex fehlt, leer oder 0 ist (siehe Adressierung der Datensätze)

Wenn das Feld UserIndex fehlt, leer oder 0 ist und eine Kundennummer angegeben ist, dann werden alle Datensätze gelöscht, die zu dieser Kundennummer passen.

Aufbau und Inhalt der Datei billupdate.csv/billcomplete.csv

Diese Dateien enthalten die einzufügenden oder zu aktualisierenden Rechnungsadressen. Der Aufbau der beiden Dateien ist identisch. Die enthaltenen Daten werden jedoch beim Import unterschiedlich behandelt:
Datensätze eines Kunden die in der billupdate.csv nicht enthalten sind bleiben in der Kundendatenbank des Shops erhalten, während sie beim Import der identischen Daten in einer billcomplete.csv gelöscht werden.

Beispiel

Die Kundendatenbank des Shops enthält zwei Kunden mit den Kundennummern “123” und “ABC”. Für den Kunde “123” sind in der Kundendatenbank 5 Rechnungsadressen gespeichert. In der billupdate.csv/billcomplete.csv sind für den gleichen Kunden 3 Rechnungsadressen vorhanden. Der Kunde “ABC” taucht in den Importdateien nicht auf.

Beim Import der Daten als “billcomplete.csv” würden die 5 Rechnungsadressen des Kunden “123” aus der Datenbank durch die 3 Rechnungsadressen aus der Importdatei ersetzt.

Beim Import der Daten als “billupdate.csv” werden die 3 Adressen aus den Importdaten zu den bereits in der Kundendatenbank vorhandenen Adressen hinzugefügt bzw. die vorhandenen Adressen aktualisiert.

Die Daten des Kunden “ABC” bleiben in beiden Fällen unverändert in der Kundendatenbank erhalten.

Bitte beachten Sie, dass der Shop bisher nur eine Rechnungsadresse je Kunde unterstützt.

Die Dateien enthalten folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt Adressierung der Datensätze)

ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes

(siehe Adressierung der Datensätze)

CustomerID

Die Kundennummer

ja bei der Neuanlage eines Datensatzes, sonst: siehe Adressierung der Datensätze

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

Dieses Feld ist derzeit optional, da der Shop nur eine Rechnungsadresse je Kunde unterstützt

ExternalID

Die ID des Datensatzes für den Kunden.

ExternalID: ja bei der Neuanlage eines Datensatzes. Optional beim Update einer Rechnungsadresse.

(siehe Adressierung der Datensätze

BCCEMail

Kommagetrennte Liste von Mail-Adressen an die die Bestellbestätigungen als "blind carbon copy" geschickt werden sollen.

nein

BusinessFax

Fax (geschäftlich)

nein

BusinessPhone

Telefon (geschäftlich)

nein

CCEMail

Kommagetrennte Liste von Mail-Adressen an die die Bestellbestätigungen als "carbon copy" geschickt werden sollen.

nein

City

Wohnort

nein

Company

Firma

nein

CompleteSalutation

Komplette Anrede, z. B. „Sehr geehrter Herr Müller“. Dieses Feld kann verwendet werden, wenn beim Import der Daten eine Begrüßungs-Mail an Neukunden verschickt werden soll. Für den Shop ist es ohne Bedeutung.

nein

CostCenter

Kostenstelle

nein

CountryISO

Dreistelliger ISO-Code des Landes

nein

DateOfBirth

Geburtsdatum im Format TT.MM.JJJJ

nein

Department

Abteilung

nein

EMail2

Mail-Adresse für Rechnung

nein

Fax

Fax

nein

FirstName

Vorname

nein

LastName

Nachname

nein

MobilePhone

Mobiltelefon

nein

Phone

Telefon

nein

PostOfficeBox

Postfach

nein

PostOfficeBoxZip

Postleitzahl des Postfachs

nein

Salutation

Anrede, z. B. „Herr“. Dieses Feld wird vom Shop nur verwendet, wenn der "SalutationCode" nicht gefüllt ist. Es wird empfohlen statt "Salutation" das Feld "SalutationCode" zu importieren und den Text der Anrede (z. B. „Herr“) in der Konfiguration „salutation.dat“ einzutragen.

nein

SalutationCode

Code der Anrede, z. B. „11“. Die Codes und die zugehörigen Einstellungen werden in der Konfiguration „salutation.dat“ konfiguriert. Der Zugriff erfolgt über den Dienst "Konfiguration" im Online-Servicebereich.

nein

State

Land, z. B. „Bayern“

nein

Street1

Straße / Hausnummer

nein

Street2

2. Straße / Hausnummer

nein

Suffix1-50

Frei verwendbare Adressdatenfelder

nein

TaxId

Umsatz-ID

nein

TaxIds

Umsatz-IDs für Reihengeschäfte,
Format:
<g>{3ISO LKZ}:{Prüfstatus}:{Ust-ID}</g>

Beispiel:

<g>DEU:ok:DE123456789</g><g>BEL:unchecked:BE0999999999</g><g>AUT:failed:AT0999999999</g>

nein

Title

Titel, z. B. „Dr.“

nein

TitleCode

Code des Titels, z. B. „11“. Die Codes und die zugehörigen Einstellungen werden in der Konfiguration „title.dat“ konfiguriert. Der Zugriff erfolgt über den Dienst "Konfiguration" der SubShops im Online-Servicebereich.

nein

UserDescr

Ein Kommentar, der im Shop bei der Adressauswahl angezeigt wird

nein

UserType

„Typ“ des Kunden, muss einem in der shop.config konfigurierten Wert entsprechen

nein

Zip

Postleitzahl

nein

Aufbau und Inhalt der Datei billdelete.csv

Über diese Datei können einzelne Rechnungsadressen aus dem Shop gelöscht werden. Sollen alle Daten eines Kunden gelöscht werden, so genügt es den Datensatz mit der custdelete.csv zu löschen, ein Löschen der einzelnen Rechnungsadressen mit der billdelete.csv ist in diesem Fall nicht nötig.

Die Datei enthält folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

Ja, wenn das Feld CustomerID fehlt oder leer ist

CustomerID

Die Kundennummer

Ja, wenn das Feld UserIndex fehlt, leer oder 0 ist

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

Ja, wenn das Feld ExternalID fehlt oder leer ist

ExternalID

Die ID des Datensatzes für den Kunden.

Ja, wenn das Feld TableIndex fehlt, leer oder 0 ist

Aufbau und Inhalt der Datei delivupdate.csv/delivcomplete.csv

Diese Dateien enthalten die einzufügenden oder zu aktualisierenden Lieferadressen. Diese werden analog zu den Dateien billupdate.csv bzw. billcomplete.csv behandelt. Lieferadressen müssen für einen Kunden nur dann importiert werden, wenn sie von den Rechnungsadressen abweichen.

Die Dateien enthalten folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes

(siehe Adressierung der Datensätze)

CustomerID

Die Kundennummer

ja bei der Neuanlage eines Datensatzes, sonst: siehe Adressierung der Datensätze

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

TableIndex: ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes

(siehe Adressierung der Datensätze)

ExternalID

Die ID des Datensatzes für den Kunden.

ExternalID: ja bei der Neuanlage eines Datensatzes, sonst optional

(siehe Adressierung der Datensätze

City

Wohnort

nein

Company

Firma

nein

CostCenter

Kostenstelle

nein

CountryISO

Dreistelliger ISO-Code des Landes

nein

Department

Abteilung

nein

EMail

Mail für Lieferadresse

nein

FirstName

Vorname

nein

LastName

Nachname

nein

Phone

Telefon

nein

PostOfficeBox

Postfach

nein

PostOfficeBoxZip

Postleitzahl des Postfachs

nein

Salutation

Anrede, z. B. „Herr“. Dieses Feld wird vom Shop nur verwendet, wenn der "SalutationCode" nicht gefüllt ist. Es wird empfohlen statt "Salutation" das Feld "SalutationCode" zu importieren und den Text der Anrede (z. B. „Herr“) in der Konfiguration „salutation.dat“ einzutragen.

nein

SalutationCode

Code der Anrede, z. B. „11“. Die Codes und die zugehörigen Einstellungen werden in der Konfiguration „salutation.dat“ konfiguriert. Der Zugriff erfolgt über den Dienst "Konfiguration" im Online-Servicebereich.

nein

State

Land, z. B. „Bayern“

nein

Street1

Straße / Hausnummer

nein

Street2

2. Straße / Hausnummer

nein

Suffix1-50

Frei verwendbare Adressdatenfelder

nein

Title

Titel, z. B. „Dr.“

nein

TitleCode

Code des Titels, z. B. „11“ (die Codes und die zugehörigen Einstellungen werden in der Datei „title.dat“ über den Dienst „Konfiguration“ der SubShops konfiguriert)

nein

UserDescr

Ein Kommentar, der im Shop bei der Adressauswahl angezeigt wird

nein

Zip

Postleitzahl

nein

Aufbau und Inhalt der Datei delivdelete.csv

Über diese Datei können einzelne Lieferadressen aus dem Shop gelöscht werden, sie wird analog zu der Datei billdelete.csv behandelt.

Die Datei enthält folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

Ja, wenn das Feld CustomerID fehlt oder leer ist

CustomerID

Die Kundennummer

Ja, wenn das Feld UserIndex fehlt, leer oder 0 ist

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

Ja, wenn das Feld ExternalID fehlt oder leer ist

ExternalID

Die ID des Datensatzes für den Kunden.

Ja, wenn das Feld TableIndex fehlt, leer oder 0 ist

Aufbau und Inhalt der Datei bankupdate.csv/bankcomplete.csv

Diese Dateien enthalten die einzufügenden oder zu aktualisierenden Daten der Bankverbindung, sie werden analog zu den Dateien billupdate.csv bzw. billcomplete.csv behandelt.

Die Dateien enthalten folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes

(siehe Adressierung der Datensätze)

CustomerID

Die Kundennummer

ja bei der Neuanlage eines Datensatzes, sonst: siehe Adressierung der Datensätze

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

TableIndex: ja beim Ändern eines Datensatzes, verboten bei der Neuanlage eines Datensatzes

(siehe Adressierung der Datensätze)

ExternalID

Die ID des Datensatzes für den Kunden.

ExternalID: ja bei der Neuanlage eines Datensatzes, sonst optional

(siehe Adressierung der Datensätze

AccountNumber

Kontonummer

nein

Bank

Name der Bank

nein

BankCode

Die Bankleitzahl

nein

BIC

Bank Identifier Code

nein

CountryISO

Dreistelliger ISO-Code des Landes

nein

IBAN

International Bank Account Number

nein

Owner

Inhaber des Kontos

nein

SEPALastMandate

Letzte SEPA-Mandatsnummer

nein

SEPAMandateType

Sepa-Mandats-Typ

0: nicht gesetzt
1: einmaliges Mandat
2: wiederkehrendes Mandat

nein

SEPADebitType

SEPA-Lastschrift-Art

0: nicht gesetzt
1: Basis-Lastschrift
2: Firmen-Lastschrift

nein

SEPAMandateDate

Datum der Mandats-Einwilligung
Format: JJJJMMTT

nein

UserDescr

Ein Kommentar, der im Shop bei der Auswahl der Bankverbindung angezeigt wird

nein

Aufbau und Inhalt der Datei bankdelete.csv

Über diese Datei können einzelne Bankverbindungen aus dem Shop gelöscht werden, sie wird analog zu der Datei billdelete.csv behandelt.

Die Datei enthält folgende Felder:

Feldname

Feldinhalt

Pflichtfeld ja/nein

Feldname

Feldinhalt

Pflichtfeld ja/nein

UserIndex

Der Tabellen-Schlüssel in der Shop-Datenbank (siehe Abschnitt “Adressierung der Datensätze”)

Ja, wenn das Feld CustomerID fehlt oder leer ist

CustomerID

Die Kundennummer

Ja, wenn das Feld UserIndex fehlt, leer oder 0 ist

TableIndex

Der Tabellen-Schlüssel in der Shop-Datenbank

Ja, wenn das Feld ExternalID fehlt oder leer ist

ExternalID

Die ID des Datensatzes für den Kunden.

Ja, wenn das Feld TableIndex fehlt, leer oder 0 ist

Zeichensatzkonvertierung

Wenn die Adressdaten nicht in dem Zeichensatz geliefert werden können, der vom Shop verwendet wird, so kann der Zeichensatz beim Import konvertiert werden. Dafür stehen zwei Möglichkeiten zur Verfügung:

1) Verwendung der Felder „CharsetImport“ und „CharsetShop“

Diese beiden Felder müssen in der Datei custupdate.csv für jeden importierten Datensatz angegeben werden und enthalten den Zeichensatz des Datensatzes in den Importdaten und den Zeichensatz der im Shop verwendet werden soll.

2) Konfiguration der Konvertierung in der Datei global.config

Hierbei wird in der Datei „global.config“ im Verzeichnis „konfiguration“ eingestellt in welchem Zeichensatz die Kundendaten geliefert werden. Die Datei „global.config“ ist im Shop optional und muss deshalb eventuell erst angelegt werden.

Der Zeichensatz des Shops wird aus der „shop.config“ gelesen. Damit der Subshop (und damit die zu verwendende shop.config) bestimmt werden kann, muss bei dieser Methode bei jedem Datensatz das Feld „MainSubhop“ gefüllt sein.

Beispiel für die Konfiguration in der global.config

<CustomerImportPro> ConvertCharset = yes # [yes|no], standard = no ImportCharset = UTF-8 # standard = UTF-8 UnknownCharacters = mapreplace # standard = ignore </CustomerImportPro> <+ImportCharsetConvertMap> Charset = ISO-8859-1 a = %c4%83 $delete = %c3%8d %56 = %c3%8e s = %c5%9f </+ImportCharsetConvertMap>

Einziger Pflichtparameter ist „ConvertCharset“, denn nur wenn dieser Parameter den Wert „yes“ hat wird der Zeichensatz überhaupt konvertiert. „ImportCharset“ gibt den Zeichensatz der Importdatei an. Fehlt der Parameter oder ist er leer, so wird der Zeichensatz „UTF-8“ verwendet.
„UnknownCharacters“ regelt das Verhalten, wenn die Importdatei Zeichen enthält die im Zeichensatz des Shops nicht vorhanden sind. Der Default-Wert ist „ignore“. Dabei werden Zeichen, die sich nicht konvertieren lassen, komplett weggelassen. Bei „stdreplace“ wird versucht, unbekannte Zeichen durch ein oder mehrere ähnlich aussehende Zeichen zu ersetzen. Der Wert „mapreplace“ bewirkt, dass vor der eigentlichen Konvertierung konfigurierbare Ersetzungen vorgenommen werden. Wenn sich Zeichen auch nach diesen Ersetzungen nicht konvertieren lassen, so werden sie (wie bei „ignore“) weggelassen.

Welche Zeichen durch was ersetzt werden, wird in den „<+ImportCharsetConvertMap>“ Sektionen festgelegt.

In der Datei global.config kann es mehrere dieser Sektionen geben. Für jeden benötigten Zeichensatz eine. Der Parameter „Charset“ gibt den Zeichensatz an für den die Sektion verwendet werden soll, alle anderen Parameter stellen Ersetzungsregeln dar. Links vom „=“ steht dabei ein Zeichen oder eine Zeichenfolge aus der Importdatei, rechts davon die gewünschte Ersetzung. Da sich der Zeichensatz der Importdatei im allgemeinen vom Zeichensatz der global.config unterscheidet, können die Zeichen URL-kodiert angegeben werden. Bei dieser Kodierung wird ein Zeichen im wesentlichen durch seinen hexadezimalen Code ersetzt und dem Code ein „%“ vorangestellt.

Ausgenommen von der Zeichensatzkonvertierung sind die Felder „CustomerID“, „Mail“, „Subshop“ und „MainSubshop“.

Begrüßungsmails für Neukunden

Es besteht die Möglichkeit jedem Neukunden, dessen Daten über die Datei „custupdate.csv“ importiert wurden, eine „Begrüßungsmail“ zu senden. Ein Kunde in der „custupdate.csv“ gilt als Neukunde, wenn eine der beiden folgenden Bedingungen erfüllt ist:

  • Der Kunde stand vor dem Import noch nicht in der Datenbank

  • Der Kunde hatte vorher keine Kundennummer und ihm wird über die „custupdate.csv“ eine neue zugewiesen

Der Text der Mail, die an den Kunden gesendet wird, wird aus einem Template gebildet, das in der shop.config konfiguriert wird:

<NewCustomerMail> ... Template = mail_newcustomer.htm </NewCustomerMail>

Die Template-Datei liegt in dem Verzeichnis ".../benutzter/templates/<subshop>/"

Das Template, das für den Versand der Begrüßungsmail verwendet wird, hängt also vom Inhalt des „MainSubshop“ Feldes in der Importdatei ab. Fehlt dieses Feld oder ist es leer, so kann keine Begrüßungsmail versendet werden.

Der Absendername, die Absenderadresse und der Betreff der Begrüßungsmail werden ebenfalls in der shop.config festgelegt:

Ist das Absenden einer Begrüßungsmail nicht erwünscht, so kann dies verhindert werden in dem der Parameter "Allow" auf "no" gesetzt wird:

Alternativ oder zusätzlich kann das Template gelöscht oder umbenannt werden.

Folgende Platzhalter stehen in dem Mail-Template zur Verfügung:

Platzhalter

Ersetzung

Platzhalter

Ersetzung

~A-CompleteSalutation~

Die vollständige Anrede, so wie sie im Feld “CompleteSalutation” importiert wurde

~A-Salutation~

Die Anrede, so wie sie im Feld “Salutation” importiert wurde

~A-FirstName~

Der Vorname des Kunden

~A-LastName~

Der Nachname des Kunden

~A-UID~

Die Login-ID des Kunden

~A-Number~

Die Kundennummer

~A-E-Mail~

Die Mail-Adresse

Alle Adressdaten (A-CompleteSalutation, A-Salutation, A-FirstName, A-LastName) werden aus der ersten Rechnungsadresse des Kunden gelesen.

Zwangsänderung Passwort

Mit diesem Feature lässt sich erreichen, dass ein über den Import angelegter Kunde nach dem ersten Login sein Passwort ändern muss. Setzen Sie dazu in der shop.config den Parameter "NewUserPWChangeRequired" im Abschnitt "UserData" auf "yes".

Behandlung von gelöschten Zugängen

Kunden haben die Möglichkeit ihre Zugänge zum Shop zu löschen bzw. zu deaktivieren. Diese "gelöschten" Datensätze bleiben zunächst in der Datenbank und werden dort nur als gelöscht geflaggt.

Wenn sie versuchen für gelöschte Datensätze Daten zu importieren, so werden die Änderungen ignoriert. Ein Löschen der Daten über die custdelete.csv ist jedoch möglich bzw. sogar erforderlich um die Daten tatsächlich aus der Datenbank zu entfernen.

Hintergrund dieses Verhaltens ist, dass Warenwirtschaftssysteme Kundendaten normalerweise nicht löschen können. Würden die Kundendaten komplett aus der Shop-Datenbank gelöscht so bestünde die Gefahr, dass die Warenwirtschaft die im Shop gelöschten Daten wieder in den Shop importiert. Der Kunde, der seinen Zugang im Shop gelöscht hat würde sich dann zurecht wundern, warum sein gelöschter Zugang auf einmal wieder aktiv ist.

Beispieldateien

Teil dieser Dokumentation sind folgende Beispieldateien, die Sie auf der untergeordneten Seite zum Download finden:

Verzeichnis

Kommentar

Verzeichnis

Kommentar

Complete

Mit diesen Importdateien werden die Kunden “Müller” und “Maier” neu in der Kundendatenbank angelegt.

Update

In diesem Beispiel wird dem Kunden “Schulze” eine Kundennummer zugewiesen. Dieser Kunde hat sich über den Shop angemeldet und von diesem den UserIndex “123” bekommen. Weiterhin werden für die Adressen und die Bankverbindung “ExternalIDs” vergeben, mit denen diese in Zukunft in den Importdateien adressiert werden können.

Beachten Sie, dass dies das einzige Beispiel ist in dem das Feld “TableIndex” verwendet wird.

Da es der einzige Zweck dieser Dateien ist dem vom Shop angelegten Datensatz eine Kundennummer und “ExternalIDs” zuzuweisen, sind die restlichen Felder leer.

Delta

In diesem Beispiel wird für den Kunden “Müller” eine Lieferadresse hinzugefügt, eine der Bankverbindungen gelöscht und die Rechnungsadresse geändert.

Es wird davon ausgegangen, dass der Kunde bei der Anlage den UserIndex 123 erhalten hat.

Delete

Diese Datei löscht den Kunden Müller mit allen Adressen und Bankverbindungen aus der Datenbank.

Orderquantity

Beispiel für das Anlegen und Löschen von kundenabhängigen, minimalen und maximalen Bestellmengen

Fehlercodes

Code

Kommentar

Code

Kommentar

EC001

In der Importdatei ist weder das Headerfeld “UserIndex” noch das Headerfeld “CustomerID” vorhanden, der Import der Kundendaten wurde abgebrochen.

EC002

In der Importdatei ist weder das Headerfeld “TableIndex” noch das Headerfeld “ExternalID” vorhanden, der Import der Kundendaten wurde abgebrochen.

EC003

Für den Datensatz ist sowohl CustomerID als auch UserIndex leer, er wurde deshalb ignoriert.

EC004

Für den Datensatz ist sowohl ExternalID als auch TableIndex leer, er wurde deshalb ignoriert.

EC005

Weder die CustomerID noch der UserIndex des Datensatzes existiert in der Datenbank.

EC006

In der Importdatei wurde ein TableIndex angegeben, der für den zugehörigen Kundendatensatz nicht existiert, aber bei einem anderen Kunden bereits verwendet wird.

Da der TableIndex tabellenweit eindeutig sein muss konnte der Datensatz nicht angelegt werden. Es wird empfohlen beim Anlegen von neuen Datensätzen den TableIndex leer zu lassen und Generierung der Datenbank zu überlassen.

EC007

Der Datensatz enthält keine Mail-Adresse. Da V8-Shops die Mail-Adresse zur Anmeldung benötigen wird der Datensatz deshalb ignoriert.

EC008

Der zu importierende Datensatz existiert in der Datenbank noch nicht, aber die angegebene Mail-Adresse wird bereits bei einem anderen Datensatz verwendet.

Mehrere Datensätze mit der gleichen Mail-Adresse sind nur zulässig, wenn in mindestens einem Subshop Mehrfachkonten eingerichtet sind.

EC009

Unter Verwendung des UserIndex wurde versucht einem bereits in der Datenbank vorhandenen Kunden eine Kundennummer zugewiesen, die bereits für einen anderen Kunden verwendet wird.

EC010

CharsetImport ohne CharsetShop wird ignoriert.

Wenn der Zeichensatz beim Import konvertiert werden soll, dann muss sowohl der Ausgangszeichensatz (CharsetImport) als auch der Zielzeichensatz (CharsetShop) angegeben werden.

EC011

CharsetShop ohne CharsetImport wird ignoriert.
Wenn der Zeichensatz beim Import konvertiert werden soll, dann muss sowohl der Ausgangszeichensatz (CharsetImport) als auch der Zielzeichensatz (CharsetShop) angegeben werden.

EC012

... Strings konnten nicht fehlerfrei in den Zielzeichensatz konvertiert werden.

EC013

Ungültiger Zeichensatz (... oder ...).

Einer der angegebenen Zeichensätze wird vom Import nicht unterstützt.

EC014

Es sind sowohl verschlüsselte als auch mit SFTP übertragene Daten vorhanden.

Diese Meldung ist nur relevant, wenn die Kundendaten über die Artikelimport Pro Schnittstelle importiert werden. Die Importdaten können entweder verschlüsselt in das Shopverzeichnis gespielt werden oder unverschlüsselt per SFTP in ein speziell dafür vorgesehenes Verzeichnis.

EC015

Das Feld 'UserIndex' ist in den Importdaten nicht vorhanden, obwohl es bei den konfigurierten Importoptionen ein Pflichtfeld ist.

EC016

UserIndex ... existiert nicht.
Ein in der Importdatei angegebener UserIndex muss in der Shopdatenbank bereits existieren.

EC017

TableIndex ... durch ... ersetzt. Es wurde eine Rechnungsadresse mit einem TableIndex importiert, obwohl für den Kunden schon eine Rechnungsadresse mit einem anderen TableIndex vorhanden war. Statt des TableIndex aus der Importdatei wurde der vorhandene TableIndex verwendet.

EC018

Mehr als eine Rechnungsadresse vorhanden.
Derzeit wird maximal eine Rechnungsadresse pro Kunde unterstützt, in der Importdatei stehen mehr.

EC019

In der Datei ... fehlt das Pflichtfeld ...

EC020

Das Pflichtfeld ... ist leer (Datei: ... Zeile: ...)

EC021

Ungültiger Datentyp ... im Feld ... (Datei: ..., Zeile: ...)

EC022

UserIndex ist leer (Datei: ..., Zeile: ...)

EC023

Ungültiger Wert für 'TableIndex': … (Datei: …, Zeile: …)

Der TableIndex ist keine Zahl oder überschreitet den maximalen Wert (2147483647)

EC024

Ungültige Indizes (<1 oder >…) für Produktkundengruppe in groupproductupdate.csv

Beim Import der Produktkundengruppen wird nur die Summe der Zeilen mit ungültigen Indizes geloggt, nicht jede einzelne ungültige Zeile. Mit “Index” ist das Feld “GroupIdx” in der Import-Datei gemeint. Ungültig ist der Wert entweder, weil er die Zahl der freigeschalteten Gruppen überschreitet, weil er keine Zahl darstellt oder weil der Wert <1 ist.

EC025

Keine Kundendatenbank vorhanden.

Dies ist ein interner Fehler der auftritt, wenn beim Anlegen des Shops durch WEBSALE keine Kundendatenbank angelegt wurde.

EC026

'CustomerID' nicht in der Datenbank vorhanden (Datei: …, Zeile: …)

In der angegebene Importdatei ist kein UserIndex angegeben und auch für die Kundennummer existiert kein passender Kundendatensatz in der Datenbank.
(Tritt nur bei Importdateien für Primepakete auf).

EC027

Maximale Zahl von Prime-Paketen (10) für den Kunden … überschritten

EC028

Ungültiges Format für ValidFrom oder ValidUntil (Datei: …, Zeile: …)

EC029

Mehrfachkonten und Mail-Adressierung können nicht gleichzeitig verwendet werden.

Mehrfachkonten zeichnen sich gerade dadurch aus, dass mehrere Kundendatensätze die gleiche E-Mail-Adresse habe. Daher kann die E-Mail nicht zu Adressierung von Datensätzen verwendet werden, weil eventuell mehrere Datensätze dazu passen würden)

EC030

'UserIndex' nicht in der Datenbank vorhanden (Datei: …, Zeile: ~linenum~)

In einer Importdatei ist ein UserIndex > 0 angegeben, aber es existiert kein passender Kundendatensatz in in der Datenbank. Der Datensatz wird daher ignoriert.
(Tritt nur bei Importdateien für Primepakete auf).

Fehler-Mails beim Import über den WSPManager

Bei Übertragung der Kundenimportdateien mit dem WSPManager wird die Liste der aufgetretenen Fehler und Warnungen gekürzt, wenn sie eine bestimmte Länge überschreitet.

Die vollständige Liste der aufgetretenen Fehler und Warnungen können Sie sich per Mail zuschicken lassen, konfigurieren Sie dazu die folgenden Sektionen in der shop.config des ersten Subshops:

Weitere Importdateien

Übersicht der „weiteren Importdateien“

Importdaten

Dateiname

Importdaten

Dateiname

Produktkundengruppen (Zuordnung Kunden/Gruppe)

groupproductupdate.csv
groupproductdelete.csv

Kundenkonten, Bonuspunkte, Zuschüsse

accountupdate.csv

Angebotsdaten

offerheadupd.dat/offerheadupd.csv
offerprodupd.dat/ offerprodupd.csv
offerdel.dat/ offerdel.csv

Kundenabhängige Bestellmengen

orderquantityupdate.csv
orderquantitydelete.csv

Prime-Pakete

primeupdate.csv
primedelete.csv

Import von Produktkundengruppen

Mit Produktkundengruppen lassen sich Kategorien im Shop ein- oder ausblenden, je nachdem welcher Kunde sich im Shop eingeloggt hat.

Die Zuordnung von Kunden zu Produktkundengruppen erfolgt über zwei zusätzliche Dateien im „customerimport“ Verzeichnis: „groupproductupdate.csv“ und „groupproductdelete.csv“.

Mit der Datei „groupproductupdate.csv“ können Kunden Produktkundengruppen zugewiesen werden, mit der Datei „groupproductdelete.csv“ können diese Zuweisungen wieder gelöscht werden.

Aufbau der Datei „groupproductupdate.csv“

Feldname

Feldinhalt

Feldname

Feldinhalt

CustomerID

Kundennummer so wie sie dem Kunden in der Datei „custupdate.csv“ zugewiesen wurde

GroupIdx

Der Index der Gruppe, z. B. „1“.

Der niedrigste mögliche Wert für das Feld ist „1“, der maximale Wert hängt davon ab, wie viele Produktkundengruppen für den Shop freigeschaltet sind. Übersteigt der Wert die Anzahl der freigeschalteten Produktkundengruppen, so wird ein Fehler geloggt und die Zuweisung wird ignoriert.

Um dem Kunden mit der Kundennummer „1234“ z. B. die Produktkundengruppen 1 und 2 zuzuweisen könnte man folgende Datei verwenden:

CustomerID<TAB>GroupIdx

1234<TAB>1

1234<TAB>2

(„<TAB>“ steht in diesem Beispiel für das Tabulator-Zeichen/den ASCII-Code 9. Wenn dem Kunden vor dem Import bereits andere Produktkundengruppen zugeordnet waren, so bleiben diese erhalten)

Aufbau der Datei „groupproductdelete.csv“

Feldname

Feldinhalt

Feldname

Feldinhalt

CustomerID

Kundennummer so wie sie dem Kunden in der Datei „custupdate.csv“ zugewiesen wurde oder „*“, falls eine Produktkundengruppe für alle Kunden gelöscht werden soll.

GroupIdx

Der Index der Gruppe (z. B. „1“) oder „*“, falls alle Gruppen für einen Kunden gelöscht werden sollen.

(Siehe auch die Feldbeschreibung in „groupproductupdate.csv“)

Mit der folgenden Datei würde der Kunde mit der Kundennummer „1234“ aus der Produktkundengruppe „1“ entfernt, sowie die komplette Produktkundengruppe „2“ gelöscht:

CustomerID<TAB>GroupIDx

1234<TAB>1

*<TAB>2

Import von Daten für Kundenkonten, Bonuspunkte, Zuschüsse

Kundenkonten, Bonuspunkte und Zuschüsse sind vorgesehen für die Realisierung von Bonus-Systemen und Guthaben, die im Shop eingelöst werden können.

Bonuspunkte:
Ein Kunde bekommt z. B. für den Kauf eines Produkts eine Anzahl Bonuspunkte gutgeschrieben. Hat er genug Bonuspunkte zusammen, so kann er diese im Shop einlösen.

Wenn Sie keine Bonuspunkte anbieten, dann können Sie die Spalte "BonusPoints" in der Importdatei weglassen.

Kundenkonto:
Hier können Sie Kunden beliebige Guthaben gutschreiben. Beim Kauf wählt der Kunde dann die Zahlungsart "Kundenkonto" aus und bezahlt mit seinem Guthaben. WEBSALE reduziert automatisch das Guthaben nach einem Kauf.

Wenn Sie kein Kundenkonto anbieten, dann können Sie die Spalte "Credit" in der Importdatei weglassen.

Zuschuss:
Hier können Sie Kunden beliebige Zuschüsse gutschreiben. Der gewährte Zuschuss wird im Warenkorb von der Gesamtsumme abgezogen. Bei Bestellaufgabe wird der gewährte Zuschuss vom Zuschuss-Konto automatisch vom Shop abgezogen. Ein evtl. Restbetrag wird bei Folgebestellungen berücksichtigt, solange bis der Zuschuss aufgebraucht wurde.

Das Einlesen der Kundenkonto-Daten erfolgt über eine zusätzliche Datei mit Namen „accountupdate.csv“ im „customerimport“ Verzeichnis.

Aufbau der Datei „accountupdate.csv“

Feldname

Feldinhalt

Feldname

Feldinhalt

UserIndex

UserIndex

BonusPoints

Zahl Bonuspunkte des Kunden (ganzzahlig)

Credit

Guthaben des Kundenkontos

Subvention

Zuschuss

Bemerkungen:

  • Für die Adressierung der Datensätze wird der UserIndex verwendet, das bedeutet somit indirekt, dass Kundenkontodaten nur für Kunden importiert werden können, die bereits in der Datenbank existieren, denn ansonsten ist der UserIndex nicht bekannt.

  • Bei den Bonuspunkten, Guthaben und Zuschüssen, können neben absoluten Werten auch Differenzen angegeben werden. Zu diesem Zweck wird dem Wert ein „+“ oder ein „-“ vorangestellt.
    Hat ein Kunde z. B. 100 Bonuspunkte auf seinem Konto und Sie importieren den Wert „10“ in der Spalte „BonusPoints“ so wird der Wert in der Datenbank auf 10 gesetzt. Geben Sie stattdessen den Wert „+10“ an so wird der Wert auf 110 erhöht, bei „-10“ würde er auf 90 verringert.
    Wenn möglich sollten beim Import Differenzen angegeben werden, da es auf diese Weise nie passieren kann, dass durch den Import Änderungen rückgängig gemacht werden die durch den Online-Shop vorgenommen wurden. Bsp.: Sie wollen die Zahl der Bonuspunkte eines Kunden von 150 auf 100 heruntersetzen, weil er über eine telefonische Bestellung 50 Punkte eingelöst hat. Derselbe Kunde war kurz bevor Sie den Import gestartet haben im Shop und hat eine Bestellung abgeschickt, durch die ihm zusätzliche 77 Punkte gutgeschrieben wurden. Importieren Sie nun „100“ so löschen Sie damit die Gutschrift von 77 Punkten. Importieren Sie dagegen „-50“, so wird die Zahl der Bonuspunkte auf den korrekten Wert (177) gesetzt.

  • Ein explizites Löschen von Einträgen aus der Kundenkonto-Tabelle ist nicht möglich, Einträge werden dann gelöscht, wenn (durch Übertragen der Datei „custdelete.csv”) die allgemeinen Kundendaten gelöscht werden. Sie können natürlich die Werte auf "0" setzen.

  • Bei einem Import können mehrere Dateien mit Kundenkonten, Bonuspunkte und Zuschüsse importiert werden. In diesem Fall müssen die Namen mit einem „Suffix“ versehen werden, der Name einer Importdatei könnte dann z. B. „accountupdate_1.csv“ lauten.
    Der Suffix beginnt mit einem Unterstrich, gefolgt von einer oder mehreren Ziffern.
    Die Importdateien werden vor dem Import alphanumerisch sortiert, d. h. „accountupdate_10.csv“ wird vor „accountupdate_2.csv“ importiert.

Angebotsdaten

Mit dieser Funktion können Sie ein Angebot, das Sie einem bestimmten Kunden gemacht haben, in den Online-Shop übertragen, der Kunde kann die entsprechenden Produkte dann online bestellen.

Für den Import von Angebotsdaten müssen Sie zwei Dateien erstellen, die Datei „offerheadupd.dat“ und die Datei „offerprodupd.dat“. Die erste Datei enthält Daten die das gesamte Angebot betreffen, z. B. die Versandkosten. In der zweiten Datei sind die einzelnen Produkte des Angebots enthalten.

Löschen können Sie Angebote mit der Datei „offerdel.dat“.

Alle drei Dateien müssen im „data-exchange“ Verzeichnis abgelegt werden. Alternativ können die Dateien auch „offerheadupd.csv“, „offerprodupd.csv“ und „offerdel.csv“ benannt werden, in diesem Fall müssen sie im Verzeichnis der Kunden-Importdateien („customerimport“) gespeichert werden.

Bei einem Import über die SFTP-SOAP-Schnittstelle müssen die *.csv Dateien verwendet werden, bei einer Übertragung mit dem WSPManager können die *.dat oder die *.csv Dateien benutzt werden.

Aufbau der Datei offerheadupd.dat/offerheadupd.csv

Feldname

Feldinhalt

Beschränkung

Feldname

Feldinhalt

Beschränkung

Subshop

Die ID des Subshops in dem das Angebot angezeigt werden soll
(Pflichtfeld)

max. 128 Zeichen

CustomerID

Die Kundennummer
(Pflichtfeld)

max. 255 Zeichen

OfferID

Eine eindeutige ID für das Angebot
(Pflichtfeld)

max. 255 Zeichen

ExpireDate

Datum bis zu dem das Angebot gültig ist im Format TT.MM.JJJJ
(Pflichtfeld)

 

OfferDate

Datum zu dem das Angebot abgegeben wurde im Format TT.MM.JJJJ
(Pflichtfeld)

 

PaymentCode

Code der Zahlungsart
(Optional)

 

PaymentCost

Kosten der Zahlungsart (z. B. Nachnahmegebühr)
(Optional)

 

DeliveryName

Name des Zustellers (z. B. „Post innerhalb Deutschland,“)
(Optional)

 

Deliverycost

Versandkosten
(Optional)

 

Description

Beschreibung
(Optional)

max. 4000 Zeichen

Aufbau der Datei offerprodupd.dat/ offerprodupd.csv

Feldname

Feldinhalt

Beschränkung

Feldname

Feldinhalt

Beschränkung

CustomerID

Die Kundennummer
(Pflichtfeld)

max. 255 Zeichen

OfferID

Die ID des Angebots
(Pflichtfeld)

max. 255 Zeichen

Name

Name des Produkts
(Pflichtfeld)

max. 128 Zeichen

Insert

Werbemittelcode
(Optional)

max. 16 Zeichen

Number

Produktnummer
(Optional)

max. 64 Zeichen

Quantity

Anzahl
(Pflichtfeld)

 

Price

Preis
(Pflichtfeld)

max. 9 Zeichen

VAT

Mehrwertsteuerindex
(Optional)

 

DiscountRate

Rabatt in Prozent
(Optional)

 

Discount

Rabatt (Absolutbetrag)
(Optional)

 

Variations

Variation des Produkts im Format <n-1>Name1</n-1><v-1>Wert1</v-1><n-2>Name2</n-2><v-2>Wert2</v-2>...

Bsp: <n-1>Farbe</n-1><v-1>rot</v-1>
(Optional)

 

TextinputFields

Texteingabefelder des Produkts im Format <n-1>Name1</n-1><v-1>Wert1</v-1><n-2>Name2</n-2><v-2>Wert2</v-2>...

Bsp: <n-1>Aufdruck</n-1><v-1>Testaufdruck</v-1>
(Optional)

 

Upload

„X“: Der angebotene Artikel ist ein „Upload-Artikel“
(Optional)

 

Image

Der Dateiname eines normalgroßen Bildes, das zusammen mit dem Angebot angezeigt werden kann.

Die zugehörige Datei muss im Shop im Verzeichnis „...\produkte\medien\bilder\normal“ abgelegt werden.
(Optional)

max. 128 Zeichen

Thumbnail

Der Dateiname eines kleinen Bildes, das zusammen mit dem Angebot angezeigt werden kann.

Die zugehörige Datei muss im Shop im Verzeichnis „...\produkte\medien\bilder\klein“ abgelegt werden.
(Optional)

max. 128 Zeichen

ProdOrder

Ein ganzzahliger, positiver Wert, der die Reihenfolge festlegt, in der die Produkte des Angebots angezeigt werden. Ein Produkt mit einem kleineren „ProdOrder“-Wert wird vor einem Produkt mit einem größeren „ProdOrder“-Wert angezeigt.

Fehlt dieses Feld, so werden die Produkte in der Reihenfolge angezeigt, in der sie in der Importdatei stehen.
(Optional)

8 Zeichen

Aufbau der Datei offerdel.dat/ offerdel.csv

Feldname

Feldinhalt

Beschränkung

Feldname

Feldinhalt

Beschränkung

CustomerID

Die Kundennummer
(Pflichtfeld)

max. 255 Zeichen

OfferID

Die ID des Angebots
(Pflichtfeld)

max. 255 Zeichen

Import von kundenabhängigen Bestellmengen

Für jedes Produkt und jeden Kunden kann eine maximale und/oder eine minimale Bestellmenge importiert werden.

Das Anlegen und Ändern von Bestellmengen erfolgt über die Importdatei „orderquantityupdate.csv“, das Löschen über die Datei „orderquantitydelete.csv“. Beide Dateien dürfen eine maximale Größe von 1 GB nicht überschreiten und beide müssen (wie die übrigen Kundenimportdateien) im Verzeichnis „customerimport“ angelegt werden.

Die Datei „orderquantitydelete.csv“ wird vor der Datei „orderquantityupdate.csv“ eingelesen, so dass es möglich ist bei einem Import Einträge zu löschen und wieder neu anzulegen.

Aufbau und Inhalt der Datei orderquantityupdate.csv

Die Datei dient zum Anlegen und Ändern von Einträgen und enthält folgende Felder:

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

CustomerID

Die Kundennummer

max. 255 Zeichen

ja

ProdIndex

Der Produktindex

max. 64 Zeichen

ja

Subshop

Der Subshop des Produkts

max. 128 Zeichen

ja

MaxOrderQuantity

Die maximale Bestellmenge

Fließkommazahl
von 0.00 bis 1000000000.00, „$NoLimit$“
oder „-“

nein

MinOrderQuantity

Die minimale Bestellmenge

nein

Bemerkungen:

  • Der Wert "-" in den Feldern "MaxOrderQuantity" und "MinOrderQuantity" bewirkt, dass der im Shop gesetzte Wert nicht verändert wird. Das Feld komplett leer zu lassen, hat den gleichen Effekt.

  • Der Wert "$NoLimit$" in den Feldern "MaxOrderQuantity" oder "MinOrderQuantity" bewirkt, dass ein gesetztes Limit für das Produkt/den Kunden aufgehoben wird. D. h. der Kunde kann danach beliebig viel oder beliebig wenig von dem Produkt bestellen.

  • Wenn für ein Produkt/einen Kunden noch nie explizit ein Wert für MinOrderQuantity oder MaxOrderQuantity gesetzt wurde, so entspricht der Wert "$NoLimit$".
    "$NoLimit$" ist also der Wert, mit dem die Felder "MaxOrderQuantity" und "MinOrderQuantity" initialisiert werden.

  • Wenn für kein Produkt/keinen Kunden eine maximale/minimale Bestellmenge gesetzt werden soll, so kann die Spalte MaxOrderQuantity/MinOrderQuantity komplett weggelassen werden. Der Effekt ist der gleiche, als ob die Spalte mit dem Wert "-" gefüllt wäre.

  • Beim Löschen von Produkten oder Kunden werden die zugehörigen Bestellmengen nicht automatisch gelöscht. Ein Automatismus ist problematisch, wenn Produkte oder Kunden gelöscht und danach wieder neu angelegt werden, weil danach auch die Bestellmengen neu importiert werden müssten.

  • Es erfolgt keine Prüfung, ob ein Kunde oder ein Produkt in der Importdatei tatsächlich im Shop existiert. Dies hat den Vorteil, dass Bestellmengen vor den Produkten oder Kunden importiert werden können.

  • Bei Produkten mit abhängigen Variationen reicht es nicht, für den Stammartikel eine Bestellmenge anzugeben. Stattdessen muss die Bestellmenge für jede einzelne abhängige Variation angegeben werden.

  • Wenn ein Kunde im Shop bestellt, so wird der Wert von MaxOrderQuantity um die bestellte Menge verringert.

Aufbau und Inhalt der Datei orderquantitydelete.csv

Die Datei dient zum Löschen von Einträgen und enthält folgende Felder:

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld
ja/nein

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld
ja/nein

CustomerID

Die Kundennummer

max. 255 Zeichen

ja

ProdIndex

Der Produktindex

max. 64 Zeichen

ja

Subshop

Der Subshop des Produkts

max. 128 Zeichen

ja

Bemerkungen:

Für jede Spalte kann der Spezialwert "*" angegeben werden. Dieser bewirkt, dass der Wert in dieser Spalte beim Löschen nicht berücksichtigt wird. Steht z. B. in der Spalte "ProdIndex" der Wert "123", in der Spalte "Subshop" der Wert "deutsch" und in der Spalte CustomerID der Wert "*", so würden die Bestellmengen des Produkts "123" für alle Kunden gelöscht werden

Import von Prime-Paketen

Die einem Kunden zugewiesenen Prime-Pakete werden über die Dateien primeupdate.csv und primedelete.csv importiert.

Aufbau der Datei primeupdate.csv

Die Datei primeupdate.csv dient zum Anlegen und Aktualisieren der einem Kunden zugewiesenen Prime-Pakete. Jedem Kunden können maximal 10 unterschiedliche Prime-Pakete zugewiesen werden.

Wird für einen Kunden ein Prime-Paket importiert, das diesem bereits zugewiesen ist, so werden die Daten des vorhandenen Prime-Paketes aktualisiert. Ist ihm das Prime-Paket noch nicht zugewiesen, so wird es hinzugefügt.

Prime-Pakete, die dem Kunden zugewiesen sind, aber nicht importiert werden, bleiben unverändert erhalten.

Jede Zeile der Import-Datei entspricht einem Prime-Paket, d. h. wenn einem Kunden 10 Prime-Pakete zugewiesen werden sollen, dann muss die Datei 10 Zeilen für diesen Kunden enthalten.

Die Datei primeupdate.csv enthält folgende Felder:

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

CustomerID

Die Kundennummer

max. 255 Zeichen

ja

UserIndex

Wenn ein UserIndex >0 in der Datei angeben ist, so wird dieser statt der Kundennummer zur Adressierung verwendet.

Existiert kein Kunde mit diesem UserIndex, so wird der Datensatz ignoriert.

ganzzahliger Wert <2147483647

nein

ProdIndex

Der Produktindex des Set-Oberartikels der die Daten des Prime-Paketes enthält

max. 64 Zeichen

ja

ValidFrom

Der Beginn der Gültigkeit im Format YYYYMMDD

max. 8 Zeichen

ja

ValidUntil

Das Ende der Gültigkeit im Format YYYYMMDD

max. 8 Zeichen

ja

Cancel

„yes“: Kündigung gewünscht
„no“/leer: Kündigung nicht gewünscht
„-“: Wert in den Kundendaten nicht überschreiben

max. 3 Zeichen

nein

OrderInfo

Beliebige Daten, die in der Bestellung für das Paket zurückgegeben werden sollen.
Wenn ein Kunde im Shop ein Prime-Paket kauft, dann wird hier der Inhalt des OrderInfo-Feldes des Produkts reingeschrieben, das die Daten des Pakets enthält.

„-“: Wert in den Kundendaten nicht überschreiben

max. 256 Zeichen

nein

Aufbau der Datei primedelete.csv

Die Datei primedelete.csv dient zum Löschen von Prime-Paketen, die einem Kunden zugewiesen sind. Sie enthält folgende Felder:

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

Feldname

Feldinhalt

Beschränkungen/
zulässige Werte

Pflichtfeld ja/nein

CustomerID

Die Kundennummer

max. 255 Zeichen

ja

UserIndex

Siehe oben “primeupdate.csv”

ganzzahliger Wert <2147483647

nein

ProdIndex

Der Produktindex des Set-Oberartikels, der die Daten des Prime-Paketes enthält oder der Wert „*“, wenn alle Prime-Pakete eines Shops gelöscht werden sollen.

max. 64 Zeichen

ja

Beispieldateien

Teil dieser Dokumentation sind folgende Beispieldateien, die Sie auf der untergeordneten Seite zum Download finden:

Verzeichnis

Kommentar

Verzeichnis

Kommentar

Angebot

Beispiel für den Import von Angebotsdaten

Kundenkonto

Beispiel für den Import von Kundenkonto/Bonuspunkten/Zuschüssen

Pkundengrp

Beispiel für den Import von Produktkundengruppen