XML API 7.3.0 Release Notes


New Features


Lower Case email address modification

Description:

When creating meetings, events, and training sessions as well as creating or registering meeting attendees, email addresses will be converted to lower case when saved in the report DB to match with the URL APIs behavior that converts the email into lower case


Affected API's:

CreateMeeting/SetMeeting, CreateEvent/SetEvent, CreateTrainingSession/SetTraingSession,
CreateMeetingAttendee, RegisterMeetingAttendee,
CreateTeleconferenceSession/SetTeleconferenceSession


XSD Design:

No change


Backward compatibility:

Not backward compatible, this may impact the current APP that has attendee email in mixes case



GetSessionInfo returns more telephony info

Description:

To support mobile Android Meeting Client V3.0, it requires XMLAPI to return more telephony info as following:

  • Return whether meeting is VoIP only meeting. (for TC only)
  • Return whether meeting is a TSP meeting. (for TC only)
  • Return toll/toll free flag setting in TSP account. (for TC only)

Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response add the following element

Element Parent Definition Type Default
voip telephony Indicate whether meeting turn on VoIP. boolean, 0..1, false
enableTSP telephony Indicate whether this meeting is using TSP telephony boolean, 0..1 false
tollFreeCallInData callInNum Comma delimited string containing country
code and toll/tollfree flag for
<tollFreeNum> fields.
Format is: "TollFreeFlag1,CountryCodeExt1"
String, 0..1  
tollCallInData callInNum Comma delimited string containing country
code and toll/tollfree flag for <tollNum>
field.
Format is:
"TollFreeFlag2,CountryCodeExt2"
String, 0..1  

Backward compatibility:

No backward compatibility issue.



GetSesssionInfo returns meeting E2E info for MC

Description:

Mobile requires GetSessionInfo to return info about whether a MC meeting supports E2E (End-to-End). If both site and sessiontype enable E2E encryption and meeting support E2E, then return <supportE2E>=TRUE, otherwise, return as FALSE. This only applies to MC meeting since only MC supports E2E currently.


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response adds the following element

Element Parent Definition Type Default
supportE2E root Indicate whether MC meeting is an E2E enabled meeting Boolean, 0..1, false

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns TC session fee

Description:

Mobile requires GetSessionInfo returns a TC session's session fee. This change allows both SuperAdmin and SiteAdmin to turn on /off meeting with fee. When it's on, <sessionFee> returns the value. When it's off, <sessionFee> is not returned.


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response add the following element

Element Parent Definition Type Default
sessionFee metaData Returns TC session fee long, 0..1  

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns the format of Agenda and Description

Description:

Mobile requires GetSessionInfo to return the format of TC session's Agenda and Description. This will return and <descriptionFormat> to TC session regardless the existence of content.


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response adds the following element

Element Parent Definition Type Default
agendaFormat <metaData> The format of TC session's agenda. The value is like TEXT or HTML. Enum:
TEXT,
HTML
TEXT
descriptionFormat <metaData> The format of TC session's description. The value is like TEXT or HTML. Enum:
TEXT,
HTML
TEXT

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns meeting registration status

Description:

Mobile requires returning TC session's register status in following:

  • Whether session registration is Full: When TC session reaches max registration number
  • Whether session registration in Waitlist. When TC session already reaches registration full, but allow to register
  • Whether session is still can be registered. If TC session is available to let attendee register
  • Whether session registration is closed: When current time passed TC session's registration close date
Note: The scope is only for TC meeting

Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response adds following new element

Element Parent Definition Type Default
registrationStatus <accessControl> TC session's registration status Enum:
FULL,
CLOSED,
WAITLIST,
REGISTER
 

Backward compatibility:

No backward compatibility issue.



GetSessionInfo return attendee's registration info

Description:

Mobile requires returning attendee's registration information in following:

  • Return registration URL
  • Return attendee's registration status.
  • Return attendee's registration ID if registration successfully
Note: The scope is only for TC meeting

Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response add the following element.

Element Parent Definition Type Default
registrationURLForMobile accessControl Returns TC session registration URL for mobile String, 0..1  
registerID accessControl Returns TC session attendee's registration ID Long, 0..1  
joinStatus accessControl Returns TC session sttendee's meeting join status Enum
(REGISTER,
INVITE,
REJECT,
ACCEPT)
 

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns TC single recurrence session info

Description:

For TC single recurring session, GetSessionInfo request provide a new element which is to find out this sub session's info. The value of this element directly matches the DB value of wbxrecsession.SESSIONNO, do not convert this value to order index.


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo request add the following element

