Documentazione delle API del server Loomio

/api/b3 serve per le operazioni a livello di server. Usa /api/b2 per le azioni eseguite con un account utente Loomio.

Autenticazione

Imposta B3_API_KEY su un valore segreto di oltre 16 caratteri.

Invia la chiave come token bearer:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Invia le credenziali solo nell'intestazione Authorization. Le chiavi API nelle stringhe di query o nei corpi delle richieste vengono rifiutate.

Oggetto utente

Le risposte relative agli utenti usano questa struttura:

{
  "id": 123,
  "name": "Ada Lovelace",
  "username": "ada",
  "email": "ada@example.org",
  "active": true,
  "deactivated_at": null,
  "identities": [
    {
      "id": 456,
      "identity_type": "oauth",
      "uid": "external-123",
      "email": "ada@example.org",
      "name": "Ada Lovelace"
    }
  ]
}

Elenca gli utenti

Elenca tutti gli account utente dell'installazione Loomio.

GET /api/b3/users

Esempio

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Restituisce:

{
  "users": []
}

Mostra un utente

Trova un utente tramite il suo ID utente Loomio o la sua identità esterna.

GET /api/b3/users/:id

GET /api/b3/users/identity/:identity_type/:uid

Esempi

Tramite ID utente Loomio:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Tramite identità esterna:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Restituisce:

{
  "user": {}
}

Aggiorna un utente

Aggiorna i campi del profilo di un utente trovato tramite il suo ID utente Loomio o la sua identità esterna.

PATCH /api/b3/users/:id

PATCH /api/b3/users/identity/:identity_type/:uid

Parametri

Campo Descrizione
name Nome visualizzato
username Nome utente Loomio
email Indirizzo email

Esempi

Tramite ID utente Loomio:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/123

Tramite identità esterna:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/identity/oauth/external-123

Restituisce l'utente aggiornato:

{
  "user": {}
}

Disattiva un utente

Disattiva un account utente trovato tramite il suo ID utente Loomio o la sua identità esterna.

POST /api/b3/users/:id/deactivate

POST /api/b3/users/identity/:identity_type/:uid/deactivate

Esempi

Tramite ID utente Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate

Tramite identità esterna:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate

Restituisce:

{
  "success": true,
  "user": {}
}

Riattiva utente

Riattiva un account utente disattivato individuato tramite il suo ID utente Loomio o la sua identità esterna.

POST /api/b3/users/:id/reactivate

POST /api/b3/users/identity/:identity_type/:uid/reactivate

Esempi

Tramite ID utente Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate

Tramite identità esterna:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate

Restituisce:

{
  "success": true,
  "user": {}
}

Rimuovi i dati personali dell'utente

La rimozione dei dati personali conserva i commenti dell'utente e gli altri contenuti che ha creato nei suoi gruppi, ma rimuove le informazioni identificative personali note, come nome, biografia, foto del profilo, indirizzo email, credenziali di accesso, identità e sessioni attive.

Questo è il metodo consigliato per rimuovere un utente da Loomio.

POST /api/b3/users/:id/redact

POST /api/b3/users/identity/:identity_type/:uid/redact

Esempi

Tramite ID utente Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact

Tramite identità esterna:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact

Restituisce:

{
  "success": true
}

Elimina utente

L'eliminazione rimuove l'utente e i record che ha creato. I commenti vengono rimossi dalle conversazioni, i voti vengono rimossi dai sondaggi e anche i gruppi, le discussioni, i sondaggi e gli altri record creati dall'utente possono essere eliminati tramite le associazioni del database.

Questa operazione è molto distruttiva. È fortemente consigliato usare invece la rimozione dei dati personali.

DELETE /api/b3/users/:id

DELETE /api/b3/users/identity/:identity_type/:uid

Esempi

Tramite ID utente Loomio:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Tramite identità esterna:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Restituisce:

{
  "success": true
}

Impostazioni di sincronizzazione del profilo SSO

Usa queste impostazioni quando un altro sistema gestisce i campi del profilo Loomio.

LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1

LOOMIO_DISABLE_EDIT_USER_PROFILE=1 impedisce agli utenti di modificare autonomamente questi campi:

Campo Note
name Gestito dalla sincronizzazione esterna
username Gestito dalla sincronizzazione esterna
email Gestito dalla sincronizzazione esterna
avatar_kind / uploaded_avatar Gestito dalla sincronizzazione esterna

Gli utenti possono comunque modificare i campi locali di Loomio, come short_bio e location.

LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 aggiorna name ed email usando i dati di accesso SSO. Lascia questa impostazione commentata o non impostata quando uno script di sincronizzazione esterna deve essere l'unica fonte di questi aggiornamenti.

LOOMIO_SSO_FORCE_USER_ATTRS continua a funzionare per le installazioni esistenti. Impedisce le modifiche da parte degli utenti e aggiorna name ed email all'accesso tramite SSO.

Questa pagina è stata tradotta automaticamente. Se una parola è sbagliata o poco chiara, scrivi a contact@loomio.org e la correggeremo.