概述

使用 VCaaS Open API 可以帮助第三方可以快速集成 VCaaS 的虚拟教室。包括 VCaaS Meeting API 和 VCaaS File API 两部分。

  • VCaaS Open API 质量环境地址:https://uat.vcaas.hilinkdemo.com/api
  • VCaaS Open API 生产环境地址:https://vcaas.hilink.co/api

VCaaS Meeting API

1.创建会议

接口说明

该 API 可用于创建一个新的会议,请求成功后响应结果会返回会议ID meetingId 和会议地址 meetingUrl。会议ID meetingId 将作为生成 JoinToken 的参数,而会议地址 meetingUrl 将用于拼接会议链接 JoinUrl。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v2/meeting-center/meetings

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
meetingExternalIdString(64)true会议外部ID
meetingTitleString(100)true会议名称
startTimeLongfalse会议开始时间,UTC时间戳,单位:秒,默认值:当前时间
endTimeLongtrue会议结束时间,UTC时间戳,单位:秒
timerStartTimeLongfalse计时开始时间,UTC时间戳,单位:秒,默认值:startTime
timerEndTimeLongfalse计时结束时间,UTC时间戳,单位:秒,默认值:endTime
timerCountdownIntegerfalse倒计时开始时间,单位:分钟,默认值:5
callbackUrlStringfalse会议结束数据推送回调地址
redirectUrlStringfalse会议结束跳转地址
invitationUrlStringfalse教室内邀请链接地址
meetingRegionStringfalse会议服务器区域
realTimeCallbackUrlObjectfalse会议实时数据推送回调地址
configObjectfalse会议配置
docIdsListfalse文档ID集合
lessonPlanIdsListfalse教案ID集合 (注意:接受 LessonPlanId 和 aiLessonPlanId)
quizIdsListfalse预设 Quiz ID集合

config 参数详情:

参数类型默认值描述
enableChatBooleantrue是否启用聊天
enableRecordingBooleantrue是否启用录像
enableFilesBooleantrue是否启用多媒体文件播放
enableQuizBooleantrue是否启用测验
enablePollBooleantrue是否启用投票
enableScreenShareBooleantrue是否启用屏幕分享
enableRewardBooleantrue是否启用奖励
enableYoutubePlayerBooleantrue是否启用Youtube播放
enableWaitingRoomBooleantrue是否启用等待室
enableAutoRecordingBooleanfalse是否启用自动录屏
enableWebLinksBooleantrue是否启用Web链接
enableCountdownBooleantrue是否启用倒计时
enableNameRandomizerBooleantrue是否启用大转盘
enableDiceBooleantrue是否启用骰子
enableCalculatorBooleantrue是否启用计算器
enableAfterClassEvalBooleanfalse是否启用课后评价
enableClassroomInvitationBooleanfalse是否启用教室内邀请链接
enableRecordingButtonBooleantrue是否启用录屏按钮
enableRecordingPermissionBooleantrue是否启用录屏权限弹窗
enableEndButtonBooleantrue是否启用结束/退出课堂按钮
enableBreakoutGroupBooleantrue是否启用讨论组功能
enableReactionBooleantrue是否启用表情互动功能
recordingFileTypesList["mp4"]指定录制文件类型。选项包括:["mp4"]、["mp3", "mp4"]。
enableLessonPlanBooleanfalse是否启用教案功能
enableNearpodBooleantrue是否启用 Nearpod
enableBrowserRecBannerBooleanfalse是否启用向非Chrome用户提示使用Chrome浏览器
enableBrowserUpdatePromptBooleantrue是否启用客户控制浏览器更新提示功能的显示
enableStudentSendChatFileBooleantrue是否允许学生在chat中发送文件
enableTeacherOnboardingBooleanfalse是否允许给第一次进入教室的新老师展现引导动画
defaultViewString"sidebar"指定默认视图,选项包括 "sidebar", "gallery", "whiteboard"

meetingRegion 可用区域:

  • 默认的会议区域是:亚太地区(东京)ap-northeast-1,建议根据与会者的位置情况,选择就近的会议区域。
