Zweck: Wenn der Import Deiner WooCommerce-Bestellungen in Sendcloud verzögert wird, könnte das mit dem Cache zusammenhängen. In diesem Artikel erklären wir, wie Du dieses Problem beheben kannst.
Hinweis: Die in diesem Artikel beschriebenen Lösungen erfordern einige Entwicklungskenntnisse. Falls Deine Kenntnisse nicht ausreichen, raten wir Dir, Deinen Webentwickler zu kontaktieren. Die Behebung dieses Problems muss in der eigenen Umgebung erfolgen (nicht in Sendcloud), daher können wir nur eine Empfehlung aussprechen, wie dieses Problem zu beheben ist.
Warum gibt es eine Verzögerung beim Import meiner Bestellungen in Sendcloud?
Verzögerungen beim Importieren von Bestellungen können verschiedene Ursachen haben, aber in diesem Artikel geht es um Verzögerungen bei Bestellungen im Zusammenhang mit dem Cache. Es ist von vornherein unmöglich, alle Deine Bestellungen auf einmal abzurufen. Aus diesem Grund verwendet Sendcloud eine Paginierung und ein Cache.
Was ist eine Paginierung?
Die Paginierung ist eine Funktion, die alle Aufträge in kleinere Mengen aufteilt und die Ergebnisse Seite für Seite abruft. Sendcloud muss dann nur noch die gewünschte Seitenzahl in unserer API-Anfrage angeben.
Was ist ein Cache?
Der Cache hilft Shopsystemen, produktiver und effizienter zu sein. Anstatt umfangreiche Datenbankabfragen und Berechnungen pro API-Anfrage durchzuführen, erhältst Du Antworten (z. B. Bestellungen), die bereits aus früheren API-Anfragen vorbereitet und gespeichert wurden. Aufgrund der Cache-Funktionalität, können nicht immer die neuesten Bestellungen abgerufen werden. Das liegt daran, dass sich die neuesten Aufträge in der Datenbank befinden, aber noch nicht zwischengespeichert wurden. Sobald der Cache geleert wird (alle N Minuten/Stunden), werden die neuesten Aufträge durch unseren API-Aufruf abgerufen und in das Sendcloud-Panel importiert.
Es könnte den Anschein haben, dass die Bestellungen mit Verzögerung in das Sendcloud-Panel importiert werden. Diese Verzögerung ist auf zwischengespeicherte Daten zurückzuführen. Leider ist der Cache etwas, das Sendcloud nicht kontrollieren kann. Das Beste, was wir tun können, ist WooCommerce mitzuteilen, dass wir keine zwischengespeicherten Daten wünschen. Wenn API-Server mit veralteten Daten antworten, erscheinen veraltete Daten auch im Sendcloud-Panel.
Mögliche Ursachen:
-
Cache auf der Seite des Hosting-Anbieters, der alles für ähnliche Anfragen zwischenspeichert
-
Installierte Cache-Plugins
-
Ineffektive Cache-Strategie der Webshop-Entwickler
Troubleshooting
Um herauszufinden, ob die Verzögerungen auf ein Caching-Problem zurückzuführen sind, folge die folgenden Schritte aus:
- Finde die Anfragen, die Sendcloud sendet, in Deinen Serverprotokollen; sie sollten etwa so aussehen:
GET
https://woocomm.shop.nl/wc-api/v2/orders?page=1
- Kopiere die URL
- Wenn die Anforderungsprotokolle nicht gefunden werden können, verwende die API (dies ist für erfahrene Benutzer oder Entwickler)
- Stelle eine Anfrage über den Browser oder einen REST-Client (z.B. Postman, Insomnia etc.)
- Prüfe die Antwortdaten
- Warte, bis neue Aufträge erscheinen oder erstelle einen Testauftrag
- Die gleiche Anfrage vom gleichen Browser oder der gleichen Postman-Sitzung stellen
- Prüfe die Antwortdaten erneut
- Wenn der neue Datenstapel mit dem vorherigen identisch ist und nicht den letzten (oder Test-)Auftrag enthält, bedeutet dies, dass ein Cache-Problem vorliegt
Lösungen
Lösung 1: Cache für neue Aufträge ungültig machen
Wenn neue Bestellungen aufgegeben werden, sollte Woocommerce den Cache automatisch ungültig machen/löschen.
Wenn Sendcloud das nächste Mal versucht, Bestellungen abzurufen, wird es sie direkt aus der Datenbank und nicht aus dem Cache abrufen.
Lösung 2: Cache-control HTTP-Header
Sendcloud sendet den HTTP-Header Cache-Control in jeder Anfrage, die wir zum Abrufen neuer Bestellungen stellen. Wenn der Woocommerce-API-Server diesen Header in unserer Anfrage sieht, sollte er den Cache nicht verwenden oder ihn zumindest ungültig machen, sodass wir alle aktuellen Bestellungen abrufen können.
Weitere Informationen über die Vorgehensweise findest Du in dieser Dokumentation.
Wenn die in diesem Artikel beschriebenen Maßnahmen die Verzögerung nicht beheben, wende Dich bitte an unseren Kundensupport.
Verwandte Artikel: