校园卡信息
校园卡人员信息_根据卡号查询
描述
根据卡号(一般即学工号)查询校园卡基本信息
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v1/ecard/card/info/user
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 卡号(一般即学工号),当授权为authorization_code和password模式时可省略 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
cardNo | string | 卡序列号(仅nfc卡时存在,否则会空) |
scardSnr | string | 校园卡物理卡号 |
cardSfDetail | string | 卡身份详细介绍 |
status | string | 卡状态,1正常,2已注销,3已挂失,7过期,99未发卡 |
deptCode | string | 部门编号 |
deptName | string | 部门名称 |
cardTypeName | string | 卡类型,目前有3类,nfc/正式卡/虚拟卡 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/ecard/card/info/user?userId=20****73"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "c297335d-4570-4d9f-ac26-55c1b601e441",
"data": [{
"userId": "**1",
"scardSnr": "****DC",
"cardNo": "",
"name": "***",
"cardSfDetail": "教职工",
"status": "1",
"deptCame": "0445",
"deptName": "信息化治理办公室",
"cardTypeName": "正式卡"
}]
}
校园卡人员信息_根据物理卡号查询
描述
根据物理卡号查询校园卡人员信息,含NFC卡
支持的模式
- client_credentials
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v1/ecard/card/info/snr
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
scardSnr | 是 | 读取到的物理卡号 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
cardNo | string | 卡序列号(仅nfc卡时存在,否则会空) |
scardSnr | string | 校园卡物理卡号 |
cardSfDetail | string | 卡身份详细介绍 |
status | string | 卡状态,1正常,2已注销,3已挂失,7过期,99未发卡 |
deptCode | string | 部门编号 |
deptName | string | 部门名称 |
cardTypeName | string | 卡类型,目前有3类,nfc/正式卡/虚拟卡 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/ecard/card/info/snr?scardSnr=*****DC"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "c297335d-4570-4d9f-ac26-55c1b601e441",
"data": [{
"userId": "**1",
"scardSnr": "****DC",
"cardNo": "",
"name": "***",
"cardSfDetail": "教职工",
"status": "1",
"deptCame": "0445",
"deptName": "信息化治理办公室",
"cardTypeName": "正式卡"
}]
}
校园卡人员信息_根据NFC ID查询
描述
根据NFC ID查询校园卡人员信息
支持的模式
- client_credentials
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v1/ecard/card/info/nfc
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
cardNo | 是 | 读取到的 NFC ID 号 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
cardNo | string | 卡序列号,自动补310前缀(仅nfc卡时存在,否则会空) |
scardSnr | string | 校园卡物理卡号 |
cardSfDetail | string | 卡身份详细介绍 |
status | string | 卡状态,1正常,2已注销,3已挂失,7过期,99未发卡 |
deptCode | string | 部门编号 |
deptName | string | 部门名称 |
cardTypeName | string | 卡类型,目前有3类,nfc/正式卡/虚拟卡 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/ecard/card/info/nfc?cardNo=47****5"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "bb98cbfb-ad17-4491-82ef-2f434ecc96cb",
"data": [{
"userId": "**1",
"scardSnr": "****DC",
"cardNo": "31047****5",
"name": "***",
"cardSfDetail": "教职工",
"status": "1",
"deptCode": "0445",
"deptName": "信息化治理办公室",
"cardTypeName": "nfc"
}]
}
校园卡消费明细
描述
查询校园卡的消费明细,包含收入与支出情况
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v2/ecard/card/consume/detail
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 学工号,当授权为authorization_code和password模式时可省略 |
accMode | 否 | 模式,1充值(收入),2消费(支出),如果不填则均返回 |
startTime | 是 | 起始时间,unix时间戳 |
endTime | 是 | 结束时间,unix时间戳,时间范围不得超过30天 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
refNo | string | 流水号 |
billName | string | 微信充值 |
consumeAmount | number | 交易金额,注意支出的部分是负数 |
consumerTime | string | 消费/充值的时间 |
routeInfo | string | 交易渠道 |
shopName | string | 商户名称 |
termName | string | 交易终端的名称 |
tradeType | 1充值(收入),2消费(支出),即入参的 accCode |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v2/ecard/card/consume/detail?startTime=1661002608&endTime=1662212208&userId=20**73"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "c209fb2c-de31-490e-ba20-c91580eaf30b",
"data": [ {
"userId": "20****73",
"name": "冯*",
"refNo": "20220825143012010542",
"billName": "微信充值",
"consumeAmount": 20,
"consumerTime": "2022-08-25 14:30:16",
"routeInfo": "微信",
"shopName": "校园卡系统",
"termName": "",
"tradeType": "1"
}, {
"userId": "20****73",
"name": "冯*",
"refNo": "20220826182033012601",
"billName": "POS消费",
"consumeAmount": -19.8,
"consumerTime": "2022-08-26 18:20:32",
"routeInfo": "在线刷卡消费",
"shopName": "桂源铺",
"termName": "冬日厅二楼-14",
"tradeType": "2"
}, {
"userId": "20****73",
"name": "冯*",
"refNo": "20220903184204071665",
"billName": "POS消费",
"consumeAmount": -24.3,
"consumerTime": "2022-09-03 18:42:45",
"routeInfo": "支付码消费",
"shopName": "悸动烧仙草(河西二楼)",
"termName": "河西食堂二楼-26",
"tradeType": "2"
}]
}
校园卡账户余额
描述
查询校园卡的钱包状态
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v2/ecard/card/status
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 学工号,当授权为authorization_code和password模式时可省略 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
balance | number | 卡面余额 |
status | string | 卡状态,1正常,2已注销,3已挂失,7过期,99未发卡 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v2/ecard/card/status?userId=20****73"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "46c34b25-6213-421b-8d12-66ab4b321b7b",
"data": [{
"userId": "20****3",
"name": "冯*",
"balance": 65.96,
"status": "1"
}]
}
校园码被扫识别
描述
识别 ECard 小程序的校园码,或者访客入校用的电子身份码。
获取用户学工号/证件号和姓名。
当用于入校场景时,需要判断 idCardNo/userId 是否为空。
即 userId 不为空时,idCardNo 必然为空,此时应该用学工号数据调用(含校友)的入校审批接口(https://api.ecnu.edu.cn/api/v1/epidemic/access) 获取入校权限。
当 idCardNo 不为空时,userId 必然为空,此时应该用身份证数据调用访客入校审批接口(https://api.ecnu.edu.cn/api/v1/epidemic/guestaccess) 获取入校权限。
支持的模式
- client_credentials
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v2/ecard/card/qrcode
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
qrcode | 是 | 扫码获取的字符串,注意提交参数时需要进行 urlEncode 转码 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
idCardNo | string | 证件号 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v2/ecard/card/qrcode?qrcode=SWO5_eDs5qUtjmfM2O5sNYK1qgtDGTDIQ2LeFubMOaYCYwHD7kcatgEB1NdbLBhUARcKjjFsuZKRJt5XPZiARaeZr/2ThCWrnIvKiuV7x"
返回示例
- Ecard 校园码(包括校友)
{
"errCode": 0,
"errMsg": "success",
"requestId": "46c34b25-6213-421b-8d12-66ab4b321b7b",
"data": [{
"userId": "20****3",
"name": "冯*",
"idCardNo": ""
}]
}
- 访客身份码
{
"errCode": 0,
"errMsg": "success",
"requestId": "46c34b25-6213-421b-8d12-66ab4b321b7b",
"data": [{
"userId": "",
"name": "冯*",
"idCardNo": "330***********"
}]
}
校园码消费密码校验
描述
校验校园卡的消费密码
由于消费密码较弱,请务必做好输入侧的“真人”验证,避免暴力破解。
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v2/ecard/card/verify
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 校园卡号 |
password | 是 | 消费密码 |
返回参数
无
请求示例
curl -X POST -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" -H "content-type: application/json" -d "{\"userId\":\"201****3\",\"password\":\"*****\"}" "https://api.ecnu.edu.cn/api/v2/ecard/card/verify"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "46c34b25-6213-421b-8d12-66ab4b321b7b",
"data": null
}
校园卡消费,领款明细(旧版兼容)
描述
查询旧版校园卡的消费,充值领款明细
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v1/ecard/card/consume/detail
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 学工号,当授权为authorization_code和password模式时可省略 |
accMode | 是 | 模式,1充值领款,2消费 |
startTime | 是 | 起始时间,unix时间戳 |
endTime | 是 | 结束时间,unix时间戳,时间范围不得超过30天 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
consumeAmout | number | 金额 |
consumerTime | string | 消费/充值的时间 |
dscrp | string | 消费/充值描述 |
termName | string | 消费/充值终端的名称 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/ecard/card/consume/detail?userId=20****73"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "13021795-19bf-4d10-b55f-81724ece2681",
"data": [{
"userId": "20****73",
"name": "冯*",
"consumeAmount": 10,
"consumerTime": "2021-06-19 12:01:28",
"dscrp": "商场购物",
"termName": "A701零散终端TCP采集/中北大活全家便利店"
}, {
"userId": "20****73",
"name": "冯*",
"consumeAmount": 4.2,
"consumerTime": "2021-06-19 13:29:00",
"dscrp": "商场购物",
"termName": "闵行TCP终端采集工作站/中北牛奶棚"
}, {
"userId": "20****73",
"name": "冯*",
"consumeAmount": 10,
"consumerTime": "2021-06-21 08:02:51",
"dscrp": "商场购物",
"termName": "A701零散终端TCP采集/中北大活全家便利店"
}, {
"userId": "20****73",
"name": "冯*",
"consumeAmount": 16.1,
"consumerTime": "2021-06-21 12:00:54",
"dscrp": "餐费支出",
"termName": "河东餐厅/河东餐厅57#"
}]
}
校园卡钱包状态(旧版兼容)
描述
查询旧版校园卡的钱包状态
支持的模式
- authorization_code
- client_credentials
- password
请求方法
GET
请求地址
https://api.ecnu.edu.cn/api/v1/ecard/card/status
请求参数
参数名 | 是否必填 | 备注 |
---|---|---|
userId | 是 | 学工号,当授权为authorization_code和password模式时可省略 |
返回参数
参数名 | 类型 | 备注 |
---|---|---|
userId | string | 学工号 |
name | string | 姓名 |
balance | number | 卡面余额 |
sumPlanMn | number | 未领款的金额 |
status | string | 卡状态,1正常,2已注销,3已挂失,7过期,99未发卡 |
请求示例
curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/ecard/card/status?userId=20****73"
返回示例
{
"errCode": 0,
"errMsg": "success",
"requestId": "46c34b25-6213-421b-8d12-66ab4b321b7b",
"data": [{
"userId": "20****3",
"name": "冯*",
"balance": 65.96,
"sumPlanMn": 300,
"status": "1"
}]
}