Teammitglieder verwalten

Teammitglieder

Liste, lies, erstelle, aktualisiere, aktiviere, deaktiviere und lösche die Teammitglieder deines Kontos – inklusive der Ordner, auf die jedes Mitglied beschränkt ist.

In dieser Diskussion verwendete APIs

Etwas in dieser Anleitung ungenau oder veraltet?

Was du tun kannst

Teammitglieder sind die Vendor-Nutzer deines Kontos. Die API lässt dich sie von Anfang bis Ende verwalten und steuern, auf welche Ordner jedes Mitglied beschränkt ist (ein Mitglied sieht nur Flipbooks innerhalb seiner zugewiesenen Ordner). Passwörter werden von keinem dieser Endpunkte je zurückgegeben.

  • Auflisten der Teammitglieder deines Kontos, gefiltert nach Aktiv-Status.
  • Lesen eines einzelnen Mitglieds über seine Mitglieds-ID, inklusive der zugewiesenen Ordner.
  • Erstellen oder aktualisieren eines Mitglieds, mit Name, E-Mail, Passwort, Profilbild und Ordner-Scope.
  • Aktivieren oder deaktivieren eines Mitglieds, was steuert, ob es sich anmelden kann.
  • Löschen (Soft Delete) eines Mitglieds, was es deaktiviert und dabei seine Historie intakt lässt.

Bevor du loslegst

  • Einen API-Schlüssel – wird bei jeder Anfrage als X-Api-Key-Header oder als Authorization: Bearer YOUR_API_KEY gesendet.
  • Alle Anfragen gehen an die Basis-URL https://go.fliplink.me.
  • Mehrere Endpunkte nehmen einen {memberId}-Pfadparameter entgegen – das ist die Teammitglieds-ID aus List Team Members, nicht eine Flipbook-ID. Eine unbekannte ID zu übergeben gibt einen Fehler zurück, dessen Nachricht vom Endpunkt abhängt: Get Team Member gibt „Team member not found“ zurück, während Set Team Member Active und Delete Team Member „Item not found“ zurückgeben.
  • Die Schreib-Endpunkte (set-team-member und set-team-member-active) nehmen einen form-urlencoded Body entgegen (kein JSON).

Teammitglieder auflisten

GET /api/list-team-members listet die Teammitglieder deines Kontos mit ihren Zugriffsdetails auf, inklusive der Ordner, die jedem Mitglied zugewiesen sind. Filtere nach IsActive (1 = aktiv, der Standard; 0 = inaktiv).

curl -X GET 'https://go.fliplink.me/api/list-team-members?IsActive=1' \
  -H 'X-Api-Key: YOUR_API_KEY'

Antwort:

{
  "Result": "OK",
  "Items": [
    {
      "ID": 45452,
      "Name": "Jane Doe",
      "Email": "member@example.com",
      "IsActive": "True",
      "PhotoIMG": "",
      "Total": 0
    }
  ]
}

Ein einzelnes Teammitglied abrufen

GET /api/get-team-member/{memberId} gibt ein einzelnes Mitglied über seine Mitglieds-ID zurück – Name, E-Mail, E-Mail-Verifizierungsstatus (IsEmailVerified) und die zugewiesenen Ordner. Das Mitglied wird in ein Item-Objekt eingepackt zurückgegeben, und Folders ist eine kommagetrennte Liste der Ordner, auf die es zugreifen kann (leer = keine Ordnerbeschränkung). Die memberId ist die Teammitglieds-ID aus List Team Members – nicht eine Flipbook-ID.

curl -X GET 'https://go.fliplink.me/api/get-team-member/96216' \
  -H 'X-Api-Key: YOUR_API_KEY'

Antwort:

{
  "Result": "OK",
  "Item": {
    "ID": 45452,
    "Email": "member@example.com",
    "Name": "Jane Doe",
    "Phone": "",
    "PhotoIMG": "",
    "IsEmailVerified": false,
    "Folders": "Marketing,Sales"
  }
}

Ein Teammitglied erstellen oder aktualisieren

