Skip to content

API-Rate-Limiting ​

INFO

Verfügbar ab Plugin-Version 2.1.1.

Das Plugin schützt das Abacus-API-Rate-Limit aktiv und reduziert sein eigenes Aufrufvolumen. Das Monitoring-Panel visualisiert dieselben Limits; diese Seite beschreibt, wie das Plugin darunter bleibt. Die Limits hängen von der konfigurierten Abacus-Version ab (bis 2025 200/12000/30000 pro Minute/Stunde/Tag, ab 2026 400/18000/40000).

429-Backoff ​

Jede 429 Too Many Requests-Antwort wird erfasst und der Aufruf bis zu 3-mal mit exponentiellem Backoff wiederholt, wobei der Retry-After-Header berücksichtigt wird (maximal 60 Sekunden Wartezeit pro Versuch). Sind die Wiederholungen ausgeschöpft, schlägt der Aufruf fehl und der Sync-Job meldet dies.

Hintergrund-Budget ​

Hintergrund- und Katalogsynchronisierungen nutzen nur einen konfigurierbaren Anteil des Mandanten-Rate-Limits (Standard 65% der Minuten-, Stunden- und Tageslimits); der Rest bleibt für Storefront-Preise und Checkout frei. Hintergrund-Jobs pausieren, solange ihr Anteil ausgeschöpft ist, und langlaufende Jobs wie das Preis-Cache-Warmup stoppen vorzeitig, sobald der Tagesanteil erreicht ist. Storefront-Preisaufrufe werden erst beim vollen Limit übersprungen - der Shop liefert dann gecachte Preise.

Nebenzeit-Planung ​

Massensynchronisierungen (Produkte, Kategorien, Shopper, kompletter Bestandsabgleich) laufen nur innerhalb eines konfigurierbaren Nebenzeitfensters (Standard 23:00-05:00, Europe/Zurich), unabhängig davon, wie oft der geplante Task auslöst. Das Preis-Cache-Warmup läuft bewusst ausserhalb dieses Fensters, tagsüber, um die Storefront-Preise warm zu halten. Teilen sich mehrere Mandanten ein Abacus, verschiebt der Versatz das Fenster pro Mandant, damit sie nicht gleichzeitig starten.

Das Fenster gilt nur für automatische Läufe. Manuelle Synchronisierungen (Monitoring-Dashboard, Retry, scheduled-task:run-single) laufen immer, zählen aber zum Budget.

Einstellungen ​

Plugin-Konfiguration, Karte API-Ratenbegrenzung & Planung:

EinstellungStandardBedeutung
Budgetanteil für Hintergrund-Synchronisierung (%)65Anteil des Rate-Limits für Hintergrund-/Katalogsynchronisierungen
Beginn des Nebenzeitfensters (Stunde)23Stunde (Europe/Zurich), ab der Massensynchronisierungen starten dürfen
Ende des Nebenzeitfensters (Stunde)5Stunde, zu der das Fenster schliesst
Versatz der Synchronisierung (Minuten)0Verschiebt das Fenster dieses Mandanten nach vorne

Reduktion des Aufrufvolumens ​

Abacus-Preise bleiben pro Produkt 2 Stunden gecacht, fehlende Preise 15 Minuten (Container-Parameter abacus_price_cache_ttl_seconds / abacus_price_cache_miss_ttl_seconds). Der Auftragsexport löst den Abacus-Shopper mit einer einzigen gefilterten Abfrage über die Debitorennummer auf (die Abacus-Divisionen werden automatisch ermittelt und gecacht) und schreibt die Abacus-Shopper-ID an den Kunden zurück, sodass Folgeaufträge gar keinen Lookup mehr benötigen.