Users

So verwalten und kontrollieren Sie Benutzerdaten.

Users

Durchsuchen 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.

POST

/public/:projectKey/users

NameTypBeschreibung
projectKeystringDer Projektschlüssel (erforderlich)
qstringOptionale Freitextabfrage (URL-Query-Parameter). Wenn sowohl q als auch query (Body) angegeben werden, hat q Vorrang.
NameTypBeschreibung
filtersarrayFilterliste (optional)
querystringFreitextabfrage über Benutzer-ID / E-Mail-Adresse / Name (max. 100)
startTimestampepoch (ms)Beginn des Zeitfensters (optional, min. 946684800000)
endTimestampepoch (ms)Ende des Zeitfensters (optional, > startTimestamp)
limitintegerSeitengröße, 1-200 (optional, Standard: 50)
pageintegerSeitennummer, beginnt bei 1 (optional, Standard: 1)
sortBystringBenutzerspalte, nach der sortiert wird (optional)
sortOrderstringasc oder desc (optional)
columnsarrayZusätzliche Benutzerspalten, die in die Antwort aufgenommen werden

Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}

curl -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"
  }'
{
  "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
      }
    ]
  }
}

Ruft die Identitätsattribute und übergeordnete Statistiken für einen bestimmten Benutzer ab.

GET

/public/:projectKey/users/:userId

NameTypBeschreibung
projectKeystringDer Projektschlüssel (erforderlich)
userIdstringDie über tracker.setUserID gesetzte ID (erforderlich, max. 256)

Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}

200: Antwort wird als JSON im Body gesendet
400: Ungültige userId (leer oder > 256 Zeichen)
404: Benutzer nicht gefunden

curl -X GET \
  {BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@openreplay.com \
  -H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
{
  "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
  }
}

Lö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.

DELETE

/public/:projectKey/users/:userId

NameTypBeschreibung
projectKeystringDer Projektschlüssel (erforderlich)
userIdstringDie über tracker.setUserID gesetzte ID (erforderlich, max. 256)

Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}

200: 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

curl -X DELETE \
  {BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@example.com \
  -H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
{
  "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:

  1. Führen Sie auf Ihrem Server openreplay -e aus
  2. Definieren Sie im Abschnitt chalice eine 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)
  3. Speichern und beenden Sie mit :wq
  4. Führen Sie k9s -n db aus
  5. Navigieren Sie mit den Pfeiltasten durch die Liste und wechseln Sie zum Container minio-*
  6. Drücken Sie s, um Shell-Zugriff auf den Minio-Container (Objektspeicher) zu erhalten
  7. Führen Sie mc alias set minio http://localhost:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEY aus
  8. 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
  1. Verlassen Sie den Minio-Container mit exit
  2. Führen Sie :quit aus, um die Kubernetes-CLI zu beenden