14 KiB
14 KiB
会议管理接口文档
接口列表
1. 创建会议
接口地址: POST /meeting/create_meeting
请求参数:
{
"meetingID": "string", // 会议ID(选填,不填则自动生成)
"subject": "string", // 会议主题(必填)
"coverURL": "string", // 封面URL(选填)
"scheduledTime": 1234567890000, // 预约时间戳(毫秒,必填)
"description": "string", // 会议描述(选填)
"duration": 60, // 会议时长(分钟,选填)
"estimatedCount": 100, // 会议预估人数(选填)
"enableMic": true, // 是否开启连麦(选填,默认false)
"enableComment": true, // 是否开启评论(选填,默认false)
"anchorUserIDs": ["user1", "user2"], // 主播用户ID列表(多选,选填)
"ex": "string" // 扩展字段(选填)
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"meetingInfo": {
"meetingID": "string", // 会议ID
"subject": "string", // 会议主题
"coverURL": "string", // 封面URL
"scheduledTime": 1234567890000, // 预约时间戳(毫秒)
"status": 1, // 会议状态:1-已预约,2-进行中,3-已结束,4-已取消
"creatorUserID": "string", // 创建者用户ID
"description": "string", // 会议描述
"duration": 60, // 会议时长(分钟)
"estimatedCount": 100, // 会议预估人数
"enableMic": true, // 是否开启连麦
"enableComment": true, // 是否开启评论
"anchorUserIDs": ["user1", "user2"], // 主播用户ID列表(多选)
"anchorUsers": [ // 主播用户信息列表
{
"userID": "user1",
"nickname": "主播1",
"faceURL": "https://example.com/avatar1.jpg"
},
{
"userID": "user2",
"nickname": "主播2",
"faceURL": "https://example.com/avatar2.jpg"
}
],
"createTime": 1234567890000, // 创建时间戳(毫秒)
"updateTime": 1234567890000, // 更新时间戳(毫秒)
"ex": "string", // 扩展字段
"groupID": "string" // 关联的群聊ID
},
"groupID": "string" // 创建的群聊ID
}
}
说明:
- 创建会议时会自动创建一个群聊,群聊名称为"群聊-[会议主题]"
- 会议封面会作为群聊头像
- 如果有主播列表,第一个主播自动成为群主,其他主播成为管理员
- 如果没有主播列表,创建者自动成为群主
2. 更新会议
接口地址: POST /meeting/update_meeting
请求参数:
{
"meetingID": "string", // 会议ID(必填)
"subject": "string", // 会议主题(选填)
"coverURL": "string", // 封面URL(选填)
"scheduledTime": 1234567890000, // 预约时间戳(毫秒,选填)
"status": 2, // 会议状态:1-已预约,2-进行中,3-已结束,4-已取消(选填)
"description": "string", // 会议描述(选填)
"duration": 60, // 会议时长(分钟,选填)
"estimatedCount": 100, // 会议预估人数(选填)
"enableMic": true, // 是否开启连麦(选填,使用指针以区分是否设置)
"enableComment": true, // 是否开启评论(选填,使用指针以区分是否设置)
"anchorUserIDs": ["user1", "user2"], // 主播用户ID列表(多选,选填)
"ex": "string" // 扩展字段(选填)
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"meetingInfo": {
"meetingID": "string", // 会议ID
"subject": "string", // 会议主题
"coverURL": "string", // 封面URL
"scheduledTime": 1234567890000, // 预约时间戳(毫秒)
"status": 2, // 会议状态:1-已预约,2-进行中,3-已结束,4-已取消
"creatorUserID": "string", // 创建者用户ID
"description": "string", // 会议描述
"duration": 60, // 会议时长(分钟)
"estimatedCount": 100, // 会议预估人数
"enableMic": true, // 是否开启连麦
"enableComment": true, // 是否开启评论
"anchorUserIDs": ["user1", "user2"], // 主播用户ID列表(多选)
"anchorUsers": [ // 主播用户信息列表
{
"userID": "user1",
"nickname": "主播1",
"faceURL": "https://example.com/avatar1.jpg"
},
{
"userID": "user2",
"nickname": "主播2",
"faceURL": "https://example.com/avatar2.jpg"
}
],
"createTime": 1234567890000, // 创建时间戳(毫秒)
"updateTime": 1234567890000, // 更新时间戳(毫秒)
"ex": "string", // 扩展字段
"groupID": "string" // 关联的群聊ID
}
}
}
说明:
- 可以单独更新任意字段,只传需要更新的字段即可
- 更新主题时会同步更新群聊名称
- 更新封面时会同步更新群聊头像
- 更新主播列表时,第一个主播会成为群主,其他主播会成为管理员
- 只有创建者可以更新会议
3. 获取会议列表
接口地址: POST /meeting/get_meetings
请求参数:
{
"creatorUserID": "string", // 创建者用户ID(选填)
"status": 1, // 会议状态(选填):1-已预约,2-进行中,3-已结束,4-已取消
"keyword": "string", // 搜索关键词(选填,搜索主题和描述)
"startTime": 1234567890000, // 开始时间戳(毫秒,选填)
"endTime": 1234567890000, // 结束时间戳(毫秒,选填)
"pagination": {
"pageNumber": 1, // 页码,从1开始(选填,默认1)
"showNumber": 20 // 每页数量(选填,默认20)
}
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"total": 100, // 总数
"meetings": [
{
"meetingID": "string", // 会议ID
"subject": "string", // 会议主题
"coverURL": "string", // 封面URL
"scheduledTime": 1234567890000, // 预约时间戳(毫秒)
"status": 1, // 会议状态:1-已预约,2-进行中,3-已结束,4-已取消
"creatorUserID": "string", // 创建者用户ID
"description": "string", // 会议描述
"duration": 60, // 会议时长(分钟)
"estimatedCount": 100, // 会议预估人数
"enableMic": true, // 是否开启连麦
"enableComment": true, // 是否开启评论
"anchorUserIDs": ["user1", "user2"], // 主播用户ID列表(多选)
"anchorUsers": [ // 主播用户信息列表
{
"userID": "user1",
"nickname": "主播1",
"faceURL": "https://example.com/avatar1.jpg"
},
{
"userID": "user2",
"nickname": "主播2",
"faceURL": "https://example.com/avatar2.jpg"
}
],
"createTime": 1234567890000, // 创建时间戳(毫秒)
"updateTime": 1234567890000, // 更新时间戳(毫秒)
"ex": "string", // 扩展字段
"groupID": "string" // 关联的群聊ID
}
]
}
}
说明:
- 支持多种查询条件,可以组合使用
- 查询优先级:creatorUserID > status > keyword > startTime/endTime > 全部
- 支持分页查询
- 返回的会议信息中包含主播的完整用户信息(用户ID、昵称、头像等)
4. 删除会议
接口地址: POST /meeting/delete_meeting
请求参数:
{
"meetingID": "string" // 会议ID(必填)
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {}
}
说明:
- 只有创建者可以删除会议
- 删除会议不会删除关联的群聊
会议状态说明
1- 已预约:会议已创建,等待开始2- 进行中:会议正在进行3- 已结束:会议已结束(用户端不可见)4- 已取消:会议已取消(用户端不可见)
注意: 用户端接口只能查看状态1(已预约)和2(进行中)的会议,状态3(已结束)和4(已取消)的会议对用户端不可见。
通用响应格式
所有接口都遵循统一的响应格式:
{
"errCode": 0, // 错误码,0表示成功
"errMsg": "", // 错误消息
"errDlt": "", // 错误详情
"data": {} // 响应数据
}
用户端接口
5. 获取会议信息(用户端)
接口地址: POST /meeting/get_meeting
请求参数:
{
"meetingID": "string" // 会议ID(必填)
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"meetingInfo": {
"meetingID": "string", // 会议ID
"subject": "string", // 会议主题
"coverURL": "string", // 封面URL
"scheduledTime": 1234567890000, // 预约时间戳(毫秒)
"status": 1, // 会议状态:1-已预约,2-进行中
"description": "string", // 会议描述
"duration": 60, // 会议时长(分钟)
"enableMic": true, // 是否开启连麦
"enableComment": true, // 是否开启评论
"anchorUsers": [ // 主播用户信息列表
{
"userID": "user1",
"nickname": "主播1",
"faceURL": "https://example.com/avatar1.jpg"
},
{
"userID": "user2",
"nickname": "主播2",
"faceURL": "https://example.com/avatar2.jpg"
}
],
"groupID": "string" // 关联的群聊ID
}
}
}
说明:
- 用户端接口只显示状态为1(已预约)和2(进行中)的会议
- 如果会议状态为3(已结束)或4(已取消),将返回错误
- 用户端接口不返回管理字段(创建者ID、扩展字段、创建时间、更新时间等)
- 返回的主播信息包含用户ID、昵称、头像等完整用户信息
6. 获取会议列表(用户端)
接口地址: POST /meeting/get_meetings_public
请求参数:
{
"status": 1, // 会议状态(选填):1-已预约,2-进行中(只能查询这两个状态)
"keyword": "string", // 搜索关键词(选填,搜索主题和描述)
"startTime": 1234567890000, // 开始时间戳(毫秒,选填)
"endTime": 1234567890000, // 结束时间戳(毫秒,选填)
"pagination": {
"pageNumber": 1, // 页码,从1开始(选填,默认1)
"showNumber": 20 // 每页数量(选填,默认20)
}
}
响应参数:
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"total": 100, // 总数(只包含状态1和2的会议)
"meetings": [
{
"meetingID": "string", // 会议ID
"subject": "string", // 会议主题
"coverURL": "string", // 封面URL
"scheduledTime": 1234567890000, // 预约时间戳(毫秒)
"status": 1, // 会议状态:1-已预约,2-进行中
"description": "string", // 会议描述
"duration": 60, // 会议时长(分钟)
"enableMic": true, // 是否开启连麦
"enableComment": true, // 是否开启评论
"anchorUsers": [ // 主播用户信息列表
{
"userID": "user1",
"nickname": "主播1",
"faceURL": "https://example.com/avatar1.jpg"
},
{
"userID": "user2",
"nickname": "主播2",
"faceURL": "https://example.com/avatar2.jpg"
}
],
"groupID": "string" // 关联的群聊ID
}
]
}
}
说明:
- 用户端接口只显示状态为1(已预约)和2(进行中)的会议
- 如果指定status参数,只能传入1或2,传入其他值将返回错误
- 如果不指定status,查询结果会自动过滤,只返回状态1和2的会议
- 用户端接口不支持按创建者查询
- 用户端接口不返回管理字段(创建者ID、扩展字段、创建时间、更新时间等)
- 返回的主播信息包含用户ID、昵称、头像等完整用户信息
注意事项
- 所有接口都需要在请求头中携带
token进行身份验证 - 创建和更新会议时,预约时间不能早于当前时间
- 创建会议时会自动创建关联的群聊,群聊名称为"群聊-[会议主题]"
- 更新会议主题或封面时,会同步更新关联群聊的名称或头像
- 只有会议创建者可以更新和删除会议
- 用户端接口只提供查看功能,不包含创建、更新、删除等管理功能
- 用户端接口返回的数据已过滤管理字段(创建者ID、扩展字段、创建时间、更新时间等)
- 用户端接口只显示状态为1(已预约)和2(进行中)的会议,状态3(已结束)和4(已取消)的会议对用户端不可见