A Loomio szerver API dokumentációja

A /api/b3 szerver szintű műveletekre szolgál. A Loomio-felhasználói fiókkal végzett műveletekhez a /api/b2 végpontot használd.

Hitelesítés

A B3_API_KEY értékének adj meg egy 16 karakternél hosszabb titkos kulcsot.

A kulcsot bearer tokenként küldd el:

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

A hitelesítési adatokat csak az Authorization fejlécben küldd el. A lekérdezési karakterláncban vagy a kérés törzsében megadott API-kulcsokat a rendszer elutasítja.

Felhasználói objektum

A felhasználói válaszok szerkezete:

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

Felhasználók listázása

Listázd a Loomio-példány összes felhasználói fiókját.

GET /api/b3/users

Példa

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

Válasz:

{
  "users": []
}

Felhasználó lekérése

Keresd meg a felhasználót a Loomio-felhasználói azonosítója vagy a külső azonosítója alapján.

GET /api/b3/users/:id

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

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válasz:

{
  "user": {}
}

Felhasználó adatainak frissítése

Frissítsd a Loomio-felhasználói azonosító vagy külső azonosító alapján megtalált felhasználó profiladatait.

PATCH /api/b3/users/:id

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

Paraméterek

Mező Leírás
name Megjelenített név
username Loomio-felhasználónév
email E-mail-cím

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válaszként a frissített felhasználót kapod:

{
  "user": {}
}

Felhasználó deaktiválása

Deaktiváld a Loomio-felhasználói azonosító vagy külső azonosító alapján megtalált felhasználói fiókot.

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

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

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válasz:

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

Felhasználó újraaktiválása

Aktiváld újra a Loomio-felhasználói azonosító vagy külső azonosító alapján megtalált, deaktivált felhasználói fiókot.

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

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

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válasz:

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

Felhasználó személyes adatainak eltávolítása

A személyes adatok eltávolításakor a felhasználó hozzászólásai és a többi általa létrehozott tartalom megmaradnak a csoportjaiban. Az ismert személyazonosításra alkalmas adatok törlődnek: a név, a bemutatkozás, a profilkép, az e-mail-cím, a bejelentkezési adatok, a külső azonosítók és az aktív munkamenetek.

Ezt a módszert ajánljuk, ha el szeretnél távolítani egy felhasználót a Loomióból.

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

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

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válasz:

{
  "success": true
}

Felhasználó törlése

A törlés eltávolítja a felhasználót és az általa létrehozott rekordokat. A hozzászólásai eltűnnek a témákból, a szavazatai a szavazásokból. Az adatbázis-kapcsolatok révén az általa létrehozott csoportok, beszélgetések, szavazások és más rekordok is törlődhetnek.

Ez jelentős adatvesztéssel jár. Helyette erősen ajánlott a személyes adatok eltávolítása.

DELETE /api/b3/users/:id

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

Példák

Loomio-felhasználói azonosító alapján:

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

Külső azonosító alapján:

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

Válasz:

{
  "success": true
}

Az SSO-profil szinkronizálásának beállításai

Ezeket a beállításokat akkor használd, ha a Loomio-profil mezőit egy másik rendszer kezeli.

LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1

A LOOMIO_DISABLE_EDIT_USER_PROFILE=1 megakadályozza, hogy a felhasználók maguk szerkesszék ezeket a mezőket:

Mező Megjegyzés
name Külső szinkronizálás kezeli
username Külső szinkronizálás kezeli
email Külső szinkronizálás kezeli
avatar_kind / uploaded_avatar Külső szinkronizálás kezeli

A felhasználók továbbra is szerkeszthetik a csak a Loomióban tárolt mezőket, például a short_bio és a location mezőt.

A LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 az SSO-bejelentkezés adataiból frissíti a name és az email mezőt. Hagyd kikommentelve vagy beállítatlanul, ha ezeket az adatokat kizárólag egy külső szinkronizáló szkriptnek kell frissítenie.

A LOOMIO_SSO_FORCE_USER_ATTRS a meglévő telepítéseknél továbbra is működik. Letiltja, hogy a felhasználók szerkesszék a profiljukat, és SSO-bejelentkezéskor frissíti a name és az email mezőt.