Personyze Wiki Personyze Wiki docs
Deutsch
Open Personyze
Docs/ Entwickler/ REST-API: Authentifizierung
Entwickler

REST-API: Authentifizierung

Wo Sie Ihren API-Schlüssel finden, wie Sie ihn sicher senden, Fehlercodes, mehrere Konten und Rate-Limits.

4 min read Updated 2 Stunden ago

Jede Anfrage an die REST-API von Personyze muss mit einem API-Schlüssel authentifiziert und über HTTPS übertragen werden. Es gibt keine öffentlichen bzw. nicht authentifizierten Endpunkte.

Wenn Sie ihn noch nicht gelesen haben, beginnen Sie mit REST-API: Überblick & Schnellstart für den grundlegenden Aufbau jeder Anfrage.

Wo Sie Ihren API-Schlüssel finden

Gehen Sie in der Personyze-Oberfläche zu Einstellungen → Integrationen → API. Jedes Personyze-Konto, auf das Sie Zugriff haben, hat einen eigenen Schlüssel — sie sind nicht austauschbar.

API-Schlüssel sind sensible Zugangsdaten.Behandeln Sie den API-Schlüssel wie ein Passwort — wer ihn besitzt, kann Ihre Kontodaten lesen und ändern. Halten Sie ihn aus clientseitigem Code, öffentlichen Repositorys, Screenshots und geteilten Logs heraus. Gelangt ein Schlüssel nach außen, erzeugen Sie ihn sofort auf derselben Einstellungsseite neu.

So senden Sie den Schlüssel

Nutzen Sie HTTP-Basic-Authentifizierung mit dem Benutzernamen api und dem Schlüssel als Passwort. Zwei übliche Wege:

Curl-Abkürzung — Zugangsdaten in der URL

Praktisch für spontane Tests und Shell-Skripte:

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

Authorization-Header — empfohlen für Produktionscode

Die meisten HTTP-Client-Bibliotheken lesen user:pass@host aus URLs nicht zuverlässig, und Zugangsdaten in der URL landen in Webserver-Logs und im Browserverlauf. Erstellen Sie für Produktionscode den Authorization -Header ausdrücklich:

Authorization: Basic <base64("api:" + API_KEY)>

Curl mit ausdrücklichem Header

curl https://app.personyze.com/rest/users/where/internal_id=42 \
     -H "Authorization: Basic $(printf 'api:%s' YOUR_API_KEY | base64)"

Python (requests)

import requests

r = requests.get(
    'https://app.personyze.com/rest/users/where/internal_id=42',
    auth=('api', YOUR_API_KEY),
)
r.raise_for_status()
data = r.json()

JavaScript (fetch)

const r = await fetch(
    'https://app.personyze.com/rest/users/where/internal_id=42',
    { headers: { Authorization: 'Basic ' + btoa('api:' + API_KEY) } }
);
const data = await r.json();

Rufen Sie die REST-API nie mit Ihrem Master-API-Schlüssel aus Browser-Code auf.Ein direkter Aufruf der REST-API aus einem Webbrowser macht Ihren API-Schlüssel für jeden sichtbar, der den Seitenquelltext oder den Netzwerk-Tab ansieht. Für die Personalisierung im Browser nutzen Sie stattdessen den JavaScript-Tracker bzw. das SDK — diese verwenden kontobezogene öffentliche Kennungen, nicht Ihren Master-API-Schlüssel.

Fehlercodes der Authentifizierung

Status Body / Bedeutung
401 Unauthorized Please, log in — kein Authorization -Header vorhanden, oder der Header ist fehlerhaft.
401 Unauthorized Der API-Schlüssel ist unbekannt, wurde widerrufen oder gehört zu einem anderen Konto als dem, auf das die URL zielt.
401 Unauthorized Die Anfrage wurde über reines http://gesendet. HTTPS ist Pflicht — auch für localhost -Proxys und Entwicklungsumgebungen.
400 Bad Request Invalid API key — der Schlüssel war syntaktisch in Ordnung, passte aber zu keinem Konto.

Zugriff auf mehrere Konten / Mandanten

Der API-Schlüssel legt fest, auf welchem Personyze-Konto die Anfrage arbeitet. Die Endpunkt-URL nennt das Konto nie — es ergibt sich aus dem Schlüssel. Um mit demselben Client auf mehreren Konten zu arbeiten, halten Sie einen Schlüssel pro Konto bereit und wählen vor jeder Anfrage den richtigen.

Auch Objekt-IDs gelten pro Konto: Aktion 42 in Konto A hat nichts mit Aktion 42 in Konto B zu tun. Wenn Ihr Code Personyze-IDs zusammen mit Ihren eigenen Daten speichert, sollten Sie auch die Konto-ID (oder zumindest den API-Schlüssel, mit dem sie erstellt wurden) speichern, damit Sie Anfragen später an das richtige Konto richten können.

Muster für Agenturen und Organisationen mit mehreren Marken.Wenn Sie Personyze über viele Konten hinweg betreiben (Agenturen, Organisationen mit mehreren Marken), bewahren Sie Ihre API-Schlüssel in einem Tresor für Zugangsdaten auf, geordnet nach Kontoname. Jede Anfrage beginnt mit einer Abfrage wie „Schlüssel für Konto X holen“ statt mit fest einprogrammierten Zugangsdaten. So bricht die Rotation eines Schlüssels in einem Konto Ihren Code nicht — und eine kompromittierte Datei mit Zugangsdaten gibt nicht auf einen Schlag die Schlüssel aller Konten preis.

Rate-Limits & Timeouts

  • Schnelle Tracker-/SDK-Anfragen haben ein Budget von 10 Sekunden Ausführungszeit. Längere Anfragen werden zwangsweise getrennt, mit einem Fehler, der als 503 wiederholt werden kann. Die meisten REST-API-Aufrufe laufen nicht über diesen schnellen Pfad, aber komplexe Abfragen auf großen Tabellen brauchen unter Umständen eine sorgfältige Indexierung, um unter dem Limit zu bleiben.
  • POST /rest/users wird pro Konto gedrosselt: höchstens ein laufender Insert gleichzeitig. Nach einer Wartezeit von 1 Sekunde in der Warteschlange werden Anfragen abgelehnt mit 400 Too many simultaneous requests. Wiederholen Sie mit exponentiellem Backoff. (Mehr dazu auf der Seite zum Objekt users.)
  • Andere Endpunkte sind derzeit auf Anwendungsebene nicht begrenzt — behandeln Sie die API aber als gemeinsam genutzte Ressource und überlasten Sie sie nicht aus vielen parallelen Prozessen, wenn aufeinanderfolgende Aufrufe ausreichen.

Nächste Schritte

🧩 Syntax der PfadparameterDa die Authentifizierung jetzt funktioniert, lernen Sie die Syntax where/columns/order_by/limit kennen, die für alle Endpunkte gleich ist. Lesen →
📚 ObjektreferenzSpaltenlisten pro Objekt, unterstützte Methoden und durchgehende Beispiele für jeden Endpunkt. Lesen →
Did this page answer your question?
Thank you — that goes to whoever maintains this page.