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