Дакументацыя сервернага API Loomio
/api/b3 прызначаны для аперацый на ўзроўні сервера. Для дзеянняў ад імя ўліковага запісу карыстальніка Loomio выкарыстоўвайце /api/b2.
Аўтэнтыфікацыя
Задайце для B3_API_KEY сакрэтны ключ даўжынёй больш за 16 сімвалаў.
Перадавайце ключ як токен Bearer:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Перадавайце ўліковыя даныя толькі ў загалоўку Authorization. Ключы API ў радку запыту або целе запыту адхіляюцца.
Аб’ект карыстальніка
Адказы з данымі карыстальніка маюць такую структуру:
{
"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"
}
]
}
Спіс карыстальнікаў
Атрымайце спіс усіх уліковых запісаў карыстальнікаў у інсталяцыі Loomio.
GET /api/b3/users
Прыклад
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Вяртае:
{
"users": []
}
Звесткі пра карыстальніка
Знайдзіце ўліковы запіс па ідэнтыфікатары карыстальніка Loomio або знешнім ідэнтыфікатары.
GET /api/b3/users/:id
GET /api/b3/users/identity/:identity_type/:uid
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Па знешнім ідэнтыфікатары:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Вяртае:
{
"user": {}
}
Абнаўленне звестак пра карыстальніка
Абнавіце палі профілю ўліковага запісу, знойдзенага па ідэнтыфікатары карыстальніка Loomio або знешнім ідэнтыфікатары.
PATCH /api/b3/users/:id
PATCH /api/b3/users/identity/:identity_type/:uid
Параметры
| Поле | Апісанне |
|---|---|
name |
Імя, якое паказваецца |
username |
Імя карыстальніка ў Loomio |
email |
Адрас электроннай пошты |
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
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
Па знешнім ідэнтыфікатары:
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
Вяртае абноўленыя звесткі пра карыстальніка:
{
"user": {}
}
Дэактывацыя ўліковага запісу
Дэактывуйце ўліковы запіс, знойдзены па ідэнтыфікатары карыстальніка Loomio або знешнім ідэнтыфікатары.
POST /api/b3/users/:id/deactivate
POST /api/b3/users/identity/:identity_type/:uid/deactivate
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate
Па знешнім ідэнтыфікатары:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate
Вяртае:
{
"success": true,
"user": {}
}
Паўторная актывацыя ўліковага запісу
Паўторна актывуйце дэактываваны ўліковы запіс, знойдзены па ідэнтыфікатары карыстальніка Loomio або знешнім ідэнтыфікатары.
POST /api/b3/users/:id/reactivate
POST /api/b3/users/identity/:identity_type/:uid/reactivate
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate
Па знешнім ідэнтыфікатары:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate
Вяртае:
{
"success": true,
"user": {}
}
Выдаленне асабістых даных карыстальніка
Пры выдаленні асабістых даных каментары і іншы змест, створаны карыстальнікам, захоўваюцца ў адпаведных групах. Выдаляюцца вядомыя даныя, якія дазваляюць ідэнтыфікаваць асобу: імя, біяграфія, фота профілю, адрас электроннай пошты, даныя для ўваходу, знешнія ідэнтыфікатары і актыўныя сеансы.
Гэта рэкамендаваны спосаб выдаліць уліковы запіс карыстальніка з Loomio.
POST /api/b3/users/:id/redact
POST /api/b3/users/identity/:identity_type/:uid/redact
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact
Па знешнім ідэнтыфікатары:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact
Вяртае:
{
"success": true
}
Выдаленне ўліковага запісу карыстальніка
Выдаленне прыбірае ўліковы запіс карыстальніка і створаныя ім запісы. Каментары выдаляюцца з тэм, галасы — з апытанняў. Праз сувязі ў базе даных таксама могуць быць выдалены групы, абмеркаванні, апытанні і іншыя запісы, створаныя гэтым карыстальнікам.
Гэта дзеянне можа прывесці да значнай страты даных. Настойліва рэкамендуецца замест гэтага выдаліць асабістыя даныя.
DELETE /api/b3/users/:id
DELETE /api/b3/users/identity/:identity_type/:uid
Прыклады
Па ідэнтыфікатары карыстальніка Loomio:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Па знешнім ідэнтыфікатары:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Вяртае:
{
"success": true
}
Налады сінхранізацыі профілю праз SSO
Выкарыстоўвайце гэтыя налады, калі палямі профілю Loomio кіруе іншая сістэма.
LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1
LOOMIO_DISABLE_EDIT_USER_PROFILE=1 не дазваляе карыстальнікам самастойна змяняць гэтыя палі:
| Поле | Заўвагі |
|---|---|
name |
Кіруецца знешняй сінхранізацыяй |
username |
Кіруецца знешняй сінхранізацыяй |
email |
Кіруецца знешняй сінхранізацыяй |
avatar_kind / uploaded_avatar |
Кіруецца знешняй сінхранізацыяй |
Карыстальнікі па-ранейшаму могуць змяняць лакальныя палі Loomio, напрыклад short_bio і location.
LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 абнаўляе name і email паводле даных уваходу праз SSO. Пакіньце гэты радок закаментаваным або не задавайце наладу, калі гэтыя палі павінен абнаўляць толькі знешні скрыпт сінхранізацыі.
LOOMIO_SSO_FORCE_USER_ATTRS па-ранейшаму працуе ў існых усталёўках. Гэтая налада забараняе карыстальнікам змяняць свае даныя і абнаўляе name і email пры ўваходзе праз SSO.