Zum Hauptinhalt springen

Public API – Einstieg & Authentifizierung

Shop-Buchung, Instanz-Domain, Auth, GET /me und Endpoint-Übersicht.

Verfasst von Support Team

Mit der Public API kannst du RIP App Business an Make, Zapier, dein ERP oder eigene Skripte anbinden.

Was du brauchst

  1. Die Public API muss im Shop als zusätzlicher Service gebucht werden. Danach wird sie für deine Organisation freigeschaltet.

  2. Unter Einstellungen → Anwendung erzeugst du deinen API-Key (pro User nur einer).

  3. Den Klartext-Key siehst du nur einmal – speichere ihn sicher. Ein neuer Key ersetzt den bisherigen.

Basis-URL

https://de.rip-app.business/api/public/v1

Der Pfad besteht aus drei Teilen:

Teil

Bedeutung

https://de.rip-app.business

Domain deiner Instanz

/api/public

Public API

/v1

API-Version

Jede RIP-App-Instanz hat ihre eigene Domain. Der Pfad /api/public/v1 ist überall gleich – nur der Host ändert sich. Welche Domain für dich gilt, siehst du in der Adresszeile, wenn du im Web eingeloggt bist. Dieselbe Domain gilt auch für den Angehörigen-Link (/trauerfall/…).

API-Key und Basis-URL gehören immer zur gleichen Instanz.

Versionierung

Die Version steht im Pfad. Aktuell gibt es genau eine: v1.

  • Jede Antwort enthält den Header X-API-Version mit der bedienten Version.

  • Breaking Changes kommen nie in v1, sondern in einer neuen Version (v2, …).

  • Neue Felder in Antworten sind keine Breaking Change. Baue deine Integration so, dass unbekannte Felder ignoriert werden.

  • Eine unbekannte Version oder ein Pfad ohne /v1 antwortet mit 404:

{
  "success": false,
  "error": "API-Version fehlt. Nutze /api/public/v1",
  "supported_versions": ["v1"]
}

Authentifizierung

Jeder Request braucht:

Authorization: Bearer rip_pub_dein_api_key
Accept: application/json

Bei JSON-Body zusätzlich:

Content-Type: application/json

API-Keys beginnen immer mit rip_pub_.

Erster Check: GET /me

Prüft, ob Key und Freischaltung stimmen.

curl -X GET "https://de.rip-app.business/api/public/v1/me" \
  -H "Authorization: Bearer rip_pub_DEIN_TOKEN" \
  -H "Accept: application/json"
const base = "https://de.rip-app.business/api/public/v1";
const token = "rip_pub_DEIN_TOKEN";

const res = await fetch(`${base}/me`, {
  headers: {
    Authorization: `Bearer ${token}`,
    Accept: "application/json",
  },
});
console.log(await res.json());

Erfolgreiche Antwort:

{
  "success": true,
  "data": {
    "user_id": 2,
    "email": "[email protected]",
    "first_name": "Max",
    "last_name": "Mustermann",
    "role": "owner",
    "organization_id": 1,
    "token_id": 12
  }
}

Der Token ist an diesen User gebunden. Aktionen laufen im Kontext dieses Users und seiner Organisation.

Alle Endpoints im Überblick

Alle Pfade relativ zu https://de.rip-app.business/api/public/v1.

Methode

Pfad

Beschreibung

GET

/me

Token / User prüfen

GET

/burial-types

Bestattungsarten

GET

/branches

Filialen

GET

/users

Mitarbeiter der Organisation

GET

/document-tags

Dokument-Tags

GET

/cases

Trauerfälle listen

GET

/cases/{uuid}

Trauerfall lesen

POST

/cases

Trauerfall anlegen

PATCH

/cases/{uuid}

Trauerfall aktualisieren

POST

/cases/{uuid}/archive

Archivieren

POST

/cases/{uuid}/complete

Abschließen

POST

/cases/{uuid}/step

Prozessschritt setzen

POST

/cases/{uuid}/tag

RIP-Tag per Startcode verbinden

GET

/cases/{uuid}/dates

Termine listen

POST

/cases/{uuid}/dates

Termin anlegen

PATCH

/dates/{date_uuid}

Termin ändern

DELETE

/dates/{date_uuid}

Termin löschen

GET

/cases/{uuid}/documents

Dokumente listen

POST

/cases/{uuid}/documents

Dokument hochladen

GET

/documents/{doc_uuid}/download

Dokument herunterladen

DELETE

/documents/{doc_uuid}

Dokument löschen

Empfohlene Lesereihenfolge der weiteren Artikel:

  1. Referenzdaten (Lookups) – liefert die IDs, die du beim Anlegen brauchst

  2. Trauerfälle – anlegen, lesen, aktualisieren

  3. Termine & Dokumente

  4. RIP-Tag & Angehörigen-Link

  5. Fehlercodes & Rate-Limits

Konventionen

  • Antworten sind JSON: { "success": true, "data": … } bzw. { "success": false, "error": "…" }

  • Listen von Trauerfällen, Terminen und Dokumenten enthalten zusätzlich count; die Lookup-Listen (/burial-types, /branches, /users, /document-tags) liefern nur data

  • Trauerfälle werden über ihre uuid adressiert, nicht über die interne id

  • Jede Case-Antwort enthält zusätzlich customer_link_url (öffentlicher Angehörigen-Link)

  • Zeitangaben haben das Format YYYY-MM-DD HH:MM:SS ohne Zeitzonen-Suffix und beziehen sich auf die Zeitzone der Instanz (Europe/Berlin)

  • Es gibt keine Pagination: GET /cases liefert alle nicht archivierten Fälle der Organisation

  • Bluetooth-Felder sind der mobilen App vorbehalten und in Public-API-Antworten nicht enthalten

  • CORS ist für Browser-Integrationen freigeschaltet (Authorization, Content-Type)

  • Rate-Limit: 120 Requests / Minute pro API-Key → siehe Artikel Fehlercodes & Rate-Limits

Tipps

  • Pro User gibt es nur einen aktiven API-Key. Ein neuer Key widerruft den alten automatisch.

  • Nicht mehr benötigte Keys unter Einstellungen → Anwendung widerrufen.

  • Prüfe success in der Antwort, bevor du auf data zugreifst.

  • Setze in deiner Integration die Basis-URL inklusive /v1 als eine Konstante – dann ist ein späterer Versionswechsel eine Änderung an einer Stelle.

Hat dies deine Frage beantwortet?