Hilfecenter & Dokumentation

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

64 Artikel

Aktivitäten anlegen und verwalten

Einen einzelnen Anlass erfassen: Eckdaten, Teilnehmende, Anmeldefenster, Einsätze und Verrechnung in acht Schritten.
Artikel lesen →

Aktivitäten: unentschuldigtes Fehlen und zu spät abgemeldet nachhalten

So hältst du fest, wer bei einer Aktivität unentschuldigt gefehlt hat und wer sich zu spät abgemeldet hat.
Artikel lesen →

Kurse mit der NDS-Datenbank (J&S) synchronisieren

So exportierst du Teilnehmende, Aktivitäten und Anwesenheiten aus DigitalMembers in die NDS-Datenbank von J+S und lädst sie dort hoch.
Artikel lesen →

Kurse anlegen und verwalten

Vom ersten Namen bis zur fertigen Terminliste: Zeitplan, Teilnehmende, Anmeldung und Verrechnung eines Kurses in acht Schritten.
Artikel lesen →

Aktivitäten: an- und abmelden mit dem Anmelde-Assistenten

So meldest du dich in wenigen Schritten für eine Aktivität an oder ab, wählst Einsätze und erfasst eine Begründung.
Artikel lesen →

Warteliste für Aktivitäten und Kurse einrichten

So richtest du die Warteliste für Aktivitäten, Einsätze und Auswahlmöglichkeiten ein und siehst, wer wann nachrückt.
Artikel lesen →

Einsätze mit Auswahl, Zusatzangaben und Bedingungen

So legst du Einsätze mit Auswahlliste, Textfeld, Zahl oder Datum an und machst sie über Bedingungen voneinander abhängig.
Artikel lesen →

DigitalMembers API verwenden

Mit der DigitalMembers API kannst du Integrationen bauen und automatisieren; die API nutzt eine Standard-REST-Schnittstelle mit OAuth2 (Client Credentials). Anleitung: API-Schlüssel erstellen, Token per OAuth2 holen, Anfragen mit Bearer-Token senden, Schlüssel widerrufen und Sicherheits-Hinweise.
Artikel lesen → 27

Fehlende Kursteilnehmer unter Aktivitäten

Wenn ein Teilnehmer im Kurs angezeigt wird, aber in einer einzelnen Aktivität fehlt, kannst du das Problem meist schnell selbst beheben: Öffne den Kurs unter «Aktivitäten → Kurs verwalten» und klicke auf Speichern, damit die Teilnehmer synchronisiert werden.
Artikel lesen →

Kursteilnehmer nachführen

In diesem Artikel erfährst du, dass Kursteilnehmer nicht automatisch aus Gruppen übernommen werden; du kannst Teilnehmer manuell pflegen oder die Selbstanmeldung aktivieren. Trainer können Teilnehmerlisten jederzeit bearbeiten.
Artikel lesen →

Mitgliederverwaltung: Teams für Kurse und Aktivitäten nutzen

Verknüpfe Kurse und Aktivitäten mit einem Team aus der Mitgliederverwaltung: Die Teilnehmenden entstehen automatisch aus dem Vereinsfeld und bleiben laufend aktuell.
Artikel lesen →

Vereinsbuchhaltung: Rechnung auf ein anderes Ertragskonto umbuchen

So korrigierst du das Ertragskonto einer Rechnung, obwohl sich die dazugehörige Buchung nicht bearbeiten lässt.
Artikel lesen →

DigitalMembers API verwenden

27 Leser
APIIntegrationen

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 Einstellungen → Organisation → 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)

Beispiel in Python

Mit der requests-Bibliothek sieht derselbe Ablauf so aus:

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"]

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

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 Einstellungen → Organisation → 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.

Verwandte Artikel

Bereit, deinen Verein zu digitalisieren?

Kostenlos testen