# 第三方接入線上會員接口
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#%E5%9F%BA%E6%9C%AC%E6%A0%BC%E5%BC%8F%E8%AF%B4%E6%98%8E)基本格式說明
1,所有請求都會帶上一個`token`,用于身份驗證,`token`由雙方系統約定,每個第三方接入商都會有不同的token表明身份,每次請求時,將token放到請求頭的AUTHORIZATION屬性,當前token默認使用代理商系統登錄名稱
2,每個餐廳都有一個餐廳ID,新建會員系統時生成,不可更改,請求需要把此餐廳ID放到請求頭的CUSTOMERGUID屬性以對該餐廳做操作
3,所有POST請求參數為json格式
測試服務器host:[http://vip.sandyvip.com](http://vip.sandyvip.com/)
上線需要換正式服務器host:[http://vip.sandypos.com](http://vip.sandypos.com/)
測試代理商登錄名:test
測試商戶ID:{DEFAULT-AUTO-8E5A-BDE2-34ABA1BD956C9}
測試商戶分店ID: {DEFAULT-AUTO-E207-8CC9-44AD86AEEB6DD}
curl示例:
~~~
curl -X POST -H 'CUSTOMERGUID: {DEFAULT-AUTO-8E5A-BDE2-34ABA1BD956C9}' -H 'AUTHORIZATION: test' -i 'http://vip.sandyvip.com/api2/member-cjb/getrechargerules' --data '{"card_id": "000001" }'
~~~
4,出錯返回數據結構:
~~~
{
"errcode": "", // 錯誤代碼
"errmsg": "" // 錯誤信息
}
~~~
`errcode`:
* `1`\- 參數不足
* `2`\- 卡不存在
* `3`\- 卡已存在
* `4`\- 余額不足
* `300`\- 系統過期
* `400`\- 參數錯誤
* `500`\- 內部錯誤
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#%E5%85%AC%E5%85%B1%E8%AF%B7%E6%B1%82)公共請求
### [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#%E8%8E%B7%E5%8F%96%E5%8D%A1%E7%AD%89%E7%BA%A7)獲取卡等級
`GET /api2/member-cjb/cardlevellist`
成功返回數據結構
~~~
[{
"card_lel_name": "普通會員",
"id": 1
}, {
"card_lel_name": "高級會員",
"id": 2
}]
~~~
字段解釋:
* id - 卡等級ID
* card\_lel\_name - 卡等級名稱
### [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#%E8%8E%B7%E5%8F%96%E5%85%85%E5%80%BC%E8%A7%84%E6%A0%BC%E5%85%85%E5%80%BC%E6%96%B9%E5%BC%8F)獲取充值規格&充值方式
`POST /api2/member-cjb/getrechargerules`
請求參數
~~~
{
"card_id“: "000001"
}
~~~
字段解釋:
* card\_id - 需要充值的卡號
成功返回數據結構:
~~~
{
"rules": [{
"money": 1,
"add_score": 0.0,
"description": "充值送10%",
"add_money": 0.1
}, {
"money": 500,
"add_score": 0.0,
"description": "沖500送100",
"add_money": 100.0
}],
"paytypes": [
[1, "現金"],
[2, "銀行卡"],
[4, "支付寶"],
[3, "微信"]
]
}
~~~
字段解釋:
* money - 充值金額,0為每次充值生效,1為按百分比生效
* add\_score - 贈送積分
* add\_money - 贈送金額
* description - 規則名稱
* paytypes - 可選支付方式
### [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#%E6%A0%B9%E6%8D%AE%E5%85%B3%E9%94%AE%E5%AD%97%E6%9F%A5%E8%AF%A2%E4%BC%9A%E5%91%98%E5%88%97%E8%A1%A8)根據關鍵字查詢會員列表
`POST /api2/member-cjb/getcards`
請求參數
~~~
{
"key": "123"
}
~~~
字段解釋
* key - 查詢關鍵字,可以部分匹配卡號、姓名、手機號
成功返回數據結構
~~~
{
"cards": [{
"cur_score": 2555,
"phone": "66538536",
"amount": 14493.80,
"uname": "Chan Kan Seng",
"card_level_name": "普通卡",
"card_status": "正常",
"id": 200889,
"card_id": "M000123"
},
...
]
}
~~~
字段解釋
* cur\_score - 當前積分
* phone - 手機號碼
* amount - 余額
* uname - 持卡者姓名
* card\_level\_name - 卡等級
* card\_status - 卡狀態
* id - 卡id
* card\_id - 卡號
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#1-%E5%BC%80%E5%8D%A1)1\. 開卡
`POST /api2/member-cjb/cardopen`
請求參數
~~~
{
"cardID": "12345",
"cardLevelID": "1",
"uname": "Mr.Wang",
"phone": "186xxxxxxxx",
"gender": "1"
}
~~~
字段解釋
* cardID - 卡號
* cardLevelID - 卡等級ID
* uname - 會員姓名
* phone -會員手機
* gender - 性別 1-男,0-女
成功返回數據結構:
~~~
{
"org_name": "ASDFG",
"phone": "186xxxxxxxx",
"amount": 100,
"card_id": "12345",
"cur_score": 0
}
~~~
字段解釋
* org\_name - 開卡商戶名稱
* phone - 會員手機號
* amount -當前余額
* card\_id - 卡號
* cur\_score -當前積分
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#2-%E5%85%85%E5%80%BC)2\. 充值
`POST /api2/member-cjb/recharge`
請求參數
~~~
{
"card_id": "wx001", // 卡號
"money": "100", // 充值金額
"pay_type": 1 //充值方式
}
~~~
字段解釋
* card\_id - 卡號
* money - 充值金額
* pay\_type -充值方式,根據公共接口“獲取充值規格&充值方式”獲取
成功返回數據結構:
~~~
{
"cur_score": 0,
"add_money": 10.0,
"amount": "1420.00",
"add_score": 0.0,
"card_id": "12345"
}
~~~
字段解釋
* card\_id - 卡號
* money - 充值金額
* amount - 當前余額
* add\_money - 贈送金額
* add\_score - 贈送積分
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#3-%E6%B6%88%E8%B4%B9)3\. 消費
`POST /api2/member-cjb/consume`
請求參數
~~~
{
"card_id": "wx001",
"money": 100,
"money_discount": 100
}
~~~
字段解釋
* card\_id - 卡號
* money - 消費金額
* money\_discount - 可打折金額,可選。默認全部打折
成功返回數據結構:
~~~
{
"cur_score": 2555,
"ori_money": 100.0,
"amount": "14493.80",
"discount_money": 20.0,
"card_money": 80.0,
"discount": 0.8,
"depot_money": 0,
"card_id": "M000123",
"act_money": 80.0
}
~~~
字段解釋
* card\_id - 卡號
* cur\_score - 當前積分
* ori\_money - 原始消費金額
* act\_money - 實際消費金額
* amount - 當前余額
* discount - 折扣,0.8表示8折
* discount\_money - 折扣金額
* card\_money - 卡內扣款
* depot\_money - 應付款項(某些場景下,余額不足時出現)
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#4-%E8%8E%B7%E5%8F%96%E4%BC%9A%E5%91%98%E4%BF%A1%E6%81%AF)4\. 獲取會員信息
`POST /api2/member-cjb/getcardinfo`備注:此接口根據卡號精確查詢特定卡信息,如果不能確定會員卡號,先使用公共請求“根據關鍵字查詢會員列表”查找信息,以確定卡號
~~~
{
"card_id": "wx001"
}
~~~
字段解釋
* card\_id - 卡號
成功返回數據結構
~~~
{
"cur_score": 2555,
"phone": "66538536",
"amount": 14493.80,
"birthday": "",
"uname": "Chan Kan Seng",
"gender": 0,
"card_level_name": "普通卡",
"card_id": "M000123",
"sum_consume": 1000,
"sum_recharge": 529
}
~~~
字段解釋
* cur\_score - 當前積分
* phone - 手機號碼
* amount - 余額
* birthday - 生日,格式為YYYY-mm-dd,沒記錄時為空
* uname - 持卡者姓名,
* gender - 性別 0-女,1-男
* card\_level\_name - 卡等級,
* card\_id - 卡號
* sum\_consume - 累計消費金額
* sum\_recharge - 累計充值金額
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#5-%E4%BF%AE%E6%94%B9%E4%BC%9A%E5%91%98%E4%BF%A1%E6%81%AF)5\. 修改會員信息
`POST /api2/member-cjb/modcardinfo`
請求參數
~~~
{
"card_id": "M000123",
"uname": "huang",
"phone": "1234",
"birthday": "1999-9-9",
"gender": 1
}
~~~
字段解釋
* card\_id - 卡號,必填
* uname - 新名稱,可選,不傳該字段則不做修改
* phone - 新的手機號,可選,不傳該字段則不做修改
* birthday - 新的生日,不傳該字段則不做修改
* gender - 新的性別, 0-女,1-男,不傳該字段則不做修改
成功返回數據結構
~~~
{
"cur_score": 2555,
"phone": "66538536",
"amount": 14493.80,
"birthday": "",
"uname": "Chan Kan Seng",
"gender": 0,
"card_level_name": "普通卡",
"card_id": "M000123"
}
~~~
字段解釋
* cur\_score - 當前積分
* phone - 手機號碼
* amount - 余額
* birthday - 生日,格式為YYYY-mm-dd,沒記錄時為空
* uname - 持卡者姓名,
* gender - 性別 0-女,1-男
* card\_level\_name - 卡等級,
* card\_id - 卡號
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#6-%E6%9F%A5%E8%AF%A2%E4%BD%BF%E7%94%A8%E5%8E%86%E5%8F%B2)6\. 查詢使用歷史
`POST /api2/member-cjb/getcardhis`
請求參數
~~~
{
"card_id": "M000123",
"only_score_change": 1,
"start_timestamp": 1570761560,
"end_timestamp": 1570761560,
"event_type": 0,
"page_size": 20,
"page": 1
}
~~~
字段解釋
* card\_id - 卡號,必填
* only\_score\_change - 可選,僅列出有積分變動的記錄1-僅列出積分變動
* start\_timestamp - 可選,查詢起始時間,秒級時間戳
* end\_timestamp - 可選,查詢截止時間,秒級時間戳
* page\_size - 每頁顯示的條數,可選,默認值20
* page - 查詢的頁數,默認第一頁
* event\_type - 記錄類型,可選,默認查詢全部,類型列表如下
| event\_type 值 | 類型描述 |
| --- | --- |
| 1 | 開卡 |
| 2 | 退卡 |
| 3 | 換卡 |
| 4 | 掛失 |
| 5 | 解掛 |
| 6 | 充值 |
| 7 | 消費 |
| 20 | 轉出 |
| 21 | 轉入 |
| 30 | 提現 |
成功返回數據結構
~~~
{
"data": [{
"ori_money": 100.0,
"act_money": 115.0,
"amount": 14608.8,
"score": 2560,
"pay_type_text": "現金",
"description": "充值送10%:充值100.0贈送金額10.0<br/>單次送5元:充值100.0贈送金額5.0贈送積分5.0",
"time": 1570592439,
"type": 6,
"org_name": "聚客西餐",
"id": 1003
}, {
"ori_money": 100.0,
"act_money": 80.0,
"amount": 14493.8,
"score": 2555,
"pay_type_text": "",
"description": "8折(0.8)<br/>消費80.0,獲得積分80\n",
"time": 1570592439,
"type": 7,
"org_name": "聚客西餐",
"id": 1000
}],
"pages": 30.0,
"page_size": 2,
"page": 1
}
~~~
字段解釋
* ori\_money - 原始金額
* act\_money - 實際金額
* description - 記錄描述
* org\_name - 商戶名稱
* amount - 余額
* time - 時間,秒級時間戳格式
* type - 類型,見參數列表解釋
* pages - 記錄總計條數
* page\_size - 每頁顯示條數
* page - 當前頁
* id - 記錄的數據庫ID值
## [](https://note.youdao.com/md/preview.html?file=%2Fyws%2Fapi%2Fpersonal%2Ffile%2FF3F0826A106742DFA2ECA63860883D12%3Fmethod%3Ddownload%26read%3Dtrue%26shareKey%3D5d2e0f7e7d86aac1e985338572a03c64#7-%E6%B6%88%E8%B4%B9%E7%A7%AF%E5%88%86)7\. 消費積分
`POST /api2/member-cjb/consume_score`
請求參數
~~~
{
"card_id": "wx001",
"score": 100
}
~~~
字段解釋
* card\_id - 卡號
* score - 消費積分,如果有小數部分,將忽略
成功返回數據結構:
~~~
{
"cur_score": 2555,
"amount": 80.0,
"card_id": "M000123",
}
~~~
字段解釋
* card\_id - 卡號
* cur\_score - 當前積分
* amount - 當前余額