# 电子码解码
电子码可以理解为原电子卡二维码的升级,电子码可以实现:
- 快速解码,甚至主体内部署,短期断外网也可用,保证服务高可用,应对突发情况
- 可以同时支持一卡通支付、微信支付、身份认证
- 更丰富的功能拓展,未来扫码后可以即时反馈余额或者奖励鼓励金等,可以提升服务品质和拓展更多玩法
本质上电子码能实现更多功能,加解密方法也有变动(对应码长度会达到几百位),如果主体没有本地部署,那么修改之前的调用地址调用方法和之前一样,如果本地部署了可以调用本地接口解码。
# 电子码解码方式
1.在线解码接口
2.离线解码SDK(发送邮件到seasonyuan@tencent.com进行申请(邮件同时也抄送至lydiaxyang@tencent.com , lindayyang@tencent.com , ronniewan@tencent.com),申请时请注明SDK的语言环境和使用场景)
# 在线解码接口:
# 请求方法:
POST(application/json)
# 请求地址:
https://weixiao.qq.com/apps/school-api/campus-code
# 参数说明:
{
"app_key": "APP_KEY",
"timestamp": "TIMESTAMP",
"nonce": "NONCE",
"signature": "SINGATURE",
"school_code": "SCHOOL_CODE",
"auth_code": "AUTH_CODE",
"scene": "SCENE",
"device_no": "DEVICE_NO",
"location": "LOCATION"
}
字段名 | 变量名 | 必填 | 示例值 | 类型 | 说明 |
---|---|---|---|---|---|
APP_KEY | app_key | 是 | CA1D905AC89ACDCA | int | 应用分配的app_key |
时间戳 | timestamp | 是 | 1514276659 | long | 当前unix时间戳(秒) |
随机字符串 | nonce | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 32位随机字符串 |
数字签名 | signature | 是 | A790E009D30C09BD8605810EAF9C44B0 | String(32) | 使用签名算法计算出来的数字签名 |
场景id | scene | 是 | 1 | int | 1.门禁 2.消费 3.签到 4.其它 |
设备号 | device_no | 是 | device-1213 | String(64) | 设备编号 |
地点 | location | 是 | 三食堂 | String(64) | 扫码地点 |
电子码 | auth_code | 是 | http://wx.url.cn/v001.Eee8m...kA | String | 扫码获得的动态码 |
主体编码 | school_code | 是 | 4144010559 | String | 扫码的主体编码 |
签名方式:见签名算法。
注意:新版主体码长度在80到150个字节之间,使用
wxcc://
或http://wx.url.cn/
(最新版本)为前缀,解码时可不携带前缀。
# 响应说明:
{
"code" : 0,
"offline": "0",
"user" : {
"card_number": "07302590",
"entrusts": "0",
"rick":"0",
"name": "15986765349",
"identity_type": "1",
"grade": "2016",
"college": "人居环境工程学院",
"profession": " 工程造价",
"class": "1班",
"identity_title": "经理/总监/部长/本科生...",
"gender": 1,
"campus": "东校区",
"dorm_number": "至善园",
"physical_chip_number": "xaqwecf",
"physical_card_number": "fqweasd",
"nation": "汉族",
"birthday": "20020319",
"origin_place": "深圳市",
"graduated_school": "小碧中学",
"address": "广东省深圳市",
"contact_person": "陈大明",
"contact_phone": "(+86)13800138000",
"email": "605135612@qq.com",
"id_card": "440305200203194013",
"telephone": "(+86)13800138000",
"created_at": "2019-10-14 00:00:00",
"expire_at": "2019-10-18 00:00:00"
}
}
参数 | 必填 | 类型 | 实例 | 说明 | |
---|---|---|---|---|---|
code | 是 | Integer | 0 | 响应状态码,0为成功 | |
offline | 是 | Integer | 0 | 1表示当前码为离线码;0表示当前码为在线码 | |
user | card_number | 是 | String(32) | 07302590 | 用户电子卡号/学工号 |
name | 是 | String | 15986765349 | 用户姓名(需申请) | |
entrusts | 是 | Integer | 0 | 签约状态,0:未签约,1:已签约(需申请) | |
risk | 是 | Integer | 0 | 风控等级(需申请) | |
identity_type | 是 | Integer | 1 | 成员身份类型(需申请),参考文档成员身份类型列表 | |
grade | 否 | String | 2016 | 年级(需申请) | |
college | 否 | String | 人居环境工程学院 | 学院(需申请) | |
profession | 否 | String | 工程造价 | 专业(需申请) | |
class | 否 | String | 1班 | 班级(需申请) | |
identity_title | 否 | String | 经理/总监/部长/本科生... | 身份职称(需申请) | |
gender | 否 | Integer | 1 | 性别,0为未知,1为男,2为女(需申请) | |
campus | 否 | String | 东校区 | 校区(需申请) | |
dorm_number | 否 | String | 至善园6号 | 宿舍号(需申请) | |
physical_chip_number | 否 | String | xaqwecf | 物理芯片号(需申请) | |
physical_card_number | 否 | String | fqweasd | 物理卡号(需申请) | |
nation | 否 | String | 汉族 | 民族(需申请) | |
birthday | 否 | String | 20020319 | 生日(需申请) | |
origin_place | 否 | String | 深圳市 | 生源地(需申请) | |
graduated_school | 否 | String | 小碧中学 | 毕业学校(需申请) | |
address | 否 | String | 广东省深圳市 | 地址(需申请) | |
contact_person | 否 | String | 陈大明 | 联系人姓名(需申请) | |
contact_phone | 否 | String | (+86)13800138000 | 联系人手机号码(带区号)(需申请) | |
否 | String | 605135612@qq.com | 用户邮箱(需申请) | ||
id_card | 否 | String | 440305200203194013 | 身份证(需申请) | |
telephone | 否 | String | (+86)13800138000 | 手机号码(带区号)(需申请) | |
created_at | 否 | Datatime | 2019-10-14 00:00:00 | 创建时间(需申请) | |
expire_at | 否 | Datatime | 2019-10-18 00:00:00 | 有效结束时间(需申请) |
# 错误时返回:
{
"code": 1000,
"message":'必填参数不存在'
}
参数 | 是否可空 | 说明 |
---|---|---|
code | 非空 | 返回码(0表示成功) |
message | 非空 | 提示信息 |
# 错误码
名称 | 解决方案 |
---|---|
1000 | 必填参数不存在 |
1001 | 请求已过期,请检查时间戳 |
1002 | 签名验证失败,请使用签名验证工具校验 |
1005 | app_key错误 |
10001 | 主体代码不正确 |
10002 | 当前主体未接入电子码 |
10003 | 解码失败,码格式不正确 |
10004 | 解码成功,二维码已过期 |
10005 | 权限不足 |
10006 | 该码已被截图 |
10007 | 该码已被使用 |