REST API · v1

Developer Dokumentation

Integriere Sendatip in deine eigenen Systeme. Rufe Pools, Transaktionen und Analytics direkt über unsere REST API ab.

Base URLhttps:/.sendatip.de/api/api/v1

Authentifizierung

Alle Anfragen an die API müssen mit einem gültigen API Key authentifiziert werden. Sende den Key im HTTP-Header X-API-Key mit.

API Keys kannst du in deinen Einstellungen erstellen. Zu den Einstellungen →
curl https://api.sendatip.de/api/v1/pools \
  -H "X-API-Key: sk_live_your_key_here"
GET/v1/pools

Pools abrufen

Gibt alle Pools deiner Organisation zurück – inklusive direktem Tip-Link pro Pool.

Keine Query-Parameter

Beispiel-Request

curl https://api.sendatip.de/api/v1/pools \
  -H "X-API-Key: sk_live_your_key_here"

Beispiel-Antwort

{
  "success": true,
  "pools": [
    {
      "id": "uuid",
      "code": "HOTEL-BAR",
      "name": "Hotel Bar",
      "description": "Trinkgeld für die Hotelbar",
      "is_active": true,
      "created_at": "2026-01-15T10:00:00Z",
      "tip_url": "https://sendatip.de/tip/HOTEL-BAR"
    }
  ]
}
GET/v1/pools/:code/qr

QR-Code generieren

Gibt den QR-Code für einen Pool als PNG-Bild oder SVG zurück. Ideal für Bondrucker, POS-Displays oder Print-Layouts.

ParameterTypPflichtBeschreibung
codestringPool-Code (z.B. HOTEL-BAR)
formatpng|svgAusgabeformat: png (Standard) oder svg
sizenumberBreite in Pixeln (100–1000, Standard: 300)

Beispiel-Request

# PNG herunterladen
curl "https://api.sendatip.de/api/v1/pools/HOTEL-BAR/qr?format=png&size=400" \
  -H "X-API-Key: sk_live_your_key_here" \
  --output qr-hotel-bar.png

# SVG als String
curl "https://api.sendatip.de/api/v1/pools/HOTEL-BAR/qr?format=svg" \
  -H "X-API-Key: sk_live_your_key_here"
GET/v1/transactions

Transaktionen

Gibt abgeschlossene Transaktionen deiner Organisation zurück. Filterbar nach Datum und Pool – ideal für Buchhaltung oder DATEV-Export.

ParameterTypPflichtBeschreibung
fromdateStartdatum (YYYY-MM-DD)
todateEnddatum (YYYY-MM-DD)
pool_codestringNur Transaktionen eines bestimmten Pools
limitnumberAnzahl Ergebnisse (max. 500, Standard: 50)
offsetnumberOffset für Paginierung (Standard: 0)

Beispiel-Request

curl "https://api.sendatip.de/api/v1/transactions?from=2026-01-01&to=2026-06-30&limit=100" \
  -H "X-API-Key: sk_live_your_key_here"

Beispiel-Antwort

{
  "success": true,
  "transactions": [
    {
      "id": "uuid",
      "amount": 500,
      "currency": "eur",
      "status": "completed",
      "created_at": "2026-06-15T14:23:00Z",
      "pool": { "code": "HOTEL-BAR", "name": "Hotel Bar" },
      "recipient": { "display_name": "Maria M.", "email": "maria@example.com" }
    }
  ],
  "meta": { "limit": 100, "offset": 0 }
}
GET/v1/analytics/summary

Analytics Summary

Gibt eine Zusammenfassung für den gewählten Zeitraum zurück: Gesamtumsatz, Anzahl Transaktionen, Durchschnitt und umsatzstärkster Pool.

ParameterTypPflichtBeschreibung
fromdateStartdatum (YYYY-MM-DD)
todateEnddatum (YYYY-MM-DD)

Beispiel-Request

curl "https://api.sendatip.de/api/v1/analytics/summary?from=2026-01-01&to=2026-06-30" \
  -H "X-API-Key: sk_live_your_key_here"

Beispiel-Antwort

{
  "success": true,
  "summary": {
    "total_amount": 125400,
    "transaction_count": 312,
    "average_amount": 402,
    "currency": "eur",
    "top_pool": {
      "code": "HOTEL-BAR",
      "name": "Hotel Bar",
      "amount": 48200
    }
  }
}

Fehlercodes

Alle Fehler werden als JSON mit den Feldern error.code und error.message zurückgegeben.

HTTPCodeBedeutung
401INVALID_API_KEYAPI Key fehlt, ungültig oder falsches Format
401API_KEY_REVOKEDAPI Key wurde widerrufen
404POOL_NOT_FOUNDPool mit diesem Code existiert nicht oder gehört nicht zu deiner Organisation
429RATE_LIMITEDZu viele Anfragen – bitte Rate Limiting beachten
500FETCH_ERRORInterner Serverfehler