🚀 Jetzt neu: FlowAI! Ein revolutionärer Chat mit personalisierten AI-Agenten. 🌟

Team Management API
für flexible Teamverwaltung

Verwalten Sie Teammitglieder, Einladungen und Berechtigungen programmatisch. Perfekte Integration für Enterprise-Anwendungen und automatisierte Team-Workflows.

🚀 Schnellstart

1. API-Zugangsdaten abrufen

Bevor Sie die Team Management API nutzen können, benötigen Sie Ihre persönlichen Zugangsdaten:

  1. Melden Sie sich in Ihrem Account an
  2. Navigieren Sie zu Profil → API-Zugang
  3. Kopieren Sie Ihre Team-UUID und Benutzer-UUID

🔑 Authentifizierung

Alle API-Anfragen benötigen diese HTTP-Header:

X-Team-UUID: ihre-team-uuid-hier
X-User-UUID: ihre-benutzer-uuid-hier
Content-Type: application/json

Wichtig: Nur der Teaminhaber kann administrative Aktionen durchführen (Mitglieder hinzufügen/entfernen, Berechtigungen ändern).

3. Erste API-Anfrage

Testen Sie Ihre Verbindung mit diesem einfachen Beispiel:

curl -X GET "https://creativeskyline.de/api/team" \
  -H "X-Team-UUID: ihre-team-uuid" \
  -H "X-User-UUID: ihre-user-uuid" \
  -H "Accept: application/json"

📚 API-Referenz

Basis-URL: https://creativeskyline.de/api/team

ℹ️ Team-Informationen

GET /api/team

Ruft allgemeine Informationen über das Team ab, inklusive Abonnement- und Lizenzinformationen.

Beispiel-Response:

{
  "success": true,
  "data": {
    "team": {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Mein Unternehmen"
    },
    "owner": {
      "id": 1,
      "name": "Max Mustermann",
      "email": "max@example.com"
    },
    "member_count": 5,
    "subscription": {
      "status": "active",
      "plan": "Business"
    },
    "licenses": {
      "ai": { "limit": 5, "used": 3 },
      "tt": { "limit": 10, "used": 7 },
      "td": { "limit": 10, "used": 4 },
      "cm": { "limit": 5, "used": 2 },
      "cc": { "limit": 5, "used": 1 }
    }
  }
}

👥 Mitglieder-Verwaltung

GET /api/team/members

Listet alle Teammitglieder mit ihren Berechtigungen auf.

Beispiel-Response:

{
  "success": true,
  "data": [
    {
      "id": 1,
      "user_id": 123,
      "name": "Max Mustermann",
      "email": "max@example.com",
      "role": "owner",
      "permissions": {
        "ai": true,
        "tt": true,
        "td": true,
        "cm": true,
        "cc": true,
        "fs": true,
        "sa": true
      },
      "joined_at": "2024-01-15T10:00:00Z"
    }
  ]
}
GET /api/team/members/{userUuid}

Ruft Details eines einzelnen Teammitglieds ab.

POST /api/team/members

Fügt einen existierenden Benutzer zum Team hinzu (nur Teaminhaber).

Lizenz-Hinweis: Die Berechtigungen werden gegen die verfügbaren Lizenzen geprüft. Wenn keine Lizenzen mehr verfügbar sind, wird die Anfrage abgelehnt.

Request Body:

{
  "user_id": 456,
  "permissions": {
    "flowai": true,
    "flowtime": true,
    "flowtasks": false,
    "flowcrm": true,
    "flowcall": false,
    "flowsend": false,
    "flowsaas": false
  }
}
PUT /api/team/members/{userUuid}

Aktualisiert die Berechtigungen eines Teammitglieds (nur Teaminhaber).

Request Body:

{
  "permissions": {
    "flowai": true,
    "flowtime": true,
    "flowtasks": true
  }
}
DELETE /api/team/members/{userUuid}

Entfernt ein Mitglied aus dem Team (nur Teaminhaber).

📧 Einladungen

GET /api/team/invitations

Listet alle ausstehenden Einladungen auf (nur Teaminhaber).

POST /api/team/members/invite

Sendet eine Einladung an eine E-Mail-Adresse (nur Teaminhaber).

Request Body:

{
  "email": "neuer.mitarbeiter@example.com",
  "permissions": {
    "flowai": true,
    "flowtime": true,
    "flowtasks": false,
    "flowcrm": false,
    "flowcall": false,
    "flowsend": false,
    "flowsaas": false
  }
}

Beispiel-Response:

{
  "success": true,
  "message": "Einladung erfolgreich gesendet",
  "data": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "email": "neuer.mitarbeiter@example.com",
    "created_at": "2024-01-15T10:00:00Z"
  }
}
DELETE /api/team/invitations/{invitationUuid}

Widerruft eine ausstehende Einladung (nur Teaminhaber).

🔐 Berechtigungen

Modul-Berechtigungen

Jedes Teammitglied kann individuelle Berechtigungen für verschiedene Module erhalten:

