Loomion palvelimen API-dokumentaatio
/api/b3 on tarkoitettu palvelintason toimintoihin. Käytä /api/b2-rajapintaa toimintoihin, jotka suoritetaan Loomio-käyttäjätilillä.
Todennus
Aseta B3_API_KEY-muuttujan arvoksi salainen merkkijono, jossa on yli 16 merkkiä.
Lähetä avain bearer-tunnuksena:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Lähetä tunnistetiedot vain Authorization-otsakkeessa. Kyselymerkkijonossa tai pyynnön rungossa lähetetyt API-avaimet hylätään.
Käyttäjäobjekti
Käyttäjää koskevat vastaukset ovat tämän muotoisia:
{
"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"
}
]
}
Listaa käyttäjät
Listaa kaikki Loomio-asennuksen käyttäjätilit.
GET /api/b3/users
Esimerkki
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Palauttaa:
{
"users": []
}
Näytä käyttäjä
Etsi käyttäjä Loomio-käyttäjätunnuksen tai ulkoisen identiteetin perusteella.
GET /api/b3/users/:id
GET /api/b3/users/identity/:identity_type/:uid
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Ulkoisen identiteetin perusteella:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Palauttaa:
{
"user": {}
}
Päivitä käyttäjä
Päivitä Loomio-käyttäjätunnuksen tai ulkoisen identiteetin perusteella löytyneen käyttäjän profiilitiedot.
PATCH /api/b3/users/:id
PATCH /api/b3/users/identity/:identity_type/:uid
Parametrit
| Kenttä | Kuvaus |
|---|---|
name |
Näyttönimi |
username |
Loomio-käyttäjänimi |
email |
Sähköpostiosoite |
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
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
Ulkoisen identiteetin perusteella:
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
Palauttaa päivitetyn käyttäjän:
{
"user": {}
}
Poista käyttäjä käytöstä
Poista Loomio-käyttäjätunnuksen tai ulkoisen identiteetin perusteella löytynyt käyttäjätili käytöstä.
POST /api/b3/users/:id/deactivate
POST /api/b3/users/identity/:identity_type/:uid/deactivate
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate
Ulkoisen identiteetin perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate
Palauttaa:
{
"success": true,
"user": {}
}
Ota käyttäjä uudelleen käyttöön
Ota Loomio-käyttäjätunnuksen tai ulkoisen identiteetin perusteella löytynyt käytöstä poistettu käyttäjätili uudelleen käyttöön.
POST /api/b3/users/:id/reactivate
POST /api/b3/users/identity/:identity_type/:uid/reactivate
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate
Ulkoisen identiteetin perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate
Palauttaa:
{
"success": true,
"user": {}
}
Poista käyttäjän henkilötiedot
Henkilötietojen poisto säilyttää käyttäjän kommentit ja muun hänen luomansa sisällön ryhmissä. Se poistaa tunnetut henkilöön yhdistettävät tiedot, kuten nimen, esittelytekstin, profiilikuvan, sähköpostiosoitteen, kirjautumistiedot, identiteetit ja aktiiviset istunnot.
Tämä on suositeltu tapa poistaa käyttäjä Loomiosta.
POST /api/b3/users/:id/redact
POST /api/b3/users/identity/:identity_type/:uid/redact
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact
Ulkoisen identiteetin perusteella:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact
Palauttaa:
{
"success": true
}
Poista käyttäjä
Poistaminen poistaa käyttäjän ja hänen luomansa tietueet. Kommentit poistetaan keskusteluketjuista ja äänet kyselyistä. Myös käyttäjän luomat ryhmät, keskustelut, kyselyt ja muut tietueet voivat poistua tietokantakytkentöjen kautta.
Poistaminen hävittää paljon tietoja. Käytä sen sijaan mieluiten henkilötietojen poistoa.
DELETE /api/b3/users/:id
DELETE /api/b3/users/identity/:identity_type/:uid
Esimerkit
Loomio-käyttäjätunnuksen perusteella:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Ulkoisen identiteetin perusteella:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Palauttaa:
{
"success": true
}
SSO-profiilin synkronointiasetukset
Käytä näitä asetuksia, kun toinen järjestelmä hallinnoi Loomion profiilitietoja.
LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1
LOOMIO_DISABLE_EDIT_USER_PROFILE=1 estää käyttäjiä muokkaamasta itse seuraavia kenttiä:
| Kenttä | Huomautukset |
|---|---|
name |
Hallinnoidaan ulkoisella synkronoinnilla |
username |
Hallinnoidaan ulkoisella synkronoinnilla |
email |
Hallinnoidaan ulkoisella synkronoinnilla |
avatar_kind / uploaded_avatar |
Hallinnoidaan ulkoisella synkronoinnilla |
Käyttäjät voivat edelleen muokata Loomiossa hallinnoitavia kenttiä, kuten short_bio ja location.
LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 päivittää kentät name ja email SSO-kirjautumisen tiedoista. Jätä asetus kommentoiduksi tai määrittämättä, jos vain ulkoisen synkronointiskriptin tulee päivittää nämä tiedot.
LOOMIO_SSO_FORCE_USER_ATTRS toimii edelleen nykyisissä asennuksissa. Se estää käyttäjiä muokkaamasta tietojaan ja päivittää kentät name ja email SSO-kirjautumisen yhteydessä.