Upload-Modul (DE)
Allgemein
Im Folgenden wird die Funktionsweise des WEBSALE Upload-Moduls beschrieben und wie ein ERP-System die Upload-Dateien per SFTP vom Shop-Server abholen kann.
Upload-Produkte
Im Shop werden Upload-Produkte entsprechend gekennzeichnet. Zu jedem Upload-Produkt kann ein Besteller eine oder mehrere Upload-Dateien nach dem Bestellprozess hochladen.
Upload-ID / Position-ID
Sobald ein Upload-Produkt in den Warenkorb gelegt wird, generiert der Shop einmalig eine Upload-ID. Diese Upload-ID bleibt während einer Session stets gleich.
Zusätzlich wird zu jedem Upload-Produkt eine Position-ID generiert. Wird ein Upload-Produkt nachträglich aus dem Warenkorb gelöscht, dann wird ebenfalls die zugehörige Position-ID gelöscht.
Zu jeder Upload-ID und Position-ID erstellt der Shop synchron gleichnamige Upload-Verzeichnisse, in denen die Upload-Dateien vom Upload-Modul gespeichert werden.
Die Verzeichnisstruktur ist wie folgt aufgebaut:<Upload-Root-Verzeichnis>
Upload-ID (Upload-ID einer Bestellung)
finished.sync (Abschluss-Datei)
upload.log (Log-Datei)
fileinfo.dat (Info-Datei)
Position-ID1 (Upload-ID der 1. Position)
Upload-Datei1
Upload-Datei2
...
Upload-DateiN
Position-ID2 (Upload-ID der 2. Position)
Upload-Datei1
Upload-Datei2
...
Upload-DateiN
...
Position-IDN (Upload-ID der N. Position)
Upload-Datei1
Upload-Datei2
...
Upload-DateiN
Ãœbergabe der Upload-ID / Position-ID in den Bestelldaten
Dem ERP-System wird innerhalb der Bestellung die Upload-ID und Position-ID mitgeteilt.
Auszug aus den Bestelldaten:
<Order>
...
UploadID = 5DA7106A
...
</Order>
<OrderList>
<Item>
Number = 1234
Name = Produkt 1
UploadID = A882F49D (Position)
...
</Item>
<Item>
Number = 1111
Name = Produkt 2
UploadID = A22445566 (Position)
...
</Item>
<Item>
Number = 567890
Name = Produkt 3
UploadID = A22445566 (Position)
...
</Item>
<OrderList>
Aufgrund dieser Informationen kann das ERP-System die Upload-Dateien zu jeder Bestellung gezielt per SFTP abholen.
Verwaltungsdateien
Neben den Upload-Dateien existieren noch 3 Verwaltungsdateien direkt unterhalb des Upload-Verzeichnisses. Diese sind:
finished.sync (Abschluss-Datei)
upload.log (Log-Datei)
fileinfo.dat (Info-Datei)
Datei „finished.sync“
Da der Besteller mehrere Dateien hochladen kann, muss er dem Upload-Modul mitteilen, wenn er den Upload aller Dateien abgeschlossen hat. Das Upload-Modul legt hierzu eine Abschluss-Datei mit dem Namen "finished.sync" in dem zur Upload-ID gehörenden Upload-Verzeichnis an.
In diese Datei wird eine einzige Zeile mit Datum und Uhrzeit des Abschlusses geschrieben. Das Format ist "YYYY/MM/DD<Leerzeichen>HH:MM"
Beispiel:
2013/03/27 18:57
Bitte beachten Sie:
Ein ERP-System darf erst dann die Upload-Dateien per SFTP abholen, wenn die Datei finished.sync existiert, d. h. der Besteller die Uploads abgeschlossen hat. Zu diesem Zweck muss das ERP-System ein Polling-Verfahren für die Datei finished.sync implementieren.
Datei „upload.log“
Zusätzlich wird eine Log-Datei mit dem Namen "upload.log“ in dem zur Upload-ID gehörenden Upload-Verzeichnis geschrieben und die Log-Daten dem Besteller angezeigt. Die Datei wird im TSV-Format (Tab als Feldtrenner) gespeichert und enthält folgende Felder:
Die erste Zeile enthält die Spalten-Namen.
Spalten-Name | Beschreibung |
---|---|
Date | Datum im Format DD.MM.YYYY |
Time | Uhrzeit im Format HH:MM |
Type | Beschreibung der Transaktion z. B. „Datei hochgeladen“ |
TechType | Technische, sprachunabhängige Bezeichnung |
File | Name der Datei |
Folgende "Typen" von Aktionen werden derzeit vom internen Upload-Modul unterstützt:
Type | TechType |
---|---|
Datei gelöscht | delete |
Uploads abgeschlossen | finished |
Datei hochgeladen | upload |
Datei bereits vorhanden | uploaddupfile |
Abschluss aufgehoben (wird derzeit nicht genutzt) | unlocked |
Maximale Größe je Datei überschritten | filelimit |
Maximale Anzahl von Dateien je Bestellposition überschritten | poslimitcount |
Maximale Größe je Bestellposition überschritten | limitmb |
Unvollständiger Datenupload | uploaderror |
Ab der 2. Zeile folgen die Daten.
Beispiel:Date Time Type TechType File Upload-ID Position-ID
19.12.2011 09:21 Datei hochgeladen upload Vorderseite.pdf 0708D800 905B1908
19.12.2011 09:21 Datei gelöscht delete Vorderseite.pdf 0708D800 905B1908
19.12.2011 09:22 Datei hochgeladen upload Vorderseite1.pdf 0708D800 905B1908
19.12.2011 09:22 Datei hochgeladen upload Rueckseite1.pdf 0708D800 905B1908
19.12.2011 09:23 Uploads abgeschlossen finished 0708D800 905B1908
Datei „fileinfo.dat“
Der Besteller kann je Upload-Datei den Inhalt der Datei über eine Select-Box auswählen.
Die Datei wird im TSV-Format (Tab als Feldtrenner) gespeichert und enthält folgende Felder:
Die 1. Zeile enthält die Spaltennamen.
Spalten-Name | Beschreibung |
---|---|
File | Name der Upload-Datei |
ID | Integer Wert. Position des Eintrages in der Select-Box, beginnend ab 0. |
Type | Sprachabhängiger Eintrag in der Select-Box, z. B. |
PosID | Position-ID |
Ab der 2. Zeile folgen die Daten.
Beispiel:
File ID Type PosID
Datei1.pdf 0 Bitte wählen Sie 696EE098
Datei2.pdf 1 Alles in einem Dokument 696EE098
Beispiel-Verzeichnis nach einem abgeschlossenen Upload:<Upload-Root-Verzeichnis>
0708D800 (Upload-ID)
905B1908 (Position-ID)
Vorderseite1.pdf (Upload-Datei)
Rueckseite1.pdf (Upload-Datei)
finished.sync (Abschluss-Datei)
upload.log (Log-Datei)
fileinfo.dat (Info-Datei)
Bitte beachten Sie:
Nachdem das ERP-System die Upload-Dateien per SFTP abgeholt hat, muss das komplette Upload-Verzeichnis vom ERP-System per SFTP-Befehl gelöscht werden. Zusätzlich werden von der WEBSALE AG alle Upload-Verzeichnisse gelöscht, die älter als 6 Wochen sind. (Aufräumfunktion von Verzeichnis-“Leichen“)
Â