Element Parent Definition Type Default
subSessionNo root Indicate the TC single recurring session sub session No. Long, 0..1  

GetSessionInfo response adds the following element.

Element Parent Definition Type Default
subSessionNo root Indicate the TC single recurring session sub session No. Long, 0..1  

Backward compatibility:

No backward compatibility issue.



LstSummarySession support TC single recurrence session

Description:

  1. LstsummarySession returns <isTCSingleRecurrence>=true when the meeting is a TC single recurring session, otherwise, return as false.
  2. For TC single recurring session, LstsummarySession request add a new element <returnTCSingleRecurrence> to control whether return TC single recurrence session info. This will reduce impact and good for performance.
  3. For <subSessionNo>, if request with <returnTCSingleRecurrence>=true, response will return <subSessionNo> for TC single recurring session, otherwise not returned.
  4. For <startTime> of TC single recurring session, originally we calculate every session base on the repeat rule. But for TC single recurring session, it allows to edit every sub session's start time to a different time. When request with < returnTCSingleRecurrence>=true, get every sub session's correct start Time from wbxrecsession.starttime When <returnTCSingleRecurrence>=false or unspecified, the start time still base on repeat rule. It will be incorrect if the sub session's start time is changed.

Affected API's:

LstsummarySession


XSD Design:

LstsummarySession request add the following element

Element Parent Definition Type Default
returnTCSingleRecurrence root Indicate whether returns TC recurring session related info Boolean, 0..1  

LstsummarySession Response add the following element

Element Parent Definition Type Default
isTCSingleRecurrence session Returns whether this session is TC single recurring session Boolean, 0..1  
subSessionNo session Returns the sub session number of TC single recurring session long, 0..1  

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns hostKey

Description:

Mobile requires GetSessionInfo to return hostKey for host and creator (schedule for case). Scope: Only for TC service.


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response adds following new elements

Element Parent Definition Type Default
hostKey root Returns TC meeting's hostKey String, 0..1  

Backward compatibility:

No backward compatibility issue.



GetSessionInfo returns the role of the caller and creator flag

Description:

Mobile device requires

  1. GetSessionInfo to return caller whether is creator;
  2. GetSessionInfo to return the role of the caller, like ATTENDEE, PRESENTER and ALTERNATEHOST.

NOTE: For MC and TC meeting


Affected API's:

GetSessionInfo


XSD Design:

GetSessionInfo response adds following new elements

Element Parent Definition Type Default
attendeeRole root Caller's role of the session. Enum, 0..1
{ATTTENDEE,
PRESENTER,
ALTERNATEHOST}
 

Backward compatibility:

No backward compatibility issue.



Bug Fixes


CSCud80969: GetSessionInfo cannot show test info for in-session

Affected API's:

GetSessionInfo


Problem:

While test delivery status is ‘in-session', neither host nor attendee call GetSessionInfo can get <test> element info.

But on web page, host/schedule for case host and creator can see this test info on meeting info page, only attendee cannot see.


Root Cause:

It's old design The <test> element was not returned for both attendee and host while test is in-session test.


Solution:

Change to return the in-session test info for host and schedule for case (host and creator). And as mobile new requirement

  1. Return a flag <hasInSessionTest> = TRUE when there is in-session test on meeting, else return FALSE.
  2. Return a flag <hasWebSiteTest> = TRUE when there is web site test on meeting, else return FALSE.

Backward compatibility:

No backward compatibility issue.



Bug Fixes


CSCud80969: GetSessionInfo cannot show test info for in-session

Affected API's:

GetSessionInfo


Problem:

While test delivery status is ‘in-session', neither host nor attendee call GetSessionInfo can get <test> element info.

But on web page, host/schedule for case host and creator can see this test info on meeting info page, only attendee cannot see.


Root Cause:

It's old design The <test> element was not returned for both attendee and host while test is in-session test.


Solution:

Change to return the in-session test info for host and schedule for case (host and creator). And as mobile new requirement

  1. Return a flag <hasInSessionTest> = TRUE when there is in-session test on meeting, else return FALSE.
  2. Return a flag <hasWebSiteTest> = TRUE when there is web site test on meeting, else return FALSE.

Backward compatibility:

No backward compatibility issue.



Bug Fixes


CSCud80969: GetSessionInfo cannot show test info for in-session

Affected API's:

GetSessionInfo


Problem:

While test delivery status is ‘in-session', neither host nor attendee call GetSessionInfo can get <test> element info.

