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

confType

Yes

HWMOrderConfType

Meeting type.

isNeedConfPwd

No

BOOL

Whether a guest needs to enter a password to join a meeting.

NOTE:

This parameter is valid only for meetings with a random ID.

guestPwd

No

NSSting *

Guest password.

NOTE:

This parameter is valid only for meetings with a random ID.

isRecordOn

No

BOOL

Whether to enable meeting recording. This parameter will be discarded and is not recommended.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

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.

NOTE:

This parameter is valid only for cloud recording, not for local recording on clients.

timeZone

No

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.

vmrIdType

No

HWMVmrIdType

ID type of the meeting if it is held in a 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.

allowGuestStartConf

No

BOOL

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

NOTE:

allowGuestStartConfTime

No

NSInteger

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: Guests can join the 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.

Table 2 Enumerated values of HWMOrderConfType

Parameter

Description

OrderConfTypeAudio

Voice meeting.

OrderConfTypeVideo

Video meeting.

Table 3 Enumerated values of HWMJoinConfRestrictionType

Parameter

Value

Description

HWMJoinConfRestrictionAll

0

Everyone.

HWMJoinConfRestrictionCompany

2

Corporate users only.

HWMJoinConfRestrictionInvited

3

Invited users only.

Table 4 HWMAttendeeInfo parameters

Parameter

Mandatory

Type

Description

number

No

NSString *

Number. (This parameter is optional when thirdUserId is used.)

thirdUserId

No

NSString *

Third-party account in the app ID login scenario.

name

No

NSString *

Member name.

email

No

NSString *

Email address.

sms

No

NSString *

Mobile number.

role

No

ConfRoleType

Participant role.

accountId

No

NSString *

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

userUuid

No

NSString *

This parameter can be obtained from the meeting details when you edit a meeting. By default, this parameter is left blank.

isAnonymous

No

BOOL

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

state

No

HWMConfAttendeeState

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. (This parameter is used only for obtaining the participant list.)

Table 5 Enumerated values of ConfRoleType

Parameter

Description

ConfRoleTypeAttendee

Common participant.

ConfRoleTypeChairman

Host.

Table 6 Enumerated values of HWMVmrIdType

Parameter

Description

HWMVmrIdTypeFixed

Fixed type.

HWMVmrIdTypeRandom

Random type.

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/// Schedule a meeting.
- (void)bookConf {
    HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init];
    param.confSubject = @"Meeting topic";
    param.startTime = 1598759580;
    param.duration = 15;
    param.confType = HWMConfTypeVideo;
    param.isNeedConfPwd = YES;
    param.isRecordOn = NO;
    param.timeZone = 56;
    param.vmrId = @"";
    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.");
        }
    }];
}