Skip to content

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)