Hilfecenter & Dokumentation

Alle Anleitungen und Antworten auf einen Blick, durchsuche die Dokumentation oder filtere nach Thema.

Ein Fehler ist aufgetreten. Bitte versuche es erneut.

DigitalMembers API verwenden

Mit der DigitalMembers API baust du eigene Integrationen, zum Beispiel Mitgliederdaten in andere Systeme exportieren, die aktuelle Mitgliederzahl auf der Vereinswebseite anzeigen, Abläufe mit n8n automatisieren oder ein eigenes WordPress-Plugin bauen. Die API ist eine offene REST-API nach OpenAPI-3-Standard mit OAuth2-Authentifizierung (Client Credentials).

API-Schlüssel erstellen

  1. Gehe zu Organisation → Einstellungen → API-Schlüssel
  2. Klicke auf API-Schlüssel erstellen
  3. Vergib einen Namen und wähle pro Schlüssel die Berechtigungen, auf die er zugreifen darf
  4. Nach dem Erstellen wird dir einmalig der geheime Schlüssel (Client Secret) angezeigt, speichere ihn sofort sicher ab

API-Schlüssel erstellen mit granularen Berechtigungen in den Organisations-Einstellungen

Der geheime Schlüssel wird nur einmal angezeigt und kann danach nicht mehr abgerufen werden. Verlierst du ihn, erstellst du einen neuen Schlüssel.

Alle erstellten Schlüssel siehst du in der Übersicht, mit Erstellungsdatum und der Möglichkeit, einen Schlüssel jederzeit zu entfernen:

Übersicht aller API-Schlüssel mit Erstellungsdatum

Token holen (OAuth2 Client Credentials)

Bevor du Daten abrufst, holst du dir mit client_id und Schlüssel ein zeitlich begrenztes Token. Mit curl:

TOKEN=$(curl -s -X POST \
  https://auth.digitalmembers.ch/realms/members/protocol/openid-connect/token \
  -d grant_type=client_credentials \
  -d client_id=$CLIENT_ID \
  -d client_secret=$CLIENT_SECRET | jq -r .access_token)

Mit Python:

import requests

token = requests.post(
    "https://auth.digitalmembers.ch/realms/members/protocol/openid-connect/token",
    data={
        "grant_type": "client_credentials",
        "client_id": CLIENT_ID,
        "client_secret": CLIENT_SECRET,
    },
).json()["access_token"]

Daten abrufen

Hänge das Token als Bearer-Header an jede Anfrage. Beispiel: die Mitgliederliste über den Endpunkt /v2/member/ am Host api.digitalmembers.ch. Mit curl:

curl -s https://api.digitalmembers.ch/v2/member/ \
  -H "Authorization: Bearer $TOKEN"

Mit Python:

members = requests.get(
    "https://api.digitalmembers.ch/v2/member/",
    headers={"Authorization": f"Bearer {token}"},
).json()

for member in members.get("items", []):
    print(member)

OpenAPI-Spezifikation exportieren

Die vollständige OpenAPI-3-Spezifikation liegt unter api.digitalmembers.ch/openapi/. Damit generierst du dir eigene Clients oder durchsuchst alle Endpunkte maschinell.

Der Abruf der Spezifikation braucht Authentifizierung. Ohne gültiges Token antwortet die Schnittstelle mit 401.

Beispiel in JavaScript:

const token = await fetch(
  "https://auth.digitalmembers.ch/realms/members/protocol/openid-connect/token",
  {
    method: "POST",
    headers: { "Content-Type": "application/x-www-form-urlencoded" },
    body: new URLSearchParams({
      grant_type: "client_credentials",
      client_id: CLIENT_ID,
      client_secret: CLIENT_SECRET,
    }),
  },
).then(r => r.json()).then(d => d.access_token)

const openapi = await fetch("https://api.digitalmembers.ch/openapi/", {
  headers: { Authorization: `Bearer ${token}` },
}).then(r => r.json())

console.log(openapi)

TypeScript-Client generieren

Aus der OpenAPI-Spezifikation generierst du dir mit dem öffentlichen openapi-generator-cli einen fertigen TypeScript-Client. Das Tool läuft eigenständig über npx, ohne Abhängigkeit zu DigitalMembers. Denselben Ansatz gibt es auch für Python und viele weitere Sprachen, du tauschst dazu nur den Generator-Namen (zum Beispiel python statt typescript-axios).

# 1. OpenAPI-Spezifikation mit Token herunterladen
curl -s https://api.digitalmembers.ch/openapi/ \
  -H "Authorization: Bearer $TOKEN" > openapi.json

# 2. TypeScript-Client generieren
npx @openapitools/openapi-generator-cli generate \
  -i openapi.json \
  -g typescript-axios \
  -o ./digitalmembers-client

Interaktive Dokumentation

Alle Endpunkte, Parameter und Antwortformate findest du in der durchsuchbaren Swagger-Oberfläche unter docs.digitalmembers.ch. Melde dich mit deinem DigitalMembers-Konto an, wähle einen Service und probiere jeden Endpunkt direkt im Browser aus.

Swagger-Oberfläche der DigitalMembers API mit allen Services

Schlüssel widerrufen

  1. Gehe zu Organisation → Einstellungen → API-Schlüssel
  2. Klicke beim entsprechenden Schlüssel auf Löschen
  3. Der Schlüssel ist sofort ungültig

Sicherheitshinweis

Behandle API-Schlüssel wie Passwörter. Teile sie nicht in Code-Repositories oder öffentlichen Chats. DigitalMembers übernimmt keine Haftung für Schäden durch gestohlene oder missbrauchte Schlüssel.

Bereit, deinen Verein zu digitalisieren?

Kostenlos testen