# 电子码解码

电子码可以理解为原电子卡二维码的升级,电子码可以实现:

  1. 快速解码,甚至主体内部署,短期断外网也可用,保证服务高可用,应对突发情况
  2. 可以同时支持一卡通支付、微信支付、身份认证
  3. 更丰富的功能拓展,未来扫码后可以即时反馈余额或者奖励鼓励金等,可以提升服务品质和拓展更多玩法

本质上电子码能实现更多功能,加解密方法也有变动(对应码长度会达到几百位),如果主体没有本地部署,那么修改之前的调用地址调用方法和之前一样,如果本地部署了可以调用本地接口解码。

# 电子码解码方式


1.在线解码接口

2.离线解码SDK(发送邮件到seasonyuan@tencent.com进行申请(邮件同时也抄送至lydiaxyang@tencent.com , lindayyang@tencent.com , ronniewan@tencent.com),申请时请注明SDK的语言环境和使用场景)

# 在线解码接口:

# 字段申请地址:

发送需要申请的字段到seasonyuan@tencent.com进行申请(邮件同时也抄送至lydiaxyang@tencent.com , lindayyang@tencent.com , ronniewan@tencent.com),申请时需要注明应用APPKEY、应用名称、及应用使用场景

# 请求方法:

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 扫码的主体编码

查看主体代码 (opens new window)

签名方式:见签名算法

注意:新版主体码长度在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 联系人手机号码(带区号)(需申请)
email 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 该码已被使用