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.
1
Geänderte Tabellen abfragen
Sende einen Beispiel-Antwort:
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.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 Wenn sich seit der Ausstellung des ETag keine Tabellen geändert haben, liefert die API
ETag-Header aus der ersten erfolgreichen /changes-Antwort. Sende ihn bei deiner nächsten Abfrage als If-None-Match zurück.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