Skip to content

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)