区域
亚太地区(孟买)ap-south-1
亚太地区(首尔)ap-northeast-2
亚太地区(新加坡)ap-southeast-1
亚太地区(悉尼)ap-southeast-2
亚太地区(东京)ap-northeast-1
加拿大(中部)ca-central-1
欧洲(法兰克福)eu-central-1
欧洲(爱尔兰)eu-west-1
欧洲(伦敦)eu-west-2
欧洲(巴黎)eu-west-3
欧洲(斯德哥尔摩)eu-north-1
南美洲(圣保罗)sa-east-1
美国东部(俄亥俄州)us-east-2
美国东部(弗吉尼亚北部)us-east-1
美国西部(加利福尼亚北部)us-west-1
美国西部(俄勒冈)us-west-2

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "startTime": 1673062042,
  "endTime": 1673753242,
  "countdownStartTime": 5,
  "callbackUrl": "<https://www.hilink.co/>",
  "redirectUrl": "<https://www.hilink.co/>",
  "meetingRegion": "us-east-2",
  "invitationUrl" : "<https://www.hilink.co/>",
  "config": {
    "enableChat": true,
    "enableRecording": true,
    "enableFilePlayer": true,
    "enableQuiz": true,
    "enablePoll": true,
    "enableClassroomInvitation" : true,
    "recordingFileTypes": ["mp4", "mp3"],
    "enableBrowserRecBanner" : true,
    "enableBrowserUpdatePrompt" : true
  },
  "docIds": [
  ],
  "lessonPlanIds": [
  ],
  "quizIds": [
  ]
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingExternalIdString会议外部ID
meetingTitleString会议名称
meetingIdString会议ID,将作为生成 JoinToken 的参数
meetingUrlString会议地址,用于拼接会议链接
startTimeLong会议开始时间,UTC时间戳,单位:秒
endTimeLong会议结束时间,UTC时间戳,单位:秒
timerStartTimeInteger计时开始时间,UTC时间戳,单位:秒
timerEndTimeInteger计时结束时间,UTC时间戳,单位:秒
meetingStatusString会议状态

响应示例

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "meetingId": "109391932341489664",
  "meetingUrl": "https://dev.vcaas.hilinkdemo.com/meeting",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673062042,
  "timerEndTime": 1673755042,
  "meetingStatus": "CREATED"
}

2.更新会议

接口说明

该 API 可用于更新一个已创建但未开始的会议。请求成功后响应结果会返回会议ID meetingId 和会议地址 meetingUrl。会议ID meetingId 将作为生成 JoinToken 的参数,而会议地址 meetingUrl 将用于拼接会议链接 JoinUrl。

请注意: 已经过了开始时间的会议无法更新或修改。

请求方法与接入点

  • 请求方法:PATCH
  • 接入点:/v2/meeting-center/meetings/{id}

HTTP请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
meetingTitleString(100)false会议名称
startTimeLongfalse会议开始时间,UTC时间戳,单位:秒.
endTimeLongfalse会议结束时间,UTC时间戳,单位:秒.
timerStartTimeLongfalse计时开始时间,UTC时间戳,单位:秒.
timerEndTimeLongfalse计时结束时间,UTC时间戳,单位:秒.
timerCountdownIntegerfalse倒计时开始时间,单位:分钟.
callbackUrlStringfalse会议结束数据推送回调地址
redirectUrlStringfalse会议结束跳转地址
invitationUrlStringfalse教室内邀请链接地址
meetingRegionStringfalse会议服务器区域
realTimeCallbackUrlObjectfalse会议实时数据推送回调地址
configObjectfalse会议配置
docIdsListfalse文档ID集合
lessonPlanIdsListfalse教案ID集合 (注意:接受 LessonPlanId 和 aiLessonPlanId)
quizIdsListfalse预设 Quiz ID集合

config 参数详情:

参数类型描述
enableChatBoolean是否启用聊天
enableRecordingBoolean是否启用录像
enableFilesBoolean是否启用多媒体文件播放
enableQuizBoolean是否启用测验
enablePollBoolean是否启用投票
enableScreenShareBoolean是否启用屏幕分享
enableRewardBoolean是否启用奖励
enableYoutubePlayerBoolean是否启用Youtube播放
enableWaitingRoomBoolean是否启用等待室
enableAutoRecordingBoolean是否启用自动录屏
enableWebLinksBoolean是否启用Web链接
enableCountdownBoolean是否启用倒计时
enableNameRandomizerBoolean是否启用大转盘
enableCalculatorBoolean是否启用计算器
enableAfterClassEvalBoolean是否启用课后评价
enableClassroomInvitationBoolean是否启用教室内邀请链接
enableRecordingButtonBoolean是否启用录屏按钮
enableRecordingPermissionBoolean是否启用录屏权限弹窗
enableEndButtonBoolean是否启用结束/退出课堂按钮
enableBreakoutGroupBoolean是否启用讨论组功能
enableReactionBoolean是否启用表情互动功能
recordingFileTypesList指定录制文件类型。选项包括:["mp4"]、["mp3", "mp4"]。
enableLessonPlanBoolean是否启用教案功能
enableNearpodBoolean是否启用 Nearpod
enableBrowserRecBannerBoolean是否启用向非Chrome用户提示使用Chrome浏览器
enableBrowserUpdatePromptBoolean是否启用客户控制浏览器更新提示功能的显示
enableStudentSendChatFileBoolean是否允许学生在chat中发送文件
enableTeacherOnboardingBoolean是否允许给第一次进入教室的新老师展现引导动画
defaultViewString指定默认视图,选项包括 "sidebar", "gallery", "whiteboard"

meetingRegion 可用区域:

