Updated on 2024-09-13 GMT+08:00

Scheduling a Meeting

bookConf

API Description

This API is used to schedule a meeting.

Precautions

  1. The start time of a meeting must be later than the current time.
  2. The vmrId parameter must be passed for a personal meeting or cloud meeting room.
  3. The attendee parameter must be passed if participant information needs to be carried.
  4. Meeting recording must be enabled if automatic recording is enabled.
  5. For details about the meeting details returned in the callback, see HWMConfDetail.

Method Definition

1
- (void)bookConf:(HWMOrderConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback;

Parameter Description

Table 1 HWMOrderConfParam description

Parameter

Mandatory

Type

Description

confSubject

Yes

NSString *

Meeting topic.

startTime

Yes

NSTimeInterval

Meeting start time. The value is a UTC timestamp, accurate to seconds.

duration

No

NSUInteger

Meeting duration, in minutes. The value ranges from 15 to 1,440.

isAutoRecord

No

BOOL

Whether to automatically start recording after the meeting starts. The function is disabled by default. Meeting recording must be enabled if automatic recording is enabled.

timeZone

Yes

NSUInteger

Time zone. The current time zone is used by default. Value range: 1–73. For China, the value is 56 and GMT+08:00 time is used. For details, see Time Zone Table.

vmrId

No

NSString *

This parameter needs to be transferred for a personal meeting or cloud meeting room.

callInRestrictionType

No

HWMJoinConfRestrictionType

Users who are allowed to join the meeting.

attendee

No

NSArray<HWMAttendeeInfo *> *

Participant details.

isSmsOn

No

BOOL

(Optional) Whether to send SMS notifications. This function must be enabled in the enterprise configuration. Otherwise, this function does not take effect.

isMailOn

No

BOOL

(Optional) Whether to send email notifications. This function must be enabled in the enterprise configuration. Otherwise, this function does not take effect.

isEmailCalenderOn

No

BOOL

Whether to send an email calendar.

noPassword

No

BOOL

Whether a meeting has no password. By default, a meeting has a password. (This parameter is valid only for random meetings held in the cloud meeting room.)

guestPwd

No

NSString

Password for a guest to join a meeting. By default, this parameter is left empty, indicating that a password is generated randomly. (This parameter is valid only for random meetings held in the cloud meeting room.)

isVideo

No

BOOL

Whether to create a video meeting. The default value is YES. If NO is specified, a voice meeting is created.

vmrConfIdType

No

HWMVmrConfIdType

ID type of the cloud meeting room. A fixed ID is used by default.

allowGuestStartConf

No

BOOL

Whether to allow guests to join the meeting ahead of the host.

NOTE:

allowGuestStartConfTime

No

NSUInteger

Time range allowed for guests to join the meeting in advance, in minutes.

0: Guests can join the meeting at any time before the scheduled time.

x: Guest can join the meeting x minutes before the scheduled time.

NOTE:
  • This parameter is valid only for meetings with a random ID.
  • For meetings with fixed IDs, the time range cannot be set.

isOpenWaitingRoom

No

BOOL

Whether to enable the waiting room.

NOTE:

The function takes effect only after the waiting room function is enabled.

isRecordOn

No

BOOL

Whether to enable recording.

customInfo

No

NSString *

User-defined information (meeting details and in-meeting chat messages).

concurrentParticipants

No

NSUInteger

Maximum number of participants in the meeting. The default value is 0.

confResType

No

HWMConfResType

Meeting resource type.

autoMuteMode

No

HWMAutoMuteType

Whether soft client guests are automatically muted when they join the meeting.

hardTerminalAutoMuteMode

No

HWMAutoMuteType

Whether hard terminal guests are automatically muted when they join the meeting.

Table 2 Enumerated values of HWMJoinConfRestrictionType

Parameter

Value

Description

HWMJoinConfRestrictionAll

0

Everyone.

HWMJoinConfRestrictionCompany

2

Corporate users only.

HWMJoinConfRestrictionInvited

3

Invited users only.

Table 3 HWMAttendeeInfo description

Parameter

Mandatory

Type

Description

number

No

NSString *

This parameter is mandatory in the account and password login scenario.

thirdUserId

No

NSString *

Third-party account, which is mandatory in the app ID login scenario.

name

No

NSString *

Site name.

email

No

NSString *

Email address.

sms

No

NSString *

Mobile number.

role

No

HWMConfRoleType

Participant role.

accountId

No

NSString *

UUID. (The login account is returned in the meeting details.)

mute

No

BOOL

Whether to mute the microphone.

isAnonymous

No

BOOL

Whether to join the meeting anonymously. (This parameter is used only for obtaining the participant list).

state

No

HWMAttendeeState

Participant status. (This parameter is used only for obtaining the participant list.)

orgId

No

NSString *

Used to identify whether the participant belongs to the current enterprise account. (This parameter is used only for obtaining the participant list).

Table 4 Enumerated values of HWMConfRoleType

Parameter

Description

HWMConfRoleTypeAttendee

Guest.

HWMConfRoleTypeChairman

Host.

Table 5 Enumerated values of HWMVmrConfIdType

Enumerated Value

Description

HWMVmrConfIdTypeFixed

Fixed ID of the cloud meeting room.

HWMVmrConfIdTypeRandom

Random ID of the cloud meeting room.

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
/// Schedule a meeting.
- (void)bookConf {
    HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init];
    param.confSubject = @"Meeting topic";
    param.startTime = 1598759580;
    param.duration = 15;
    param.isAutoRecord = NO;
    param.timeZone = 56;
    param.vmrId = @"";
    param.attendee = self.attenteeArr;
    param.callInRestrictionType = HWMCallRestrictionAll;
    [[HWMBizSdk getBizOpenApi] bookConf:param callback:^(NSError *_Nullable error, id _Nullable result) {
        if (error) {
            NSLog(@"Schedule meeting failed.:%@", error.localizedDescription);
        } else {
            NSLog(@"Meeting scheduled.");
        }
    }];
}