WS-Bestellgenerator (DE)
Allgemeine Leistungen
Im Folgenden wird ein Bestellgenerator beschrieben, mit dessen Hilfe automatisierte Aufträge im Shop generiert werden können. Die Aufträge werden per XML-Daten übergeben.
Die Übergabe der Aufträge/XML-Daten kann mit 2 Methoden erfolgen:
Methode 1: manuell
Die XML-Daten werden per XML-Datei zu einer Web-Applikation hochgeladen und anschließend verarbeitet. Hierzu wird die Web-Applikation manuell bedient.
Die XML-Datei hat einen fest vorgegebenen Namen „orders.xml“. Das Hochladen der Datei erfolgt SSL-verschlüsselt.
Anwender dieser Applikation müssen sich zuvor im Shop anmelden und eine Berechtigung für den Bestellgenerator haben. Die Berechtigung (Flag im Kundenstamm) wird vom Shopbetreiber zugewiesen, entweder über den Servicebereich der WEBSALE AG oder per Kundendatenimport-Schnittstelle.
In der XML-Datei können bis zu 1000 Aufträge auf einmal übergeben werden.
Übergabe der Daten per XML-Datei-Upload:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<Order>
... Daten des 1. Auftrags ...
</Order>
<Order>
... Daten des 2. Auftrags ...
</Order>
<Order>
... Daten des 3. Auftrags ...
</Order>
...
<Order>
... Daten des 1000. Auftrags (Höchstanzahl) …
</Order>
</Orders>
Methode 2: automatisiert
Die XML-Daten werden ohne Web-Applikation direkt dem Shop Blowfish-verschlüsselt gesendet. Es kann jeweils genau 1 Auftrag übergeben werden. Der Shop gibt das Resultat der Verarbeitung per XML-Antwort zurück.
Übergabe der XML-Daten per Blowfish-Verschlüsselung:
<?xml version="1.0" encoding="UTF-8"?>
<Order>
... Daten des Auftrags ...
</Order>
Funktionsumfang
Der XML-Bestellgenerator unterstützt nicht alle Funktionen, die im Shop angeboten werden, sondern nur die nachfolgend beschriebenen Funktionen. Insbesondere können nur Offline-Bezahlmethoden verwendet werden oder Online-Bezahlmethoden ohne Client-Authentifizierung (Kreditkartenclearing Server-zu-Server und ELV). Bezahlmethoden wie PayPal oder Sofortüberweisung sind nicht möglich, da hier eine Client-Authentifizierung über den Browser erfolgen muss. Bei einer erfolgreichen Bestellung wird ein Bestätigungsmail an die übergebene E-Mail-Adresse gesendet.
Anmeldung und Gastbestellungen
Die XML-Schnittstelle kann sowohl für existierende Benutzer (mit Anmeldung) als auch für Gastbestellungen (ohne Anmeldung) verwendet werden.
Inhalt der XML-Daten
Optionale Parameter können leer übergeben oder komplett weggelassen werden.
<?xml version="1.0" encoding="UTF-8"?>
<Orders> (Nur bei Datei-Upload)
<Order>
<Products>
<Product>
<Number>Produktnummer</Number>
<SetID>Verdichtungsnummer</SetID>
<Set>
<PIndex>Produktindex des Set-Oberartikels</PIndex>
<PVarIndex>Variantenindex des Set-Oberartikels</PVarIndex>
<CVarIndex-X>Variantenindex des X-ten Set-Unterartikels</CvarIndex-X>
<child>
<index>Produktindex eines Set-Unterartikels</index>
<varindex>Variantenindex des Set-
Unterartikels</varindex>
</child>
</Set>
<SetIDUserIndex>UserIndex</SetIDUserIndex>
<Quantity>Menge</Quantity>
<Price>Produktpreis</Price>
<Length>Produkthöhe</Length>
<Width>Produktbreite</Width>
<countryofproduction>Produktionsland bzw. -standort</countryofproduction>
<ForceW2PFlag>yes</ForceW2PFlag>
<Variations>
<Variation>
<Name>Variationsname</Name>
<Value>Variationswert</Value>
</Variation>
<Variation>
<Name>Variationsname</Name>
<Value>Variationswert</Value>
</Variation>
…
<Variations>
<TextInputs>
<TextInput>
<Name>Texteingabefeldname</Name>
<Value>Texteingabefeldwert</Value>
</TextInput>
<TextInput>
<Name>Texteingabefeldname</Name>
<Value>Texteingabefeldwert</Value>
</TextInput>
...
</TextInputs>
<DeliverySplit>
<+Entry>
<DeliveryAddressID>ID der Lieferadresse</DeliveryAddressID>
<DeliveryQuantity>Menge</DeliveryQuantity>
<SampleCopy>yes</SampleCopy>
</+Entry>
</DeliverySplit>
</Product>
...
</Products>
<Payment>
<Code>Zahlungsartencode</Code>
<Debit>
<ExternalID>Externe ID<ExternalID>
<AccountHolder>Kontoinhaber</AccountHolder>
<BankName>Name des Kreditinstitutes</BankName>
<AccountNumber>Kontonummer</AccountNumber>
<BankCode>BLZ</BankCode>
<IBAN>IBAN</IBAN>
<BIC>BIC</BIC>
</Debit>
<CreditCard>
<Holder>Karteninhaber</Holder>
<BrandID>Kartentyp</BrandID>
<Number>Kartennummer ohne Leerzeichen</Number>
<ExpiryDate>Verfallsdatum</ExpiryDate>
<VerificationCode>Kartenprüfnummer</VerificationCode>
</CreditCard>
</Payment>
<Delivery>
<Code>Zustellcode</Code>
<ID>ID des Zustellers</ID>
<Reference>Referenztext</Reference>
</Delivery>
<OrderOptions>
<ResellerSurcharge>Resellerzuschlag</ResellerSurcharge>
<Reference>Referenztext</Reference>
<Reference2>Referenztext 2</Reference2>
<OrderOptions1-Entry>Options-Nummer</OrderOptions1-Entry>
<OrderOptions2-Entry>Options-Nummer</OrderOptions2-Entry>
<OrderOptions3-Entry>Options-Nummer</OrderOptions3-Entry>
<OrderOptions4-Entry>Options-Nummer</OrderOptions4-Entry>
<OrderOptions5-Entry>Options-Nummer</OrderOptions5-Entry>
</OrderOptions>
<OrderSpecialInput>
optionale Zusatzinformationen zur Bestellung
</OrderSpecialInput>
<Voucher>
<Number>Gutscheinnummer</Number>
</Voucher>
<BillingAddress>
(Daten der Rechnungsadresse)
</BillingAddress>
<DeliveryAddress>
(Daten der abweichenden Lieferadresse)
<+Entry>
<DeliveryAddressID>ID der Lieferadresse</DeliveryAddressID>
<+Entry>
</DeliveryAddress>
<ClimateNeutral>Klimaneutrale Produktion unterstützen</ClimateNeutral>
</Order>
</Orders> (Nur bei Datei-Upload)
Nachfolgend werden die Sektionen und Parameter erläutert.
Zeichensatz
Die Daten werden im UTF-8 Zeichensatz übergeben.
Datentypen
C (Character): beliebige druckbare Zeichen
N (Numeric): Zahlen (0-9)
I (Integer): 4 Byte Ganzzahl
F (Float): 4 Byte Fließkommazahl (z.B. für Preise)
Die maximale Länge wird nach dem Zeichen für den Typ gestellt.
Beispiel: C30 für ein 30-stelliges Feld mit beliebigen, druckbaren Zeichen
Übergabe eines Produktes (erforderlich)
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
Products | Erf. | Übergabe aller Produkte |
Product | Erf. | Übergabe eines einzelnen Produktes. Diese Sektion kann bis zu 100 mal wiederholt werden. Es können somit bis zu 100 Produkte übergeben werden. |
Number | Erf. wenn SetID fehlt Typ: C128 | Eindeutige Produktnummer. Dies kann auch die Produktnummer einer abhängigen Variante sein. |
SetID | Erf. Wenn Number fehlt Typ: C64 | Nur bei Sets möglich. Bei einem Set kann vorab im Shop eine SetID zu jeder Set-Kombination definiert und abgespeichert werden. Hier wird einer der gespeicherten SetIDs übergeben. |
| Erf. Wenn Number oder SetID fehlt | Alternative/Direkte Übergabe eines kompletten Sets ohne SetID. Es ist nicht möglich CvarIndex-X Sektionen und Child-Sektionen innerhalb eines Sets zu verwenden. In diesem Fall werden folgende Daten übergeben:
|
| Erf. Wenn Number oder SetID fehlt | Alternative/Direkte Übergabe eines unvollständigen Sets ohne SetID. Für nicht übergebene Variantenindizes von Set-Unterartikeln wird die erste, vollständig definierte Variantenkombination verwendet. Die Adressierung der Set-Unterartikel erfolgt anhand von Produktindex und Variantenindex, dabei ist es nicht notwendig den genauen Aufbau des Sets zu kennen. Ein übergebener Variantenindex wird nur einmal verwendet. Bei Mehrfachzuweisungen (wenn das Set ein Produkt mehrfach enthält) müssen/können diese explizit mehrfach angegeben werden und werden in der Reihenfolge der Angabe berücksichtigt. Alle übergebenen Child-Sektionen müssen auch für die Bestellung verwendet werden: Wird mindestens eine übergebene Child-Sektion nicht berücksichtigt (z.B. da der Setartikel keinen Set-Unterartikel mit dem übergebenen Variantenindex besitzt) wird ein Fehler zurückgegeben. Es ist nicht möglich CvarIndex-X Sektionen und Child-Sektionen innerhalb eines Sets zu verwenden. In diesem Fall werden folgende Daten übergeben: |
SetIDUserIndex | Opt. | Die SetID soll von einem anderen User geladen werden. |
Quantity | Opt. Typ: I oder F | Optionale Menge. Fehlt dieser Parameter oder ist er leer, dann ist die Menge „1“ |
Length | Erf. Wenn Flächenprodukt | Angabe der gewünschten Produkthöhe. |
Width | Erf. Wenn Flächenprodukt | Angabe der gewünschten Produktbreite. |
Price | Opt. | Optionaler Stückpreis der Position. |
countryofproduction | Opt. | 3-stelliger ISO-Code des Landes, in dem das Produkt produziert werden soll ODER Produktionsstandort in der Form 3ISO-ALPHANUM (ISO-Code, Trennzeichen Bindestrich, Alphanumerische Kennung des Produktionsstandorts). Bei Angabe eines Produktionsstandorts wird diese abgetrennt und im Feld ProductionLocationIdentifier in den Bestelldaten beim Produkt übergeben. |
ForceW2PFlag | Opt. | Flag zur Identifizierung von W2P-Bestellungen. Wenn gesetzt, werden in den Bestelldaten die beiden Flags gesetzt (<Item> Ebene): |
Variations | Opt. | Übergabe von normalen Varianten |
Variation | Opt. | Übergabe einer normalen Variante |
Name | Erf. für normale Varianten Typ: C128 | Variantenname, z.B. „Farbe“, „Größe“, „Höhe“, „Breite“, usw. Bitte beachten Sie! |
Value | Erf. für normale Varianten Typ: C128 | Variantenwert, z.B. „rot“, „44“ usw. Bitte beachten Sie! |
TextInputs | Opt. | Übergabe von Texteingabefeldern |
TextInput | Opt. | Übergabe eines Texteingabefelds |
Name | Erf. für Texteingabefeld Typ: C128 | Name des Texteingabefelds, z.B. „Besatz“, "Beschriftung", usw. Bitte beachten Sie! |
Value | Erf. für Texteingabefeld Typ: C255 | Wert des Texteingabefelds, z.B. „Müller“, „Meine kleine Farm“ usw.
|
| Opt. | Nur bei MULTI-ALA Splits (Split-Order) DeliveryAddressID ist auch bei <DeliveryAddresses> definiert. DeliveryQuantity-Menge des Splits SampleCopy-Belegexemplar |
Übergabe der Zahlungsart (optional)
Die Sektion <Debit>...</Debit> wird nur bei der Zahlungsart „Lastschrift“ übergeben. Ansonsten fehlt diese Sektion komplett.
Die Sektion <CreditCard>...</CreditCard> wird nur bei der Zahlungsart „Kreditkarte“ übergeben. Ansonsten fehlt diese Sektion komplett.
Sicherheitshinweis:
Der Bestellgenerator speichert keine Bank- oder Kreditkartendaten ab. Sie werden nur für die jeweilige Bestellung verwendet.
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
Payment | Opt. | Übergabe einer optionalen Zahlungsart |
Code | Erf. Bei Übergabe einer Zahlungsart Typ: I | Code der Zahlungsart. Beispiele für Zahlungsarten-Codes: |
CreditCard | Erforderlich für Zahlungsart Kreditkarte | Sektion der Kartendaten |
Holder | Erf. Typ: C128 | Name des Karteninhabers |
BrandID | Erf. Typ: I | Kartentyp als Integer-Wert. Folgende Kartentypen werden unterstützt: 1=VISA (weitere sind möglich) |
Number | Erf. Typ: N19 | Kartennummer ohne Leerzeichen. Beispiel: 4018499066751123 |
ExpiryDate | Erf. | Gültigkeit der Karte im Format „YYYY-MM“ z.B. 2010-09 |
VerificationCode | Erf. Typ: N4 | Kartenprüfnummer. Beispiel: 621 |
Debit | Erforderlich für Zahlungsart Lastschrift | Sektion der Bankdaten |
ExternalID | C64 | Optional. |
AccountHolder | Erf. Typ: C128 | Name des Kontoinhabers |
BankName | Erf. Typ: C128 | Name der Bank |
AccountNumber | Erf. (ohne SEPA) Typ: N64 | Kontonummer ohne Leerzeichen. Beispiel: 486335560 |
BankCode | Erf. (ohne SEPA) Typ: N64 | BLZ ohne Leerzeichen Beispiel: 76040061 |
IBAN | Erf. mit SEPA | IBAN |
BIC | Erf. mit SEPA | BIC |
Bitte beachten Sie:
Die Zahlungsart ist optional. Es können nur Offline-Bezahlmethoden verwendet werden oder Online-Bezahlmethoden ohne Client-Authentifizierung (Creditkartenclearing Server-zu-Server und ELV). Bezahlmethoden wie PayPal oder Sofortüberweisung sind nicht möglich, da hier eine Client-Authentifizierung über den Browser erfolgen muss.
Beispiel: Bezahlung per Kreditkarte
Beispiel: Bezahlung per Lastschrift
Beispiel: Bezahlung per Rechnung
Beispiel: Bezahlung per Nachnahme
Übergabe der Zustellung (optional)
Die Zustellung kann auf 2 Arten übergeben werden: Entweder mit dem Namen des Versanddienstleisters sowie dem Betrag der Lieferkosten (FixedDelivery) oder mit der Zustell-ID und dem Zustellcode (Delivery).
Achtung
Wenn beide Sektionen übergeben werden, wird die Sektion <FixedDelivery> verwendet!
Übergabe mit Betrag und Lieferantenname:
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
FixedDelivery | Opt. | Übergabe einer optionalen Zustellung mit Betrag und Versanddienstleister |
Name | Erf. Typ: C255 | Name des Versanddienstleisters |
Total | Erf. Typ: F | Betrag der Lieferkosten
|
Übergabe mit ID und Zustellcode:
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
Delivery | Opt. | Übergabe einer optionalen Zustellung |
ID | Opt. Typ: C64 | Eine eindeutige ID, die im Shop zu jeder Zustellung definiert werden kann. Fehlt die ID, dann ermittelt der Shop automatisch eine der passenden Zustellungen aufgrund der gesetzten Zustell-Filter. |
Code | Opt. Typ: C64 | Code der Zustellung, (z. B. Expresslieferung) der im Shop zu jeder Zustellung definiert werden kann. |
Reference | Opt. Typ: C1024 | Durch Reference wird immer die erste Versandart gewählt, die den entsprechenden Referenztext im Parameter AutoOrderReference der Shopkonfiguration hat. Wenn ID und Reference übergeben werden, wird die ID priorisiert. |
Übergabe von Auftragsoptionen (optional)
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
OrderOptions | Opt. | Übergabe von Auftragsoptionen |
ResellerSurcharge | Opt. Typ: F | Optionaler Resellerzuschlag. Preisformat: Bitte beachten Sie: Fehlt dieser Parameter oder ist er leer, dann wird kein Reseller-Zuschlag übergeben. |
Reference Reference2 | Opt. Typ: C50 | Referenztext zur Bestellung. Der Referenztext wird auf Rechnungen, E-Mail-Bestätigungen und in der Auftragshistorie angezeigt. Die maximale Länge dieses Textes beträgt 50 Zeichen. Fehlt dieser Parameter oder ist er leer, dann wird kein Referenztext übergeben. |
OrderOptions1-Entry | Opt. | Hier können bis zu 5 OrderOptions übergeben werden, so wie diese in der Shopkonfiguration shop.config hinterlegt wurden. Eintrag im Bestellgenerator, wenn die 2. Option (Belegexemplare) verwendet werden soll: Analog dazu, können die anderen OrderOptions referenziert werden |
Übergabe von Zusatzinformationen zur Bestellung (optional)
Die Übergabe von Zusatzinformationen ist optional.
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
OrderSpecialInput | Opt. Typ: C32000 | Übergabe von Zusatzinformationen zur Bestellung |
Übergabe einer Gutscheinnummer (optional)
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
Voucher | Opt. | Übergabe einer Gutscheinnummer |
Number | Opt. Typ: C19 | Gutscheinnummer Bitte beachten Sie: |
Übergabe der Rechnungsadresse
Für Gastbestellungen ist die Übergabe der Rechnungsadresse obligatorisch.
Bei einer Anmeldung ist diese optional. Wird bei einer Anmeldung keine Rechnungsadresse übergeben (fehlt die Sektion BillingAddress) dann wird die hinterlegte Rechnungsadresse des Benutzerkontos/Logins herangezogen.
Im Shop wird zu jedem Feld der Rechnungsadresse definiert, ob das Feld
unterstützt wird
optional oder erforderlich ist
Die Felder der übergebenen Rechnungsadresse müssen synchron zur Shopkonfiguration sein. Bitte kontaktieren Sie daher den Shopbetreiber, welche Felder unterstützt werden und welche Felder optional oder erforderlich sind.
Bitte beachten Sie:
Die übergebenen Daten der Rechnungsadresse werden nicht in der Shopdatenbank gespeichert, sondern nur im Auftrag übergeben.
Alle Standard-Felder der Rechnungsadresse sind vom Typ C128
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
BillingAddress | Opt. | Übergabe einer optionalen Rechnungsadresse |
Number | Analog Shopkonfiguration | Kundennummer |
Company | Analog Shopkonfiguration | Firmenname |
SalutationCode | Analog Shopkonfiguration | Anredecode, wie im Shop definiert, z.B. 00: keine Anrede Bitte kontaktieren Sie hierzu den Shopbetreiber. |
TitleCode | Analog Shopkonfiguration | Titelcode, wie im Shop definiert, z.B. 1: Dipl. Ing. Bitte kontaktieren Sie hierzu den Shopbetreiber. |
FirstName | Analog Shopkonfiguration | Vorname |
LastName | Analog Shopkonfiguration | Nachname |
Street1 | Analog Shopkonfiguration | Straße + optionale Hausnummer |
Street2 | Analog Shopkonfiguration | Hausnummer, wenn in Street1 nur Straße ist |
Zip | Analog Shopkonfiguration | PLZ |
City | Analog Shopkonfiguration | Ort |
State | Analog Shopkonfiguration | Bundesstaat/Bundesland |
CountryCode | Analog Shopkonfiguration | 3-stelliger Code nach ISO 3166 Spalte A3 Beispiel: DEU = Deutschland |
Phone | Analog Shopkonfiguration | Telefon (privat) |
BusinessPhone | Analog Shopkonfiguration | Telefon (geschäftlich) |
MobilePhone | Analog Shopkonfiguration | Telefon (mobil) |
Fax | Analog Shopkonfiguration | Fax (privat) |
BusinessFax | Analog Shopkonfiguration | Fax (geschäftlich) |
Analog Shopkonfiguration | Kann nur bei einer Gastbestellung übergeben werden. Bei einer Anmeldung wird dieser Parameter ignoriert. | |
E-Mail2 | Analog Shopkonfiguration | 2. Email-Adresse |
DateOfBirth | Analog Shopkonfiguration | Geburtsdatum im Format |
PostOfficeBox | Analog Shopkonfiguration | Postfach |
Department | Analog Shopkonfiguration | Abteilung |
CostCenter | Analog Shopkonfiguration | Kostenstelle |
PostOfficeBoxZip | Analog Shopkonfiguration | Postfach PLZ |
TaxID | Analog Shopkonfiguration | Umsatzsteuer-ID |
Suffix1...Suffix50 | Analog Shopkonfiguration | Beliebig verwendbar analog der Shopkonfiguration. Bitte kontaktieren Sie hierzu den Shopbetreiber. |
Übergabe der Lieferadresse (optional)
Im Shop wird zu jedem Feld der Lieferadresse definiert, ob das Feld
unterstützt wird
optional oder erforderlich ist
Die Felder der übergebenen Lieferadresse müssen synchron zur Shopkonfiguration sein. Bitte kontaktieren Sie daher den Shopbetreiber, welche Felder unterstützt werden und welche Felder optional oder erforderlich sind.
Bitte beachten Sie:
Die übergebenen Daten der Lieferadresse werden nicht in der Shopdatenbank gespeichert, sondern nur im Auftrag übergeben.
Alle Standard-Felder der Lieferadresse sind vom Typ C128
Parameter | Optional / Erforderlich | Beschreibung |
---|---|---|
DeliveryAddress | Opt. | Übergabe einer optionalen abweichenden Lieferadresse |
OneTime | Opt. | Wenn, dieser Parameter auf „yes“ steht, dann muss das WWS diese Adresse löschen, wenn der Auftrag ausgeführt wurde. Bitte kontaktieren Sie hierzu den Hersteller des WWS ob dieses Feld unterstützt wird. |
Company | Analog Shopkonfiguration | Firmenname |
SalutationCode | Analog Shopkonfiguration | Anredecode, wie im Shop definiert, z.B. 00: keine Anrede Bitte kontaktieren Sie hierzu den Shopbetreiber. |
TitleCode | Analog Shopkonfiguration | Titelcode, wie im Shop definiert, z.B. 1: Dipl. Ing. Bitte kontaktieren Sie hierzu den Shopbetreiber. |
FirstName | Analog Shopkonfiguration | Vorname |
LastName | Analog Shopkonfiguration | Nachname |
Street1 | Analog Shopkonfiguration | Straße + optionale Hausnummer |
Street2 | Analog Shopkonfiguration | Hausnummer, wenn in Street1 nur Straße ist |
Zip | Analog Shopkonfiguration | PLZ |
City | Analog Shopkonfiguration | Ort |
State | Analog Shopkonfiguration | Bundesstaat/Bundesland |
CountryCode | Analog Shopkonfiguration | 3-stelliger Code nach ISO 3166 Spalte A3 Beispiel: DEU = Deutschland |
Phone | Analog Shopkonfiguration | Telefon (privat) |
BusinessPhone | Analog Shopkonfiguration | Telefon (geschäftlich) |
MobilePhone | Analog Shopkonfiguration | Telefon (mobil) |
Fax | Analog Shopkonfiguration | Fax (privat) |
BusinessFax | Analog Shopkonfiguration | Fax (geschäftlich) |
Analog Shopkonfiguration | Email-Adresse | |
DateOfBirth | Analog Shopkonfiguration | Geburtsdatum im Format |
PostOfficeBox | Analog Shopkonfiguration | Postfach |
Department | Analog Shopkonfiguration | Abteilung |
CostCenter | Analog Shopkonfiguration | Kostenstelle |
PostOfficeBoxZip | Analog Shopkonfiguration | Postfach PLZ |
Suffix1...Suffix50 | Analog Shopkonfiguration | Beliebig verwendbar analog der Shopkonfiguration. Bitte kontaktieren Sie hierzu den Shopbetreiber. |
Übergabe von klimaneutraler Produktion unterstützen
Klimaneutrale Produktion unterstützen (automatische Auswahl des ersten Projekts)
Parameter | optional/erforderlich | Beschreibung |
---|---|---|
ClimateNeutral | optional | yes: Ja, unterstützen no: Nein, nicht unterstützen |
Direkte Übergabe der XML-Daten (ohne Web-Applikation)
Die Übergabe der XML-Daten erfolgt Blowfish-verschlüsselt. Zu diesem Zweck wird ein vorher vereinbarter 16-Zeichen-Key im Shop und im externen System fest hinterlegt.
Get-Methode und Blowfish-Verfahren
Das 16-stellige Passwort wird direkt als Key verwendet.
Die zu verschlüsselnde Nachricht wird auf ein Vielfaches von 8 Byte "aufgefüllt" (am besten mit Null-Bytes) und die Nachricht in 8 Byte Blöcken mit der OpenSSL Blowfish-ECB-Funktion verschlüsselt.
Der Shop wird per HTTP aufgerufen. Die Daten werden per Get-Methode übergeben. Es können maximal 8000 Zeichen in der Anfrage übergeben werden.
Anmeldung mit E-Mail-Adresse
Hier können Sie eine in der Shopdatenbank existierende E-Mail-Adresse übergeben. Der Shop lädt dann automatisch alle Daten des Benutzers (Rechnungsadresse, optionale Lieferadresse, Benutzereinstellungen, usw.). Die E-Mail-Adresse wird Blowfish-verschlüsselt und Hex-kodiert übergeben.
http://<Shop-URL>&act=autoorder&email=<verschlüsselte E-Mail-Adresse>&orderdata=<verschlüsselte XML-Daten>
Beispiel:
http://<Shop-URL>&act=autoorder&email=02ccff2233...&orderdata=1122ccffab...
Anmeldung mit UserIndex
Alternativ zur E-Mail-Adresse kann ein UserIndex übergeben werden. Der Shop lädt dann automatisch alle Daten des Benutzers (Rechnungsadresse, optionale Lieferadresse, Benutzereinstellungen, usw.). Der UserIndex wird Blowfish-verschlüsselt und Hex-kodiert übergeben.
http://<Shop-URL>&act=autoorder&userindex=<verschlüsselter UserIndex>&orderdata=<verschlüsselte XML-Daten>
Beispiel:
http://<Shop-URL>&act=autoorder&userindex=02ccff2233...&orderdata=1122ccffab...
Gastbestellung
Bei einer Gastbestellung wird weder eine E-Mail-Adresse noch ein UserIndex übergeben. Die Übergabe einer Rechnungsadresse ist obligatorisch. Innerhalb der Rechnungsadresse wird die E-Mail-Adresse (Pflichtfeld) übergeben.
http://<Shop-URL>&act=autoorder&orderdata=<verschlüsselte XML-Daten>
Beispiel:
http://<Shop-URL>&act=autoorder&orderdata=1122ccffab...
orderdata
Dieser Parameter ist erforderlich. Hier werden die XML-Daten ebenfalls Blowfish-verschlüsselt und Hex-kodiert übergeben.
Bitte beachten Sie:
Das externe System führt zuerst eine Blowfish-Verschlüsselung und danach eine Hex-Kodierung der verschlüsselten Binärdaten durch. Dem Shop werden dann die Hex-kodierten Daten gesendet.
Beispiel:
http://<Shop-URL>&act=autoorder&userid=02ccff2233...&orderdata=1122ccffab...
Ausgabe
Ausgabe der Web-Applikation
Die Web-Applikation zeigt zu jedem generierten Auftrag die folgenden Informationen an:
Datum
Uhrzeit
ShopID
SubshopID
Auftragsnummer
Gesamtsumme
UploadID (nur bei Upload-Artikeln)
Status
Fehlermeldung / Fehlercode
Ausgabe bei der direkten XML-Übergabe (ohne Web-Applikation)
Der Shop antwortet mit folgender XML-Ausgabe:
Anstoßen eines ASSE-Prozesses
In der Konfiguration kann eine Sektion hinterlegt werden, die es erlaubt, pro Bestellposition einen ASSE-Prozess anzustoßen.
Dafür muss die Konfiguration wie folgt erweitert werden:
Die in der Konfiguration erwähnten Templates müssen im Bestellgenerator-Verzeichnis des jeweiligen Shops hinterlegt werden.
Das Template für das ASSE-Event kann wie folgt aussehen:
Wichtig ist hier, dass die korrekten $WS- und $DC-Tags verwendet werden, da diese im Laufe des Bestellprozesses ersetzt werden.
Das ASSE-Template kann wie folgt aussehen:
Das Tag $WS-AsseText$ wird durch den hex-encodierten Inhalt des ASSE-Event-Templates ersetzt.
Die Datei wird unter <shopid>_<subshopid>_autoorderUploadFinish-<Bestellnummer>-<Positionsnummer>.asse im Verzeichnis /var/spool/wsasse abgelegt.
Regeln
Ein Auftrag wird nur dann generiert, wenn alle übergebenen Daten korrekt sind. Folgende Prüfungen werden u. a. vom Bestellgenerator durchgeführt:
Existiert die übergebene Produktnummer/SetID und ist der Lagerbestand ausreichend.
Sind die übergebenen normalen Varianten korrekt
Sind evtl. definierte Mindestbestellmengen nicht unterschritten oder evtl. definierte Maximalbestellmengen nicht überschritten.
Sind evtl. definierte Stückelungen korrekt übergeben.
Sind alle Pflichtfelder der Adressdaten und der Zahlungsart vorhanden.
Bei Online-Clearing: Konnte die Bezahlung mit Kreditkarte oder Lastschrift elektronisch durchgeführt werden.
Wird bei einem Resellerzuschlag die Zahlungsart „Nachnahme“ übergeben
Usw…
Beim Status „OK“ wurde der Auftrag erfolgreich generiert.
Beim Status „ERROR“ konnte der Auftrag nicht generiert werden. Zusätzlich wird der Fehlercode ausgegeben.
Fehlercodes
Bei einem Fehler wird stets ein Fehlercode übergeben. Folgende Codes werden unterstützt:
Fehlercode | zus. Code | Beschreibung |
---|---|---|
100 |
| Der Parameter "UserID" fehlt beim Aufruf des Shops |
101 |
| Fehler beim Entschlüsseln des Parameters "UserID" |
102 |
| Unbekannte Benutzerkennung |
103 |
| Der Benutzer hat keine Berechtigung für diesen Subshop |
104 |
| Der Parameter "OrderData" fehlt beim Aufruf des Shops |
105 |
| Fehler beim Entschlüsseln des Parameters "OrderData" |
106 |
| Die Sektion "Order" fehlt in den Auftragsdaten |
107 |
| Die Sektion "Products" fehlt in den Auftragsdaten |
108 |
| In einer Sektion "Product" fehlt die Artikel- oder Verdichtungsnummer |
109 |
| In den Auftragsdaten sind keine Artikel- oder Verdichtungsnummern vorhanden |
110 |
| Die Sektion "Payment" fehlt in den Auftragsdaten |
111 |
| Der Parameter "Code" fehlt in der Sektion "Payment" |
112 |
| Unbekannte Zahlungsart |
113 |
| Die übergebene Zahlungsart ist für diesen Account nicht freigeschaltet |
114 |
| Die Sektion "Creditcard" fehlt |
115 |
| Der Parameter "Holder" fehlt bei der Zahlungsart Kreditkarte |
116 |
| Der Parameter "Number" fehlt bei der Zahlungsart Kreditkarte |
117 |
| Ungültiges Format des Parameters "ExpiryDate". Das Format muss "JJJJ-MM" z.B. 2010-03 sein |
118 |
| Der Parameter "VerificationCode" fehlt bei der Zahlungsart Kreditkarte |
119 |
| Die Sektion "Debit" fehlt in den Auftragsdaten für die Zahlungsart "Lastschrift" |
120 |
| Der Parameter "AccountHolder" fehlt für die Zahlungsart Lastschrift |
121 |
| Der Parameter "AccountNumber" fehlt für die Zahlungsart Lastschrift |
122 |
| Der Parameter "BankCode" fehlt für die Zahlungsart Lastschrift |
123 |
| Der Parameter "BankName" fehlt für die Zahlungsart Lastschrift |
124 |
| Die Sektion "Delivery" fehlt |
125 |
| Der Parameter "Code" fehlt in der Sektion "Delivery" |
126 |
| Der Account hat keine Berechtigung für einen Reseller-Zuschlag |
127 |
| Der Reseller-Zuschlag hat den maximalen Betrag überschritten |
128 |
| Der Reseller-Zuschlag erfordert die Zahlungsart Nachnahme |
129 |
| Die Sektion "DeliveryAddress" fehlt in den Auftragsdaten |
130 |
| Mindestens ein Pflichtfeld der Lieferadresse fehlt oder wurde ungültig übergeben. Bitte überprüfen Sie u.a. "SalutationCode", "TitleCode" und "CountryCode" |
131 |
| Für diesen Auftrag wurde die maximale Anzahl von Artikeln überschritten |
132 |
| Die Artikelnummer hat die maximale Länge von 64 Zeichen überschritten |
133 |
| Die Artikel- oder Verdichtungsnummer ist unbekannt |
133 | C1 | Produkt unbekannt (Produktindex nicht gefunden) |
133 | C2 | Produkt unbekannt (Kategorieindex nicht gefunden) |
133 | C3 | Setunterprodukt nicht gefunden |
133 | C4 | Setunterprodukt unbekannt (Kategorieindex nicht gefunden) |
133 | C5 | Produkt in Kategorie nicht gefunden |
133 | C6 | Produkt in Kategorie nicht gefunden / Kategorie leer |
133 | C7 | Produkt in Kategorie nicht gefunden |
133 | C8 | Problem mit abhängigen Varianten |
133 | C9 | Wert für abhängige Variante fehlt |
133 | C11 | Variantenwert existiert nicht (mehr) |
133 | C12 | Interner Fehler, UploadID konnte nicht generiert werden |
133 | C13 | Produkt ist Serviceprodukt (können nicht bestellt werden) |
133 | C14 | Flächenprodukt: Eingaben außerhalb des zulässigen Bereichs |
133 | C15 | countryofproduction angegeben, bei Produkt nicht hinterlegt |
133 | C16 | countryofproduction angegeben, nicht in Liste bei Produkt enthalten |
133 | C17 | countryofproduction: Land mit Produktionsstandord angegeben. Fehlerhafter Eintrag (Aufbau nicht <3ISO>-<alnum LocationIdentifier>) |
134 |
| Die Bestellmenge muss > 0 sein |
135 |
| Der Artikel ist ausverkauft |
136 |
| Die übergebene Bestellmenge ist ungültig |
137 |
| Die Mindestbestellmenge wurde nicht übergeben |
138 |
| Die maximale Bestellmenge wurde überschritten |
139 |
| Für diesen Auftrag konnte kein Artikel gefunden werden |
140 |
| Die übergebene Zahlungsart ist für diesen Auftrag nicht erlaubt |
141 |
| Zur übergebenen Kreditkartennummer konnte kein passender Kartentyp ermittelt werden |
142 |
| Für diesen Auftrag konnte keine passende Zustellung ermittelt werden |
143 |
| Die Kreditkarten-Transaktion wurde vom Payment-Provider abgelehnt |
144 |
| Die Lastschrift-Transaktion wurde vom Payment-Provider abgelehnt |
145 |
| Weder der Parameter UserID noch die Sektion "BillingAddress" wurden übergeben |
146 |
| Die Sektion "BillingAddress" darf nicht übergeben werden |
147 |
| Mindestens ein Pflichtfeld der Rechnungsadresse fehlt oder wurde ungültig übergeben. Bitte überprüfen Sie u.a. "SalutationCode", "TitleCode" und "CountryCode" |
148 |
| Der Parameter "ID" fehlt in der Sektion "Delivery" |
149 |
| Die übergebene LieferantenID ist unbekannt |
150 |
| Ein benötigtes Texteingabefeld wurde nicht übergeben |
151 |
| Die maximale Eingabelänge eines Felds der Rechnungsadresse wurde überschritten: Feldname: "~errordetails1~", maximale Länge: ~errordetails2~ |
152 |
| Die maximale Eingabelänge eines Felds der Lieferadresse wurde überschritten: Feldname: "~errordetails1~", maximale Länge: ~errordetails2~ |
153 |
| Gutscheinnummer ungültig |
154 |
| Zahlungsart Lastschrift nur mit ExternalID möglich und "ExternalID" in Sektion "Debit" fehlt. |
155 |
| Zu der übergebenen ExternalID konnten keine Bankdaten gefunden werden. |
156 |
| IBAN fehlt. |
157 |
| BIC ist ein Pflichtfeld, aber fehlt. |
158 |
| IBAN ist ungültig. |
159 |
| BIC ist ungültig. |
160 |
| Interner Fehler bei der Erzeugung der Bestelldaten aufgetreten |
161 |
| Kein <pindex> oder kein <pvarindex> übergeben |
162 |
| Bestelloption nicht gültig für dieses Land |
163 |
| Innerhalb der Sektion „set“ wurde „cvarindex-X“ und „child“ übergeben. |
164 |
| Interner Fehler |
165 |
| „varindex“ bzw. „index“ fehlt in einer Sektion „child“ |
166 |
| DeliverySplit nicht erlaubt |
167 |
| interner Fehler |
168 |
| Menge fehlt bei Split-Adresse |
169 |
| keine Lieferadressen angegeben/Lieferadressen fehlen |
170 |
| für Produkt x konnte angegebene Lieferadresse nicht gefunden werden/fehlt (siehe Meldung) |
171 |
| Lieferadresse ungültig (ID in Meldung) |
172 |
| Lieferadresse ungültig (gleiches Lieferland aller Adressen, abw. Lieferland erlaubt, ...) |
173 |
| Split für Warenkorbposition ungültig (betroffene Position in Meldung) |
174 |
| AddressID fehlt bei Lieferadresse |
175 |
| Kein klimaneutrales Projekt vorhanden |
176 |
| interner Fehler |
177 |
| Referenztext 1 ist zu lang (max. 50 Zeichen) |
178 |
| Referenztext 2 ist zu lang (max. 50 Zeichen) |
180 |
| Lieferadresse konnte dem Produkt nicht zugewiesen werden (Fehlercode in Meldung) |
190 |
| Vaulting oder PPC sind nicht freigeschaltet |
191 |
| Keine VaultID vorhanden |
192 |
| Clearing fehlgeschlagen |
711 |
| interner Fehler |
712 |
| interner Fehler |