预约会议
BookConf
接口描述
该接口用于预约会议。
注意事项
- 该接口在已登录状态下才能调用。
- 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
- 调用该接口,与会者列表中需要添加本会场,并且将本会场设置为主持人身份。
- 回调函数中会返回预约成功后的会议详情,详见HwmConfDetail结构体表。如果参数内只有会议id有值则获取会议详情失败。
方法定义
1
|
HWM_SDK_AGENT_API hwmsdk::HwmErrCode BookConf(const HwmBookConfParam *param); |
回调函数
1
|
virtual void OnBookConfResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail) {}; |
参数描述
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
subject |
是 |
char[] |
参数解释: 会议主题。 约束限制: 不涉及 取值范围: 0-385个字符 默认取值: 不涉及 |
startTimeStamp |
是 |
long long |
参数解释: 会议开始时间,UTC时间戳,精度秒。 约束限制: 时间戳不能早于系统当前时间 取值范围: 不涉及 默认取值: 不涉及 |
duration |
是 |
int |
参数解释: 会议时长,单位分钟。 约束限制: 不涉及 取值范围: 最小值15分钟,最大值1440分钟。 默认取值: 不填时由服务端取默认会议时长30分钟 |
confType |
否 |
参数解释: 会议类型。 约束限制: 不涉及 默认取值: HWM_AUDIO_AND_DATA 音频数据会议 |
|
isNeedConfPwd |
否 |
bool |
参数解释: 是否需要会议密码。 约束限制: 仅对随机会议ID生效 默认取值: 不需要会议密码 |
isRecordOn |
否 |
bool |
参数解释: 录制会议开关。 约束限制: 仅对云录制生效,客户端本地录制不生效。 默认取值: 不开启录制 |
isAutoRecordOn |
否 |
bool |
参数解释: 是否开启自动录制会议。开启自动录制会议开关,内部会默认支持录制会议,录制会议开关的打开与关闭并不影响。 约束限制: 仅对云录制生效,客户端本地录制不生效。 默认取值: 不开启自动录制会议。 |
timeZone |
是 |
int |
参数解释: 时区码,用于发送会议通知。 约束限制: 不涉及 取值范围: 请参考时区表。 默认取值: 56 北京时间 |
vmrFlag |
否 |
bool |
参数解释: 会议是否使用虚拟会议室。 约束限制: 预约并发会议时,设置为false。(废弃) 默认取值: 不使用虚拟会议室。 |
vmrId |
否 |
char[] |
参数解释: 云会议室唯一ID。 约束限制: 预约并发会议时,设置为空字符串。 取值范围: 0-128个字符 默认取值: 不涉及 |
joinConfRestrictionType |
否 |
参数解释: 允许入会范围限制。 约束限制: 不涉及 默认取值: RESTRICTION_CALL_IN_ALL 所有用户 |
|
isSmsOn |
否 |
bool |
参数解释: 短信通知能力。 约束限制: 保留字段,暂不提供短信通知能力 默认取值: 不开启短信通知能力。 |
isMailOn |
否 |
bool |
参数解释: 发送邮件通知开关。 约束限制: 不涉及 默认取值: 不发送邮件通知。 |
isEmailCalendarOn |
否 |
bool |
参数解释: 发送邮件日历开关。 约束限制: 不涉及 默认取值: 不发送邮件日历。 |
attendees |
是 |
参数解释: 与会者列表。 约束限制: 不涉及 默认取值: 不涉及 |
|
attendeeLen |
是 |
unsigned int |
参数解释: 与会者列表长度。 约束限制: 不涉及 取值范围: 最小值15分钟,最大值1440分钟。 默认取值: 不填时由服务端取默认会议时长30分钟 |
vmrConfIdType |
否 |
参数解释: 云会议室的会议ID类型。 约束限制: 不涉及 默认取值: HWM_VMR_CONF_ID_TYPE_FIXED 固定类型 |
|
guestPwd |
否 |
char[] |
参数解释: 普通与会者密码。 约束限制: 如果空则服务器随机生成。仅对随机会议ID生效。 取值范围: 0-64个字符 默认取值: 不涉及 |
isOpenWaitingRoom |
否 |
bool |
参数解释: 等候室开启开关。 约束限制: 需要等候室功能开通后才能生效。 默认取值: 不开启等候室。 |
allowGuestStartConf |
否 |
bool |
参数解释: 是否允许来宾提前启动会议。 约束限制:
默认取值: 不允许来宾提前启动会议。 |
allowGuestStartConfTime |
否 |
unsigned int |
参数解释: 允许来宾提前入会时间范围(单位:分钟)。 约束限制:
取值范围: 0 - 随时 x - 提前x分钟启动会议 默认取值: 0 |
concurrentParticipants |
否 |
unsigned int |
参数解释: 会议方数,会议最大与会人数限制。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不填则不限制 |
customInfo |
否 |
char[] |
参数解释: 自定义扩展信息 约束限制: 不涉及 取值范围: 0-64个字符 默认取值: 不涉及 |
confResType |
否 |
参数解释: 会议资源类型。 约束限制: 不涉及 默认取值: HWM_CONF_RESTYPE_DEFAULT 默认 |
|
defaultSummaryState |
否 |
参数解释: 会议云录制是否包含纪要,初始值。 约束限制: 仅企业配置支持智能会议纪要时生效(corpEnableSummary),参考表1 默认取值: SUMMARY_STATE_CLOSE 会议纪要关闭 |
|
autoMuteMode |
否 |
参数解释: 来宾入会,软终端是否自动静音。 约束限制: 不涉及 默认取值: AUTO_MUTE_TYPE_DEFAULT 与默认配置一致 |
|
hardTerminalAutoMuteMode |
否 |
参数解释: 来宾入会,硬终端是否自动静音。 约束限制: 不涉及 默认取值: AUTO_MUTE_TYPE_DEFAULT 与默认配置一致 |
|
autoPublishSummary |
否 |
bool |
参数解释: 是否自动发布纪要(免人工审核)。 约束限制: 不涉及 默认取值: 不自动发布纪要 |
枚举值 |
描述 |
---|---|
RESTRICTION_CALL_IN_ALL |
所有用户。 |
RESTRICTION_CALL_IN_COMPANY |
企业内用户。 |
RESTRICTION_CALL_IN_INVITED |
被邀请用户。 |
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
number |
是 |
char[] |
参数解释: 号码。 约束限制: 如果填分配给账号的sip号码(如+99111244216210249)则呼叫该账号的App;如果填PSTN号码(如18700000000),则通过VoIP网关呼叫该号码,前提是该企业已开通PSTN呼叫权限。与thirdUserId二选一,账号密码鉴权时使用。 取值范围: 0-128个字符 默认取值: 不涉及 |
thirdUserId |
是 |
char[] |
参数解释: 第三方用户ID。 约束限制: 与number二选一,App ID鉴权时使用。 取值范围: 0-128个字符 默认取值: 不涉及 |
name |
是 |
char[] |
参数解释: 与会者名称。 约束限制: 不涉及 取值范围: 0-256个字符 默认取值: 不涉及 |
|
否 |
char[] |
参数解释: 电子邮箱地址,用于发送邮件通知。 约束限制: 不涉及 取值范围: 0-256个字符 默认取值: 不涉及 |
sms |
否 |
char[] |
参数解释: 短信通知手机号码,用于发送短信通知。 约束限制: 不涉及 取值范围: 0-128个字符 默认取值: 不涉及 |
isMute |
否 |
bool |
参数解释: 是否闭音。 约束限制: 不涉及 默认取值: 不静音 |
isAutoInvite |
否 |
bool |
参数解释: 是否自动外邀。 约束限制: 不涉及 默认取值: 不自动外邀 |
role |
是 |
参数解释: 会议角色。 约束限制: 不涉及 默认取值: HWM_CONF_ROLE_ATTENDEE 普通与会者 |
|
isAnonymous |
否 |
bool |
参数解释: 是否是匿名入会(仅用于获取与会者列表使用) |
callStatus |
否 |
参数解释: 与会者状态(仅用于获取与会者列表使用) |
|
orgId |
否 |
char[] |
参数解释: 用于识别是否是本企业账号(仅用于获取与会者列表使用) |
枚举值 |
描述 |
---|---|
HWM_VMR_CONF_ID_TYPE_FIXED |
云会议室的会议ID类型是固定类型。 |
HWM_VMR_CONF_ID_TYPE_RANDOM |
云会议室的会议ID类型是随机类型。 |
类型 |
描述 |
---|---|
HwmErrCode |
成功返回0,其他值表示失败。失败返回值见错误码参考。 |
字段 |
类型 |
描述 |
---|---|---|
confListInfo |
HwmConfListInfo |
会议信息,参见 表3。 |
vmrFlag |
bool |
是否是vmr会议。 |
vmrId |
char[] |
云会议室唯一ID。 |
isRecordOn |
bool |
是否有录制会议权限。 |
isAutoRecord |
bool |
是否开启自动录制会议 |
isGuestFreePwd |
bool |
是否需要来宾免密。 |
isMailOn |
bool |
是否发送邮件通知。 |
isSmsOn |
bool |
是否发送短信通知。保留字段,暂不提供短信通知能力。 |
isEmailCalenderOn |
bool |
是否发送日历通知。 |
joinConfRestrictionType |
HwmJoinConfPermissionType |
会议准入设置 表3。 |
attendees |
HwmAttendeeInfo* |
与会者列表,字段信息参见 预约会议 中表述。 |
attendeeLen |
unsigned int |
与会者列表长度。 |
confServerType |
HwmConfServerType |
会议服务器类型 1:RTC or 0:MCU |
isOpenWaitingRoom |
bool |
是否开启等候室 |
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/** * 预约会议 */ int CdemoBookConfDlg::OnBnClickedBookConf() { hwmsdkagent::HwmBookConfParam data = {0}; strncpy_s(data.subject, GetConfSubject().c_str(), HWM_MAX_SUBJECT_LEN); // 此处应是utf-8编码字符串 data.confType = hwmsdkagent::HwmConfMediaType::HWM_VIDEO_AND_DATA; data.isNeedConfPwd = true; data.isAutoRecordOn = true; data.isRecordOn = true; data.startTime = 1598398920; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间 data.duration = 30; //会议持续时长(分钟) data.timeZone = 56; //时区,56表示东八区 data.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; std::vector<hwmsdkagent::HwmAttendeeInfo> attendeeList; //被邀与会者 hwmsdkagent::HwmAttendeeInfo attendeeInfo = { 0 }; strncpy_s(attendeeInfo.name, GetAttName().c_str(), HWM_MAX_USER_NAME_LEN); strncpy_s(attendeeInfo.number, GetAttNumber().c_str(), HWM_MAX_NUMBER_LEN); strncpy_s(attendeeInfo.email, GetAttEmail().c_str(), HWM_MAX_EMAIL_LEN); strncpy_s(attendeeInfo.sms, GetAttSms().c_str(), HWM_MAX_PHONE_NUM_LEN); strncpy_s(attendeeInfo.thirdUserId, GetAttUserId().c_str(), HWM_MAX_USER_ID_LEN); attendeeInfo.isMute = true; attendeeInfo.isAutoInvite = true; attendeeList.push_back(attendeeInfo); data.attendees = attendeeList.data(); data.attendeeLen = attendeeList.size(); data.isSmsOn = true; data.isMailOn = true; data.isEmailCalendarOn = true; return hwmsdkagent::BookConf(&data); } |