corporateacademy-live-webinar

Methods

(static) azureDecodeAdIdsIntoUsers(azureAuthToken, azureAdUserIds) → {MapBy.<User>}

Take a list of Azure AD User IDs and try to match them into our application Users

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

azureAdUserIds Array.<string>

Required: the Azure auth token

Returns:

A map that has Azure AD User ID as key and our application User as value

Type
MapBy.<User>

(static) createSambaliveSession(tenant, accountId, topic, startTime, duration, sessionType, displayParticipantsName, accessBeforeStart, privateAccess, screensharing, medialibrary, recording, requesttospeak, lobby, breakoutRooms, stageId, editionId, dayId, password) → {string}

Create a new SambaLive webinar

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

topic string

Required: The webinar name

startTime Date

Required: The start time of the webinar

duration number

Required: The duration of the webinar in minutes

sessionType string

Required: Configurations that sets HTML5 (html5) or Flash (flash)

displayParticipantsName string

Required: Configurations that sets the showed names of the attendees (full_name - Full Name (Emily Harper), last_name_first_name - Last Name, First Name (Harper, Emily), first_name_initial - First Name + Initial (Emily H.), initial_last_name - Initial + Last Name (E. Harper), first_name - First Name only (Emily), last_name - Last Name only (Harper), initials - Initials only (E. H.)))

accessBeforeStart number

Optional: Configurations that sets minutes before invitees can join (null: no limit)

privateAccess boolean

Optional: If true states that users can join even if not invited

screensharing boolean

Optional: If true states that the feature is available

medialibrary boolean

Optional: If true states that the feature is available

recording boolean

Optional: If true states that the feature is available

requesttospeak boolean

Optional: If true states that participants can request to speak/present

lobby boolean

Optional: If true states that the feature is available

breakoutRooms boolean

Optional: If true states that the feature is available

stageId string

Optional: The id of the stage that originated this webinar (saved in "custom1" webinar field)

editionId string

Optional: The id of the edition that originated this webinar (saved in "custom2" webinar field)

dayId string

Optional: The id of the day that originated this webinar (saved in "custom3" webinar field)

password string

Optional: The main password of the meeting

Returns:

The sessionId of the new SambaLiveSession

Type
string

(static) deleteSambaliveRecording(tenant, accountId, recordingId) → {null}

Delete a SambaLive recording

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

recordingId string

Required: Recording ID

Returns:
Type
null

(static) deleteSambaliveSession(tenant, accountId, sessionId) → {null}

Delete a SambaLive webinar

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: Webinar ID

Returns:
Type
null

(static) enrollSambaliveUser(tenant, accountId, sessionId, email, firstName, lastName, userRole) → {SambaLiveInvitee}

Enroll/Register a user for attending a SambaLive webinar

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: Webinar ID

email string

Required: User's email

firstName string

Optional

lastName string

Optional

userRole number

Optional: 1 for moderator, 2 (default) for participants. Use SambaLiveUserRoleTypes costants

Returns:

The registered invited user

Type
SambaLiveInvitee

(static) getSambaliveInvitee(tenant, accountId, sessionId, inviteeId) → {SambaLiveInvitee}

Get the created session invitee in SambaLive

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: Session identifier

inviteeId boolean

Required: Invitee identifier

Returns:

SambaLive invitee

Type
SambaLiveInvitee

(static) getSambaliveInvitees(tenant, accountId, sessionId) → {SambaLiveInvitee}

Get all created session invitees in SambaLive

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: Session identifier

Returns:

SambaLive invitee

Type
SambaLiveInvitee

(static) getSambaliveRecordings(tenant, fromRecord, numRecords, accountIds, orderDir, orderField) → {Array.<SambaLiveRecording>}

Get a list of recordings in SambaLive

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

fromRecord number

Required: Offset

numRecords number

Required: Record to retrieve

accountIds string | Array.<string>

Optional: SambaLive configured account identifier (if not specified all account will be retrieved)

orderDir string

Optional: Return results in ascending or descending order. Default is desc. Accepted values: asc, desc.

orderField string

Optional: Return results in order of this field. Default is start_time. Accepted values: id, topic, start_time, duration.

Returns:

List of SambaLive recordings

Type
Array.<SambaLiveRecording>

(static) getSambaliveSession(tenant, accountId, sessionId, skipModerators, skipParticipants, skipPersonalLinks, skipAccesss, skipInvitations, skipMenuButtons) → {SambaLiveSession}

List the created sessions in SambaLive account

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier (if not specified all account will be retrieved)

sessionId string

Required: Session identifier

skipModerators boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the moderators list from the result

skipParticipants boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the participants list from the result

skipPersonalLinks boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the personal access link from the result

skipAccesss boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the Access settings from the result

skipInvitations boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the Invitations settings from the result

skipMenuButtons boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the MenuButtons settings from the result

Returns:

SambaLive session

Type
SambaLiveSession

(static) getSambaliveStatistics(tenant, fromDay, numDays, count, accountIds) → {Array.<SambaLiveStatistic>}

Get the list of user sessions and connection to every webinar for the specified timeframe

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

fromDay number

Required: Offset

numDays number

Required: Days to retrieve

count number

Optional: Max records to retrieve (default 999999)

accountIds string | Array.<string>

Optional: SambaLive configured account identifier (if not specified all account will be retrieved)

Returns:

List of SambaLive statistics

Type
Array.<SambaLiveStatistic>

(static) listSambaliveSessions(tenant, fromRecord, numRecords, accountIds, orderDir, orderField, fieldset, skipModerators, skipParticipants, skipPersonalLinks, skipAccesss, skipInvitations, skipMenuButtons) → {Array.<SambaLiveSession>}

