Skip to content

Members API

Управлявайте екипни места и роли — хората, които споделят издателите, баджовете и връчванията на вашия акаунт.

Всички крайни точки изискват удостоверяване. Вижте Удостоверяване. Всяка заявка е ограничена до акаунта на удостоверения собственик.

Ролите, които могат да бъдат назначени чрез API, са admin, editor и viewer. Ролята owner е запазена за притежателя на акаунта и не може да бъде назначавана или премахвана.

Списък на членове

Извлечете всички членове и чакащи покани във вашия акаунт.

GET /members

Пример

bash
curl -X GET https://api.badges.ninja/members \
  -H "X-Api-Key: bws_your_api_key_here"

Отговор

json
{
  "items": [
    {
      "memberId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "email": "owner@acme.example.com",
      "role": "owner",
      "status": "active"
    },
    {
      "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "email": "editor@acme.example.com",
      "role": "editor",
      "status": "pending"
    }
  ]
}

status е active за членове, които са приели, или pending за покани, които все още не са приети.


Покана на член

Поканете човек в акаунта чрез имейл. До адреса се изпраща имейл с покана, съдържащ линк за приемане.

POST /members

Параметри

ПараметърТипЗадължителенОписание
emailstringДаИмейл адрес за покана (трябва да е валиден имейл)
rolestringДаРоля за назначаване — една от admin, editor, viewer

Пример

bash
curl -X POST https://api.badges.ninja/members \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "email": "editor@acme.example.com",
      "role": "editor"
    }
  }'

Отговор

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "status": "pending"
}

Грешки

  • 400role must be one of admin, editor, viewer
  • 400 — невалиден или липсващ имейл адрес
  • 400seat limit reached — акаунтът няма свободни места за плана (Free: 2, Starter: 5, Pro: 20, включително собственика). Премахнете член или преминете към по-висок план.
  • 400 — имейлът вече е член или има чакаща покана в този акаунт

Приемане на покана

Приемете чакаща покана. Имейлът на удостоверения потребител трябва да съвпада с адреса, до който е изпратена поканата.

POST /members/accept

Параметри

ПараметърТипЗадължителенОписание
inviteIdstringДаID на поканата от имейла с линка за приемане

Пример

bash
curl -X POST https://api.badges.ninja/members/accept \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012"
    }
  }'

Отговор

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "status": "active"
}

Грешки

  • 400email does not match invitation — имейлът, с който сте влезли, се различава от поканения имейл
  • 404 — поканата не е намерена (вече приета, отменена или inviteId е грешен)

Актуализиране на роля на член

Променете ролята на съществуващ член. Изисква привилегии на owner или admin.

POST /members/{memberId}/role

Параметри

ПараметърТипЗадължителенОписание
memberIdstringДаID на члена (параметър в пътя)
rolestringДаНова роля — една от admin, editor, viewer

Пример

bash
curl -X POST https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901/role \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "role": "admin"
    }
  }'

Отговор

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "role": "admin",
  "updated": true
}

Грешки

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — членът не е намерен

Премахване на член

Премахнете член от акаунта или отменете чакаща покана. Членът незабавно губи достъп и мястото му се освобождава.

DELETE /members/{memberId}

Пример

bash
curl -X DELETE https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here"

Отговор

Обикновен низ:

json
"member has been removed"

Грешки

  • 400the owner cannot be removed
  • 404 — членът не е намерен

badges.ninja Documentation