POST /api/set-team-member erstellt ein neues Teammitglied oder aktualisiert ein bestehendes und steuert, wer auf dein Konto zugreifen kann und – über das Feld Folders – auf welche Ordner es beschränkt ist. Lass ID weg oder sende -1, um zu erstellen; sende eine ID größer als 0, um zu aktualisieren. Bei Erfolg wird ein Audit-Log-Eintrag geschrieben. Der Body ist form-urlencoded.

Ein paar Hinweise aus der Spezifikation:

  • Der Name des Mitglieds ist ein einzelnes Name-Feld – es gibt kein FirstName/LastName.
  • Folders ist eine kommagetrennte Liste von Ordnernamen (z. B. Marketing,Sales); lass sie leer für keine Ordnerbeschränkung. Das Mitglied kann nur auf Flipbooks innerhalb dieser Ordner zugreifen.
  • Password ist Klartext und wird serverseitig verschlüsselt; lässt du es beim Aktualisieren leer, bleibt das bestehende Passwort erhalten.
  • Die E-Mail darf nicht bereits zu einem FlipLink-Nutzer gehören, und +-aliasierte E-Mails werden abgelehnt.
curl -X POST 'https://go.fliplink.me/api/set-team-member' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Name=Jane' \
  --data-urlencode 'Email=jane@example.com' \
  --data-urlencode 'ID=-1' \
  --data-urlencode 'Password=' \
  --data-urlencode 'ProfileImage=' \
  --data-urlencode 'Folders='

Antwort (Erstellen):

{
  "Result": "OK",
  "Message": "Team member created"
}

Wenn eine ID angegeben ist (der Update-Weg), lautet die Nachricht stattdessen „Updated successfully“.

Ein Teammitglied aktivieren oder deaktivieren

PUT /api/set-team-member-active/{memberId} aktiviert oder deaktiviert ein Mitglied und steuert, ob es sich anmelden und auf das Konto zugreifen kann. Der Body ist form-urlencoded mit einem einzelnen IsActive-Feld.

curl -X PUT 'https://go.fliplink.me/api/set-team-member-active/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsActive=true'

Antwort:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Ein Teammitglied löschen

DELETE /api/delete-team-member/{memberId} ist ein Soft Delete (Deaktivierung) – Teammitglieder werden nie hart gelöscht. Es deaktiviert das Mitglied (ein REST-Alias für set-team-member-active mit IsActive=false). Seine Zahlungshistorie und Audit-Referenzen bleiben intakt, und es kann später über PUT /api/set-team-member-active (IsActive=true) wieder aktiviert werden.

curl -X DELETE 'https://go.fliplink.me/api/delete-team-member/96216' \
  -H 'X-Api-Key: YOUR_API_KEY'

Antwort:

{
  "Result": "OK",
  "Message": "Team member deactivated"
}

Mögliche Fehler

  • Fehlender oder ungültiger API-Schlüssel → HTTP 401. Das gibt eine reine Unauthorized-HTML-Seite zurück – es gibt keinen JSON-Body. Prüfe, ob der X-Api-Key-Header (oder Authorization: Bearer) vorhanden und korrekt ist. Das gilt für alle fünf Endpunkte.
  • Kein Teammitglied mit dieser ID bei Get Team Member (zum Beispiel, weil du eine Flipbook-ID übergeben hast) → HTTP 200 mit Nachricht Team member not found.
  • Item-ID nicht gefunden oder nicht im Besitz deines Schlüssels bei Set Team Member Active und Delete Team Member → HTTP 200 mit Nachricht Item not found.
  • Unbekanntes oder falsch geschriebenes Body-Feld bei Set Team Member und Set Team Member Active → HTTP 200 mit Nachricht Unknown field(s) '…'. Expected: ….

Hinweise

  • Der {memberId}-Pfadparameter ist immer die Teammitglieds-ID aus List Team Members – nie eine Flipbook-ID.
  • Passwörter werden von keinem dieser Endpunkte je zurückgegeben.
  • Folders beschränkt ein Mitglied auf bestimmte Ordner; ein leerer Wert bedeutet keine Ordnerbeschränkung.