FROM CACHE - de_header

API Aufrufe

Wagyuhof
Neues Mitglied
8 0 0

Hallo, 

 

die Shopify Lagerstände werden bei uns über ein externes ERP System verwaltet. Bei manchen Artikeln gibt es viele Varianten und dadurch muss das ERP sehr viel synchronisieren.  

 

Meine Frage daher: 

Gibt es eine Limitierung wie oft die API aufgerufen werden kann und wenn ja, was kann ich dagegen tun. Es kommt leider zu sehr vielen Fehlermeldungen. 

 

Über eine hilfreiche Antwort würde ich mich sehr freuen. 

 

 

 

1 ANTWORT 1

Gabe
Shopify Staff
16681 2637 3912

Hey @Wagyuhof 

 

Danke für die Angaben und den folgende Sachverhalt  sowie Links bitte an die ERP Entwickler weiterleiten, so dass sie die ERP und die API Integration optimieren und effizienter machen können.

 

Shopify begrenzt die Anzahl der API-Aufrufe, die eine Anwendung pro Minute machen kann, um die Stabilität und Verfügbarkeit des Dienstes für alle Nutzer zu gewährleisten - das sog. "API-Rate-Limiting".

 

Hier wird das sogenannte "Leaky Bucket"-Algorithmus-Modell zur Regelung des Datenverkehrs verwendet und um Requests zu verwalten. Es ermöglicht es, eine unbegrenzte Anzahl von Anfragen in unregelmäßigen Bursts zu stellen.

 

Die wichtigsten Punkte, die du über die Leaky-Bucket-Metapher wissen musst, sind folgende:

  • Jede App hat Zugriff auf einen Bucket. Dieser kann z.B. 60 "Marbles" enthalten.
  • Jede Sekunde wird eine Murmel aus dem Eimer entnommen (falls es welche gibt). Auf diese Weise gibt es immer mehr Platz.
  • Bei jeder API-Anfrage musst du eine Marble in den Eimer werfen.
  • Wenn der Eimer voll ist, bekommst du eine Fehlermeldung und musst warten, bis im Eimer wieder Platz frei wird.

Dieses Modell stellt sicher, dass Apps, die mit API-Aufrufen verantwortungsvoll umgehen, und immer Platz in ihren Buckets haben, um bei Bedarf eine größere Anzahl von Anfragen zu stellen. Wenn du zum Beispiel durchschnittlich 20 Anfragen ("Murmeln") pro Sekunde hast, aber plötzlich 30 Anfragen auf einmal stellen musst, kannst du das tun, ohne dein Ratenlimit zu erreichen.

 

Die Grundprinzipien des Leaky-Bucket-Algorithmus gelten also für alle unsere Rate Limits, unabhängig von den spezifischen Methoden, mit denen sie angewendet werden.

 

Die genauen Zahlen können variieren, aber für normale API-Clients besteht das Limit im Admin API typischerweise aus 2 Aufrufen pro Sekunde, plus zusätzlichen 40 Aufrufen kumuliert in einem Zeitraum. Mit den Advanced und Plus-Plänen ist das Limit etwas höher (siehe den Chart in den oben-verlinkten Developer Docs).

 

Wenn eure ERP diese Grenzen überschreitet, wird Shopify mit einem HTTP 429-Fehler (Too Many Requests) antworten. Dies könnten die Fehler sein, die ihr sieht.

 

Hier ein paar Strategien, so dass die ERP Entwickler besser mit diesem Problem umgehen können:

  1. Effizientere Aufrufe: Versuche, die Aufrufe so effizient wie möglich zu gestalten. Zum Beispiel, wenn man eine große Anzahl von Artikeln aktualisieren muss, dann versuchen, "Bulk"-Updates zu verwenden, bei denen man mehrere Änderungen in einem einzigen Aufruf durchführt, anstatt jeden Artikel einzeln zu aktualisieren.

  2. Verzögerungen einführen: Man könnte versuchen, den API und die ERP so zu programmieren, dass sie automatisch eine kurze Verzögerung einlegen, wenn man einen 429-Fehler erhält, bevor man es erneut versucht.

  3. Webhooks verwenden für den Push anstatt dem Pull: Abhängig von der Art der Aktualisierungen, könnte man in Betracht ziehen, Webhooks zu verwenden. Mit Webhooks kann die Anwendung benachrichtigt werden, wenn sich etwas auf Shopify ändert, anstatt ständig abzufragen, ob sich etwas geändert hat...(duh... 😉 )

  4. Shopify Advanced Plan oder Plus in Betracht ziehen: Wenn euer Unternehmen ausreichend große Umsätze hat ist und die Kosten rechtfertigen kann, bietet unser Advanced Plan oder unser "Whiteglove" Shopify Plus Plan viele Vorteile wie z. B. höhere API-Rate-Limits.

Halte auch ein Auge auf unsere oben-verlinkte Entwickler-Dokumente, da sich diese Informationen stets aktualisieren können.


Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Oder lass wissen, wenn du weitere Fragen dazu hast oder zum Shop und Business und gerne können wir das hier weiter besprechen! Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog