A Loomio szerver API dokumentációja
A /api/b3 a szerverszintű műveletekre szolgál. A Loomio felhasználói fiókkal végzett, felhasználói szintű műveletekhez használd a /api/b2 API-t.
Hitelesítés
Állítsd a B3_API_KEY értékét egy 16 karakternél hosszabb titkos kulcsra.
Küldd el a kulcsot bearer tokenként:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
A hitelesítési adatokat kizárólag az Authorization fejlécben küldd el. A rendszer elutasítja a lekérdezési karakterláncban vagy a kérés törzsében küldött API-kulcsokat.
Felhasználói objektum
A felhasználói adatokat tartalmazó 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 rendszer ö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érdezése
Keress meg egy felhasználót a Loomio felhasználói azonosítója vagy külső identitása 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ő identitás 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ó frissítése
Frissítsd a Loomio felhasználói azonosító vagy külső identitás alapján megtalált felhasználó profilmezőit.
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ő identitás 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
A válasz a frissített felhasználót tartalmazza:
{
"user": {}
}
Felhasználó deaktiválása
Deaktiváld a Loomio felhasználói azonosító vagy külső identitás 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ő identitás 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álj újra egy deaktivált felhasználói fiókot a Loomio-felhasználóazonosítója vagy külső azonosítója alapján.
POST /api/b3/users/:id/reactivate
POST /api/b3/users/identity/:identity_type/:uid/reactivate
Példák
Loomio-felhasználó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ása megőrzi a felhasználó hozzászólásait és más, általa létrehozott tartalmakat a csoportjaiban, de eltávolítja az ismert, személyazonosításra alkalmas adatokat, például a nevet, a bemutatkozást, a profilképet, az e-mail-címet, a bejelentkezési adatokat, a külső azonosítókat és az aktív munkameneteket.
Ez az ajánlott módja egy felhasználó eltávolításának 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ó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ások törlődnek a szálakból, a szavazatok törlődnek a szavazásokból, és az adatbázisban lévő kapcsolatok révén a felhasználó által létrehozott csoportok, beszélgetések, szavazások és egyéb 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ó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
}
SSO-profilszinkronizálási beállítások
Használd ezeket a beállításokat, ha egy másik rendszer kezeli a Loomio profilmezőit.
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 saját maguk szerkesszék ezeket a mezőket:
| Mező | Tudnivalók |
|---|---|
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 Loomio helyi mezőit, 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 meg kommentként, vagy ne állítsd be, ha ezeket a mezőket kizárólag egy külső szinkronizáló szkriptnek kell frissítenie.
A LOOMIO_SSO_FORCE_USER_ATTRS a meglévő telepítéseken továbbra is működik. Letiltja a felhasználók általi szerkesztést, és SSO-bejelentkezéskor frissíti a name és az email mezőt.