Updated on 2023-03-23 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 information returned in the callback, see HWMConfDetail.

Method Definition

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

Parameter Description

Table 1 HWMOrderConfParam parameters

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 1425.

isAutoRecord

No

BOOL

Whether to automatically start recording after a 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

Participants 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 a guest to start a meeting in advance.

NOTE:

allowGuestStartConfTime

No

NSUInteger

Time range allowed for a guest to join a meeting in advance, in minutes.

0: A guest can join a meeting at any time before the scheduled time.

x: A guest can start a meeting x minutes before the scheduled time.

NOTE:
  • This parameter is valid only for meetings with random IDs.
  • 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.

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 parameters

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 a 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

Common participant.

HWMConfRoleTypeChairman

Host.

Table 5 Enumerated values of HWMVmrConfIdType

Enumerated Value

Description

HWMVmrConfIdTypeFixed

(Default) 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(@"Failed to schedule the meeting:%@", error.localizedDescription);
        } else {
            NSLog(@"Meeting scheduled.");
        }
    }];
}