But on web page, host/schedule for case host and creator can see this test info on meeting info page, only attendee cannot see.


Root Cause:

It's old design The <test> element was not returned for both attendee and host while test is in-session test.


Solution:

Change to return the in-session test info for host and schedule for case (host and creator). And as mobile new requirement

  1. Return a flag <hasInSessionTest> = TRUE when there is in-session test on meeting, else return FALSE.
  2. Return a flag <hasWebSiteTest> = TRUE when there is web site test on meeting, else return FALSE.

Backward compatibility:

No backward compatibility issue.



Bug Fixes


CSCud80969: GetSessionInfo cannot show test info for in-session

Affected API's:

GetSessionInfo


Problem:

While test delivery status is ‘in-session', neither host nor attendee call GetSessionInfo can get <test> element info.

But on web page, host/schedule for case host and creator can see this test info on meeting info page, only attendee cannot see.


Root Cause:

It's old design The <test> element was not returned for both attendee and host while test is in-session test.


Solution:

Change to return the in-session test info for host and schedule for case (host and creator). And as mobile new requirement

  1. Return a flag <hasInSessionTest> = TRUE when there is in-session test on meeting, else return FALSE.
  2. Return a flag <hasWebSiteTest> = TRUE when there is web site test on meeting, else return FALSE.

Backward compatibility:

No backward compatibility issue.



Bug Fixes


CSCud80969: GetSessionInfo cannot show test info for in-session

Affected API's:

GetSessionInfo


Problem:

While test delivery status is ‘in-session', neither host nor attendee call GetSessionInfo can get <test> element info.

But on web page, host/schedule for case host and creator can see this test info on meeting info page, only attendee cannot see.


Root Cause:

It's old design The <test> element was not returned for both attendee and host while test is in-session test.


Solution:

Change to return the in-session test info for host and schedule for case (host and creator). And as mobile new requirement

  1. Return a flag <hasInSessionTest> = TRUE when there is in-session test on meeting, else return FALSE.
  2. Return a flag <hasWebSiteTest> = TRUE when there is web site test on meeting, else return FALSE.

Backward compatibility:

No backward compatibility issue.



CSCud80958: GetSessionInfo returns course material URL not work

Affected API's:

GetSessionInfo


Problem:

The course material URL returned in GetSessionInfo does not work.


New URL on web page:

While Security Batch2 fix, TC page change file Path to use new AES encryption.

br>

Solution:

Update the URL with new AES encryption to keep the same with page


Backward compatibility:

No backward compatibility issue.



CSCud45080: XML server will get NullPointerException while corcontact has null value

Affected API's:

LstsummaryUser


Problem:

LstsummaryUser returns ServerError


Root Cause:

While site exits WebACD internal user designated chat user. It's email in table corcontact is null. While LstsummaryUser to query the user data by email, fail to get this user, and throw null point exception.

br>

Solution:

Filter this internal user or any use the email value in corcontact table is null, which fail to query the user by email, add protection to skip this user.


Backward compatibility:

No backward compatibility issue.



CSCud52740: SZ(XML7.2.0) Reset passsword of user failure

Affected API's:

CreateUser, SetUser


Problem:

SiteAdmin turn off the option "Do not include passwords in emails; include link to password page instead".

Site admin sets the user with reset password. The use receives a reset password email, but it still contains old password in the email. It should include the temp password in the email.


Root Cause:

While SetUser reset password logic, it will keep original password in coruser table no change, but in the email should include the new temp password.

Our logic still uses the original password in email.

br>

Solution:

Change to use the new temp password in the email content.


Backward compatibility:

No backward compatibility issue.



CSCud80972: GetSessinInfo still allow to access without login while site turn on 'Require login before site access'

Affected API's:

LstsummaryUser


Problem:

GetSessionInfo API allowed to call without <webexID> and <password>, and return limited session info. But SiteAdmin-> Site Settings -> Common -> Security section has an option named 'Require login before site access'

If site admin checks "Require login before site access", GetSessionInfo should not be called without user account. There exists a hole for GetSessionInfo API.


Root Cause:

LstsummarySession already considered this option, and throw exception while call without <webExID> and <password> but site checks on this option.

GetSessionInfo API missed this logic..

br>

Solution:

If site admin checks "Require login before site access", GetSessionInfo should not be called without user account.

API returns exception "Require login before site access" (ExceptionID = 010038) if GetSessionInfo is called without <webExID> and <password> but site checks on this option.


Backward compatibility:

This is a behavior change about existing API, it is stricter than before.

This API returns error while called without <webExID> and <password> but site checks on this option.