ShopwareAddOrders - Shopware
Mit dem Step ShopwareAddOrders können Sie neue Aufträge in Shopware anlegen.
- 1 Voraussetzungen
- 2 InputParameter
- 3 Felder des Datastores
- 4 customerId und customerNumber
- 5 countryId und stateId
Dieser Step unterscheidet sich von anderen Steps. Aufträge die zu Shopware übertragen werden sollen, müssen zuerst in zwei Datastores (Auftragskopfdaten und Auftragspositionen) gespeichert werden. Der ShopwareAddOrders - Step kann nur gespeicherte Aufträge zu Shopware übertragen.
Für diesen Step benötigen Sie daher zwei Datastores in einer Master-Child Beziehung (siehe Datastores).
- Im Master Datastore sind dabei die Kopfdaten der Bestellung gespeichert.
- Im Child Datastore sind die jeweiligen Artikelpositionen gespeichert und müssen per master_identifier dem jeweiligen Masterdatastore-Item (Bestellkopf) zugewiesen sein.
Das ist notwendig, da der Step bei der Abarbeitung der Aufträge die von Shopware vergebene AuftragsID (orderID) an die Datensätze schreibt und jeden Datensatz als PROCESSED_SUCCESS markiert.
Voraussetzungen
Wenn Sie das Shopware Addon gebucht haben, erstellen Sie zwei Datastores in einer Master-Child Beziehung zueinander. Der API Nutzer muss mindestens folgende Berechtigungen besitzen:
- customer: create, read und perform_order
- order: create* und read
Die Funktion zum Anlegen von Bestellungen ist erst seit der Version 5.2.21 in der Shopware REST API vorhanden. Ältere Shopware Versionen können nicht zum anlegen von Bestellungen genutzt werden.
Vorgehensweise
- Für die Datastores sind zunächst zwei Schemas zu erstellen.
- ShopwareOrderHead (als Master für die Auftragskopfdaten): wählen Sie Vordefiniertes Schema ShopwareOrderPayloadProvider
- ShopwareOrderItem (als Child für die Auftragspositionen) : wählen Sie Vordefiniertes Schema *ShopwareOrderItemPayloadProvider *
Diese beiden vordefinierten sind im Shopware Plugin enthalten und können beim Erstellen von Schemas genutzt werden.
Entsprechend sind nun 2 Datastores mit den jeweiligen Schemas anzulegen. Nennen Sie die Datastores am besten analog zu den Schemas:
- OrderHead (als Master für die Auftragskopfdaten)
- OrderItem (als Child für die Auftragspositionen)
In die Datastores müssen nun mit Daten aus dem jeweiligen System befüllt werden (z.Bsp. aus Plentymarkets, etc.)
Der Step erwartet nun als Input den Master Datastore für die Order (mit dem Schema ShopwareOrderPayloadProvider).
-
datastore=OrderHead
-
InputParameter
Input | Beschreibung |
---|---|
account | Wählen Sie hier Ihren Shopware-Account aus, um auf die Schnittstelle Ihres Shops zuzugreifen zu können (weitere Informationen) |
inputSpreadsheet | Erstellen Sie ein Spreadsheet mit den unten angegebenen Spalten, um die Variantenattribute den Bildern zuzuordnen |
limit | Dieser Filter schränkt ein wie viele Order angelegt werden. Während der Erstellung und dem Testen von Flows ist es praktisch diesen Wert gering zu halten (z.B. 1-2), damit nur wenige Daten zum Prüfen geschrieben werden. |
datastore | Wählen Sie hier den Datastore für die Kopfdaten der Aufträge |
-
Felder des Datastores
Die Kopfdaten werden durch das Datastore-Schema ShopwareOrderPayloadProvider beschrieben
Felder | Anmerkungen | Pflichtfeld | Standardwert | Wo finde ich diese Shopware IDs / Werte? |
---|---|---|---|---|
Bestellungs-Details |
||||
orderId | ID der Bestellung: Diese Spalte wird automatisch befüllt, wenn die Bestellung angelegt wurde. Bitte lassen Sie diese Spalte leer | |||
number | Bestellnummer: wird automatisch von Shopware vergeben, wenn Spalte leer ist | |||
paymentId | ID der Zahlungsart | ja | Tabelle s_core_paymentmeans | |
dispatchId | ID der Versandart | ja | Tabelle s_premium_dispatch | |
partnerId | Partner-ID | Tabelle s_emarketing_partner | ||
shopId | ID des Shops | ja | Tabelle s_core_shops | |
referrer | Herkunft des Auftrags | |||
orderStatusId | ID des Status der Bestellung | ja | Tabelle s_core_states (group = state) | |
orderTime | Bestellzeit im Format yyyy-MM-dd'T'HH:mm:ssZ Beispiel(2017-12-12T09:54:57+0100) | |||
invoiceAmount | Rechnungsbetrag Brutto | ja | ||
invoiceAmountNet | Rechnungsbetrag Netto | ja | ||
invoiceShipping | Versandkosten Brutto | ja | ||
invoiceShippingNet | Versandkosten Netto | ja | ||
currency | Währung | EUR | ||
currencyFactor | Umrechnungsfaktor Währung | 1.0 | ||
transactionId | Transaktions ID | |||
net | Gesamtbetrag Netto: Legt fest ob die Rechnung mit Nettobeträgen erstellt wird | ja | 0 | |
taxfree | Steuerfrei | 0 | ||
paymentStatusId | ID des Zahlungsstatus | ja | Tabelle s_core_states (group = payment) | |
comment | Kommentar | |||
customerComment | Kundenkommentar | |||
internalComment | Interner Kommentar | |||
remoteAddress | IP-Adresse | |||
languageIso | ID Sprache | 1 | ||
orderAdditionalAttributes | zusätzliche Freitextfelder. Camelcase Schreibweise('_' mit Großbuschstaben den folgenden Wortes ersetzen) als Schlüssel=Wert-Paar Bsp.: attributeName=Wert;attributeName2=Wert2 usw. siehe ShopwareUpdateOrder unten |
|||
Kundendaten | ||||
customerId |
Ist eine customerId angegeben wird der Auftrag dem entsprechend existierenden Kunden im Shopware System zugewiesen.
Achtung! - In diesem Fall werden die mit 1 markierten beschriebenen Customer Felder obligatorisch |
ShopwareGetCustomers Step oder Tabelle s_user | ||
customerNumber | Kundennummer | |||
customerSalutation1 | Anrede (mr oder mrs) | |||
customerTitle | Titel | |||
customerEmail1 | E-Mail Adresse | |||
customerFirstname1 | Vorname | |||
customerLastname1 | Nachname | |||
customerGroupKey | Kundengruppe | |||
customerBirthday | Datum Geburtstag ( Format "yyyy-MM-dd'T'HH:mm:ssZ") |
|||
customerAccountMode | Account Typ (0 = Kunde, 1 = Schnellbesteller) | |||
Rechnungsadresse | ||||
billingStreet |
Straße | |||
billingStreetNumber | Hausnummer. Die Hausnummer wird automatisch mit in das Feld Straße in Shopware übernommen. |
|||
billingCity | Stadt | |||
billingZipcode | PLZ | |||
billingCountryId1 | ID Land | ShopwareGetCountriesAndStates oder s_core_countries |
||
billingStateId1 | ID Bundesland | ShopwareGetCountriesAndStates oder s_core_countries_states |
||
billingAdditionalAddressLine1 | zusätzliche Adresszeile 1 | |||
billingAdditionalAd2ressLine1 | zusätzliche Adresszeile 2 | |||
billingCompany | Firmenname | |||
billingDepartment | Abteilung | |||
billingVatId | Ust ID | |||
billingSalutation1 | Anrede (mr oder mrs) | |||
billingTitle | Titel | |||
billingFirstname1 | Vorname | |||
billingLastname1 |
Nachname | |||
billingPhone | Telefonnummer | |||
Lieferadresse (Hinweis: Wenn alle relevanten ("shipping...") Felder leer sind, wird automatisch die Rechnungsadresse als Lieferadresse verwendet) |
||||
shippingStreet | Straße | |||
shippingStreetNumber | Hausnummer. Die Hausnummer wird automatisch mit in das Feld Straße in Shopware übernommen. | |||
shippingCity1 | Stadt | |||
shippingZipCode | PLZ | |||
shippingCountryId1 |
ID Land | ShopwareGetCountriesAndStates oder s_core_countries |
||
shippingStateId1 | ID Bundesland | ShopwareGetCountriesAndStates oder s_core_countries_states |
||
shippingAdditionalAddressLine1 | zusätzliche Adresszeile 1 | |||
shippingAdditionalAddressLine2 | zusätzliche Adresszeile 2 | |||
shippingCompany | Firmenname | |||
shippingDepartment | Abteilung | |||
shippingSalutation | Anrede (mr oder mrs) | |||
shippingTitle | Titel | |||
shippingFirstName | Vorname | |||
shippingLastName | Nachname | |||
shippingPhone | Telefonnummer |
Die Auftragspositionen sind durch das Schema ShopwareOrderItemPayloadProvider beschrieben.
Pflichtfelder | Anmerkungen | Pflichtfeld | Wo finde ich diese Shopware IDs / Werte? |
---|---|---|---|
articleName |
Artikelname | ||
articleId | ID des Artikels | ShopwareGetProducts Step oder Tabelle s_articles | |
articleNumber | Artikelnummer | ShopwareGetProducts Step oder Tabelle s_articles | |
price | Preis | ||
quantity | Anzahl | ||
taxId | ID Mwst. | Tabelle s_core_tax | |
taxRate | Mwst. in Prozent | Tabelle s_core_tax | |
statusId | Status der Position | Tabelle s_core_detail_states |
|
orderItemAttributes1 | |||
orderItemAttributes2 | |||
orderItemAttributes3 | |||
orderItemAttributes4 | |||
orderItemAttributes5 | |||
orderItemAttributes6 | |||
orderItemAdditionalAttributes | zusätzliche Freitextfelder. Camelcase Schreibweise('_' mit Großbuschstaben den folgenden Wortes ersetzen) als Schlüssel=Wert-Paar Bsp.: attributeName=Wert;attributeName2=Wert2 usw. siehe ShopwareUpdateOrder unten |
-
customerId und customerNumber
Das Feld customerId beschreibt die customerId, welche von Shopware intern genutzt wird. Diese ist ungleichder customerNumber, welche im Shopware Backend angezeigt wird.
Ist das Feld customerId gefüllt, wird versucht die Order mit der in Shopware existierenden customerId zu verknüpfen. Existiert kein Nutzer für die ID, wird die entsprechende Order übersprungen.
Ist keine customerId angegeben, wird ein customer neu angelegt und im Datastore die ID für den neu angelegten customer am jeweiligen Auftragskopf gesichert.
-
countryId und stateId
Die Felder countryId und stateId sind für die Rechnungs- und Lieferadresse ein Pflichtfeld. Um die jeweiligen Werte für ein Mapping der IDs zu erhalten kann der Step ShopwareGetCountriesAndStates genutzt werden.
Die stateId (Bundesland) ist in Versionen bis 5.5.0 ein Pflichfeld, siehe auch https://issues.shopware.com/issues/SW-20045 und https://issues.shopware.com/issues/SW-22180 .
Inputs
Das sind die Optionen, mit denen man den Step konfigurieren kann.
Name | Datentyp | Beschreibung | Pflichtfeld | Werte | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
account | ACCOUNT | Ihre Shopware 6 Verbindung | Ja | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
datastore | DATASTORE | Der Datenspeicher, der die Bestellungen für Shopware enthält. Der Datenspeicher muss mit dem Shopware-Bestellschema kompatibel sein. | Ja | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Folgende Felder sind zu konfigurieren
:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
folder | STRING | Der Ordner des Datenspeichers. | Nein | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
limit | STRING | Beschränkt die Anzahl der verarbeiteten Aufträge pro Ausführung. | Nein | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sortByField | STRING | Optionales Feld zum Sortieren der Datensätze nach einem der indizierten Felder. | Nein |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sortDir | STRING | Die Sortierreihenfolge (Aufsteigend oder Absteigend). | Nein |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
identifierOrderId | STRING | Setzen Sie diese Option, um die Shopware-Order-ID in Identifier2 oder Identifier3 des Datenspeicherelements zu schreiben. | Nein |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
compareCustomersByEmail | BOOLEAN | Setzen Sie diese Option auf ENABLED, um als letzten Ausweg den passenden Kunden über die E-Mail-Adresse zu finden, wenn der Kunde nicht über die Kunden-ID oder Kundennummer gefunden werden kann. | Nein |
|
Outputs
Das sind die Ergebnisse des Steps, die von nachfolgenden Steps, nach der Ausführung verwendet werden können.
Name | Datentyp | Beschreibung | Pflichtfeld | Werte | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
result | SPREADSHEET | A spreadsheet object containing the results of the process. | Ja | |||||||||||||||||||||
Folgende Felder sind im Output enthalten
:
|