# 校园码解码

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

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

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

# 校园码接口地址:

# 请求方法:

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": "陈小明",
        "weixiao_stu_id": "8YmOkbFrBYb6L5BLp+kPsrZ5F7sp",
        "identity_type": "1",
        "grade": "2016",
        "college": "人居环境工程学院",
        "profession": " 工程造价",
        "class": "1班",
        "identity_title": "本科生",
        "gender": 1, 
        "organization": [
            2,
            222,
            496
        ], 
        "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",
        "start_at": "2019-10-14 00:00:00",
        "expire_at": "2019-10-18 00:00:00",
        "updated_at": "2019-10-16 00:00:00",
    }
}
参数 必填 类型 实例 说明
code Integer 0 响应状态码,0为成功
user card_number String(32) 07302590 用户学工号
entrusts Integer 0 签约状态,0:未签约,1:已签约(需申请)
risk Integer 0 风控等级(需申请)
name Integer 陈小明 用户姓名(需申请)
weixiao_stu_id String(32) 腾讯微卡学生唯一id(需申请)
identity_type Integer 1 成员身份类型(需申请),参考文档成员身份类型列表
grade String 2016 年级(需申请)
college String 人居环境工程学院 学院(需申请)
profession String 工程造价 专业(需申请)
class String 1班 班级(需申请)
identity_title String 本科生 身份职称(需申请)
gender Integer 1 性别,0为未知,1为男,2为女(需申请)
organization Array [2,222,496] 用户所属组织架构id列表(需申请)
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 手机号码(带区号)(需申请)
start_at Datatime 2019-10-14 00:00:00 有效起始时间(需申请)
expire_at Datatime 2019-10-18 00:00:00 有效结束时间(需申请)
updated_at Datatime 2019-10-16 00:00:00 用户信息变更时间(需申请)
offline Integer 0 (1表示当前码为离线码;0表示当前码为在线码)

# 错误时返回:

{
    "code": 1000,
    "message":'必填参数不存在'
}
参数 是否可空 说明
code 非空 返回码(0表示成功)
message 非空 提示信息

# 错误码

名称 解决方案
1000 必填参数不存在
1001 请求已过期,请检查时间戳
1002 签名验证失败,请使用签名验证工具校验
1005 app_key错误
10001 学校代码不正确
10002 当前学校未接入校园码
10003 解码失败,码格式不正确
10004 解码成功,二维码已过期
10005 权限不足
10006 该码已被截图
10007 该码已被使用