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)