Personyze Wiki Personyze Wiki docs
Deutsch
Open Personyze
Docs/ Entwickler/ REST-API: Überblick & Schnellstart
Entwickler

REST-API: Überblick & Schnellstart

Der Einstieg in die REST-API: Aufbau jeder Anfrage, HTTP-Methoden, Antwortcodes, Konventionen, Limits und Paginierung.

4 min read Updated 41 Minuten ago

Über die REST-API von Personyze lesen und ändern Anwendungen von Drittanbietern Daten in Ihrem Konto: Kundenprofile, Produkt- und Artikelkataloge, Platzhalter, Aktionen, Zielgruppenlisten, tägliche Berichtszusammenfassungen — dieselben Daten, mit denen auch die Personyze-Oberfläche arbeitet. Sie nutzt Standard-HTTPS, nimmt JSON an und gibt JSON zurück und unterstützt die vier Standardverben (GET, POST, PUT, DELETE).

Diese Seite ist der Einstiegspunkt. Die vollständige Einrichtung finden Sie unter Authentifizierung. Zur Syntax der Pfadparameter (dem Muster where/columns/order_by/limit , das sich durch jeden Endpunkt zieht) siehe Pfadparameter. Spaltenlisten und unterstützte Methoden pro Objekt finden Sie in der Objektreferenz.

Schnellstart

Den Nutzer mit der internen ID abrufen 42:

curl 'https://api:YOUR_API_KEY@app.personyze.com/rest/users/where/internal_id=42'

Das ist der gesamte Aufbau jeder Anfrage:

https://api:<API_KEY>@app.personyze.com/rest/<object>[/<modifier>/<value>...]
  • Nur HTTPS. Reines HTTP erhält 401 Unauthorized — auch bei localhost -Proxys.
  • HTTP-Basic-Authentifizierung mit dem Benutzernamen api und Ihrem API-Schlüssel als Passwort (oder übergeben Sie ihn direkt wie im curl -Beispiel oben).
  • Alle Pfadargumente werden vor dem Parsen URL-dekodiert — Spaltenwerte, die /, =, &oder % enthalten, müssen prozentkodiert werden.

HTTP-Methoden

Methode Zweck Body Rückgabe
GET lesen keiner Array von Datensätzen (oder ein Datensatz bei der Form mit einer einzelnen ID)
POST anlegen JSON-Objekt Numerische ID des neuen Datensatzes
PUT aktualisieren JSON-Objekt Anzahl der betroffenen Zeilen
DELETE löschen keiner Anzahl der betroffenen Zeilen

POST und PUT -Bodies verwenden Content-Type: application/json. application/x-www-form-urlencoded wird als Fallback für ältere Clients akzeptiert, JSON ist aber vorzuziehen.

Antwortcodes

Code Bedeutung
200 OK Erfolg — der Body hängt von der Methode ab (siehe Tabelle der HTTP-Methoden oben). Spalten vom Typ Datum werden serialisiert als YYYY-MM-DD HH:MM:SS; Zeitstempel sind Unix-Sekunden in UTC.
400 Bad Request Ihre Eingabe wurde abgelehnt. Der Body ist eine für Menschen lesbare Beschreibung in reinem Text (z. B. „Cannot do this operation on whole table: column ‚uset_id‘ is not indexed.“). Häufige Ursachen: Tippfehler im Spaltennamen, fehlende where -Klausel bei einer großen Tabelle, fehlerhafter JSON-Body.
401 Unauthorized Falscher oder fehlender API-Schlüssel, oder die Anfrage lief nicht über HTTPS.
500 Internal Server Error Unerwarteter Fehler auf Seiten der API — die Meldung steht im Body. Ein erneuter Versuch nach einigen Sekunden lohnt sich; hält der Fehler an, wenden Sie sich an den Support.
503 Service Unavailable Vorübergehender Fehler (Deadlock, verlorene DB-Verbindung usw.). Ein erneuter Versuch mit Backoff ist sicher.

Konventionen für alle Endpunkte

id vs. internal_id

Die meisten Objekte bieten zwei Identifikatoren:

  • id — der interne numerische Primärschlüssel von Personyze, beim Einfügen automatisch vergeben. Dauerhaft stabil, aber nur innerhalb von Personyze aussagekräftig.
  • internal_id — die externe Kennung, die Sie liefern (Ihre E-Commerce-SKU, Ihre CRM-Nutzer-ID usw.). Verfügbar bei Objekten, bei denen die Zuordnung zu einem externen System wichtig ist: users, products, articles.

Für den meisten Integrationscode sollten Sie internal_id verwenden — so funktioniert derselbe Code weiter, auch wenn dieselben Daten erneut in Personyze importiert werden und dabei neue ids.

Indexierte Spalten bei großen Tabellen erforderlich

Endpunkte, die große Tabellen umfassen (users, events, sessions_archive, summary_actionsusw.), lehnen vollständige Tabellenscans ab. Sie müssen entweder eine where -Klausel oder ein order_by auf einer indexierten Spalte angeben. Fehlermeldungen listen die verfügbaren indexierten Spalten bzw. Kombinationen auf — die vollständigen Regeln finden Sie unter Pfadparameter → Anforderung an indexierte Spalten.

Zusammengesetzte Indizes

Zusammengesetzte Indizes erscheinen in Fehlermeldungen als [col1, col2, col3]. Nur die führende Spalte eines zusammengesetzten Index ist als einzelner Filter nutzbar. Die anderen Spalten werden nur in Kombination mit der führenden Spalte nützlich.

API-Schlüssel gelten pro Konto

Jedes Personyze-Konto, auf das Sie Zugriff haben, hat einen eigenen API-Schlüssel — sie sind nicht austauschbar. Ein anderes Konto heißt ein anderer Schlüssel.

Limits & Paginierung

  • Maximal 1.000 Zeilen pro Anfrage. Nutzen Sie limit/<count> oder limit/<offset>,<count> , um die Seitengröße zu steuern.
  • Cursor-Paginierung statt tiefer Offsets. Die indexierte order_by -Spalte mit cursorartigen where -Bedingungen zu durchlaufen, ist viel schneller als tiefe offset -Werte, die alle übersprungenen Zeilen erneut lesen.

Muster für die Cursor-Paginierung.Durchlaufen Sie die indexierte Spalte mit where statt per Offset zu blättern. Nachdem Sie zum Beispiel 1.000 Nutzer absteigend nach last_session_time sortiert abgerufen haben, sollte die nächste Seite where/last_session_time<<last_seen_value> verwenden statt limit/1000,1000.

Weiter vertiefen

🔑 AuthentifizierungIhren API-Schlüssel erhalten, das Format des Auth-Headers mit curl-, Python- und JS-Beispielen sowie Zugriff auf mehrere Konten. Lesen →
🧩 PfadparameterDie Syntax where / columns / order_by / limit mit allen Operatoren und UND/ODER-Verknüpfung. Lesen →
📚 ObjektreferenzSeiten pro Objekt mit Spaltenlisten, unterstützten Methoden und sofort nutzbaren Beispielen — Nutzer, Produkte, Aktionen, Berichte und mehr. Lesen →
🛠 EntwicklerressourcenSDKs, GitHub-Repositorys und weitere Entwickler-Tools — zurück zum Hauptbereich. Lesen →
Did this page answer your question?
Thank you — that goes to whoever maintains this page.