区域
亚太地区(孟买)ap-south-1
亚太地区(首尔)ap-northeast-2
亚太地区(新加坡)ap-southeast-1
亚太地区(悉尼)ap-southeast-2
亚太地区(东京)ap-northeast-1
加拿大(中部)ca-central-1
欧洲(法兰克福)eu-central-1
欧洲(爱尔兰)eu-west-1
欧洲(伦敦)eu-west-2
欧洲(巴黎)eu-west-3
欧洲(斯德哥尔摩)eu-north-1
南美洲(圣保罗)sa-east-1
美国东部(俄亥俄州)us-east-2
美国东部(弗吉尼亚北部)us-east-1
美国西部(加利福尼亚北部)us-west-1
美国西部(俄勒冈)us-west-2

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "meetingTitle": "Tech meeting Title Update"
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingExternalIdString会议外部ID
meetingTitleString会议名称
meetingIdString会议ID,将作为生成 JoinToken 的参数
meetingUrlString会议地址,用于拼接会议链接
startTimeLong会议开始时间,UTC时间戳,单位:秒
endTimeLong会议结束时间,UTC时间戳,单位:秒
timerStartTimeInteger计时开始时间,UTC时间戳,单位:秒
timerEndTimeInteger计时结束时间,UTC时间戳,单位:秒
meetingStatusString会议状态

响应示例

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting Title Update",
  "meetingId": "109391932341489664",
  "meetingUrl": "https://dev.vcaas.hilinkdemo.com/meeting",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673062042,
  "timerEndTime": 1673755042,
  "meetingStatus": "CREATED"
}

3.结束会议

接口说明

该 API 可用于主动结束一个正在进行中的会议。

请求方法与接入点

  • 请求方法:PUT
  • 接入点:/v1/meeting-center/meetings/{id}/end

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/end
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

4.查询会议列表

接口说明

该 API 可用于分页查询机构下的所有会议。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
pageLongfalse当前页,默认值:0
sizeLongfalse分页大小,默认值:10
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings?page=0&size=10
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
totalLong总记录数
pageLong当前页
sizeLong分页大小
dataList数据集合

响应示例

{
  "total": 1,
  "page": 0,
  "size": 10,
  "data": [
    {
      "meetingExternalId": "500000",
      "meetingTitle": "Tech meeting",
      "meetingId": "109391932341489664",
      "meetingUrl": "https://dev.vcaas.hilinkdemo.com/meeting",
      "startTime": 1673062042,
      "endTime": 1673755042,
      "timerStartTime": 1673071200,
      "timerEndTime": 1673078400,
      "meetingStatus": "CREATED"
    }
  ]
}

5.查询会议

接口说明

该 API 可用于根据会议ID查询单个会议。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings/{id}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingExternalIdString会议外部ID
meetingTitleString会议名称
meetingIdString会议ID,将作为生成 JoinToken 的参数
meetingUrlString会议地址,用于拼接会议链接
startTimeLong会议开始时间,UTC时间戳,单位:秒
endTimeLong会议结束时间,UTC时间戳,单位:秒
timerStartTimeInteger计时开始时间,UTC时间戳,单位:秒
timerEndTimeInteger计时结束时间,UTC时间戳,单位:秒
meetingStatusString会议状态

响应示例

{
  "meetingExternalId": "500000",
  "meetingTitle": "Tech meeting",
  "meetingId": "109391932341489664",
  "meetingUrl": "https://dev.vcaas.hilinkdemo.com/meeting",
  "startTime": 1673062042,
  "endTime": 1673755042,
  "timerStartTime": 1673071200,
  "timerEndTime": 1673078400,
  "meetingStatus": "CREATED"
}

6.删除会议

接口说明

该 API 可用于删除一个会议,删除后会议无法通过查询接口查询。

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v1/meeting-center/meetings/{id}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

7.查询会议文档列表

接口说明

该 API 可用于查询指定会议下的文档集合。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v1/meeting-center/meetings/{id}/documents

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdString文件ID
nameString文件名
typeString文件类型
fileKeyString文件Key
fileStatusString文件状态
fileSizeLong文件大小

响应示例

[
  {
    "docId": "128930307276673024",
    "name": "exampleFolder",
    "type": "folder",
    "fileKey": "",
    "fileStatus": "uploaded",
    "fileSize": 460668,
    "children": [
      {
        "docId": "100313458125443072",
        "name": "test000.ppt",
        "type": "ppt",
        "fileKey": "91232529172008960/test000.ppt",
        "fileStatus": "uploaded",
        "fileSize": 460668,
        "children": []
      }
    ]
  }
]

8.添加会议文档

接口说明

该 API 可用于向指定会议添加一个或多个文档。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v1/meeting-center/meetings/{id}/documents

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
docIdsListtrue文档ID集合

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "docIds": [
    "101102960439857152",
    "102944975171489792"
  ]
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

9.删除会议文档

接口说明

该 API 可用于删除指定会议中的指定文档。

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v1/meeting-center/meetings/{id}/documents/{docId}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
docIdLongtrue文档ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/documents/101102960439857152
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

10.查询会议录像列表

接口说明

