REST-API: Neue Bestellungen noch nicht "finalisiert"

Hi :slight_smile:

Aktuell fehlt mir leider ein vernünftiger Denkansatz zum Abruf neuer Bestellungen in der API.
Zur Zeit filtern wir nur nach dem Bestellstatus “Offen” und ändern den Bestellstatus nach dem Import in die WaWi um alles neue zu kriegen.
Das funktioniert leider zu gut:

Wir importieren so leider auch Bestellungen, die noch nicht “fertig” sind. Sprich: Liefer- oder Rechnungsadresse noch nicht in der DB etc. Also noch nicht ganz finalisiert.
Das ganze tritt dann auf, wenn die Bestellung genau in dem Zeitfenster zwischen Änderung des Orderstate und Schreiben der jeweiligen Felder in die Datenbank abgerufen wird.
Je nach Zahlungsdienstleister und Calls kann das schon mal ein Zeitfenster von 1-2 Sekunden bedeuten.

Ein zusätzliches Filtern nach Bestellzeit möchte ich vermeiden um Problemen mit nicht ganz synchronen Systemzeiten aus dem Weg zu gehen.

Hat jemand einen Denkansatz für mich? Würde mich sehr freuen.

LG

Filter statusId != -1 dann bist du sie los

@Shyim schrieb:

Filter statusId != -1 dann bist du sie los

Hi! Danke für Dein Feedback. Aktuell filtern wir ja schon über den Status: 

            array(
                'property' => 'status',
                'expression' => '=',
                'value' => 0
            ),

Also alles mit dem Status „Offen“. So dürften die mit -1 ja schon mal nicht mitkommen (kommen sie ja auch nicht).
Das Problem ist, dass beim Finalisieren der Order erst der Status auf 1 gesetzt wird und dann die ganzen Sachen wie Lieferadressen etc. nachkommen…

Nicht schön, aber wäre es möglich eine Art Timeout zu setzen, wenn es nur die 1-2 Sekunden sind?

Das klingt seltsam, halbfertige Bestellungen haben doch normalerweise noch gar keine Ordernumber und sollten so auch nicht in der Api erscheinen…

Sonst könntet Ihr auf “ordernumber != 0” prüfen, um die Bestellungen zu filtern.

Alternative: In der Wawi eine Prüfung auf Komplettheit der Felder, dann wird auch nichts importiert, was evtl. in Shopware vom Kunden falsch/unvollständig eingetragen wurde.

@PStadtfeld schrieb:

Das klingt seltsam, halbfertige Bestellungen haben doch normalerweise noch gar keine Ordernumber und sollten so auch nicht in der Api erscheinen…

Sonst könntet Ihr auf „ordernumber != 0“ prüfen, um die Bestellungen zu filtern.

Alternative: In der Wawi eine Prüfung auf Komplettheit der Felder, dann wird auch nichts importiert, was evtl. in Shopware vom Kunden falsch/unvollständig eingetragen wurde.

Die „Alternative“ nutzen wir jetzt auch so ähnlich. Wenn wichtige Felder bzw. Adressen komplett fehlen schlafen wir eine Sekunde und fangen bei der Order wieder neu an. Seitdem haben wir das Problem nicht mehr.

Danke für die Anregungen.