Users
Cercare gli utenti
Section titled Cercare gli utentiCerca gli utenti in un progetto. Filtra per attributi (ID utente, email, paese, ecc.), restringi facoltativamente con una query di testo libero e pagina i risultati.
Metodo
Section titled MetodoPOST
/public/:projectKey/users
Parametri
Section titled Parametri| Nome | Tipo | Descrizione |
|---|---|---|
| projectKey | string | La chiave del progetto (obbligatoria) |
| q | string | Query di testo libero facoltativa (parametro di query nell’URL). Se vengono forniti sia q sia query (nel body), prevale q. |
Payload
Section titled Payload| Nome | Tipo | Descrizione |
|---|---|---|
| filters | array | Elenco dei filtri (facoltativo) |
| query | string | Query di testo libero su ID utente / email / nome (max 100) |
| startTimestamp | epoch (ms) | Inizio della finestra temporale (facoltativo, min 946684800000) |
| endTimestamp | epoch (ms) | Fine della finestra temporale (facoltativo, > startTimestamp) |
| limit | integer | Dimensione della pagina, 1-200 (facoltativo, predefinito: 50) |
| page | integer | Numero di pagina, parte da 1 (facoltativo, predefinito: 1) |
| sortBy | string | Colonna dell’utente per l’ordinamento (facoltativo) |
| sortOrder | string | asc o desc (facoltativo) |
| columns | array | Colonne utente aggiuntive da includere nella risposta |
Header della richiesta
Section titled Header della richiestaAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Esempio di richiesta
Section titled Esempio di richiestacurl -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"
}'
Esempio di risposta
Section titled Esempio di risposta{
"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
}
]
}
}
Ottenere un utente
Section titled Ottenere un utenteOttieni gli attributi di identità e le statistiche di alto livello di un determinato utente.
Metodo
Section titled MetodoGET
/public/:projectKey/users/:userId
Parametri
Section titled Parametri| Nome | Tipo | Descrizione |
|---|---|---|
| projectKey | string | La chiave del progetto (obbligatoria) |
| userId | string | L’ID impostato tramite tracker.setUserID (obbligatorio, max 256) |
Header della richiesta
Section titled Header della richiestaAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Codici di stato
Section titled Codici di stato200: risposta inviata come JSON nel body
400: userId non valido (vuoto o > 256 caratteri)
404: utente non trovato
Esempio di richiesta
Section titled Esempio di richiestacurl -X GET \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@openreplay.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
Esempio di risposta
Section titled Esempio di risposta{
"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
}
}
Eliminare un utente
Section titled Eliminare un utenteElimina un utente e tutti i dati associati. Pianifica un job in background; la risposta contiene il jobId che puoi interrogare tramite l’API Jobs.
Metodo
Section titled MetodoDELETE
/public/:projectKey/users/:userId
Parametri
Section titled Parametri| Nome | Tipo | Descrizione |
|---|---|---|
| projectKey | string | La chiave del progetto (obbligatoria) |
| userId | string | L’ID impostato tramite tracker.setUserID (obbligatorio, max 256) |
Header della richiesta
Section titled Header della richiestaAuthorization: Bearer {YOUR_ORGANIZATION_API_KEY}
Codici di stato
Section titled Codici di stato200: job pianificato, restituito nel body
400: userId non valido (vuoto o > 256 caratteri)
409: un job di eliminazione per questo utente è già pianificato o in esecuzione
Esempio di richiesta
Section titled Esempio di richiestacurl -X DELETE \
{BASE_URL}/public/3sWXSsqHgSKnE87YkNJK/users/mickael@example.com \
-H 'Authorization: Bearer {YOUR_ORGANIZATION_API_KEY}'
Esempio di risposta
Section titled Esempio di risposta{
"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
}
}
Come modificare i tempi di eliminazione dei file di replay?
Section titled Come modificare i tempi di eliminazione dei file di replay?Il job di eliminazione è un processo in due fasi: prima, le sessioni e i relativi eventi a cascata vengono eliminati dal database durante la notte; poi, i file di replay vengono pianificati per la scadenza (dopo 30 giorni) nell’object storage.
Se utilizzi minio (installazione standard) e vuoi modificare la policy predefinita di scadenza/ciclo di vita, segui le istruzioni riportate di seguito:
- Sul tuo server, esegui
openreplay -e - Nella sezione
chalice, definisci una nuova variabile d’ambiente chiamata SCH_DELETE_DAYS con un valore pari al numero di giorni per cui vuoi conservare il file di replay prima dell’eliminazione (maggiore o uguale a 0) - Salva ed esci con
:wq - Esegui
k9s -n db - Usa le frecce della tastiera per scorrere l’elenco e raggiungere il container
minio-* - Premi
sper ottenere l’accesso shell al container Minio (object storage) - Esegui
mc alias set minio http://localhost:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEY - Per eliminare i file di replay 14 giorni dopo l’esecuzione del job di eliminazione
export EXPIRATION_DAYS=14
mc ilm add --expiry-days $EXPIRATION_DAYS --tags "to_delete_in_days=${EXPIRATION_DAYS}" minio/mobs
- Usa
exitper uscire dal container Minio - Esegui
:quitper uscire dalla CLI di Kubernetes