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.