接口使用场景:
1、 线上:用户登录协会易后,在小程序报名活动缴费后,跳转到第三方小程序并携带准考证号ticketID,同时会携带三方参数thirdId,参数值需秘书处在协会易活动里配置。
2、 线下:用户登录协会易后,在小程序报名活动缴费后,协会易告知用户准考证号activityNumber,所需的三方参数会在getUserInfo接口返回
3、第三方通过activityNumber调用接口,可获取用户信息。
4、用户在第三方小程序进行竞赛/考试,如果考试通过,通过上一步获取的信息调用颁发证书接口。
注意:所有API接口需携带协会易分发的appId和secret。
1、获取报名用户信息
允许第三方通过此接口获取当前报名用户的基本信息。
URL:https://www.shanghuiyi.com/open/activity/getUserInfo Method:GET
请求参数
参数
|
类型
|
说明
|
activityNumber |
String
|
16个字符,准考证号
|
请求示例
https://www.shanghuiyi.com/open/acitivty/getUserInfo?activityNumber=xxx&appId=xxx&secret=xxx
成功响应
条件:请求参数合法。状态码:0
响应示例:响应将会返回用户的基本信息:
{
"data": {
"baseInfo": {
"userId": "5320812425650176",
"certId": 256,
"username": "李②",
"avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIkO5ZkM3Gr0OjLiabmpeBdgAKfDSLvmhVw5wiaFhsFo990wqERa0iaydw9vBPPkshOeUwxYiawEpMvGw/132",
"region": "",
"undertaker": ""
},
"registerInfo": {
"registerTime": "2023-01-12 17:31:27",
"startTime": "2023-01-25 00:00:00",
"endTime": "2023-01-31 00:00:00",
"level": 9,
"formInfo": [
{
"title": "姓名",
"answer": "李②"
},
{
"title": "联系方式",
"answer": "17365365619"
},
{
"title": "我的等级",
"answer": "五级棋士"
},
{
"title": "身份证号码",
"answer": "4210811548115"
},
{
"title": "备注",
"answer": ""
}
]
},
"thirdId": "?qipuID=136596&qipuType=1"
},
"errmsg": "成功",
"errno": 0
}
返回参数说明
参数名
|
说明
|
errmsg
|
状态描述
|
errno
|
状态码
|
data
|
接口返回数据
|
data数据说明
baseInfo:用户的基本信息
参数名
|
类型
|
说明
|
username
|
string
|
姓名
|
idCard
|
string
|
身份证号
|
region
|
string
|
地区
|
userId
|
string
|
用户id
|
undertaker
|
string
|
活动承办方
|
organizersIntroduction
|
string
|
主办单位
|
avatar
|
string
|
用户头像
|
gender
|
string
|
用户性别 0未知 1男 2女
|
registerInfo:用户报名信息
参数名
|
类型
|
说明
|
registerTime
|
string
|
用户报名时间,格式:yyyy-MM-dd HH:mm:ss
|
startTime
|
string
|
比赛开始时间,格式:yyyy-MM-dd HH:mm:ss
|
endTime
|
string
|
比赛结束时间,格式:yyyy-MM-dd HH:mm:ss
|
level
|
int
|
用户报考等级
|
match
|
string
|
赛事名称
|
formInfo
|
array
|
用户填写的报名表单信息,key-value格式,key为秘书处配置的报名题目,value为用户填写的信息。
|
thirdId:第三方所需参数
错误响应
条件:请求参数非法,具体可查看返回的错误信息。状态码:-1
{
"errmsg": "请求错误",
"errno": -1
}
2、证书颁发
允许第三方通过此接口给通过的用户颁发证书。
URL:https://www.shanghuiyi.com/open/activity/certAward?appId=xxx&secret=xxx Method:POST
前期证书字段硬编码字段
字段名(旧) |
字段名(新) |
类型 |
描述 |
证书编号
|
证书编号
|
string
|
待颁发证书的编号,例如:no887332
|
姓名
|
姓名
|
string
|
参赛人姓名
|
性别
|
性别
|
string
|
参赛人性别,值为男或女
|
单位
|
单位名称
|
string
|
参赛人单位
|
身份证号
|
身份证号
|
string
|
参赛人身份证号码
|
发证机关
|
发证机关
|
string
|
发证机关
|
出生日期
|
出生日期
|
string
|
参赛人出生日期,需解析身份证号
|
发证日期
|
发证日期
|
string
|
发证日期,格式:yyyy-MM-dd
|
赛事名称
|
赛事名称
|
string
|
参与比赛的名称
|
赛事成绩
|
赛事成绩
|
string
|
参赛最终成绩
|
获得称号
|
证书等级
|
string
|
参赛获得的称号
|
个人证件照
|
个人证件照
|
string
|
如果没有,可传空字符串
|
请求参数
参数
|
类型
|
约束
|
userId
|
string
|
字符串
|
certId
|
int
|
整型,固定值392
|
activityNumber
|
string
|
准考证号,字符串
|
certInfos
|
array
|
对象数组
|
certInfo详情
属性
|
类型
|
说明
|
title
|
string
|
硬编码的证书字段名
|
value
|
string
|
证书字段对应的值
|
请求示例
https://www.shanghuiyi.com/open/activity/certAward?appId=xxx&secret=xxxContent-Type: application/json
{
"userId": "xxx",
"certId": xxx,
"certInfos": [
{
"title": "xxx",
"value": "xxx"
},
{
"title": "xxx",
"value": "xxx"
}
]
}
成功响应
条件:请求参数合法。状态码:0
响应示例:响应将会返回证书的h5地址:
{
"data": {
"h5": "https://www.shanghuiyi.com/wv-pdf/#/Cert?isShow=true&shId=225&memberCertId=5841334927626240"
},
"errmsg": "成功",
"errno": 0
}
返回参数说明
参数名
|
说明
|
errmsg
|
状态描述
|
errno
|
状态码
|
data
|
接口返回数据
|
data数据说明
参数名
|
类型
|
说明
|
h5
|
string
|
返回证书h5地址,第三方自行渲染
|
错误响应
条件:请求参数非法。状态码:-1
{
"errmsg": "请求错误",
"errno": -1
}
3、核销准考证
通过此接口可核销用户当次报名的准考证
URL:https://www.shanghuiyi.com/open/activity/checkTicket?appId=xxx&secret=xxx Method:POST
请求参数
参数
|
类型
|
约束
|
activityNumber |
string
|
16个字符,准考证号
|
请求示例
https://www.shanghuiyi.com/open/activity/checkTicket?activityNumber=xxx&appId=xxx&secret=xxx
成功响应
条件:请求参数合法。状态码:0
响应示例:响应将会返回证书的字段信息:
{
"errmsg": "成功",
"errno": 0
}
返回参数说明
参数名
|
说明
|
errmsg
|
状态描述,如若有异常则为异常提示信息
|
errno
|
状态码,0-成功,其余为异常状态
|