Skip to content

Update Member Mobile

Description

修改會員手機號碼。

Resource

PATCH /v1/user/mobile

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 外部會員編號
mobile string 手機號碼

Request Body Example

{
  "members": [
    {
      "external_vip_id": "VIP00001",
      "mobile": "0987654321"
    },
    {
      "external_vip_id": "VIP00002",
      "mobile": "0912345678"
    }
  ]
}

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 Mobile 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/mobile


    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: 更新 全通路 會員資料
    loop data in update_data
    OP ->> OP: mobile = ' ' if data['mobile'] is None else data['mobile']
    Note over OP: 更新 [member].[mobile]
    OP ->> R: Call update_member_mobile(company_id, vip_id, mobile)
    OP ->> OP: fail_update_vips.append(vip_id)
    end

    alt fail_update_vips
        OP -->> C: Return(400, {'message': '修改會員手機號碼', 'vip_id_list': '...'})
    end

    OP -->> C: Return Response(204)