Schlüssel Modul Beschreibung Lizenziert
flowai FlowAI KI-Assistent Ja
flowtime FlowTime Zeiterfassung Ja
flowtasks FlowTasks Aufgabenverwaltung Ja
flowcrm FlowCRM Kundenverwaltung Ja
flowcall FlowCall Kaltakquise Ja
flowsend FlowSend E-Mail-Marketing Nein
flowsaas FlowSaas Feedback-Portal Nein
GET /api/team/members/{userUuid}/sub-access

Ruft die Unterberechtigungen eines Mitglieds ab.

Beispiel-Response:

{
  "success": true,
  "data": {
    "berichte": true,
    "teamberichte": false,
    "projekte": true,
    "protokolle": true
  }
}
PUT /api/team/members/{userUuid}/sub-access

Aktualisiert die Unterberechtigungen eines Mitglieds (nur Teaminhaber).

Request Body:

{
  "berichte": true,
  "teamberichte": true,
  "projekte": true,
  "protokolle": false
}

Unterberechtigung-Typen:

berichte - Zugriff auf eigene Berichte und Statistiken
teamberichte - Zugriff auf Team-Berichte und Statistiken
projekte - Zugriff auf Projektverwaltung
protokolle - Zugriff auf Aktivitätsprotokolle

📋 Lizenzverwaltung

GET /api/team/licenses

Ruft detaillierte Informationen über alle Lizenzen und deren Nutzung ab.

Beispiel-Response:

{
  "success": true,
  "data": {
    "ai": {
      "module": "FlowAI",
      "limit": 5,
      "used": 3,
      "available": 2
    },
    "tt": {
      "module": "FlowTime",
      "limit": 10,
      "used": 7,
      "available": 3
    },
    "td": {
      "module": "FlowTasks",
      "limit": 10,
      "used": 4,
      "available": 6
    },
    "cm": {
      "module": "FlowCRM",
      "limit": 5,
      "used": 2,
      "available": 3
    },
    "cc": {
      "module": "FlowCall",
      "limit": 5,
      "used": 1,
      "available": 4
    }
  }
}

Hinweis: Die Lizenzen werden automatisch validiert, wenn Sie einem Mitglied neue Berechtigungen zuweisen. Wenn keine Lizenzen verfügbar sind, wird die Anfrage mit einem 403-Fehler abgelehnt.

💻 Code-Beispiele

Team-Informationen abrufen

curl -X GET "https://creativeskyline.de/api/team" \
  -H "X-Team-UUID: ihre-team-uuid" \
  -H "X-User-UUID: ihre-user-uuid" \
  -H "Accept: application/json"

Mitglied einladen

curl -X POST "https://creativeskyline.de/api/team/members/invite" \
  -H "X-Team-UUID: ihre-team-uuid" \
  -H "X-User-UUID: ihre-user-uuid" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "neuer.mitarbeiter@example.com",
    "permissions": {
      "flowai": true,
      "flowtime": true,
      "flowtasks": false,
      "flowcrm": false,
      "flowcall": false,
      "flowsend": false,
      "flowsaas": false
    }
  }'

Berechtigungen aktualisieren

curl -X PUT "https://creativeskyline.de/api/team/members/550e8400-e29b-41d4-a716-446655440000" \
  -H "X-Team-UUID: ihre-team-uuid" \
  -H "X-User-UUID: ihre-user-uuid" \
  -H "Content-Type: application/json" \
  -d '{
    "permissions": {
      "flowai": true,
      "flowtime": true,
      "flowtasks": true,
      "flowcrm": true
    }
  }'

Lizenzen prüfen (JavaScript)

async function checkLicenses() {
    const response = await fetch('https://creativeskyline.de/api/team/licenses', {
        headers: {
            'X-Team-UUID': process.env.TEAM_UUID,
            'X-User-UUID': process.env.USER_UUID,
            'Accept': 'application/json'
        }
    });

    const data = await response.json();

    // Prüfen ob FlowAI-Lizenzen verfügbar sind
    if (data.data.ai.available > 0) {
        console.log('FlowAI-Lizenzen verfügbar:', data.data.ai.available);
    } else {
        console.log('Keine FlowAI-Lizenzen mehr verfügbar');
    }
}

Fehler-Response bei Lizenzlimit

{
  "success": false,
  "error": "Lizenzlimit erreicht",
  "license_errors": [
    "FlowAI: Keine freien Lizenzen verfügbar (5/5 belegt)",
    "FlowTime: Keine freien Lizenzen verfügbar (10/10 belegt)"
  ]
}

🎯 Anwendungsfälle

🏢 HR-Integration

Automatisieren Sie das Onboarding neuer Mitarbeiter durch Integration mit Ihrem HR-System. Neue Mitarbeiter erhalten automatisch die richtigen Berechtigungen.

🔄 SSO-Integration

Synchronisieren Sie Benutzer und Berechtigungen mit Ihrem Identity Provider für nahtlose Single Sign-On Erfahrung.

📊 Lizenz-Dashboard

Erstellen Sie ein benutzerdefiniertes Dashboard zur Überwachung der Lizenznutzung und erhalten Sie Warnungen, wenn Lizenzen knapp werden.

🤖 Automatisierung

Automatisieren Sie wiederkehrende Team-Management-Aufgaben wie das Entfernen inaktiver Benutzer oder das Aktualisieren von Berechtigungen basierend auf Rollen.