List the created sessions in SambaLive account

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

fromRecord number

Required: Offset

numRecords number

Required: Record to retrieve

accountIds string | Array.<string>

Optional: SambaLive configured account identifier (if not specified all account will be retrieved)

orderDir string

Optional: Return results in ascending or descending order. Default is desc. Accepted values: asc, desc.

orderField string

Optional: Return results in order of this field. Default is start_time. Accepted values: id, topic, start_time, duration.

fieldset string

Optional: Specify what fieldset should be in the results. Example: id;topic;start_time (field names separated by semicolons).

skipModerators boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the moderators list from the result

skipParticipants boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the participants list from the result

skipPersonalLinks boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the personal access link from the result

skipAccesss boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the Access settings from the result

skipInvitations boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the Invitations settings from the result

skipMenuButtons boolean

Optional: Because of the fieldset seems not to work properly, this option if enabled remove the MenuButtons settings from the result

Returns:

List of SambaLive sessions

Type
Array.<SambaLiveSession>

(static) teamsAzureCreateMeeting(azureAuthToken, applicationUserAzureId, topic, startTime, endTime) → {Object}

Create a new Teams Online Meeting

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

applicationUserAzureId string

Required: Azure Teams configured account identifier

topic string

Required: The webinar name

startTime Date

Required: The start time of the webinar

endTime Date

Required: The end time of the webinar

Returns:

The meeting id and the web join url of the new Teams Meeting (unfortunetely this url will be the only matching key we can use to match callRecord and meeting, thanks Microsoft)

Type
Object

(static) teamsAzureCreateWebhookSubscription(azureAuthToken) → {Object}

Create a new webhook (subscription) to receive Teams call records events

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

Returns:

Id and expiration (ISO format)

Type
Object

(static) teamsAzureDeleteMeeting(azureAuthToken, meetingId) → {null}

Delete an existing Teams Online Meeting

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

meetingId string

Required: Teams meeting unique id

Returns:
Type
null

(static) teamsAzureFindWebhookSubscription(azureAuthToken) → {Object}

Search if exists a webhook (subscription) to receive Teams call records events and returns its id and expiration

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

Returns:

Id and expiration (ISO format)

Type
Object

(static) teamsAzureLogin(clientId, clientSecret, azureTenant) → {string}

Creates and returns an Azure authentication token. Token will be stored in and eventually retrieved from the cache

Parameters:
Name Type Description
clientId string

Required: the login credential

clientSecret string

Required: the login credential

azureTenant string

Required: the login credential

Returns:

The auth token

Type
string

(static) teamsAzureProcessCallRecord(callRecordId, azureTenant, forcedWebJoinUrl) → {null}

Retrieve the call record data from a web-hook event and update takers and engagements

Parameters:
Name Type Description
callRecordId string

Required: the Azure auth token

azureTenant string

Required: the Azure tenant of the callRecord

forcedWebJoinUrl string

Optional: this field force webJoinUrl passed as the one of the CallRecord that should be processed. It is used only to recover damaged sessions by incorrect behaviour of Azure API during the Beta

Returns:
Type
null

(static) teamsAzureUpdateWebhookSubscription(azureAuthToken, hookId) → {Object}

Update the existing webhook (subscription) to increase its life-time

Parameters:
Name Type Description
azureAuthToken string

Required: the Azure auth token

hookId string

Required: the id of the webhook to extend

Returns:

Id and expiration (ISO format)

Type
Object

(static) unenrollSambaliveUser(tenant, accountId, sessionId, inviteeId) → {null}

Unenroll/Unregister a user for attending a SambaLive webinar

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: Webinar ID

inviteeId string

Required: ID of the invited user (not userId, but the inviteeId - the combination user/webinar)

Returns:
Type
null

(static) updateSambaliveSession(tenant, accountId, sessionId, topic, startTime, duration, displayParticipantsName, accessBeforeStart, privateAccess, screensharing, medialibrary, recording, requesttospeak, lobby, breakoutRooms, stageId, editionId, dayId, password) → {string}

Update a SambaLive webinar

Parameters:
Name Type Description
tenant string

Required: Tenant for which the configuration will be retrieved

accountId string

Required: SambaLive configured account identifier

sessionId string

Required: The webinar id

topic string

Required: The webinar name

startTime Date

Required: The start time of the webinar

duration number

Required: The duration of the webinar in minutes

displayParticipantsName string

Required: Configurations that sets the showed names of the attendees (full_name - Full Name (Emily Harper), last_name_first_name - Last Name, First Name (Harper, Emily), first_name_initial - First Name + Initial (Emily H.), initial_last_name - Initial + Last Name (E. Harper), first_name - First Name only (Emily), last_name - Last Name only (Harper), initials - Initials only (E. H.)))

accessBeforeStart number

Optional: Configurations that sets minutes before invitees can join (null: no limit)

privateAccess boolean

Optional: If true states that users can join even if not invited

screensharing boolean

Optional: If true states that the feature is available

medialibrary boolean

Optional: If true states that the feature is available

recording boolean

Optional: If true states that the feature is available

requesttospeak boolean

Optional: If true states that participants can request to speak/present

lobby boolean

Optional: If true states that the feature is available

breakoutRooms boolean

Optional: If true states that the feature is available

stageId string

Optional: The id of the stage that originated this webinar (saved in "custom1" webinar field)

editionId string

Optional: The id of the edition that originated this webinar (saved in "custom2" webinar field)

dayId string

Optional: The id of the day that originated this webinar (saved in "custom3" webinar field)

password string

Optional: The main password of the meeting

Returns:

The sessionId of the new SambaLiveSession

Type
string