Update Member Data
Description
修改會員資料。依據店家站台設定 siteinfo.member_source 自動分流:
- 傳統門市 / Ocard:執行本地資料庫更新(users、vip 表)與 POS 會員資料更新。
- member_source = 5 (Wixtar 會員):自動將傳入參數轉乘適配為星益欣會員中心異動規格 (PUT /v1/public/members/update) 完成線上更新,維持回傳 HTTP 200 OK {"message": "修改會員資料成功"}。
Resource
PATCH /v1/user
Authorization
採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login。
Request Body Parameters
| Name | Type | Description |
|---|---|---|
| name | string | 會員姓名 |
| phone_number | string | 會員手機號碼 (optional) Wixtar 會員專用(若 Token 未含門號時需提供作為查找鍵;查找優先順序為 vip_id > phone_number)。 |
| vip_id | string | 會員編號 (optional) Wixtar 會員專用(可作為會員查找鍵;查找優先順序為 vip_id > phone_number)。 |
| string | 電子信箱 (optional) |
|
| birthday | string | 會員生日 (optional) |
| sex | string | 性別 ALLOWED VALUES:
(optional) |
| area_code | string | 市話區碼 (optional) |
| tel | string | 市話號碼 (optional) |
| extension_number | string | 分機號碼 (optional) |
| city | string | 居住城市 (optional) |
| district | string | 居住區域 (optional) |
| address | string | 居住地址 (optional) |
| phone_carrier | string | 手機載具 (optional) |
| tax_id_number | string | 統一編號 (optional) |
| edm_subscription_enabled | boolean | 是否訂閱EDM (optional) |
| citizen_digital_certificate | string | 自然人憑證 (optional) |
| default_carrier_type | string | 預設載具類別 ALLOWED VALUES:
(optional) |
| memo | string | 備註 (optional) |
| source | string | 來源 ALLOWED VALUES:
(optional) |
Request Body Example
{
"name": "朱大成",
"phone_number": "0912345678",
"email": "[email protected]",
"birthday": "2020-01-01",
"sex": "male",
"area_code": "02",
"tel": "27006275",
"extension_number": "20",
"city": "台北市",
"district": "大安區",
"address": "復興南路二段171巷20號1樓",
"phone_carrier": "/DLRQHU8",
"tax_id_number": "24436074",
"edm_subscription_enabled": false,
"citizen_digital_certificate": "",
"default_carrier_type": "PHONE_CARRIER"
}
Response
{
"message": "修改會員資料成功"
}
Update Member Data Workflow
%%{init: {'securityLevel': 'loose', 'theme':'base'}}%%
sequenceDiagram;
autonumber
participant C as Client
participant OP as Omni Platform
participant P as POS
C ->> OP: Request [PATCH] /v1/user
OP ->> OP: company_id, auth_data = BasicData().get_basic_data()
OP ->> OP: member_data = MemberData.get_member_data_by_acckey()
OP ->> OP: member_data = self.handle_member_group_id()
OP ->> OP: update_data = self.handle_update_data()
OP ->> P: PosMember().update_pos_member_data(company_id, update_data)
P ->> OP: update_result
Note Over OP:如果修改POS會員資料失敗
alt update_result['status_code'] != 204
OP ->> OP: return update_result
alt update_result['status_code'] != 200
OP ->> C: return Response(400)
end
end
OP ->> OP: data = update_result['data']
OP ->> OP:company_id = data['company_id'], update_data = data['update_data']
OP ->> OP: repository.update_member_data(company_id, update_data)
alt 更新成功
OP ->> C: return Response(200, "修改會員資料成功")
else 更新失敗
OP ->> C: return Response(400, "修改會員資料{error msg}")
end