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.
Inhalt
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-Methode | api_key im Request-Body |
| Token-Quelle | Kunden-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 |
|---|---|
| 401 | API-Key fehlt oder ungültig |
3. POST /api/m365/mailbox-permissions
Synchronisiert Shared-Mailbox-Berechtigungen aus Exchange Online.
Request
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| api_key | string | Ja | Kunden-API-Schlüssel |
| mailboxes | array | Ja | Array von Postfächern |
| mailboxes[].email | Ja | E-Mail-Adresse des Postfachs | |
| mailboxes[].display_name | string | Ja | Anzeigename |
| mailboxes[].permissions | array | Nein | Berechtigungs-Array |
| mailboxes[].permissions[].user_email | Ja | E-Mail des berechtigten Benutzers | |
| mailboxes[].permissions[].permission | string | Ja | Berechtigungstyp (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 |
|---|---|---|
| FullAccess | full_access | Vollzugriff auf das Postfach |
| SendAs | send_as | Senden als |
| SendOnBehalf | send_on_behalf | Senden im Auftrag von |
| ReadPermission | read | Nur lesen |
Andere Berechtigungsnamen werden in Kleinbuchstaben übernommen.