更新後台使用者

View as Markdown
依 id 更新後台使用者,部分合併——只送有異動的欄位,省略的欄位維持原值;省略 `password` 表示不改密碼。id 不存在或屬於其他租戶時回傳 404。`status` 只接受 Active 或 Inactive,其他值一律回傳 400 invalid_status;帶入 `roleId` 時同樣必須指向呼叫端所屬租戶的既有角色,否則回傳 400 invalid_role_id。 改變 `roleId`,或把 `status` 設為 Inactive,會立即讓這個使用者既有的登入階段失效,不必等 token 自然過期。 ⚠️ **若這個使用者是租戶目前唯一還能登入的系統管理員**,把他改成非管理員角色、或把狀態設為 Inactive,會讓租戶失去所有可登入的系統管理員——這支端點會拒絕該次寫入,回傳 409 last_active_admin。

Authentication

X-Signaturestring
每個 /v1 請求都必須帶 `X-Client-Id`、`X-Timestamp`、`X-Nonce` 與 `X-Signature` 四個標頭。`X-Signature` 是以 client secret 對 canonical string 做 HMAC-SHA256 後的 Base64。 canonical string 的組成、可複製的簽章範例與 401 排查步驟,請參閱[「驗證與簽章」](/authentication)。

Path parameters

idlongRequired

要更新的後台使用者序號。不存在或屬於其他租戶時,一律回傳 404 not_found。

Request

This endpoint expects an object.
namestring or nullOptional

姓名。省略保留現有值。長度上限 30 字元,超過回傳 400 name_too_long。

emailstring or nullOptional

電子郵件。省略保留現有值。長度上限 100 字元,超過回傳 400 email_too_long。

passwordstring or nullOptional

登入密碼。省略表示不改密碼,這是保留原密碼的唯一方式。

roleIdlong or nullOptional

角色序號。省略保留現有角色;帶入時必須指向呼叫端所屬租戶的既有角色,否則回傳 400 invalid_role_id。

改變這個欄位會立即讓這個使用者既有的登入階段失效(詳見本端點說明);若這個使用者是租戶目前唯一還能登入的系統管理員,把他改成非管理員角色會被拒絕,回傳 409 last_active_admin。

statusstring or nullOptional

帳號狀態,只接受 Active 或 Inactive(大小寫不敏感),其他值回傳 400 invalid_status。省略保留現有狀態;設為 Inactive 會立即讓這個使用者既有的登入階段失效。

若這個使用者是租戶目前唯一還能登入的系統管理員,設為 Inactive 會被拒絕,回傳 409 last_active_admin。

outerSysCodestring or nullOptional

ERP 端的使用者代碼。省略保留現有值。長度上限 50 字元,超過回傳 400 outer_sys_code_too_long。

Response

OK
idlongOptional

新增或更新成功後,該筆資料的 id。

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
500
Internal Server Error