# 事件回调
使用事件回调功能,需要在管理端 管理中心 - 系统设置 - 开放平台设置 - 回调URL 配置您的回调地址,配置好之后通知您的开发人员针对回调业务做对应的接口开发。
点击 回调历史记录 可以查看回调请求结果,成功则返回success字符串,其余返回结果均为失败。
对于回调失败的记录,可以手动进行重试。
# 考试答卷回调
# 功能说明
学员考试结束成功交卷后,轻速云平台可以将考试结果推送到您自己平台的接口,您的平台可以实时获取到学员考试结果数据。答卷回调功能需要在试卷设置里开启,具体开启流程如下。
在试卷设置里,考试后的配置中,可以看到启用回调开关,启用之后此试卷的考试结果才会实时推送到您的平台。
# 调用方式
方式:post
# 回调请求体示例
{
"ts":"2022-01-08 17:39:42.388", // 事件发送的时间
"uuid":"229381ace3264e7ba8bf6d520d30922a", // 事件的唯一标识
"secretKey":"2918148edb9a4939857a8b3a387127f6", // 校验密钥,管理端系统资料 - 密钥
"type":"answerSheet", // 消息类型 answerSheet:答卷内容回调
"callbackUrl":"http://www.***.com/eventCallBack", // 回调URL
"eventBody":{
"id":"d7453b7a9a6f4fe892d5c7895a95b5c8", // 答卷id
"paperId":"18081428190", // 试卷ID
"paperName":"试卷名称",
"userId":"d7453b7a9a6f4fe892d5c7895a95b5c8", // 成员ID
"examineeCode":"zhanghao", // 成员账号
"examineeName":"张三", // 成员姓名
"totalScore":100, // 试卷总分
"passScore":60, // 试卷及格分
"realScore":0, // 成员考试得分
"useDuration":6, // 考试用时(单位:秒)
"judged":1, // 是否已判卷,1为已判卷,空和0为未判卷,未判卷的答卷需要后台阅卷
"startTime":1641634772902, // 开始考试时间
"endTime":1641634779413 // 完成考试时间
}
}
提示
示例为非公开试卷,若为公开试卷,则会携带采集信息。
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 课程完成信息回调
# 功能说明
学员完成课程学习后,轻速云平台可以将学习信息推送到您自己平台的接口,您的平台可以实时获取到学员学习结果数据。课程完成信息回调功能需要在课程设置里开启,具体开启流程如下。
在课程设置里,其他设置中,可以看到启用回调开关,启用之后此课程的学习结果才会实时推送到您的平台。
# 调用方式
方式:post
# 回调请求体示例
{
"ts":"2022-01-08 17:39:42.388", // 事件发送的时间
"uuid":"229381ace3264e7ba8bf6d520d30922a", // 事件的唯一标识
"secretKey":"2918148edb9a4939857a8b3a387127f6", // 校验密钥,管理端系统资料 - 密钥
"type":"courseFinish", // 消息类型 courseFinish:课程回调
"callbackUrl":"http://www.***.com/eventCallBack", // 回调URL
"eventBody":{
"courseId": "b3fbfab6df73439e81f741d4ef7e5cc7", //课程id
"courseName": "回调课程111", //课程名称
"coursewareCount": 4, //课程所含课件数
"finishedCount": 4, //学员完成课件数
"finishedTime": 1664521661000, //完成时间
"id": "248c84c209004b0fb0e719406a7f35e5", //课程进度id
"nickName": "月清疏", //学员姓名
"studyedDuration": 110, //学习时长
"userCode": "1001", //学员账号
"userId": "11bf7d9d6c9c426980d5f6e8ca163c01" //学员id
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 课程知识完成信息回调
# 功能说明
学员完成课件学习后,轻速云平台可以将学习信息推送到您自己平台的接口,您的平台可以实时获取到学员学习结果数据。课件完成信息回调功能需要在课程设置里开启,具体开启流程如下。
在课程设置里,其他设置中,可以看到启用回调开关,启用之后此课程对应课件的学习结果才会实时推送到您的平台。
# 调用方式
方式:post
# 回调请求体示例
{
"ts":"2022-01-08 17:39:42.388", // 事件发送的时间
"uuid":"229381ace3264e7ba8bf6d520d30922a", // 事件的唯一标识
"secretKey":"2918148edb9a4939857a8b3a387127f6", // 校验密钥,管理端系统资料 - 密钥
"type":"coursewareFinish", // 消息类型 coursewareFinish:课程-课件回调
"callbackUrl":"http://www.***.com/eventCallBack", // 回调URL
"eventBody": {
"courseCatalogId": "95fe7c9f8938415ea081221321ab8f2a", //课件记录id
"courseId": "b3fbfab6df73439e81f741d4ef7e5cc7", //课程id
"courseName": "回调课程111", //课程名称
"coursewareId": "e5931d8dc06c43f9be46900381bcdd94", //课件id
"coursewareName": "单独的课件学15秒", //课件名称
"finished": 1, //是否完成
"finishedTime": 1664522482000, //完成时间
"id": "a0045b461b244d8685e1567b3c106cbd",
"nickName": "林黛玉", //学员姓名
"progress": 0, //学习进度
"startTime": 1664522468000, //开始时间
"studyDuration": 15, //学习时长
"userCode": "1003", //学员账号
"userId": "51d52d99793f407d996d40f2021f3680" //学员id
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 打卡完成信息回调
# 功能说明
学员完成打卡学习后,轻速云平台可以将打卡结果信息推送到您自己平台的接口,您的平台可以实时获取到学员学习结果数据。打卡完成信息回调功能需要在打卡设置里开启,具体开启流程如下。
# 调用方式
方式:post
# 回调请求体示例
{
"ts": "2023-07-13 09:53:17.017", // 事件发送的时间
"uuid": "82d4d230d1ce403e9e457dff93dd0dbd", // 事件的唯一标识
"secretKey": "4d5f3185284041f0b00d1c3f79a50f62", // 校验密钥,管理端系统资料 - 密钥
"type": "clockFinish", // 消息类型 clockFinish:打卡学习回调
"callbackUrl": "http://xxxxx/finishCallBack", // 回调URL
"eventBody": {
"id": "58297eb5cabb4b0d9b7720635d9ab75a", // 答卷id
"clockId": "9999", //打卡任务id
"clockName": "打卡任务名称",
"days": 1, //坚持天数
"examineeCode": "1002", // 成员账号
"examineeName": "龙葵", // 成员姓名
"totalAmount": 1, // 总题数
"wrongAmount": 1, // 答错题数
"startTime": 1689213152000, // 答题开始时间
"endTime": 1689213158000, // 答题结束时间
"rightRatio": "0.00%" // 正确率
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 学习地图完成信息回调
# 功能说明
学员完成学习地图(新员工培训)学习后,轻速云平台可以将学习信息推送到您自己平台的接口,您的平台可以实时获取到学员学习结果数据。学习地图完成信息回调功能需要在学习地图设置里开启,具体开启流程如下。
在学习地图设置里,可以看到启用回调开关,启用之后此学习地图的学习结果才会实时推送到您的平台。
# 调用方式
方式:post
# 回调请求体示例
{
"ts":"2022-01-08 17:39:42.388", // 事件发送的时间
"uuid":"4ad6a21fada241e9aeff90d814779fcb", // 事件的唯一标识
"secretKey":"2918148edb9a4939857a8b3a387127f6", // 校验密钥,管理端系统资料 - 密钥
"type":"mapFinish", // 消息类型 mapFinish:学习地图回调
"callbackUrl":"http://www.***.com/eventCallBack", // 回调URL
"eventBody":{
"id": "9999", //学习地图id
"name": "回调地图123", //学习地图名称
"mustProgress": 1, //必修课件学习进度
"selectProgress": 0.5, //选修课件学习进度
"totalTaskNum": 4, //学习地图任务数量
"finishedCount": 4, //学员完成课件数
"nickName": "月清疏", //学员姓名
"studyedDuration": 110, //学习时长
"userCode": "1001", //学员账号
"userId": "11bf7d9d6c9c426980d5f6e8ca163c01" //学员id
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 学习地图任务完成信息回调
# 功能说明
学员完成学习地图(新员工培训)的关联任务后,轻速云平台可以将学习信息推送到您自己平台的接口,您的平台可以实时获取到学员学习结果数据。学习地图任务完成信息回调功能需要在学习地图设置里开启,具体开启流程如下。
在学习地图设置里,可以看到启用回调开关,启用之后此学习地图的学习结果才会实时推送到您的平台。
# 调用方式
方式:post
# 回调请求体示例
{
"ts": "2026-01-04 17:36:25.760", // 事件发送的时间
"uuid": "d91d4b81008146c1b1a7b57015d2aab5", // 事件的唯一标识
"secretKey": "xfbca1ecf82a48b5b4h828dtae1d1160", // 校验密钥,管理端系统资料 - 密钥
"type": "taskFinish", // 消息类型 taskFinish:学习地图任务回调
"callbackUrl": "https://www.***.com/eventCallBack", // 回调URL
"eventBody": {
"id": "c326ef84b519404cb3a9bff0362ab549", // 学习地图任务记录主键id(可忽略)
"factoryCode": "100000", // 租户编号
"mapId": 9115, // 学习地图id
"mapRecordId": "360e4565fe39456ea1cd1742f45ef44b", // 学习地图学员学习记录id(可忽略)
"userId": "d55eda2b73244028b1f566e29c6f7eaf", // 学员id
"mapTaskId": "2d1c1720e48111f089faa088c2a75020", // 学习地图任务id
"eventId": "fd7a29567f5945d89e6611c26425cd23", // 关联项目id,如考试则为试卷id
"eventType": 1, // 学习地图任务类型(0知识,1课程,2考试,3报名,4问卷,5证书,6作业,7培训班,8考勤,9考核,10AI陪练,11直播,12练习)
"credit": 0, // 学习地图任务积分
"finished": 1, // 学习地图任务完成状态(可忽略)
"finishedTime": 1767519385000, // 学习地图任务完成时间
"createTime": 1767519348000 // 学习地图任务开始时间
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public void eventCallBack(@RequestBody Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
// 业务逻辑
}
# 学习地图配置推送
# 功能说明
学习地图的名称、阶段或任务配置新增、修改后,轻速云平台可以将学习地图配置推送到您自己平台的接口,您的平台可以获取学习地图的最新配置快照,字段范围以 eventBody 为准。
使用该功能前,需要在管理端 管理中心 - 系统设置 - 开放平台设置 中配置回调 URL,并开启 配置与证书事件推送。
# 调用方式
方式:post
# 回调请求体示例
{
"ts": "2026-09-01 14:32:00.339", // 事件发送的时间
"uuid": "30ee2bdbacfe4c969761e058a0eb714d", // 事件的唯一标识
"secretKey": "your-secret-key", // 校验密钥,管理端系统资料 - 密钥
"type": "mapConfig", // 消息类型 mapConfig:学习地图配置推送
"callbackUrl": "https://www.***.com/eventCallBack", // 回调URL
"eventBody": {
"mapId": 10439, // 学习地图id
"mapName": "岗位成长地图", // 学习地图名称
"periods": [ // 阶段列表,无阶段时为空数组
{
"periodId": "period-id-1", // 阶段id
"periodName": "阶段一", // 阶段名称
"sortIndex": 1, // 阶段排序值
"tasks": [ // 阶段任务列表,无任务时为空数组
{
"taskId": "task-id-1", // 地图任务关系id
"eventType": 1, // 任务类型,1为课程
"eventId": "course-id-1", // 关联业务数据id
"eventName": "入职基础课程", // 地图中显示的任务名称
"sortIndex": 1, // 任务排序值
"taskSelectType": 0 // 0必修,1选修
},
{
"taskId": "task-id-2",
"eventType": 2, // 任务类型,2为考试
"eventId": "paper-id-1",
"eventName": "阶段考试",
"sortIndex": 2,
"taskSelectType": 1
}
]
}
]
}
}
提示
eventType 对应的任务类型:0课件,1课程,2考试,3报名,4问卷,5证书,6作业,7培训班,8考勤,9考核,10AI陪练,11直播,12练习。
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public String eventCallBack(@RequestBody Map<String, Object> params) {
// 业务逻辑
return "success";
}
# 课程配置推送
# 功能说明
课程名称、所属分类、关联标签、目录内容、考试或前置课程等配置新增、修改后,轻速云平台可以将课程配置推送到您自己平台的接口,您的平台可以获取课程的最新配置快照,字段范围以 eventBody 为准。
使用该功能前,需要在管理端 管理中心 - 系统设置 - 开放平台设置 中配置回调 URL,并开启 配置与证书事件推送。
# 调用方式
方式:post
# 回调请求体示例
{
"ts": "2026-09-01 14:32:01.007", // 事件发送的时间
"uuid": "f99bd6657a364bae86c58c4e07dcac33", // 事件的唯一标识
"secretKey": "your-secret-key", // 校验密钥,管理端系统资料 - 密钥
"type": "courseConfig", // 消息类型 courseConfig:课程配置推送
"callbackUrl": "https://www.***.com/eventCallBack", // 回调URL
"eventBody": {
"courseId": "course-id-1", // 课程id
"courseName": "入职基础课程", // 课程名称
"courseCategory": { // 课程直接所属分类,无分类时为null
"categoryId": "category-id-1", // 分类id
"categoryName": "新员工课程" // 分类名称
},
"tags": [ // 课程标签,无标签时为空数组
{
"tagId": "tag-id-1", // 标签id
"tagName": "必学" // 标签名称
}
],
"catalog": [ // 课程目录结构
{
"nodeId": "directory-id-1", // 目录节点id
"nodeType": "directory", // directory:目录
"directoryName": "第一章", // 目录名称
"sortIndex": 1, // 排序值
"children": [ // 目录子节点,空目录时为空数组
{
"nodeId": "knowledge-ref-id-1", // 知识关系节点id
"nodeType": "knowledge", // knowledge:知识
"knowledgeId": "knowledge-id-1", // 知识id
"knowledgeName": "企业文化", // 知识名称
"sortIndex": 1
},
{
"nodeId": "exam-ref-id-1", // 考试关系节点id
"nodeType": "exam", // exam:目录考试
"paperId": "paper-id-1", // 试卷id
"paperName": "章节考试", // 试卷名称
"sortIndex": 2
}
]
},
{
"nodeType": "finalExam", // finalExam:结课考试,结课考试不包含nodeId
"paperId": "final-paper-id-1", // 试卷id
"paperName": "结课考试", // 试卷名称
"examQualification": 0, // 考试资格,使用系统配置的数字值
"sortIndex": 2
}
],
"coursePrerequisiteEnable": 1, // 是否启用前置课程
"coursePrerequisiteFinishType": 0, // 前置课程完成条件,使用系统配置的数字值
"preCourses": [ // 前置课程列表,无前置课程时为空数组
{
"courseId": "pre-course-id-1", // 前置课程id
"courseName": "入职须知", // 前置课程名称
"sortIndex": 1 // 前置课程排序值
}
]
}
}
提示
课程目录节点类型包括:directory 目录、knowledge 知识、exam 目录考试、finalExam 结课考试。只有目录节点包含 children,结课考试不包含 nodeId。
examQualification:0 表示完成课程全部内容后可参加结课考试,1 表示达到课程设置的学习时长后可参加结课考试。
coursePrerequisiteEnable:0 表示未开启前置课程,1 表示已开启前置课程。coursePrerequisiteFinishType:0 表示全部完成,1 表示任选其一完成。
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public String eventCallBack(@RequestBody Map<String, Object> params) {
// 业务逻辑
return "success";
}
# 证书获取推送
# 功能说明
学员获得考试、普通学习地图或新员工培训关联的证书后,轻速云平台可以将学员、证书及证书来源信息推送到您自己平台的接口。
使用该功能前,需要在管理端 管理中心 - 系统设置 - 开放平台设置 中配置回调 URL,并开启 配置与证书事件推送。
考试、普通学习地图和新员工培训自动生成并正式发放的证书支持该事件。证书管理中直接手动发放的证书不在推送范围内。
已发放证书重新生成并再次正式发放成功后,可能再次产生证书获取推送。同一证书记录再次推送时,certMemberId 可能重复,每次回调以 uuid 区分。
# 调用方式
方式:post
# 回调请求体示例
{
"ts": "2026-09-01 14:35:16.341", // 事件发送的时间
"uuid": "451250bf0dc649f688681764069f562b", // 事件的唯一标识
"secretKey": "your-secret-key", // 校验密钥,管理端系统资料 - 密钥
"type": "certObtain", // 消息类型 certObtain:证书获取推送
"callbackUrl": "https://www.***.com/eventCallBack", // 回调URL
"eventBody": {
"member": {
"userCode": "zhangsan", // 学员账号
"nickName": "张三" // 学员姓名
},
"certificate": {
"certMemberId": "cert-member-id-1", // 学员证书记录id
"certId": "cert-id-1", // 证书id
"certName": "优秀学员证书", // 证书名称
"certUrl": "https://static.example.com/cert/cert-member-id-1.png", // 证书图片URL
"certSerial": "CERT-2026-0001", // 证书编号
"publishTime": "2026-09-01 14:35:16", // 证书发放时间
"expireTime": null // 证书失效时间,永久有效时为null
},
"source": {
"sourceType": "exam", // 证书来源类型,exam:考试
"exam": {
"paperId": "paper-id-1", // 试卷id
"paperName": "结业考试", // 试卷名称
"totalScore": 100, // 试卷总分
"realScore": 86 // 学员实际得分
}
}
}
}
# 其他证书来源示例
学习地图证书的 source 结构:
{
"sourceType": "learningMap",
"learningMap": {
"mapId": 10439, // 学习地图id
"mapName": "岗位成长地图", // 学习地图名称
"period": {
"periodId": "period-id-1", // 阶段id
"periodName": "阶段一" // 阶段名称
}
}
}
新员工培训证书的 source 结构:
{
"sourceType": "newEmployeeTraining",
"newEmployeeTraining": {
"trainingId": 10440, // 新员工培训id
"trainingName": "新员工入职培训", // 新员工培训名称
"period": {
"periodId": "period-id-2", // 阶段id
"periodName": "入职培训阶段" // 阶段名称
}
}
}
接收方法示例(JAVA):
@PostMapping("/eventCallBack")
public String eventCallBack(@RequestBody Map<String, Object> params) {
// 业务逻辑
return "success";
}