该 API 可用于查询会议中的录像视频。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings/{id}/recordings

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271373502823706624/recordings
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingIdString会议ID
meetingTitleString会议标题
recordingTitleString录像标题
videoUrlString录像播放地址
audioUrlString音频播放地址(创建会议 recordingFileTypes 配置了 mp3 格式)
beginTimeLong开始时间
endTimeLong结束时间

响应示例

[
  {
    "meetingId": "271373502823706624",
    "meetingTitle": "test meeting",
    "recordingTitle": "test meeting 01",
    "videoUrl": "https://hilink-agora-record-dev.s3.amazonaws.com/71/f20295c78e46e69e7f1c74960821d3f1_VCaaS7161748_0.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230331T055224Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=ASIA5MC3STOBS4HWLDDJ%2F20230331%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f6c4cb6d46c6c9af0c4c76521d98078e6bbc7f587dce215139ef2e0d51dd6255",
    "audioUrl": "https://hilink-agora-record-dev.s3.amazonaws.com/71/f20295c78e46e69e7f1c74960821d3f1_VCaaS7161748_0_1711598011095.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230331T055224Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=ASIA5MC3STOBS4HWLDDJ%2F20230331%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f6c4cb6d46c6c9af0c4c76521d98078e6bbc7f587dce215139ef2e0d51dd6255",
    "beginTime": "1711594322",
    "endTime": "1711594380"
  }
]

11.查询会议数据

接口说明

该 API 可用于查询会议过程中产生的数据,包括会议时长数据,会议与会者考勤数据,会议录像数据,会议互动数据,会议与会者互动数据。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v1/meeting-center/meetings/{id}/data

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/data
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingDataObject会议时长数据
attendeeDatasObject会议与会者考勤数据
meetingVideoDataObject会议录像数据
meetingInteractiveDataObject会议互动数据
attendeeInteractiveDatasObject会议与会者互动数据
evaluationDataObject课后评价数据

响应示例

{
  "meetingData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "scheduledStartTime": "1671519598",
    "scheduledEndTime": "1692196976",
    "startTime": "1672132286",
    "endTime": "1672201926",
    "duration": "2024"
  },
  "attendeeDatas": [
    {
      "meetingUid": "103288082375249920",
      "meetingExternalId": "123",
      "attendeeUid": "105859080664518656",
      "externalId": "Q8NnQKOaWhax8cD195wB7Q==",
      "timeIn": "1672132517",
      "timeOut": "1672133011",
      "device": "",
      "details": [
        {
          "type": "AttendeeJoined",
          "timestamp": 1672132517822
        },
        {
          "type": "AttendeeLeft",
          "timestamp": 1672132700326
        },
        {
          "type": "AttendeeJoined",
          "timestamp": 1672132952680
        },
        {
          "type": "AttendeeLeft",
          "timestamp": 1672133011815
        }
      ]
    }
  ],
  "meetingVideoData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "videoUrls": [
      "https://hilink-agora-record-dev.s3.amazonaws.com/31/11e35f12a24b170324e9b38307ee9011_VCaaS31104936_0.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230113T105238Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIA5MC3STOBSQDRGF7M%2F20230113%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=f08aa8d30c2e12ef4a909824413a13e489d409f673013414cd4b444cb48b03b6"
    ]
  },
  "meetingInteractiveData": {
    "meetingUid": "103288082375249920",
    "meetingExternalId": "123",
    "quizData": {
      "totalCount": 1,
      "detailDatas": [
        {
          "id": "f8d836e56fb030b893e0f3a05bc487a9",
          "content": {
            "options": [
              {
                "value": "A",
                "label": "ff"
              },
              {
                "value": "B",
                "label": "ffff"
              }
            ],
            "content": "jjjf"
          },
          "averageAccuracy": "",
          "correctAnswer": "A"
        }
      ]
    },
    "pollData": {
      "totalCount": 1,
      "detailDatas": [
        {
          "id": "65155160d48337ee47bcd634bd67bc66",
          "content": {
            "options": [
              {
                "value": "A",
                "label": "fff"
              },
              {
                "value": "B",
                "label": "ffffff"
              }
            ],
            "content": "nihaoy"
          }
        }
      ]
    }
  },
  "attendeeInteractiveDatas": [
    {
      "meetingUid": "103288082375249920",
      "meetingExternalId": "123",
      "attendeeUid": "106838452825362432",
      "externalId": "FWhhpuTn1rUif3UM70gq7Q==",
      "attendeeQuizData": {
        "count": 1,
        "answers": [
          {
            "id": "ef84a2b4634bd53dee901b59076a5d5d",
            "username": "106838452825362432",
            "questionType": "MULTIPLE_CHOICE",
            "selection": "A"
          }
        ]
      },
      "attendeePollData": {
        "count": 1,
        "answers": [
          {
            "id": "6f3d5e11338c834b667940f85e0da317",
            "username": "106838452825362432",
            "pollType": "MULTIPLE_CHOICE",
            "pollOption": {
              "value": "A",
              "label": "hoa"
            }
          }
        ]
      }
    }
  ],
  "evaluationData": [
    {
      "attendeeUid": "222883139968741376",
      "externalId": "3f4cf897028313443fcf93e48a5fda60",
      "attendeeType": "HOST",
      "score": 4,
      "feedback": [],
      "review": ""
    }
  ]
}

