IM
TH
หน้าเอกสาร
เมนู
คู่มือ

บริบทบัญชีและสมาชิก

เลือกขอบเขตบัญชีและตรวจสอบความเป็นสมาชิกบัญชีก่อนดำเนินการข้อมูลรับรองหรือผู้ให้บริการ

inbox-manager client-flow

บริบทบัญชีและสมาชิก

วัตถุประสงค์: เลือกขอบเขตบัญชีและตรวจสอบความเป็นสมาชิกบัญชีก่อนดำเนินการข้อมูลประจำตัวหรือผู้ให้บริการ

โฟลว์ UI

  1. UI เรียก GET /api/accounts เพื่อแสดงรายการบัญชีที่สามารถเข้าถึงได้
  2. ผู้ใช้เลือกบัญชีที่ใช้งานอยู่
  3. UI ยังคงมีบริบทของบัญชีผ่านทาง POST /api/account-views/switch
  4. โหลด UI GET /api/accounts/:account_id
  5. โหลด UI GET /api/accounts/:account_id/members
  6. เจ้าของสามารถสร้างบัญชีย่อยด้วย POST /api/accounts
  7. เจ้าของสามารถอัปเดตค่าที่แสดงบัญชีด้วย PATCH /api/accounts/:account_id
  8. เจ้าของสามารถเพิ่ม/ลบสมาชิกด้วย /api/accounts/:account_id/members*
  9. UI เก็บ account_id ไว้ในสถานะเส้นทางและนำหน้าการโทรตามขอบเขตบัญชีที่ตามมาทั้งหมด

โฟลว์ไลบรารีไคลเอนต์

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);

HTTP/ขดไหล

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

หมายเหตุ

  • เส้นทางบัญชีไม่ตรงกันส่งคืน 403
  • จุดสิ้นสุดการเป็นสมาชิกมีขอบเขตบัญชีและจำกัดบทบาท
  • จุดสิ้นสุดการเขียนบัญชี/สมาชิกต้องมีบทบาท owner
  • การสร้างสมาชิกรองรับ member และ viewer; การส่งเสริมการขายความเป็นเจ้าของใช้แพทช์
  • การลดระดับตนเองของเจ้าของและการลบการเป็นสมาชิกตนเองถูกบล็อก
  • การลดระดับหรือการลบเจ้าของคนสุดท้ายส่งคืน 409