Übersicht

Soulclick bietet eine REST-API für den programmatischen Zugriff auf Spenden- und Kontaktdaten sowie auf die Spenden-Konfiguration von Kampagnen-Links. Die API eignet sich für CRM-Integrationen, Reporting-Tools, eigene Auswertungen und selbst gebaute Spenden-Teaser.


Base-URL

https://<deine-instanz>/api/v2.1/

Ersetze <deine-instanz> durch die Domain deiner Soulclick-Plattform. Bestehende Integrationen auf v1 oder v2 bleiben unter https://<deine-instanz>/api/v1/ bzw. https://<deine-instanz>/api/v2/ unverändert erreichbar.


Versionierung

Die Version steht im Pfad. Jede Version bleibt verfügbar und antwortet weiterhin so, wie du sie integriert hast: Ein später ergänztes Feld kommt in einer älteren Version nicht dazu.

VersionRootEnthält
v1/api/v1/Die bisherige Payload, ebenso unter /crm-api/
v2/api/v2/Zusätzlich custom_fields: die Antworten der Kontaktperson auf die eigenen Felder des Spendenformulars
v2.1/api/v2.1/Zusätzlich checkout an jedem Eintrag von /crm/donations/, mit Nummer, Gesamtbetrag und Währung des Multi-Checkouts, und positions an jeder Spende eines Kontakts, mit Betrag, Kampagne, Spendenzweck und Zahlungsart jeder Position. Jeder Betrag ist, was bezahlt wurde, inklusive der Gebühren, die die spendende Person übernommen hat, in der Währung der Spende. Zeitangaben stehen in UTC mit Z

Alle Versionen sind unten als eigener Abschnitt dokumentiert: Soulclick API v2.1, Soulclick API v2 und Soulclick API v1. Sie bieten dieselben Endpunkte, Parameter und Authentifizierung; eine ältere Version liefert eine Teilmenge der Felder. Ab v2.1 ist ein Multi-Checkout bei den Spenden eines Kontakts ein einziger Eintrag mit dem Gesamtbetrag, und die Kontaktliste zählt ihn als eine Spende; vor v2.1 erscheint jede Position als eigene Spende. Für neue Integrationen gilt v2.1.

Neue optionale Parameter und neue Endpunkte kommen jederzeit dazu, ohne dass sich die Version ändert: Eine Integration muss unbekannte Felder deshalb ignorieren.


Authentifizierung

Die API unterstützt zwei Authentifizierungsmethoden. Beide erfordern ein Admin-Konto (Staff-Berechtigung).

JWT Bearer Token (empfohlen)

Token-basierte Authentifizierung über JSON Web Tokens. Empfohlen für automatisierte Zugriffe und Integrationen.

Token anfordern:

POST /authentication/create
Content-Type: application/json

{
  "username": "[email protected]",
  "password": "your-password"
}

Antwort:

{
  "access": "eyJ0eXAiOiJKV1Qi...",
  "refresh": "eyJ0eXAiOiJKV1Qi..."
}

Token verwenden:

GET /api/v2.1/crm/donations/?dateFrom=01-01-2024&dateTo=12-31-2024
Authorization: Bearer eyJ0eXAiOiJKV1Qi...

Token-Endpunkte:

EndpunktMethodeBeschreibung
/authentication/createPOSTAccess- und Refresh-Token anfordern
/authentication/refreshPOSTNeuen Access-Token mit Refresh-Token anfordern
/authentication/verifyPOSTToken auf Gültigkeit prüfen
/authentication/logoutPOSTRefresh-Token sperren (Blacklist)

Token-Gültigkeit:

TokenGültigkeit
Access-Token5 Minuten
Refresh-Token1 Tag

Refresh-Tokens werden nach Verwendung automatisch rotiert und der alte Token gesperrt.

HTTP Basic Auth

Für einfache Integrationen, die keine Token-Verwaltung benötigen:

GET /api/v2.1/crm/donations/?dateFrom=01-01-2024&dateTo=12-31-2024
Authorization: Basic base64(username:password)

API-Endpunkte

MethodePfadBeschreibungAuthentifizierung
GET/api/v2.1/crm/donations/Spenden nach Zeitraum abfragenerforderlich
GET/api/v2.1/crm/contact/donations/Alle Spenden einer Kontaktpersonerforderlich
GET/api/v2.1/crm/contacts/Kontaktliste mit Spendenstatistik (paginiert)erforderlich
GET/api/v2.1/campaign-links/<id>/config/Spenden-Konfiguration eines Kampagnen-Linkskeine

Die vollständige Dokumentation zu Parametern und Response-Formaten findest du in den einzelnen Endpunkt-Seiten unten.


Datumsformat

Alle Datumsparameter verwenden das Format MM-DD-YYYY (Monat-Tag-Jahr):

dateFrom=01-15-2024   → 15. Januar 2024
dateTo=12-31-2024     → 31. Dezember 2024

Umgebung (Environment)

Jede Soulclick-Instanz verarbeitet Zahlungen in zwei Umgebungen:

WertBeschreibung
TESTTestspenden (Standard, wenn kein Wert angegeben)
PRODUCTIONProduktive Spenden

Für Produktivdaten immer environment=PRODUCTION angeben.


Zahlungsmethoden-Codes

Zahlungsmethoden werden als Kürzel zurückgegeben:

KürzelZahlungsmethode
VISVisa
ECAMastercard
TWITWINT
PAPPayPal
PFCPostFinance Card
PEFPostFinance E-Finance
INVQR-Rechnung

Spendentypen

Spenden werden mit einem payment_type zurückgegeben:

TypBeschreibung
singleEinmalige Spende
recurring_initErstspende einer Dauerspende
recurring_intervalFolge-Intervall einer Dauerspende (Karte oder QR-Rechnung)
crowdfundingCrowdfunding-Spende

Fehler-Responses

Bei Fehlern gibt die API einen JSON-Body mit error-Feld zurück:

{
  "error": "please provide dateTo and dateFrom"
}
StatusBeschreibung
400Ungültige Parameter (fehlende Pflichtfelder, falsches Format)
401Fehlende oder ungültige Authentifizierung
403Kein Admin-Zugriff (Konto ohne Staff-Berechtigung)
404Kontaktperson nicht gefunden

Swagger-UI

Auf jeder Soulclick-Instanz steht eine interaktive Swagger-Dokumentation bereit:

https://<deine-instanz>/api/swagger/

Wähle dort oben die Version und teste Anfragen direkt gegen deine eigene Instanz.