12.添加会议预设 Quiz

接口说明

该 API 可用于向指定会议添加一个或多个 Quiz。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v2/meeting-center/meetings/{id}/quizzes

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
quizIdsListtrueQuiz ID集合

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "quizIds": [
    "259031606768046080",
    "259031736292347904"
  ]
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

13.删除会议预设 Quiz

接口说明

该 API 可用于删除指定会议中的指定 Quiz。

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v2/meeting-center/meetings/{id}/quizzes/{quizId}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
quizIdLongtrueQuiz ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes/260868005909630976
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

14.查询会议 Quiz 列表

接口说明

该 API 可用于查询指定会议下的 Quiz 集合。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings/{id}/quizzes

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/quizzes
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
quizIdStringID
externalQuizIdString外部 ID
typeString类型
durationString答题时长,单位:秒
questionString题干
optionsObject选项
quizStatusString状态

响应示例

[
  {
    "quizId": "260868005909630976",
    "externalQuizId": "123456",
    "type": "MULTIPLE_CHOICE",
    "duration": "45",
    "question": "Which of the following are planets in the solar system?",
    "options": {
      "Moon": "false",
      "Mars": "true",
      "Earth": "true",
      "Sun": "false"
    },
    "quizStatus": "CREATED"
  }
]

15.查询会议聊天数据

接口说明

该 API 可用于查询指定会议下的聊天数据。 备注:当前版本接口仅限于查询主会议中产生的聊天数据,不包括讨论组聊天数据。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings/{id}/chatMessage

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/109391932341489664/chatMessage
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
meetingExternalIdString会议外部ID
meetingTitleString会议名称
meetingIdString会议ID
classChatList消息列表

classChat字段结构:

字段类型描述
senderString消息发送者
timestampLong消息发送时间戳,单位:秒
messageString消息内容
hasRecalledBoolean是否被撤回

响应示例

{
    "meetingExternalId": "1709691919",
    "meetingTitle": "chat msg test",
    "meetingId": "109391932341489664",
    "classChat": [
        {
            "sender": "Linda",
            "timestamp": 1711506181,
            "message": "Hi, morning",
            "hasRecalled": true
        },
        {
            "sender": "David",
            "timestamp": 1711506177,
            "message": "Good morning",
            "hasRecalled": false
        }
    ]
}

16.添加会议 Lesson Plan

接口说明

该 API 可用于添加 lesson Plan

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v2/meeting-center/meetings/{id}/lesson-plans

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
lessonPlanIdsListtrue教案的唯一标识符数组

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271625972762198016/lesson-plans
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "lessonPlanIds": [
    "208765402413666304",
    "265273736456966144"
  ]
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
    "code": "SYS20000",
    "message": "success"
}

17.查询会议 Lesson Plan 列表

接口说明

该 API 可用于查询会议的 lesson Plan 列表

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/meeting-center/meetings/{id}/lesson-plans

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/meeting-center/meetings/271625972762198016/lesson-plans
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
lessonPlanIdString教案的唯一标识符
lessonPlanExternalIdString外部标识符
topicString课题名称
audienceString目标听众
durationString课程时长
learningObjectiveString学习目标
languageString授课语言
additionalInfoString额外信息(例如学生的特殊需求)
contentString课程内容,支持Markdown格式

响应示例

[
  {
        "lessonPlanId": "271541303442059264",
        "lessonPlanExternalId": "123456",
        "topic": "Math",
        "audience": "1st grade student",
        "duration": "1 hour",
        "learningObjective": "",
        "additionalInfo": "",
        "language": "English",
        "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
    },
    {
        "lessonPlanId": "271541234223460352",
        "lessonPlanExternalId": "123456",
        "topic": "Math",
        "audience": "1st grade student",
        "duration": "1 hour",
        "learningObjective": "",
        "additionalInfo": "",
        "language": "English",
        "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
    }
]

18.删除会议 Lesson Plan

接口说明

该 API 可用于删除 lesson Plan

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v2/meeting-center/meetings/{id}/lesson-plans/{lessonPlanId}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
lessonPlanIdStringtrue教案ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://test.vcaas.hilinkdemo.com/api/v2/meeting-center/meetings/271625972762198016/lesson-plans/271541303442059264
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
    "code": "SYS20000",
    "message": "success"
}

19.删除会议录像

接口说明

该 API 可用于删除指定会议中的录像

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v1/meeting-center/meetings/{id}/videos

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue会议ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/meeting-center/meetings/109391932341489664/videos
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

VCaaS File API

1.创建文档上传URL

接口说明

该 API 可用于获取文件的上传地址。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v1/document-center/upload-urls

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
keyString(200)true文件Key
durationIntegertrue上传地址链接有效时长,单位:分钟
callbackStringtrue文档上传完回调地址

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/document-center/upload-urls
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "key": "test.doc",
  "duration": 5,
  "callback": ""
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdString文件ID
urlString文件的上传地址

