Zum Inhalt
PDF

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_sequences gesteuert – damit können mehrere Belegarten (z.B. Bestellung, Lieferung) mit unterschiedlichen Statusübergängen definiert werden

Workflow

Bestellimport

  1. Kunde gibt Bestellung im Shopware-Shop auf
  2. Sync “Bestellungen” (syncOrders) starten – manuell oder als geplanter Job
  3. Die Schnittstelle sucht Bestellungen anhand der in status_fetch konfigurierten Stati
  4. Für jede gefundene Bestellung wird ein Beleg in der WinLine erstellt (Belegstufe konfigurierbar: Angebot, Auftrag, Lieferschein oder Rechnung)
  5. Bei Erfolg wird der Bestellstatus in Shopware auf status_success gesetzt
  6. Bei Fehler wird der Status auf status_fail gesetzt – 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