#新台北通
``測試機在192.168.51.175``
- ==與舊版的差別就是要先用下面的api查點數跟資格然後還要選擇哪種扣幾點==
==之後在POST /sales的時候多帶一個欄位`upointAmount`代表Upoint要扣幾點原本的`tppassAmount`就代表1500point要扣幾點,以及`qrocde`代表掃到的qrcode內容,可以參考下面的範例==
- 發票列表api多了兩個欄位==isUsport==, ==usport_print==代表是不是台北通發票以及是否印過
- 列印台北通的發票用的api跟重印發票是同一個
- 透過QRCode查使用者資料
PUT http://[北運server ip]:[北運server port]/tppass/query
Body:
```jsonld=
{
"code": [qrcode]
}
```
前端會使用到的就是:
- detail => level_summary => current_level => level_code
- level_code = US001 是「未驗證會員」,無法扣除點數、可以累積U幣
- level_code = US002 是「臺北市民」,則可以扣除點數、可以累積U幣
- level_code = US003 是「一般會員」,則無法扣除點數、無法累積U幣
- detail => point_summary => current_point
- point_code = "1500point" 是發的
- point_code = "Upoint" 是集點的
Response:
```jsonld=
{
"detail": {
"coupon_summary": {
"valid_coupon_amount": 0
},
"level_summary": {
"current_level": {
"level_code": "US001",
"level_end_datetime": "2124/02/11 23:59:59",
"level_id": 1,
"title": "未驗證會員"
},
"next_level": {
"level_code": "US002",
"level_id": 2,
"progress": [],
"title": "臺北市民"
},
"renew_level": {
"level_code": "US001",
"level_id": 1,
"progress": [
{
"amount": "0",
"requirement": "0",
"type": "frequency"
}
],
"title": "未驗證會員"
},
"updated_at": "2024-03-06 15:59:08"
},
"point_summary": {
"current_point": [
{
"amount": "0",
"point_code": "1500point",
"point_due_to_expire": [],
"point_id": 1
},
{
"amount": "0",
"point_code": "Upoint",
"point_due_to_expire": [],
"point_id": 2
}
]
},
"voucher_summary": [
{
"valid_voucher_amount": 0,
"voucher_box": ""
}
]
},
"member": {
"external_member_id": "ym5Dn8xyoMKclhQ41U97fg==",
"level_code": "US001",
"member_access_token": "943f4a1f-82b6-41b6-bced-fc7217e84809",
"mobile": "0912345678",
"name": "tester"
},
"uuid": "USLDFKAWUNAQ"
}
```
- 結帳
POST http://[北運server ip]:[北運server port]/sales
Body:
```jsonld=
{
"items": [
{
// 跟上一版台北通不同的是回歸沒有用台北通之前的樣子
"type": 0,
"item": 46,
"count": 1,
"price": 80
}
],
"paymentType": 0,
"amount": 80, // 總金額
"print_detail": true, // 有用到台北通點數就一定要true
"tppassAmount": 40, // 要折多少點抵用金
"upointAmount": 40, // 要折多少點U幣
"qrcode": [掃到的qrcode內容]
}
```
- 透過條件查交易紀錄
GET http://[北運server ip]:[北運server port]/tppass/logs
Query:
- start: 開始日期(格式:yyyy-mm-dd)
- end: 結束日期(格式:yyyy-mm-dd)
- key: ["uuid", "user_id", "user_phone", "user_name"] (分別是卡號,身分證字號,電話,帳號名稱)
- value: 就是上面key的值
Response:
```jsonld=
{
"count":3,
"rows":[
{
"id":87,
"uuid":"USWMEQXOEAZY",
"user_id":"A128024438",
"user_phone":"0972957297",
"user_name":"mrayrichard",
"action":"pay",
"items":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"terminal":"BTPOS01",
"user":"Richard",
"amount":40,
"upoint":40,
"orderNo":"bei_yC9ADA5zbt1M3I7i,bei_Ug6h7pryAHesqmi3",
"memo":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"response":"{\"point_results\":{\"point_transaction_information\":{\"mmrm_tid\":520,\"transaction_id\":\"bei_yC9ADA5zbt1M3I7i\"}},\"point_sn\":\"bei_yC9ADA5zbt1M3I7i\",\"upoint_results\":{\"point_transaction_information\":{\"mmrm_tid\":521,\"transaction_id\":\"bei_Ug6h7pryAHesqmi3\"}},\"upoint_sn\":\"bei_Ug6h7pryAHesqmi3\",\"uuid\":\"USWMEQXOEAZY\"}",
"inv":"NM12340069",
"createdAt":"2024-04-06T09:41:25.000Z",
"updatedAt":"2024-04-06T09:41:25.000Z"
},
{
"id":88,
"uuid":"USWMEQXOEAZY",
"user_id":"A128024438",
"user_phone":"0972957297",
"user_name":"mrayrichard",
"action":"pay",
"items":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"terminal":"BTPOS01",
"user":"Richard",
"amount":40,
"upoint":40,
"orderNo":"bei_3Duu8SrtPYvcm7tg,bei_b9gqCUa5aMwFdgDl",
"memo":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"response":"{\"point_results\":{\"point_transaction_information\":{\"mmrm_tid\":522,\"transaction_id\":\"bei_3Duu8SrtPYvcm7tg\"}},\"point_sn\":\"bei_3Duu8SrtPYvcm7tg\",\"upoint_results\":{\"point_transaction_information\":{\"mmrm_tid\":523,\"transaction_id\":\"bei_b9gqCUa5aMwFdgDl\"}},\"upoint_sn\":\"bei_b9gqCUa5aMwFdgDl\",\"uuid\":\"USWMEQXOEAZY\"}",
"inv":"NM12340070",
"createdAt":"2024-04-06T10:01:30.000Z",
"updatedAt":"2024-04-06T10:01:30.000Z"
},
{
"id":89,
"uuid":"USWMEQXOEAZY",
"user_id":"A128024438",
"user_phone":"0972957297",
"user_name":"mrayrichard",
"action":"pay",
"items":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"terminal":"BTPOS01",
"user":"Richard",
"amount":40,
"upoint":40,
"orderNo":"bei_SI6QKhuHH3oYSzXP,bei_AiEvghfLEhf3o9hC",
"memo":"\"[{\\\"type\\\":0,\\\"item\\\":46,\\\"count\\\":1,\\\"price\\\":80}]\"",
"response":"{\"point_results\":{\"point_transaction_information\":{\"mmrm_tid\":524,\"transaction_id\":\"bei_SI6QKhuHH3oYSzXP\"}},\"point_sn\":\"bei_SI6QKhuHH3oYSzXP\",\"upoint_results\":{\"point_transaction_information\":{\"mmrm_tid\":525,\"transaction_id\":\"bei_AiEvghfLEhf3o9hC\"}},\"upoint_sn\":\"bei_AiEvghfLEhf3o9hC\",\"uuid\":\"USWMEQXOEAZY\"}",
"inv":"NM12340071",
"createdAt":"2024-04-06T10:05:06.000Z",
"updatedAt":"2024-04-06T10:05:06.000Z"
}
]
}
```
- 透過QRCode扣點(不開發票)
PUT http://[北運server ip]:[北運server port]/tppass/pay
Body:
```jsonld=
{
"code": [qrcode],
"amount": [台北通發的1500點要扣多少(int)],
"upoint": [台北通發Upoint要扣多少(int)],
"memo": [備註]
}
```
Response:
```jsonld=
{
"detail": {
"coupon_summary": {
"valid_coupon_amount": 0
},
"level_summary": {
"current_level": {
"level_code": "US001",
"level_end_datetime": "2124/02/11 23:59:59",
"level_id": 1,
"title": "未驗證會員"
},
"next_level": {
"level_code": "US002",
"level_id": 2,
"progress": [],
"title": "臺北市民"
},
"renew_level": {
"level_code": "US001",
"level_id": 1,
"progress": [
{
"amount": "0",
"requirement": "0",
"type": "frequency"
}
],
"title": "未驗證會員"
},
"updated_at": "2024-03-06 15:59:08"
},
"point_summary": {
"current_point": [
{
"amount": "0",
"point_code": "1500point",
"point_due_to_expire": [],
"point_id": 1
},
{
"amount": "0",
"point_code": "Upoint",
"point_due_to_expire": [],
"point_id": 2
}
]
},
"voucher_summary": [
{
"valid_voucher_amount": 0,
"voucher_box": ""
}
]
},
"member": {
"external_member_id": "ym5Dn8xyoMKclhQ41U97fg==",
"level_code": "US001",
"member_access_token": "943f4a1f-82b6-41b6-bced-fc7217e84809",
"mobile": "0912345678",
"name": "tester"
},
"uuid": "USLDFKAWUNAQ"
}
```