响应示例

{
  "docId": "96397990553587712",
  "url": "https://dev.file.vcaas.hilinkdemo.com/91232529172008960%2Ftest.doc?Expires=1672991509&Signature=OE-hM31AmLFnquWi8BVvtiim0aP~4c~e2EewkA6h5GT0sYw0ejYQUD9fYmz5ScI00tkL8mCaTnbnkHoWGaLZqSt24h-SYotmkbeFAaLVJTS8MdTZkPvkgThYd39AsJiE2KReLA35cdwjyx5mzyQCnuiCHue-uV6~mJ3MAJcFIA75j39s~u0qCDEjBM2Ez-MqtUKYu-xSSWvb3Hwu8Ztg8srV40zoM3hPtC2KjQ7lgCYUK1xTPJa97xS6U4i5FZsiGu~HvSotdZ-ETeTLu6ebbY~Gu6qFef1ajBUqc8jACkI~UBhoE4Az8drc5NzmsyYUTAt4I958DFrmc671TbNM-Q__&Key-Pair-Id=K21VT8DFTV93QE"
}

2.获取文档列表

接口说明

该 API 可用于分页查询机构下的所有文档。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v1/document-center/documents

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
keywordStringfalse查询关键字
statusStringfalse文件状态:presign(预签名),uploaded(已上传)
pageIntfalse当前页,默认值:0
sizeIntfalse分页大小,默认值:10
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/document-center/documents
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdString文件ID
parentIdString父文件夹的文档ID(如果没有父文件夹则返回0)
nameString文件名称
typeString文件类型
fileKeyString文件Key
fileStatusString文件状态
fileSizeLong文件大小,单位:字节

响应示例

{
  "total": 1,
  "page": 1,
  "size": 10,
  "data": [
    {
      "docId": "99221259577069568",
      "parentId": "0",
      "name": "通信 学院 论文 模板 A4.doc",
      "type": "doc",
      "fileKey": "91232529172008960/通信 学院 论文 模板 A4.doc",
      "fileStatus": "uploaded",
      "fileSize": 69632
    }
  ]
}

3.查询文档

接口说明

该 API 可用于根据文件ID查询指定文档。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/document-center/documents/{id}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue文件ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/document-center/documents/99221259577069568
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdString文件ID
parentIdString父文件夹的文档ID(如果没有父文件夹则返回0)
nameString文件名称
typeString文件类型
fileKeyString文件Key
fileStatusString文件状态
fileSizeLong文件大小,单位:字节
childrenList子文件(仅适用于文件夹)

响应示例

{
  "docId":"217665352530874368",
  "parentId":"217665158003249152",
  "name":"Untitled folder 2",
  "type":"folder",
  "fileKey":"",
  "fileStatus":"uploaded",
  "fileSize":1119650,
  "children":
  [
    {
      "docId":"148508893595701248",
      "name":"Presentation1.ppt",
      "type":"ppt",
      "fileKey":"130840909813256192/Presentation1.ppt",
      "fileStatus":"uploaded",
      "fileSize":41472
    },
    {
      "docId":"189671712768528384",
      "name":"staticimage.png",
      "type":"png",
      "fileKey":"130840909813256192/189671712768528384/staticimage.png",
      "fileStatus":"uploaded",
      "fileSize":1078178
    }
  ]
}

4. 创建文件夹

接口说明

该 API 可用于在文档中心创建新文件夹。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v1/document-center/folder

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
nameStringtrue文件夹名字
parentIdStringtrue新文件夹将被创建在其下的父文件夹的ID(如果不属于任何父文件夹,则为0)

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v1/document-center/folder
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdString文件夹 ID
nameString文件夹名字
parentIdString父文件夹的文档ID(如果没有父文件夹则返回0)

响应示例

{
  "docId": "99221259577069568",
  "name": "exampleFolder",
  "parentId": "0"
}

5.删除文档

接口说明

该 API 可用于根据文件ID删除指定文档和文件夹。

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v2/document-center/documents/{id}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrue文件ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/document-center/documents/99221259577069568
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
docIdsList被删除文件docId列表

响应示例

{
  "docIds":["99221259577069568"]
}

6. 移动文档

接口说明

该API可用于将文档或文件夹移动到新的父位置。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v1/document-center/move-document

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
docIdStringtrue文件ID
parentIdStringtrue期望目标文件夹的父ID(如果不属于任何父文件夹,则为0)

请求头

  • 请求 URL:https://vcaas.hilink.co/api/v1/document-center/move-document
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

VCaaS Quiz API

1.创建 Quiz

接口说明

该 API 可用于创建机构下预设的 Quiz 内容。

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v2/feature-center/quizzes

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
externalQuizIdString(128)false外部 ID
typeString(100)true类型,可选值:MULTIPLE_CHOICE(多选)、TRUE_FALSE(判断)
durationString(30)false答题时长,单位:秒,可选值:15、30、45、60。默认值:45
questionString(65535)true题干
optionsObjecttrue选项规则说明:
MULTIPLE_CHOICE 规则:
- options 必须要有一个 true
- options 必须要至少两个选项
- options 的 value 必须是 "true" 或者 "false"

