Update Member Blacklist
Description
修改會員黑名單。
Resource
PATCH /v1/user/blacklist
Authorization
採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login。
Request Body Parameters
| Name | Type | Description |
|---|---|---|
| members | Member | 會員列表 |
Request Body Parameters - Member
| Name | Type | Description |
|---|---|---|
| external_vip_id | string | 外部會員編號 |
| is_blacklist | boolean | 是否為黑名單 |
Request Body Example
{
"members": [
{
"external_vip_id": "VIP00001",
"is_blacklist": true
},
{
"external_vip_id": "VIP00002",
"is_blacklist": false
}
]
}
Response Body Parameters
| Name | Type | Description |
|---|---|---|
| message | string | 錯誤訊息 |
| vip_id_list | list | 修改黑名單失敗的會員清單 |
Response
Status-Code: 204 No Content
Status-Code: 400
{
"message": "修改會員黑名單失敗",
"vip_id_list": [
"VIP00001"
]
}
Update Member Blacklist API Workflow
sequenceDiagram
%%{init: {'securityLevel': 'loose', 'theme': 'base'}}%%
autonumber
participant C as Client
participant OP as OmniPlatform
participant R as Repository
C ->> OP: Request [PATCH] /v1/user/blacklist
OP ->> OP: Call check_params_process(params)
alt 請求參數缺少必填欄位
OP -->> C: Return Response(400, f'{column} 不可為空')
end
OP ->> OP: update_df = handle_update_data(company_id, params['members'])
Note over OP: 透過 VipAppService 更新 POS 會員資料
OP ->> OP: PosMember().batch_update_pos_member_data(update_df)
OP ->> OP: fail_update_vips: list = []
Note over OP: 更新 全通路 會員資料
loop data in pure_update_data
alt type(data['is_blacklist']) == bool
OP ->> R: Call update_member_blacklist(company_id, vip_id, is_blacklist)
end
OP ->> OP: fail_update_vips.append(vip_id)
end
alt fail_update_vips
OP -->> C: Return(400, {'message': '修改會員黑名單失敗', 'vip_id_list': fail_update_vips})
end
OP -->> C: Return Response(204)