IM
ID
Beranda dokumentasi
Menu
Panduan

Konteks Akun Dan Anggota

pilih cakupan akun dan periksa keanggotaan akun sebelum operasi kredensial atau penyedia.

inbox-manager client-flow

Konteks Akun Dan Anggota

Tujuan: memilih cakupan akun dan memeriksa keanggotaan akun sebelum operasi kredensial atau penyedia.

Aliran UI

  1. UI memanggil GET /api/accounts untuk mencantumkan akun yang dapat diakses.
  2. Pengguna memilih akun aktif.
  3. UI mempertahankan konteks akun melalui POST /api/account-views/switch.
  4. UI memuat GET /api/accounts/:account_id.
  5. UI memuat GET /api/accounts/:account_id/members.
  6. Pemilik dapat membuat akun anak dengan POST /api/accounts.
  7. Pemilik dapat memperbarui nilai tampilan akun dengan PATCH /api/accounts/:account_id.
  8. Pemilik dapat menambah/menghapus anggota dengan /api/accounts/:account_id/members*.
  9. UI menyimpan account_id dalam status rute dan mengawali semua panggilan cakupan akun berikutnya.

Alur Perpustakaan Klien

const accounts = await api.accounts.list();
const active = selectAccount(accounts.data);
const account = await api.accounts.get(active.id);
const members = await api.members.list(active.id);

Alur HTTP/curl

API_BASE_URL="https://api.inbox-manager.com"

curl -sS "${API_BASE_URL}/api/accounts" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS -X POST "${API_BASE_URL}/api/account-views/switch" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{\"account_id\":\"${ACCOUNT_ID}\"}"

curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/search" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"query":"owner","limit":20,"offset":0}'

curl -sS -X POST "${API_BASE_URL}/api/accounts" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"name":"Operations"}'

curl -sS -X PATCH "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"name":"Operations Team"}'

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"user_id":"uid_target","role":"member"}'

curl -sS -X PATCH "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/${MEMBER_ID}" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"role":"owner"}'

curl -sS -X DELETE "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/${MEMBER_ID}" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

Catatan

  • Ketidakcocokan jalur akun menghasilkan 403.
  • Endpoint keanggotaan memiliki cakupan akun dan gerbang peran.
  • Endpoint penulisan akun/anggota memerlukan peran owner.
  • Pembuatan anggota mendukung member dan viewer; promosi kepemilikan menggunakan patch.
  • Penurunan diri pemilik dan penghapusan keanggotaan mandiri diblokir.
  • Penurunan atau penghapusan pemilik terakhir akan menghasilkan 409.