Skip to content

API: integrations-google-microsoft-calendar-mail

Ort: work7_laendletech/docs/api/api-integrations-google-microsoft-calendar-mail.md

Überblick

  • Base-URL / Prefix: /api/google, /api/microsoft, /api/calendar
  • Auth: Session-basiert plus verifizierte Provider-Verbindung pro Firma/Nutzer
  • Format: JSON

Endpoint(s)

GET|POST /api/google/calendar/events

Zweck:

Listet Google-Kalendereintraege oder erstellt neue Events im eigenen Kalenderkontext.

Request

FeldTypPflichtBeschreibung
userstringneinNutzer-E-Mail; muss Session-E-Mail entsprechen
calendarIdstringneinZielkalender, Standard primary
timeMinstringneinISO-Startzeit fuer Filter
timeMaxstringneinISO-Endzeit fuer Filter
summarystringbei POST jaTitel des Termins
startobjectbei POST jaStartdatum oder Startzeit
endobjectbei POST jaEnddatum oder Endzeit

Response 200

json
{
  "impersonatedUser": "user@example.com",
  "calendarId": "primary",
  "events": []
}

Fehler

HTTPBedeutungBody-Hinweis
400Fehlender Firmen-/Body-Kontexterror
403Fremder Kalenderzugriff verbotenerror
422ValidierungsfehlerFeldliste
5xxProvider-/ServerfehlerProvider-Error-Response

GET|POST /api/microsoft/calendar/events

Zweck:

Listet oder erstellt Microsoft-Kalenderevents ueber Graph-nahe Integration.

PATCH|DELETE /api/google/calendar/events/[eventId]

Zweck:

Google-Kalenderevent aktualisieren oder loeschen.

PATCH|DELETE /api/microsoft/calendar/events/[eventId]

Zweck:

Microsoft-Kalenderevent aktualisieren oder loeschen.

GET /api/google/calendar/calendars

Zweck:

Verfuegbare Google-Kalender auflisten.

GET /api/microsoft/calendar/calendars

Zweck:

Verfuegbare Microsoft-Kalender auflisten.

POST /api/calendar/connect/[provider]/start

Zweck:

Provider-Verbindungsaufbau initialisieren.

GET /api/calendar/connect/[provider]/callback

Zweck:

OAuth-Callback fuer die Provider-Anbindung verarbeiten.

GET|POST /api/calendar/connections

Zweck:

Kalenderverbindungen abrufen oder anlegen.

DELETE /api/calendar/connections/[id]

Zweck:

Kalenderverbindung entfernen.

POST /api/calendar/sync/[provider]/delta

Zweck:

Delta-Synchronisation fuer Provider starten.

POST /api/calendar/sync/[provider]/webhook

Zweck:

Provider-Webhook fuer Synchronisationsereignisse empfangen.

POST /api/google/calendar/watch/start

Zweck:

Google-Webhook-/Watch-Subscription starten.

POST /api/google/calendar/watch/stop

Zweck:

Google-Subscription stoppen.

GET /api/google/calendar/watch/status

Zweck:

Google-Watch-Status abrufen.

POST /api/google/calendar/watch/webhook

Zweck:

Google-Webhook empfangen.

POST /api/microsoft/calendar/watch/start

Zweck:

Microsoft-Subscription starten.

POST /api/microsoft/calendar/watch/stop

Zweck:

Microsoft-Subscription stoppen.

GET /api/microsoft/calendar/watch/status

Zweck:

Microsoft-Watch-Status abrufen.

POST /api/microsoft/calendar/watch/webhook

Zweck:

Microsoft-Webhook empfangen.

GET /api/google/gmail/messages

Zweck:

Google-Mail-Nachrichten listen.

GET /api/google/gmail/messages/[id]

Zweck:

Eine Google-Mail-Nachricht lesen.

POST /api/google/gmail/send

Zweck:

E-Mail ueber Gmail senden.

GET /api/microsoft/mail/messages

Zweck:

Microsoft-Mail-Nachrichten listen.

GET /api/microsoft/mail/messages/[id]

Zweck:

Eine Microsoft-Mail-Nachricht lesen.

POST /api/microsoft/mail/send

Zweck:

E-Mail ueber Microsoft senden.

GET /api/google/users

Zweck:

Google-Nutzer abrufen.

GET /api/google/users/suggestions

Zweck:

Google-Nutzervorschlaege liefern.

GET /api/microsoft/users

Zweck:

Microsoft-Nutzer abrufen.

GET /api/microsoft/users/suggestions

Zweck:

Microsoft-Nutzervorschlaege liefern.

POST /api/google/connection-test

Zweck:

Google-Verbindung testen.

POST /api/microsoft/connection-test

Zweck:

Microsoft-Verbindung testen.

GET /api/google/setup

Zweck:

Google-Setup-Metadaten oder Konfiguration bereitstellen.

GET /api/microsoft/setup

Zweck:

Microsoft-Setup-Metadaten oder Konfiguration bereitstellen.

Rate Limiting / Limits

  • Max Requests: Provider-Limits gelten zusaetzlich zu App-Limits
  • Timeout: Provider-abhaengig, extern beeinflusst
  • Max Payload: JSON; Event- und Mail-Payloads moderat

Breaking Changes / Versionierung

  • Provider-nahe Feldmappings sind sensitiv; Aenderungen an Query- oder Payload-Strukturen sind fuer Integrationen breaking.

Beispiel (curl)

bash
curl -sS "http://localhost:3000/api/google/calendar/events?calendarId=primary" \
  -H "Cookie: next-auth.session-token=..."

Verwandte Notes

  • Feature-Spec: work7
  • OpenAPI/Schema: /api/swagger

Follow-ups

  • [ ] Postman Collection prüfen: passt es in bestehende Collection? Sonst neu anlegen → work7_laendletech/src/postman/ 📅 2026-04-16
  • [ ] In Feature-Spec verlinken falls zugehörig 📅 2026-04-16

Work7 · Software für Handwerksbetriebe