TRUE_FALSE 规则:
- options 只能包含 "true" 和 "false"
- 只能有一个正确答案
- 必须有一个正确答案

请求示例 1

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "externalQuizId": "123456",
  "type": "MULTIPLE_CHOICE",
  "duration": "45",
  "question": "Which of the following are planets in the solar system?",
  "options": {
    "Moon": "false",
    "Mars": "true",
    "Earth": "true",
    "Sun": "false"
  }
}

请求示例 2

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
  "externalQuizId": "123456",
  "type": "TRUE_FALSE",
  "duration": "45",
  "question": "The sun revolves around the Earth?",
  "options": {
    "true": "false",
    "false": "true"
  }
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
quizIdStringID
externalQuizIdString外部 ID
typeString类型
durationString答题时长,单位:秒
questionString题干
optionsObject选项
quizStatusString状态

响应示例

{
  "quizId": "260868005909630976",
  "externalQuizId": "123456",
  "type": "MULTIPLE_CHOICE",
  "duration": "45",
  "question": "Which of the following are planets in the solar system?",
  "options": {
    "Moon": "false",
    "Mars": "true",
    "Earth": "true",
    "Sun": "false"
  },
  "quizStatus": "CREATED"
}

2.删除 Quiz

接口说明

该 API 可用于删除一个 Quiz,删除后 Quiz 无法通过查询接口查询。

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v2/feature-center/quizzes/{id}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
idLongtrueQuiz ID
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes/260868005909630976
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
  "code": "SYS20000",
  "message": "success"
}

3.查询 Quiz 列表

接口说明

该 API 可用于分页查询机构下的所有 Quiz。

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/feature-center/quizzes

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
pageLongfalse当前页,默认值:0
sizeLongfalse分页大小,默认值:10
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/quizzes?page=0&size=10
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
totalLong总记录数
pageLong当前页
sizeLong分页大小
dataList数据集合

响应示例

{
  "total": 1,
  "page": 0,
  "size": 10,
  "data": [
    {
      "quizId": "260868005909630976",
      "externalQuizId": "123456",
      "type": "MULTIPLE_CHOICE",
      "duration": "45",
      "question": "Which of the following are planets in the solar system?",
      "options": {
        "Moon": "false",
        "Mars": "true",
        "Earth": "true",
        "Sun": "false"
      },
      "quizStatus": "CREATED"
    }
  ]
}

VCaaS Lesson Plan API

1. 上传 Lesson Plan

接口说明

该 API 可用于上传 lesson Plan 至 VCaaS

请求方法与接入点

  • 请求方法:POST
  • 接入点:/v2/feature-center/lesson-plans

HTTP 请求

路径参数

/

请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
lessonPlanExternalIdString(64)false外部Id
topicString(200)false主题
audienceString(500)false观众
durationString(200)false时长
learningObjectiveString(800)false目标
languageString(200)false语言
additionalInfoString(1500)false额外信息
contentStringtrueLesson plan 内容(Markdown 格式)

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
lessonPlanIdString教案的唯一标识符
lessonPlanExternalIdString外部Id
topicString主题
audienceString观众
durationString时长
learningObjectiveString目标
languageString语言
additionalInfoString额外信息
contentStringLesson plan 内容(Markdown 格式)

响应示例

