Statusupdates
Überblick
Die Schnittstelle importiert Bestellungen aus dem Shopware-Shop in die WinLine und aktualisiert den Bestellstatus.
- Sync-Richtung Bestellimport: Shopware → WinLine
- Sendungsverfolgung: Kann in beide Richtungen übermittelt werden (konfigurierbar über
trackingNrToWinline) - Importsteuerung: Der Bestellimport wird über
import_sequencesgesteuert – damit können mehrere Belegarten (z.B. Bestellung, Lieferung) mit unterschiedlichen Statusübergängen definiert werden
Workflow
Bestellimport
- Kunde gibt Bestellung im Shopware-Shop auf
- Sync “Bestellungen” (
syncOrders) starten – manuell oder als geplanter Job - Die Schnittstelle sucht Bestellungen anhand der in
status_fetchkonfigurierten Stati - Für jede gefundene Bestellung wird ein Beleg in der WinLine erstellt (Belegstufe konfigurierbar: Angebot, Auftrag, Lieferschein oder Rechnung)
- Bei Erfolg wird der Bestellstatus in Shopware auf
status_successgesetzt - Bei Fehler wird der Status auf
status_failgesetzt – die Bestellung wird beim nächsten Sync erneut verarbeitet
Sendungsverfolgung
- Shop führend (
trackingNrToWinline = True): Sendungsnummer wird aus Shopware in die WinLine übertragen - WinLine führend (
trackingNrToWinline = False): Sendungsnummer wird aus der WinLine an Shopware übertragen
Sync-Befehle
- syncOrders: Bestellungen importieren und Sendungsnummern synchronisieren
- syncOrderStatus: Nur den Bestellstatus aktualisieren (ohne Belegimport)
- syncShipmenttype: Versandart synchronisieren
Tracking
Es gibt zwei Möglichkeiten die Sendungsnummer zu übermitteln. 1. Sendungsnummer wird in der WinLine vergeben und an die Shopbestellung übergeben. 2. Sendungsnummer wird von Shopware vergeben und an den WinLine-Beleg übergeben.
Beide Übergaben erfolgen im “syncOrders”.
Nachfolgend die Einstellungsoptionen in der Config
config:
[WL]
; Winline Feld für Sendungsverfolgungsnummer
; Hinweis: Darf nicht dasselbe Feld wie shoporderid sein (Standard: C063_Textzeile1)
trackingNrField = C063_Textzeile1
; Richtung der TrackingNr Übermittlung
; True - (Shop führend) Sendungsverfolgungsnummer wird aus dem Shop in die Winline übertragen
; False - (Winline führend) Sendungsverfolgungsnummer wird aus der Winline in den Shop übertragen
trackingNrToWinline = True
; Shopware Feld für Sendungsverfolgungsnummer
shoptrackingnrfield = trackingCodes
; Feld für die Shop-Belegnummer im WinLine-Beleg
shopbelegnummernfeld = C064_Textzeile2
Statuswechsel
Im Segment ORDERS im Feld import_sequences wird die Reihenfolge der Belegabrufe aus dem Webshop definiert. Der Wert
im Beispiel Bestellung ist dann der Segmentname in der dieser Abruf konfiguriert wird.
Im Feld import_belegstufe (Segment hängt von der import_sequences ab) kann definiert werden in welcher WinLine Belegstufe, die vom Webshop abgerufenen Bestellungen, erfasst werden. Mögliche Belegstufen: nicht_drucken, Angebot, Auftrag, Lieferschein und Rechnung.
In den drei Feldern status_* kann eine Liste der Stati angegeben werden.
- status_fetch: hier wird eine Verundung der Stati für die Suche in Shopware erstellt
- bsp.: status_fetch = OrderState.open, OrderTransactionState.paid Es werden alle Bestellungen abgerufen,
die Offen sind und die Bezahlt wurden.
- status_success: Hier wird die Liste der Stati hinterlegt, in die eine Bestellung gesetzt werden soll,
wenn sie erfolgreich abgerufen wurde.
- status_fail: Hier wird die Liste der Stati hinterlegt, in die eine Bestellung gesetzt werden soll,
wenn ein Fehler aufgetreten ist.
Statusarten in Shopware 6
| Statusart | Config-Bezeichnung | Mögliche Werte |
|---|---|---|
| Bestellstatus | OrderState |
open, in_progress, cancelled, completed |
| Bezahlstatus | OrderTransactionState |
open, failed, authorized, refunded_partially, refunded, in_progress, paid, paid_partially, reminded, cancelled |
| Lieferstatus | OrderDeliveryState |
open, shipped, shipped_partially, cancelled, returned, returned_partially |
Beispielkonfiguration
[ORDERS]
import_sequences = ["Bestellung"]
[Bestellung]
; Optional: Statustyp für die Suche (OrderState, order_delivery, order_transaction)
status_type = OrderState
status_fetch = OrderState.open
status_success = OrderState.inProgress
status_fail = OrderState.open
import_belegstufe = Lieferschein
check_existing = True
Weitere Belegarten
Es können weitere Segmente für verschiedene Bestellarten definiert werden:
[ORDERS]
import_sequences = ["Bestellung", "Lieferung"]
[Lieferung]
; Optional: Statustyp für die Suche (OrderState, order_delivery, order_transaction)
status_type = order_delivery
status_fetch = OrderDeliveryState.open
status_success = OrderDeliveryState.shipped
status_fail = OrderDeliveryState.open
status_tracking = OrderDeliveryState.shipped
import_belegstufe = Lieferschein