Skip to content

Members API

Upravljajte timskim mjestima i ulogama — osobama koje dijele izdavatelje, značke i dodjele vašeg računa.

Sve krajnje točke zahtijevaju autentifikaciju. Pogledajte Autentifikacija. Svaki zahtjev vezan je uz račun autentificiranog vlasnika.

Uloge koje se mogu dodijeliti putem API-ja su admin, editor i viewer. Uloga owner rezervirana je za vlasnika računa i ne može se dodijeliti niti ukloniti.

Popis članova

Dohvatite sve članove i pozive na čekanju na vašem računu.

GET /members

Primjer

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

Odgovor

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 je active za članove koji su prihvatili, ili pending za pozive koji još nisu prihvaćeni.


Pozivanje člana

Pozovite osobu na račun putem e-maila. E-mail s pozivom i poveznicom za prihvaćanje šalje se na adresu.

POST /members

Parametri

ParametarTipObaveznoOpis
emailstringDaE-mail adresa za poziv (mora biti valjan e-mail)
rolestringDaUloga za dodjelu — jedna od admin, editor, viewer

Primjer

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"
    }
  }'

Odgovor

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

Pogreške

  • 400role must be one of admin, editor, viewer
  • 400 — nevaljana ili nedostajuća e-mail adresa
  • 400seat limit reached — račun nema slobodnih mjesta za plan (Free: 2, Starter: 5, Pro: 20, uključujući vlasnika). Uklonite člana ili nadogradite plan.
  • 400 — e-mail je već član ili ima poziv na čekanju na ovom računu

Prihvaćanje poziva

Prihvatite poziv na čekanju. E-mail autentificiranog korisnika mora se podudarati s adresom na koju je poziv poslan.

POST /members/accept

Parametri

ParametarTipObaveznoOpis
inviteIdstringDaID poziva iz e-maila s poveznicom za prihvaćanje

Primjer

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"
    }
  }'

Odgovor

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

Pogreške

  • 400email does not match invitation — prijavljeni e-mail razlikuje se od pozvanog e-maila
  • 404 — poziv nije pronađen (već prihvaćen, otkazan ili je inviteId netočan)

Ažuriranje uloge člana

Promijenite ulogu postojećeg člana. Zahtijeva ovlasti vlasnika ili administratora.

POST /members/{memberId}/role

Parametri

ParametarTipObaveznoOpis
memberIdstringDaID člana (parametar putanje)
rolestringDaNova uloga — jedna od admin, editor, viewer

Primjer

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"
    }
  }'

Odgovor

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

Pogreške

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — član nije pronađen

Uklanjanje člana

Uklonite člana s računa ili otkažite poziv na čekanju. Član odmah gubi pristup, a njegovo mjesto se oslobađa.

DELETE /members/{memberId}

Primjer

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

Odgovor

Običan niz:

json
"member has been removed"

Pogreške

  • 400the owner cannot be removed
  • 404 — član nije pronađen

badges.ninja Documentation