Update Member Group
Description
修改會員群組。
Resource
PATCH /v1/user/group
Authorization
採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login。
Request Body Parameters
| Name | Type | Description |
|---|---|---|
| members | Member | 會員列表 |
Request Body Parameters - Member
| Name | Type | Description |
|---|---|---|
| vip_id | string | 會員編號 (會員編號與外部會員編號需擇一) (optional) |
| external_vip_id | string | 外部會員編號 (會員編號與外部會員編號需擇一) (optional) |
| group_id | string | 會員群組編號 |
Request Body Example
{
"members": [
{
"vip_id": "VIP00001",
"group_id": "VIP"
},
{
"vip_id": "VIP00002",
"group_id": "VVIP"
}
]
}
{
"members": [
{
"external_vip_id": "VIP00001",
"group_id": "VIP"
},
{
"external_vip_id": "VIP00002",
"group_id": "VVIP"
}
]
}
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 Group 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/group
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)
Note over OP: 更新 全通路 會員資料
OP ->> R: Call get_company_member_group(company_id)
R -->> OP: all_member_group
loop data in update_data
Note over OP: 該公司有此 group_id 則更新
alt group_id not in all_member_group
OP ->> OP: fail_update_vips.append(vip_id)
end
Note over OP: 更新 [member].[vip_Level]、[member].[vip_Level_name]
OP ->> R: Call update_member_group(vip_id, group_id)
alt update_failed
OP ->> OP: fail_update_vips.append(vip_id)
end
end
alt fail_update_vips
OP -->> C: Return(400, {'message': '修改會員群組失敗', 'vip_id_list': '...'})
end
OP -->> C: Return Response(204)