Microsoft 365 API — Postfach-Berechtigungen synchronisieren

Die M365-Integration ermöglicht den automatischen Abgleich von Shared-Mailbox-Berechtigungen aus Exchange Online. Ein PowerShell-Script auf dem Kunden-Server sendet die Berechtigungen per API an das IT-Dashboard.

1. Authentifizierung

Die M365-API nutzt einen Kunden-API-Schlüssel, der im Request-Body als api_key gesendet wird.

Eigenschaft Wert
Basis-URL/api/m365
Auth-Methodeapi_key im Request-Body
Token-QuelleKunden-Einstellungen → API-Schlüssel

2. POST /api/m365/info

Verbindungstest — gibt Kunden-Informationen zurück.

Request

{ "api_key": "customer-api-key-here" }

Antwort (200)

{
  "success": true,
  "customer": "Acme Corp",
  "mailboxes_count": 5,
  "employees_count": 12
}

Fehler

Code Beschreibung
401API-Key fehlt oder ungültig

3. POST /api/m365/mailbox-permissions

Synchronisiert Shared-Mailbox-Berechtigungen aus Exchange Online.

Request

Feld Typ Pflicht Beschreibung
api_keystringJaKunden-API-Schlüssel
mailboxesarrayJaArray von Postfächern
mailboxes[].emailemailJaE-Mail-Adresse des Postfachs
mailboxes[].display_namestringJaAnzeigename
mailboxes[].permissionsarrayNeinBerechtigungs-Array
mailboxes[].permissions[].user_emailemailJaE-Mail des berechtigten Benutzers
mailboxes[].permissions[].permissionstringJaBerechtigungstyp (siehe Mapping)

Beispiel

{
  "api_key": "customer-api-key",
  "mailboxes": [
    {
      "email": "info@firma.de",
      "display_name": "Info-Postfach",
      "permissions": [
        { "user_email": "max@firma.de", "permission": "FullAccess" },
        { "user_email": "lisa@firma.de", "permission": "SendAs" }
      ]
    }
  ]
}

Antwort (200)

{
  "success": true,
  "message": "Berechtigungen synchronisiert",
  "stats": {
    "mailboxes_created": 2,
    "mailboxes_updated": 1,
    "permissions_synced": 8,
    "users_not_found": ["unknown@domain.com"]
  }
}

4. Berechtigungs-Mapping

Exchange-Berechtigung Internes Format Beschreibung
FullAccessfull_accessVollzugriff auf das Postfach
SendAssend_asSenden als
SendOnBehalfsend_on_behalfSenden im Auftrag von
ReadPermissionreadNur lesen

Andere Berechtigungsnamen werden in Kleinbuchstaben übernommen.