{
    "lessonPlanId": "271540816638554112",
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

2. 删除 Lesson Plan

接口说明

该 API 可以用于从 VCaaS 删除 Lesson Plan

请求方法与接入点

  • 请求方法:DELETE
  • 接入点:/v2/feature-center/lesson-plans/{lessonPlanId}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
lessonPlanIdLongtrue教案的唯一标识符
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans/271625972762198016
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
codeStringVCaaS 系统响应码
messageStringVCaaS 系统响应提示

响应示例

{
    "code": "SYS20000",
    "message": "success"
}

3. 分页查询 Lesson Plan 列表

接口说明

该 API 可用于分页查询所有的 Lesson Plan

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/feature-center/lesson-plans

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
pageIntfalse当前页,默认值:0
sizeIntfalse分页大小,默认值:10
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans?page=0&size=10
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
totalInteger查询结果的总数量
pageInteger当前页码,从0开始计数
sizeInteger每页显示的数量
dataArray包含查询结果的数组,每个对象包含以下字段:

data 数组中的对象包含以下字段:

字段类型描述
lessonPlanIdString教案的唯一标识符
lessonPlanExternalIdString外部Id
topicString主题
audienceString观众
durationString时长
learningObjectiveString目标
languageString语言
additionalInfoString额外信息
contentStringLesson plan 内容(Markdown 格式)

响应示例

{
    "total": 90,
    "page": 0,
    "size": 10,
    "data": [
        {
            "lessonPlanId": "271541303442059264",
            "lessonPlanExternalId": "123456",
            "topic": "Math",
            "audience": "1st grade student",
            "duration": "1 hour",
            "learningObjective": "",
            "additionalInfo": "",
            "language": "English",
            "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
        },
        {
            "lessonPlanId": "271541234223460352",
            "lessonPlanExternalId": "123456",
            "topic": "Math",
            "audience": "1st grade student",
            "duration": "1 hour",
            "learningObjective": "",
            "additionalInfo": "",
            "language": "English",
            "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
        }
    ]
}

4. 查询 Lesson Plan

接口说明

该 API 可通过 LessonPlanId 查询 Lesson Plan

请求方法与接入点

  • 请求方法:GET
  • 接入点:/v2/feature-center/lesson-plans/{lessonPlanId}

HTTP 请求

路径参数

该 API 需要在 URL 中传入以下参数:

参数类型必填描述
lessonPlanIdLongtrue教案的唯一id
请求头
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容。
请求包体

/

请求示例

  • 请求 URL:https://vcaas.hilink.co/api/v2/feature-center/lesson-plans/271541303442059264
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
lessonPlanIdString教案的唯一标识符
lessonPlanExternalIdString外部Id
topicString主题
audienceString观众
durationString时长
learningObjectiveString目标
languageString语言
additionalInfoString额外信息
contentStringLesson plan 内容(Markdown 格式)

响应示例

{
  
    "lessonPlanId": "271541303442059264",
    "lessonPlanExternalId": "123456",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

Ai Service (测试版)

说明

AI Service 接入端点如下:

  • AI Service API 生产环境地址:https://ai.vcaas.hilink.co/api

1. 生成 lesson plan

接口说明

该 API 可用于生成 AI lesson plan

请求方法与接入点

  • 请求方法:POST
  • 接入点:/ai-center/v1/ai-lesson-planner

HTTP 请求

路径参数

/

请求头

Content-Type: application/json Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容

请求包体

该 API 需要在请求包体中传入以下参数:

参数类型必填描述
topicString(200)true教案主题
audienceString(500)true教案观众
durationString(200)true计划课程时长
learningObjectiveString(800)false教学目标
additionalInfoString(800)false额外信息
languageString(200)false教案输出语言

请求示例

  • 请求 URL:https://vcaas.ai.hilink.co/api/ai-center/v1/ai-lesson-planner
  • Content-Type: application/json
  • Authorization: 该字段的值请参考文档说明部分中的获取开发者账号内容
  • 请求包体内容:
{
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English"
}

HTTP 响应

如果返回的 HTTP 状态码为 200,表示请求成功。响应包体中包含以下字段:

字段类型描述
aiLessonPlanIdStringLesson plan ID
languageString教案输出语言
additionalInfoString额外信息
audienceString教案观众
durationString计划课程时长时长
learningObjectiveString教学目标
topicString教案主题
contentStringLesson plan 内容(Markdown 格式)

响应示例

{
    "aiLessonPlanId": "ALP-LAZ0T7M2cam",
    "topic": "Math",
    "audience": "1st grade student",
    "duration": "1 hour",
    "learningObjective": "",
    "additionalInfo": "",
    "language": "English",
    "content": "# Math Lesson Plan for 1st Grade Students\n\n## Learning Objective:\n- Students will be able to identify and describe the properties of 2D shapes.\n\n## Opening Assessment:\n- Ask students to name as many shapes as they can in 1 minute. This will help the teacher understand the prior knowledge of the students regarding shapes.\n\n## Lesson Plan:\n1. **Introduction to 2D Shapes**\n   - Use a whiteboard to draw and label different 2D shapes (circle, square, triangle, rectangle).\n   - Play a YouTube video showing real-life examples of these shapes.\n   - Ask students to list the shapes they saw in the video.\n\n2. **Properties of Shapes**\n   - Explain the properties of each shape (number of sides, corners, etc.).\n   - Use the annotation tool to allow students to draw the shapes and label their properties.\n   - Quiz: \n     - Question: How many sides does a square have?\n     - Answers: A) 3 B) 4 C) 5\n     - Explanation: A square has 4 sides, so the correct answer is B.\n\n3. **Sorting Shapes**\n   - Show students a mix of different shapes and ask them to sort them into groups based on their properties (number of sides, corners, etc.).\n   - Poll: \n     - Question: Which shape has 3 sides?\n     - Answers: A) Circle B) Triangle C) Square\n     - Explanation: A triangle has 3 sides, so the correct answer is B.\n\n4. **Review and Student Rewards**\n   - Review the properties of each shape with the students.\n   - Give out virtual stickers or points to students who actively participated and answered questions correctly.\n\n## Exit Ticket:\n- Quiz: \n  - Question: How many sides does a triangle have?\n  - Answers: A) 2 B) 3 C) 4\n  - Explanation: A triangle has 3 sides, so the correct answer is B.\n\nBy following this lesson plan, students will have a better understanding of the properties of 2D shapes."
}

Last Updated: