Scroll export button | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Copyright (c) WEBSALE AG 2016
- Vertraulich -
Weitergabe an Dritte nur mit Genehmigung der WEBSALE AG.
- Confidential -
Transfer to third parties only allowed with written permission of WEBSALE AG.
Allgemeine Anforderungen / Leistungen
Es wird ein W2P-System in WEBSALE V8 integriert. Ein User kann mit diesem System seine Druckvorlagen per Web-Zugriff online gestalten. Nach der Gestaltung übergibt das W2P-System eine eindeutige Dokumenten-Nummer (DocID) an den Shop.
Führt der User die Bestellung im Shop aus, dann wird über die DocID die endgültige Druckvorlage (PDF-Datei) vom W2P-System erstellt und per FTP auf den WEBSALE-Server übertragen. Die PDF-Datei wird anschließend vom ERP-SYSTEM System für die Produktion abgeholt. Das W2P-System dient als Alternative zum Upload-System. Ein User kann für ein Produkt entweder das Upload-System oder das W2P-System verwenden. Beides gleichzeitig ist nicht möglich und muss entsprechend abgefangen/synchronisiert werden.
Datei-Upload und Upload-System
Ein Datei-Upload (zu einer aktuellen Bestellung) wird nach einer erfolgreich abgeschlossenen Bestellung angeboten. Als Referenz dient ausschließlich die Bestellnummer. Die Upload-ID wird dem Besteller nicht mehr angezeigt, jedoch weiterhin generiert und an die technischen Systeme (ERP-SYSTEMSystem, W2P-System, etc.) weitergegeben.
Das Upload-System wird um 2 Funktionen erweitert.
Ein Upload ist nur noch über die Bestellnummer möglich
Ein Upload ist nicht möglich, wenn die Druckvorlage per W2P-System erstellt wurde. Hierzu wird ein entsprechendes Sperr-Flag vom Shop gesetzt, wenn dieser eine DocID vom W2P-System erhalten hat.
Kennzeichnung der W2P-Produkte im Shop
Je Artikel/Set-Oberartikel müssen im ERP-SYSTEM System 2 neue Parameter auf Variantenebene definiert werden.
...
Optionale Gestaltungskosten. Eine W2P-Gestaltung liegt technisch dann vor, wenn der Shop vom W2P-System eine DocID erhalten hat. Nur dann werden die optionalen Gestaltungskosten angezeigt und zur Endsumme addiert. Die Kosten werden unterhalb des Warenkorbes global ausgewiesen und als globale Kosten (analog zu den Lieferkosten oder den klimaneutralen Kosten) an das ERP-SYSTEM System übergeben.
W2P-Aufruf und -Ausführung
Der W2P-Aufruf erfolgt durch einen zusätzlichen Button auf der Produktseite und auf der Warenkorbseite. Ist der Besteller nicht angemeldet, dann wird beim Klick auf den W2P-Button ein Popup mit 2 Optionen angezeigt.
„Anmeldung im Shop“ und Weiterleitung zur Anmeldeseite. Nach der Anmeldung erfolgt unmittelbar die Weiterleitung zum W2P-System.
„Keine Anmeldung“ und direkte Weiterleitung zum W2P-System.
Entsprechende Hinweistexte im Popup sollen dem Besteller die Vorteile einer Anmeldung verdeutlichen.
Aufgrund der Weiterleitung zum W2P-System wird der Shop verlassen. Auf den W2P-Seiten wird daher stets ein „Zurück-Link“ bzw. ein „Abbrechen-Link“ angeboten, der den Besteller auf die Shop-Warenkorbseite zurückführt. Im Warenkorb wird ebenfalls ein W2P-Gestaltungs-Button angeboten, damit der Besteller eine W2P-Gestaltung erneut ausführen oder eine bereits abgeschlossene Gestaltung ändern kann. Eine abgeschlossen Gestaltung kann im Warenkorb zudem gelöscht werden.
Dokumenten-Thumbnail
Bestätigt der User beim W2P-System die W2P-Gestaltung, dann wird der Shop vom W2P-System per Redirect mit einer eindeutigen DocID aufgerufen. Der Shop zeigt hierzu ein Dokumenten-Thumbnail im Warenkorb an, welches vom W2P-System generiert wurde.
Finale Druckvorlage
Nachdem der User eine Bestellung ausgeführt hat, sendet der Shop an das W2P-System mittels DocID den Auftrag. Anschließend wird vom W2P-System die finale Druckvorlage generiert und per FTP auf den Shop-Server übertragen.
Übertragung der W2P-Druckvorlage
Das W2P-System überträgt die Druckvorlage per FTP zum WEBSALE-Server. Zusätzlich wird eine Synchronisationsdatei für das ERP-SYSTEM System benötigt.
Name der Sync-Datei: finished.sync
...
FTP-Root
UploadID (Verzeichnis)
finished.sync (Datei)
PositionID (Verzeichnis)
Druckdatei1 (Datei)
Druckdatei2 (Datei)
...
DruckdateiN (Datei)
...
nächste UploadID (Verzeichnis)
finished.sync (Datei)
PositionID (Verzeichnis)
Druckdatei1 (Datei)
Druckdatei2 (Datei)
...
DruckdateiN (Datei)
...
...
FTP-Root (Verzeichnis)
AABB11CC (Verzeichnis)
finished.sync (Datei)
33DD55AA (Verzeichnis)
abc.pdf (Datei)
Shop-Timeout
Die Shop-SessionID besitzt einen Timeout von 2 Stunden. Damit während einer W2P-Gestaltung der Shop-Timeout nicht erreicht wird, ruft das W2P-System in regelmäßigen Abständen (z.B. alle 30 Minuten) den Shop im Hintergrund auf.
Aufruf des W2P-Systems und Datenübergabe
Es werden folgende Schnittstellen implementiert
Inititialsierung Initialisierung (per SOAP/SSL)
Weiterleitung vom Shop zum W2P-System
Weiterleitung vom W2P-System zum Shop
Auftrag Druckvorlage (per SOAP/SSL)
Initialisierung
Klickt ein Besteller auf den Button „Druckvorlage erstellen“, dann ruft der Shop das W2P-System im Hintergrund (Server-to-Server) per SOAP-Request auf. Die XML-Strukturen und die WSDL werden von W2P-Anbieter erstellt und vorgegeben. Folgende Daten übermittelt der Shop an das W2P-System:
Globale Daten:
Parameter | Pflicht-Feld | Bemerkung |
---|---|---|
ShopID | ja | Wird von WEBSALE vorgegeben |
SubshopID | ja | |
Language | ja | Sprache des Subshops. 2 Zeichen Code nach ISO 639-1 |
UserIndex | nein | Wird übergeben, falls Besteller angemeldet ist. |
SuccessURL | ja | Link zum Shop, wenn Druckvorlage fertig erstellt wurde. |
CancelURL | ja | Link zum Shop, wenn User die Gestaltung abbricht |
KeepAliveURL | ja | Aufruf des Shops im Hintergrund, um den Session-Timeout zurückzusetzen. |
SuccessURL und CancelURL verlinken beide auf den Warenkorb. Evtl. könnten diese später auch auf 2 unterschiedliche Shop-Seiten verlinken.
Artikeldaten:
Parameter | Pflicht-Feld / Werte | Bemerkung |
---|---|---|
ProdIndex | ja | Stammartikelnummer |
DepVarIndex | ja | Technische Variantennummer. Leerzeichen der original ERP-SYSTEM Nummber System-Nummer wurden durch Punkte ersetzt |
Number | ja | Variantenabhängige Artikelnummer |
Type | Ja Single | Single: SetParent: SetChild: |
Name | ja | Artikelname |
VarName (Multiple) | nein | Varianten-Name, z.B. „Seitenzahl“ |
VarValue (Multiple) | nein | Varianten-Wert, z.B. „4-seitig“ |
Rechnungsadressdaten:
Die Daten der Rechnungsadresse werden als Name/Wert-Paare übertragen.
Als Name werden die technischen Bezeichnungen von WEBSALE verwendet. Leere Datenfelder werden nicht übergeben.
Parameter | Pflicht-Feld | Bemerkung |
---|---|---|
Name | ja | Name |
Value | ja | Wert |
Beispiel XML-Struktur:
<W2PInit>
<Common>
<ShopID>diedruckerei</ShopID>
<SubshopID>01-aa</SubshopID>
<Language>de</Language>
<UserIndex></UserIndex> (leer, User ist nicht angemeldet)
<SuccessURL>http://www.diedruckerei.de/?websale8=diedruckerei.....</SuccessURL>
<CancelURL>http://www.diedruckerei.de/?websale8=diedruckerei.....</CancelURL>
<KeepAliveURL>http://www.diedruckerei.de/?websale8=diedruckerei.....</KeepAliveURL>
</Common>
<Products>
<Product>
<ProdIndex>PFYDL44</ProdIndex>
<DepVarIndex><PFYDL44><PFYDL44090.04...250></DepVarIndex>
<Number>PFYDL4409004250</Number>
<Type>SetParent</Type>
<Name>Falzflyer, DIN-Lang (Hochformat)</Name>
<Variations>
<Variation>
<Name>Papier</Name>
<Value>90g/m² Bilderdruck</Value>
</Variation>
<Variation>
<Name>Seitenzahl</Name>
<Value>4-seitig</Value>
</Variation>
<Variation>
<Name>Auflage</Name>
<Value>250</Value>
</Variation>
</Variations>
</Product>
<Product>
<ProdIndex>ZPLXXXXDD01</ProdIndex>
<DepVarIndex><ZPLXXXXDD01><ZPLXXXX.DD...01></DepVarIndex>
<Number>ZPLXXXXDD01</Number>
<Type>SetChild</Type>
<Name>Datencheck</Name>
<Variations>
<Variation>
<Name>Datencheck</Name>
<Value>mit Datencheck</Value>
</Variation>
</Variations>
</Product>
<Product>
<ProdIndex>ZPLA300YY12</ProdIndex>
<DepVarIndex><ZPLA300YY12><ZPLA3.00YY...12></DepVarIndex>
<Number>ZPLA300YY12</Number>
<Type>SetChild</Type>
<Name>Produktionszeit</Name>
<Variations>
<Variation>
<Name>Produktionszeit</Name>
<Value>1-2 Werktage</Value>
</Variation>
</Variations>
</Product>
...
...
</Products>
<AddressData>
<Entry>
<Name>FirstName</Name>
<Value>Max</Value>
</Entry>
<Entry>
<Name>LastName</Name>
<Value>Mustermann</Value>
</Entry>
...
</AddressData>
</W2PInit>
Sollte ein Produkt den Type „Single“ haben, dann folgen nach dem ersten Produkt keine weiteren Produkte.
Bei Produkten ohne Varianten fehlt die Sektion „Variations“ und der Parameter „DepVarIndex“.
Der SOAP-Request erfolgt ausschließlich per SSL-Verbindung zum W2P-System.
Das W2P-System antwortet im Erfolgsfall mit einer eindeutigen TicketID.
Antwortet das W2P-System mit einem Fehler bzw. ist das W2P-System nicht erreichbar, dann wird dem Besteller eine entsprechende Meldung angezeigt, dass momentan keine Online-Gestaltung möglich ist.
Weiterleitung vom Shop zum W2P-System
Antwortet das W2P-System bei der Initialisierung mit einer TicketID, so wird der Besteller zum W2P-System weitergeleitet. Die Weiterleitungs-URL wird in der Shop-Konfiguration fest hinterlegt. Zusätzlich wird dem W2P-System die TicketID verschlüsselt übergeben.
...
Die DocID ist optional und wird nur auf der Warenkorbseite übergeben, falls der Besteller eine bereits abgeschslossene abgeschlossene Gestaltung nachträglich ändern möchte.
Die Daten von „w2pdata“ werden nicht im Klartext, sondern Blowfish-verschlüsselt und anschliessend anschließend hex-codiert übergeben. Hierzu wird in der Shop-Konfiguration und im W2P-System ein gemeinsamer Key mit 16 Zeichen hinterlegt.
Weiterleitung vom W2P-System zum Shop
Bricht der Besteller die Gestaltung ab, so verlinkt das W2P-System auf die „CancelURL“.
...
Die Daten von „w2pdata“ werden nicht im Klartext, sondern Blowfish-verschlüsselt und anschließend hex-codiert übergeben.
Auftrag Druckvorlage
Wird die Bestellung vom User ausgeführt, dann erfolgt die finale Erstellung der Druckvorlage vom W2P-System. Hierzu ruft der Shop das W2P-System im Hintergrund (Server-to-Server) per SOAP-Request auf. Die XML-Strukturen und die WSDL werden von W2P-Anbieter erstellt und vorgegeben.
Parameter | Pflicht-Feld | Bemerkung |
---|---|---|
TicketID | ja | Wurde dem Shop vom W2P-System bei der Initialisierung übergeben. |
DocID | ja | |
UserIndex | ja | User ist zu diesem Zeitpunkt stets angemeldet |
UploadID | ja | |
PositionID | ja |
Beispiel XML-Struktur :
<W2POrder>
<TicketID>xyz</TicketID>
<DocID>abcdefg123</DocID>
<UserIndex>123456</UserIndex>
<UploadID>AABBCCDD</UploadID>
<PositionID>1234CCDD</PositionID>
</W2POrder>
...
eine Fehlerprotokollierung im Shop
eine Benachrichtigung per eMail an den Shop-Admin
Anmerkung:
Die DocID wird auch in den Bestelldaten gespeichert. Evtl. Könnte könnte der W2P-Anbieter eine Seite anbieten, auf der der Kunde (durch Eingabe der DocID) die Druckvorlage nachträglich generieren kann.
Produkt ändern oder löschen
Wählt der User im Warenkorb die Funktion "Produkt ändern" oder "Produkt löschen" bei einem Produkt mit vorhandener DocID, so wird seine Gestaltung im W2P-System ungültig (DocID wird gelöscht) und er muss diese, wenn gewünscht, erneut durchführen. Der Besteller kann durch ein JavaScript-Popup o.ä. darauf hingewiesen werden, dass er seine Gestaltung erneut vornehmen muss, wenn er das Produkt ändern oder löschen möchte.
Include Page | ||||
---|---|---|---|---|
|