Groupware-Kalender über API und CalDAV integrieren
Diese Referenz zeigt Integratoren die stabilen Zugänge für Kalendertermine, Ressourcen, Delegationen und externe Synchronisation. Alle HTTP-APIs sind authentifiziert und tenantgebunden. Workspace bietet keine anonyme Slot- oder Kundenbuchungs-API.
REST-Ressourcen
| Zweck | Pfad |
|---|---|
| Kalender und Termine | /api/v1/calendar/feeds |
| Eigene Kalender | /api/v1/self/calendar/feeds |
| Begrenzte Vorkommen | .../{feedId}/occurrences?startsAt=...&endsAt=... |
| Ressourcen | /api/v1/calendar/resources |
| Delegationen | /api/v1/self/calendar/feeds/delegations |
| Eigene Einladungen | /api/v1/self/calendar/invitations |
| ICS-Vorschau | /api/v1/self/calendar/feeds/{feedId}/import/preview |
| ICS anwenden | /api/v1/self/calendar/feeds/{feedId}/import/apply |
| Externe Verbindungen | /api/v1/calendar/sync-connections |
| Sync-Konflikte | .../{connectionId}/conflicts |
Vorkommensabfragen dürfen höchstens 366 Tage umfassen. Schreibpfade prüfen Tenant, Objektzugriff und Revision gemeinsam. Ressourcenfreigaben verwenden POST /api/v1/calendar/resources/{resourceId}/participants/{participantId}/response mit accepted oder declined.
Vorschau und Anwendung des ICS-Imports erwarten denselben Body {"ics":"..."}. Die Vorschau ist zustandslos und schreibt nicht. Der Anwendungspfad parst den Inhalt erneut und erzeugt genau einen Termin; der Server hält dafür keinen impliziten Vorschauzustand.
Interne Teilnehmer müssen aktive Mitglieder desselben Tenants sein. Ihre Einladungsansicht wird ausschließlich über die gespeicherte Identity-Teilnahme autorisiert. Antworten verwenden den aktuellen Termin-sequence-Wert und lehnen veraltete Antworten ab. Externe Antworttokens werden nach der ersten erfolgreichen Antwort widerrufen; die E-Mail verlinkt direkt auf die HTML-Oberfläche desselben öffentlichen Pfads.
CalDAV und iCalendar
Discovery beginnt unter /.well-known/caldav; der direkte Root-Pfad lautet /api/v1/calendar/caldav/. Der Server unterstützt persistierte Kalender und separate schreibgeschützte Projektions-Collections, Calendar Query, Multiget, ETags sowie sync-collection mit rotierenden Tokens und Tombstones.
Termine verwenden stabile UIDs, UTC-basierte Revisionen, Zeitzonen, Ganztagswerte, RRULE, RDATE, EXDATE, Teilnehmer und VALARM. Schreiben Sie nie in eine Projektions-Collection.
Externe Synchronisation
Referenzieren Sie Credentials über secretId. Zulässige Ziele benötigen HTTPS und dürfen nicht auf Loopback-, Link-local- oder private Netze zeigen. Bei two_way erzeugen konkurrierende Änderungen einen Konflikt. Rufen Sie die Konfliktliste ab und lösen Sie jeden Eintrag mit resolution: local oder resolution: remote.
Fehler sicher behandeln
Werten Sie HTTP-Status und maschinenlesbaren Fehlercode aus. Zeigen Sie keine rohen Upstream- oder Datenbankfehler an. Wiederholen Sie schreibende Requests nur mit geprüftem Revisionsstand.
Prüfen
Testen Sie Discovery, einen iCalendar-Roundtrip, eine Serie, eine Löschung mit Tombstone, eine abgelehnte Ressourcenüberschneidung und einen absichtlich erzeugten Zweiwegkonflikt.