Users
Benutzer suchen
Section titled Benutzer suchenDurchsuchen Sie die Benutzer eines Projekts. Filtern Sie nach Attributen (Benutzer-ID, E-Mail-Adresse, Land usw.), grenzen Sie die Ergebnisse optional mit einer Freitext-query weiter ein und paginieren Sie sie.
Methode
Section titled MethodePOST
/public/:projectKey/users
Parameter
Section titled Parameter| Name | Typ | Beschreibung |
|---|---|---|
| projectKey | string | Der Projektschlüssel (erforderlich) |
| q | string | Optionale Freitextabfrage (URL-Query-Parameter). Wenn sowohl q als auch query (Body) angegeben werden, hat q Vorrang. |
Payload
Section titled Payload| Name | Typ | Beschreibung |
|---|---|---|
| filters | array | Filterliste (optional) |
| query | string | Freitextabfrage über Benutzer-ID / E-Mail-Adresse / Name (max. 100) |
| startTimestamp | epoch (ms) | Beginn des Zeitfensters (optional, min. 946684800000) |
| endTimestamp | epoch (ms) | Ende des Zeitfensters (optional, > startTimestamp) |
| limit | integer | Seitengröße, 1-200 (optional, Standard: 50) |
| page | integer | Seitennummer, beginnt bei 1 (optional, Standard: 1) |
| sortBy | string | Benutzerspalte, nach der sortiert wird (optional) |
| sortOrder | string | asc oder desc (optional) |
| columns | array | Zusätzliche Benutzerspalten, die in die Antwort aufgenommen werden |
Anfrage-Header
Section titled Anfrage-HeaderAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Beispielanfrage
Section titled Beispielanfragecurl -X POST \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users \
-H 'content-type: application/json' \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}' \
--data-raw '{
"query": "mickael",
"limit": 50,
"page": 1,
"sortOrder": "desc"
}'
Beispielantwort
Section titled Beispielantwort{
"data": {
"total": 1,
"users": [
{
"$user_id": "mickael@openreplay.com",
"$email": "mickael@openreplay.com",
"$name": "Mickael",
"$first_name": "Mickael",
"$last_name": "",
"$created_at": 1623440822825,
"$last_seen": 1623689478617
}
]
}
}
Benutzer abrufen
Section titled Benutzer abrufenRuft die Identitätsattribute und übergeordnete Statistiken für einen bestimmten Benutzer ab.
Methode
Section titled MethodeGET
/public/:projectKey/users/:userId
Parameter
Section titled Parameter| Name | Typ | Beschreibung |
|---|---|---|
| projectKey | string | Der Projektschlüssel (erforderlich) |
| userId | string | Die über tracker.setUserID gesetzte ID (erforderlich, max. 256) |
Anfrage-Header
Section titled Anfrage-HeaderAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Statuscodes
Section titled Statuscodes200: Antwort wird als JSON im Body gesendet
400: Ungültige userId (leer oder > 256 Zeichen)
404: Benutzer nicht gefunden
Beispielanfrage
Section titled Beispielanfragecurl -X GET \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@openreplay.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
Beispielantwort
Section titled Beispielantwort{
"data": {
"$user_id": "mickael@openreplay.com",
"$email": "mickael@openreplay.com",
"$name": "Mickael",
"$first_name": "Mickael",
"$last_name": "",
"$phone": "",
"$avatar": "",
"$created_at": 1623440822825,
"distinct_ids": ["15bd70f6-aedf-4544-8ae6-57eb66398e94"],
"$country": "FR",
"$state": "",
"$city": "",
"$first_event_at": 1623440822825,
"$last_seen": 1623689478617
}
}
Benutzer löschen
Section titled Benutzer löschenLöscht einen Benutzer und alle zugehörigen Daten. Plant einen Hintergrundjob; die Antwort enthält die jobId, die Sie über die API Jobs abfragen können.
Methode
Section titled MethodeDELETE
/public/:projectKey/users/:userId
Parameter
Section titled Parameter| Name | Typ | Beschreibung |
|---|---|---|
| projectKey | string | Der Projektschlüssel (erforderlich) |
| userId | string | Die über tracker.setUserID gesetzte ID (erforderlich, max. 256) |
Anfrage-Header
Section titled Anfrage-HeaderAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Statuscodes
Section titled Statuscodes200: Job geplant, im Body zurückgegeben
400: Ungültige userId (leer oder > 256 Zeichen)
409: Für diesen Benutzer ist bereits ein Löschjob geplant oder läuft gerade
Beispielanfrage
Section titled Beispielanfragecurl -X DELETE \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@example.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
Beispielantwort
Section titled Beispielantwort{
"data": {
"jobId": 22345,
"description": "Delete user sessions of userId = mickael@example.com",
"status": "scheduled",
"projectId": 1,
"action": "delete_user_data",
"referenceId": "mickael@example.com",
"createdAt": 1623912962910,
"updatedAt": null,
"startAt": 1623954600000,
"errors": null
}
}
Löschzeit der Replay-Dateien ändern?
Section titled Löschzeit der Replay-Dateien ändern?Der Löschjob ist ein zweistufiger Prozess: Zuerst werden Sitzungen und die zugehörigen Ereignisse über Nacht aus der Datenbank gelöscht. Danach werden die Replay-Dateien im Objektspeicher so vorgemerkt, dass sie nach 30 Tagen ablaufen.
Wenn Sie minio (Standardinstallation) verwenden und die standardmäßige Ablauf- bzw. Lifecycle-Richtlinie ändern möchten, gehen Sie wie folgt vor:
- Führen Sie auf Ihrem Server
openreplay -eaus - Definieren Sie im Abschnitt
chaliceeine neue Umgebungsvariable namens SCH_DELETE_DAYS mit einem Wert, der der Anzahl der Tage entspricht, die Sie die Replay-Datei vor dem Löschen aufbewahren möchten (größer oder gleich 0) - Speichern und beenden Sie mit
:wq - Führen Sie
k9s -n dbaus - Navigieren Sie mit den Pfeiltasten durch die Liste und wechseln Sie zum Container
minio-* - Drücken Sie
s, um Shell-Zugriff auf den Minio-Container (Objektspeicher) zu erhalten - Führen Sie
mc alias set minio http://localhost:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEYaus - So löschen Sie Replay-Dateien 14 Tage nach der Ausführung des Löschjobs:
export EXPIRATION_DAYS=14
mc ilm add --expiry-days $EXPIRATION_DAYS --tags "to_delete_in_days=${EXPIRATION_DAYS}" minio/mobs
- Verlassen Sie den Minio-Container mit
exit - Führen Sie
:quitaus, um die Kubernetes-CLI zu beenden