Skip to main content
Finde heraus, welche Tabellen seit deinem letzten Sync aktualisiert wurden, ohne jeden Endpunkt abzurufen. Der Endpunkt GET /changes der Trassets Data API liefert Metadaten für geänderte Tabellen und unterstützt bedingte Requests über ETag, um Polling zu überspringen, wenn nichts Neues vorliegt.
Frage /changes alle 15–60 Minuten ab. Der zugrunde liegende Sync läuft als täglicher Batch — häufigeres Abfragen liefert keine neueren Daten, sondern verbraucht nur mehr von deinem 500-Requests/h-Budget. Kombiniere das mit dem since/ETag-Muster weiter unten, damit unveränderte Abfragen günstig bleiben.
1

Geänderte Tabellen abfragen

Sende einen GET-Request an /changes mit einem ISO-8601-UTC-Zeitstempel since. Die Antwort listet jede Tabelle auf, deren last_sync_at nach diesem Zeitstempel liegt, inklusive der zugehörigen Endpunkt-URL.
Beispiel-Antwort:
2

Nur geänderte Tabellen abrufen

Rufe für jedes von /changes zurückgegebene Element nur den entsprechenden Endpunkt ab. Überspringe jede Tabelle, die nicht in der Antwort enthalten ist. So vermeidest du unnötigen Datentransfer und schonst dein Rate-Limit-Budget von 500 Req/h.
3

Bedingtes GET bei nachfolgenden Abfragen nutzen

Speichere den ETag-Header aus der ersten erfolgreichen /changes-Antwort. Sende ihn bei deiner nächsten Abfrage als If-None-Match zurück.
Wenn sich seit der Ausstellung des ETag keine Tabellen geändert haben, liefert die API 304 Not Modified mit leerem Body und zählt den Request nicht gegen die Abfragekosten für Change-Daten.
4

Den Parameter since fortschreiben

Speichere nach einem erfolgreichen Sync den aktuellen Zeitstempel und nutze ihn als Wert für since bei der nächsten Abfrage. So entsteht ein gleitendes Zeitfenster, sodass jeder Lauf nur das Intervall seit dem vorherigen Lauf bewertet.
5

Vollständiges Python-Beispiel

Ein vollständiger Poller, der den Zeitstempel since und den ETag zwischen den Läufen verfolgt und nur Tabellen verarbeitet, die sich tatsächlich geändert haben. Erfordert das Paket requests.
poll_changes.py
Der Parameter since darf nicht älter als 30 Tage sein. Requests mit einem Zeitstempel jenseits dieses Rückblickfensters liefern einen Fehler. Führe einen vollständigen Tabellen-Refresh aus, wenn dein letzter erfolgreicher Sync mehr als 30 Tage zurückliegt.