Zum Inhalt springen
Zur App

Full Sync

Öffnen in ChatGPT

War dein Plugin eine Zeit lang aus oder ist eine Anfrage verloren gegangen, bringt ein Full Sync den Kalender wieder auf den Stand deines Systems. Empfehlung: beim ersten Verbinden und danach einmal täglich, zum Beispiel per WP-Cron.

1. Sync starten

Terminal-Fenster
curl -X POST https://api.kalender-sync.de/v1/publisher/calendars/$KS_CAL/syncs \
-H "Authorization: Bearer $KS_KEY"
{ "sync_id": "sync_XXXXXXXXXXXXXXXX", "expires_at": "2026-11-03T15:02:11.000Z" }

Ein Sync ist eine Stunde gültig.

2. Alle aktuellen Termine schicken

Schick jeden Termin, den es in deinem System gibt, per Batch mit der sync_id:

Terminal-Fenster
curl https://api.kalender-sync.de/v1/publisher/calendars/$KS_CAL/events/batch \
-H "Authorization: Bearer $KS_KEY" \
-H "Content-Type: application/json" \
-d '{
"sync_id": "sync_XXXXXXXXXXXXXXXX",
"operations": [
{ "method": "PUT", "external_id": "wp-1482", "event": { "title": "Sunset Yoga", "start": "2026-11-12T18:00:00" } },
{ "method": "PUT", "external_id": "wp-1490", "event": { "title": "Yin Yoga", "start": "2026-11-13T18:30:00" } }
]
}'

Unveränderte Termine kosten dabei nichts: Sie werden nur als bestätigt markiert, nicht neu geschrieben. Die sync_id gibt es nur im Batch, nicht beim Einzel-PUT.

3. Sync abschließen

Terminal-Fenster
curl -X POST https://api.kalender-sync.de/v1/publisher/calendars/$KS_CAL/syncs/sync_XXXXXXXXXXXXXXXX/complete \
-H "Authorization: Bearer $KS_KEY"
{ "sync_id": "sync_XXXXXXXXXXXXXXXX", "deleted": 3, "remaining": 42 }

Dabei werden alle Termine gelöscht, die während des Syncs nicht geschickt wurden. Termine, die du während des Syncs außerhalb davon geschrieben hast (zum Beispiel ein normales Speichern auf der Website), bleiben erhalten.

Würde das Abschließen mehr als die Hälfte der Termine löschen, lehnt die API mit 409 large_delete ab. Ein halb fertiger Export soll nie einen Kalender mit tausenden Abonnenten leeren.

Ist das Löschen gewollt, bestätige es:

Terminal-Fenster
curl -X POST https://api.kalender-sync.de/v1/publisher/calendars/$KS_CAL/syncs/sync_XXXXXXXXXXXXXXXX/complete \
-H "Authorization: Bearer $KS_KEY" \
-H "Content-Type: application/json" \
-d '{ "confirm_large_delete": true }'
CodeWann
sync_not_foundDie sync_id gehört nicht zu diesem Kalender.
sync_expiredDie Stunde ist um. Starte einen neuen Sync.
sync_completedDer Sync wurde schon abgeschlossen.
large_deleteMehr als die Hälfte würde gelöscht.