- Home
- /
- Article
Cisco Webex Meetings API Updates Overview (API 40)
Find all the important information that you need about the Cisco Webex Meetings API, such as schema changes and other announcements.
For more info on XML API 41, see the Cisco Webex Meetings API Updates Overview (API 41)
For more info on XML API 39 and XML API 11, see the Cisco Webex Meetings XML API Updates Overview (XML API 39 and Earlier).
For updates for XML API 11 SP9 and earlier, go to Cisco DevNet.
API 40.12.0 Updates
XML API 40.12.0 Updates
XML API supports Private Meeting type
XML APIs be impacted
-
We can use API:
CreateMeeting
andSetMeeting
to schedule or update a Webex Meeting with Private Meeting type. -
If a Webex Meeting is scheduled with Private Meeting type,
GetSessionInfo
GetMeeting
,LstSummarySession
, andLstCalendarSession
will return a new element naming isPrivateMeeting
to know it. -
GetMeetingType
andLstMeetingType
return a new element naming
which indicates if it supports Private Meetings or not.SupportPrivateMeeting
Schema changes
XML API: GetMeetingType/LstMeetingType: Append the
<SupportPrivateMeeting>
element.
XML API:
LstSummarySession
: Append the
<isPrivateMeeting>
element.
XML API:
LstCalendarSession
: Append the
<isPrivateMeeting>
element.
XML API:
GetSessionInfo
: Append the
<isPrivateMeeting>
element.
XML API:
GetMeeting: Append the <isPrivateMeeting>
element.
Request of XML API: CreateMeeting
Request of CreateMeeting with Private Meeting type
<body>
<bodyContent xsi:type="java:com.webex.service.binding.meeting.CreateMeeting">
<schedule>
<startDate>10/25/2020 13:00:00</startDate>
<duration>45</duration>
<timeZoneID>45</timeZoneID>
</schedule>
<accessControl>
<meetingPassword>********</meetingPassword>
</accessControl>
<metaData>
<confName>MC_PrivateMeeting_Test</confName>
<meetingType>168</meetingType> //169 is a sample which supports Private Meeting
</metaData>
</bodyContent>
</body>
Response of XML API: GetSessionInfo
Response for isPrivateMeeting
<ep:supportE2E>false</ep:supportE2E>
<ep:isAllowJBH>true</ep:isAllowJBH>
<ep:isPrivateMeeting>true</ep:isPrivateMeeting> //true: the meeting supports Private Meeting; false: the meeting does not support Private Meeting.
<ep:isCETMeeting>false</ep:isCETMeeting>
<ep:isPersonalMeetingRoom>false</ep:isPersonalMeetingRoom>
<ep:isNextUpcomingInstance>true</ep:isNextUpcomingInstance>
GetSite API will return site-level meeting templates
User Story/Task Description
GetSite API to return site-level meeting template. This will allow Education Connector and Webex Classrooms to show these templates for the teachers to pick and choose these templates while scheduling their on-line sessions.
APIs impacted
If there are customized meeting templates which are site-level, GetSite api will returns these site-level templates.
Elements Name |
Description |
---|---|
|
the name of site-level customized meeting templates |
|
Webex Meetings, Webex Trainings, and Webex Events |
Schema changes
GetSite : Append the <meetingTemplates>
element.
Response Sample
GetSite Response
<ns1:meetingTypes>
<ns1:meetingTypeID>3</ns1:meetingTypeID>
<ns1:meetingTypeName>PRO</ns1:meetingTypeName>
</ns1:meetingTypes>
<ns1:meetingTemplates>
<ns1:meetingTemplate>
<ns1:meetingTemplateName>MC Meeting Tempalte 1</ns1:meetingTemplateName>
<ns1:serviceType>MeetingCenter</ns1:serviceType>
</ns1:meetingTemplate>
<ns1:meetingTemplate>
<ns1:meetingTemplateName>EC Meeting Tempalte 2</ns1:meetingTemplateName>
<ns1:serviceType>EventCenter</ns1:serviceType>
</ns1:meetingTemplate>
<ns1:meetingTemplate>
<ns1:meetingTemplateName>TC Meeting Template 3</ns1:meetingTemplateName>
<ns1:serviceType>TrainingCenter</ns1:serviceType>
</ns1:meetingTemplate>
</ns1:meetingTemplates>
XML API SetUser cannot change element of supportedServices
when
the site is CI unified site
Description
XMLAPI SetUser
don't support change value of
"supportedServices
" in an API request when the site is a
Control Hub linked Unified Webex Meeting sites.
Schema changes
There’s no schema change on the API: SetUser
.
WEBEX-15436: Add protection to avoid duplicate emails in
Mtgconfattendeelist
Description
If multiple attendees having the same email are added to the same meeting in the same API request, we only process the first attendee with the email.
Impacted APIs
-
CreateMeetingAttendee
-
CreateUser
-
SetUser
-
CreateMeeting
-
SetMeeting
-
CreateEvent
-
SetEvent
-
CreateTrainingSession
-
SetTrainingSession
Sample API
Request
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>testSite</siteName>
<webExID>testUser</webExID>
<password>password</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.attendee.CreateMeetingAttendee">
<sessionKey>1714904382</sessionKey>
<person>
<email>test@webex.com</email>
<name>name1</name>
</person>
<attendees>
<person>
<email>test@webex.com</email>
<name>name2</name>
</person>
<sessionKey>1714904382</sessionKey>
</attendees>
</bodyContent>
</body>
</serv:message>
API 40.11.0 Updates
XML API 40.11.0 Updates
XMLAPI CreateUser supports displayname
CreateUser
supports dispalyname
when feature toggle
EnableDisplayName
is as 1. If the feature toggle isn’t 1, then
the displayName
will be ignored.
Schema changes
CreateUser:
XMLAPI SetUser supports displayname
SetUser
supports dispalyname
when feature toggle
EnableDisplayName
is 1. If the feature toggle isn’t 1, the
displayName
will be ignored.
Schema changes
SetUser:
XMLAPI GetUser supports displayname
GetUser
supports dispalyname
when feature toggle
EnableDisplayName
is 1. If the feature toggle isn’t 1, the
displayName
will not be displayed.
When displayName
in DB is null and feature toggle
EnableDisplayName
is 1, displayName
will be
firstName+" "+lastName
for Non-Asian characters and
firstName+lastName
for Asian characters.
Schema changes
GetUserResponse:
XMLAPI User level Control for CMR Hybrid Voip
The cmrHybridVoip
setting is used to set and retrieve the user level
setting for EnableCMRHybridVoIP
.
Schema changes
GetUser Response:
CreateUser Request:
SetUser Request:
API 40.10.0 Updates
XML API 40.10.0 Updates
XML API support for meeting UUID
in API request and response
Sample XML API: GetSessionInfo
Request:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:isLocked>false</ep:isLocked>
<ep:sessionkey>805325231</ep:sessionkey>
<ep:meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</ep:meetingUUID>
<ep:confID>158941507534980823</ep:confID>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
Affected API:
-
CreateMeetingAttendee
-
DelMeetingAttendee
-
RegisterMeetingAttendee
-
CreateTeleconferenceSession
-
SetTeleconferenceSession
-
GetTeleconferenceSession
-
CreateTrainingSession
-
SetTrainingSession
-
GetTrainingSession
-
DelTrainingSession
-
CreateEvent
-
SetEvent
-
DelEvent
XMLAPI will return an extra element for Site Admin configuration to disable screen capture
The requirement comes from Security - both PenTest
bugs and customers, like Goldman Sachs. They don’t want to allow the end users to take screen capture in the Meetings app. Meanwhile lots of other customers want this feature - to allow the screen capture. Also Education users wants to allow the screen capture too. So we will have a Site Administrator configuration for this, and XMLAPI will return an extra field EnableMobileScreenCapture
in the response of GetSite
to support this.
Sample of GetSite request
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<securityContext>
<siteName>xxxx</siteName>
<webExID>Test</webExID>
<password>xxxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.site.GetSite" />
</body>
</serv:message>
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ns1="http://www.webex.com/schemas/2002/06/service/site" xmlns:event="http://www.webex.com/schemas/2002/06/service/event">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ns1:getSiteResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns1:siteInstance>
...
<ns1:securityOptions>
...
...
<ns1:EnableMobileScreenCapture>false</ns1:EnableMobileScreenCapture>
...
</ns1:securityOptions>
...
</ns1:siteInstance>
</serv:bodyContent>
</serv:body>
</serv:message>
Affected API
GetSite
XMLAPI support MEET-269 PIN-less Join Improvement
XMLAPI add a NEW OPTION Video conferencing systems in my organization can start and join meetings without prompts for Personal Room meeting and MC Meeting.
-
createUser/setUser/getUser
add a new nodedeviceCanStartMyPMR
inpersonalMeetingRoom
. -
createMeeting/setMeeting/getMeeting
add a new nodedeviceCanStartMeeting
in schedule.
The option in Webex UI for Personal Room meeting :
Schema changes
CreateUser:
SetUser:
getUserResponse:
CreateMeeting:
setMeeting:
getMeetingResponse:
API 40.9.0 Updates
XML API 40.9.0 Updates
XML API support for meeting UUID
request and response
We have added the meeting UUID to the API request and response wherever we support as a meetingKey
or sessionKey
.
Sample XML API: GetSessionInfo
Request:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:isLocked>false</ep:isLocked>
<ep:sessionkey>805325231</ep:sessionkey>
<ep:meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</ep:meetingUUID>
<ep:confID>158941507534980823</ep:confID>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
Affected API:
-
GetEnrollmentInfo
-
LstsummaryTrainingSession
-
AddScheduledTest
-
SetScheduledTest
-
DelScheduledTest
-
GetTestInformation
-
UploadEventImage
-
SendInvitationEmail
-
CreateSupportSession
-
LstmeetingusagePreliminaryHistory
-
LstmeetingattendeePreliminaryHistory
-
LsteventsessionPreliminaryHistory
-
LsteventattendeePreliminaryHistory
-
LstTrainingPollResultsHistory
Webex meetings will have a locked meeting lobby where users can wait to be admitted into the meeting
The XML API schedule and edit MC meeting to support locked Lobby when the feature(ConsistentLockedLobby
) toggle on.
Schema changes
Added three new elements (externalAttendeeSecurity
, autoLock
, autoLockWaitTime
) into the CreateMeeting, SetMeeting, and GetMeeting APIs.
Element |
Description |
---|---|
|
When meeting is unlocked, there are three External User Security items can be choices.
|
|
Whether Automatically locking the meeting. True: Automatically lock the meeting after # minutes after meeting starts False: Does not automatically lock the meeting after meeting starts |
|
Minutes (0,5,10,15,20) for automatically lock the meeting after meeting starts |
Request and response sample
Request of CreateMeeting:
<bodyContent xsi:type="java:com.webex.service.binding.meeting.CreateMeeting">
...
<attendeeOptions>
...
<joinRequiresAccount>false</joinRequiresAccount>
<externalAttendeeSecurity>AllowJoinWithLobby</externalAttendeeSecurity>
<autoLock>true</autoLock>
<autoLockWaitTime>10</autoLockWaitTime>
</attendeeOptions>
...
</bodyContent>
</body>
</serv:message>
Request of SetMeeting:
<bodyContent xsi:type="java:com.webex.service.binding.meeting.SetMeeting">
<meetingkey>2###1###01</meetingkey>
...
<attendeeOptions>
...
<joinRequiresAccount>false</joinRequiresAccount>
<externalAttendeeSecurity>AllowJoinWithLobby</externalAttendeeSecurity>
<autoLock>true</autoLock>
<autoLockWaitTime>10</autoLockWaitTime>
</attendeeOptions>
...
</bodyContent>
</body>
</serv:message>
Response of GetMeeting
:
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common"
xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="meet:getMeetingResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
<meet:attendeeOptions>
...
<meet:joinRequiresAccount>false</meet:joinRequiresAccount>
<meet:externalAttendeeSecurity>AllowJoin</meet:externalAttendeeSecurity>
<meet:autoLock>true</meet:autoLock>
<meet:autoLockWaitTime>10</meet:autoLockWaitTime>
</meet:attendeeOptions>
...
</bodyContent>
</body>
</serv:message>
Affected API:
-
CreateMeeting
-
SetMeeting
-
GetMeeting
Enhancement GetSessionInfo
API to return participants' status on in-progress session
Added two new elements (hasHostInMeeting
, hasAttendeeInMeeting
) into response of GetSessionInfo
. These two element will be returned when the meeting is a in-progress meeting.
Element |
Description |
---|---|
|
Whether host has joined the in-progress meeting. True: Host is in the in-progress meeting. False/Null: Host is not in the in-progress meeting or the meeting is not in-progress meeting. |
|
Whether there is an attendee/host has joined the in-progress meeting. True: there is an attendee or host in the in-progress meeting. False/Null: there is not any attendee or host in the in-progress meeting, or the meeting is not in-progress meeting. |
API response sample:
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common"
xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="meet:getMeetingResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
<ep:status>INPROGRESS</ep:status>
<ep:hasHostInMeeting>true</ep:hasHostInMeeting>
<ep:hasAttendeeInMeeting>true</ep:hasAttendeeInMeeting>
...
</bodyContent>
</body>
</serv:message>
Affected API:
GetSessionInfo
The API GetUserCard requires authorization.
Security enhancement the XML API GetUserCard
requires authorization to get user's information.
Affected API:
GetUserCard
API 40.8.0 Updates
XML API 40.8.0 Updates
GetSessionInfo
response enhancement
If you are not invited or approved from the meeting, your call to XML API: GetSessionInfo
will not return the elements: confName, startDate, duration, timeZone, meetingLink, sipURL, displayMeetingUrl
in the API response body.
API Response Example for Meetings:
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:sessionkey>1####2###4</ep:sessionkey>
<ep:accessControl>
<ep:listStatus>UNLISTED</ep:listStatus>
<ep:registration>false</ep:registration>
<ep:passwordReq>true</ep:passwordReq>
<ep:isRegisterIDRequired>false</ep:isRegisterIDRequired>
</ep:accessControl>
<ep:metaData>
<ep:serviceType>MeetingCenter</ep:serviceType>
</ep:metaData>
<ep:attendeeOptions>
<ep:joinRequiresAccount>false</ep:joinRequiresAccount>
</ep:attendeeOptions>
<ep:isAllowJBH>true</ep:isAllowJBH>
<ep:isCETMeeting>true</ep:isCETMeeting>
<ep:isPersonalMeetingRoom>false</ep:isPersonalMeetingRoom>
</serv:bodyContent>
API Response Example for Trainings/Events:
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:sessionkey>1####5###9</ep:sessionkey>
<ep:accessControl>
<ep:listStatus>UNLISTED</ep:listStatus>
<ep:registration>true</ep:registration>
<ep:registrationURL>https://sitename.webex.com/tc3300/trainingcenter/register/registerSession.do?siteurl=sitename&confID=16###92######61</ep:registrationURL>
<ep:passwordReq>true</ep:passwordReq>
<ep:registrationURLForMobile>https://sitename.webex.com/tc3300/trainingcenter/meeting/sessionInfoMobile.do?siteurl=sitename&confID=16###92######61</ep:registrationURLForMobile>
<ep:joinStatus>INVITE/REGISTER/REJECT</ep:joinStatus>
<ep:isRegisterIDRequired>false</ep:isRegisterIDRequired>
</ep:accessControl>
<ep:metaData>
<ep:serviceType>TrainingCenter</ep:serviceType>
</ep:metaData>
<ep:attendeeOptions>
<ep:joinRequiresAccount>false</ep:joinRequiresAccount>
</ep:attendeeOptions>
<ep:isAllowJBH>true</ep:isAllowJBH>
<ep:isCETMeeting>true</ep:isCETMeeting>
<ep:isPersonalMeetingRoom>false</ep:isPersonalMeetingRoom>
</serv:bodyContent>
Affected API:
-
GetSessionInfo
GetSessionInfo, GetUserCard
Security Enhancements
We did a security enhancement on XML API GetSessionInfo
and GetUserCard
. We will block users from accessing these two APIs in next two hours if their call reached the limit in one hour with no data found errors.
The error status response is: "403 Forbidden"
Affected APIs:-
GetSessionInfo
-
GetUserCard
meetingUUID
in API request and response support
We have added meetingUUID to the API request and response wherever we support a meetingKey/sessionKey
.
GetSessionInfo
Request:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:isLocked>false</ep:isLocked>
<ep:sessionkey>805325231</ep:sessionkey>
<ep:meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</ep:meetingUUID>
<ep:confID>158941507534980823</ep:confID>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
Affected API:
-
LstOpenSession
-
GetEnrollmentInfo
-
LstsummaryMeeting
-
LstScheduledTests
-
GetEvent
-
LstsummaryEvent
-
LstmeetingusageHistory
-
LsttrainingsessionHistory
-
LsteventsessionHistory
-
LstsupportsessionHistory
-
DelSession
Education sites template (EDU session type) in XML API support
When your sites enable the Education Instructor (EDU) session type, the XML API can support to schedule a meeting with the EDU meeting template.
Affected API:
-
CreateMeeting
-
SetMeeting
-
CreateEvent
-
SetEvent
-
CreateTrainingSession
-
SetTrainingSession
XML API CreateMeetingAttendee
and RegisterMeetingAttendee
support
Both CreateMeetingAttendee
and RegisterMeetingAttendee
are able to check the required attendee registration form for a Webex Meetings registration.
And there is a new exception for this task:
Exception Number |
Message of Exception |
---|---|
040014 |
Missing required fields (registration form): ... |
For example, if you selected "Job Title" and "Company Name" as the require fields for an attendee Webex Meetings registration as shown below, then you must provide value on the "Job Title" and "Company Name" when calling the two APIs: CreateMeetingAttendee
and RegisterMeetingAttendee
.
RegisterMeetingAttendee
Request:
<body>
<bodyContent xsi:type="java:com.webex.service.binding.attendee.RegisterMeetingAttendee">
<attendees>
<person>
<name>FirstNameb LastName</name>
<firstName>FirstNameb</firstName>
<lastName>LastName</lastName>
<title>Engineer</title> //Job Title
<company>Cisco1234</company> //Company Name
...
<email>****@*****.com</email>
<type>VISITOR</type>
<sendReminder>true</sendReminder>
</person>
<role>ATTENDEE</role>
<joinStatus>ACCEPT</joinStatus>
<emailInvitations>true</emailInvitations>
<sessionKey>1####4####1</sessionKey>
</attendees>
</bodyContent>
</body>
</serv:message>
CreateMeetingAttendee
Request:
<bodyContent xsi:type="java:com.webex.service.binding.attendee.CreateMeetingAttendee">
<person>
<name>FirstNameA LastNameA</name>
<firstName>FirstNameA</firstName>
<lastName>LastNameA</lastName>
<title>Engineer</title> //Job Title
<company>Cisco1234</company> //Company Name
...
<email>*****@*****.com</email>
<type>VISITOR</type>
<sendReminder>true</sendReminder>
</person>
<role>ATTENDEE</role>
<joinStatus>ACCEPT</joinStatus>
<emailInvitations>true</emailInvitations>
<sessionKey>1###4####1</sessionKey>
040014 Exception of Response
Example:
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>FAILURE</serv:result>
<serv:reason>Missing required fields (registration form) : title,company</serv:reason>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
<serv:exceptionID>040014</serv:exceptionID>
<serv:value>title,company</serv:value>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent/>
</serv:body>
</serv:message>
Affected API:
-
CreateMeetingAttendee
-
RegisterMeetingAttendee
XML API Email validation enhancements
XML API should not allow white-space character(s) in an email, so we have enhanced email validation to align with the Webex Meetings Page behavior.
Affected API:
-
CreateMeetingAttendee
-
CreateEvent
-
SetEvent
-
CreateContact
-
SetContact
-
SetRecordingInfo
-
CreateMeetingAttendee
-
CreateTrainingSession
-
SetTrainingSession
-
CreateUser
-
SetUser
-
CreateMeeting
-
SetMeeting
-
RegisterMeetingAttendee
API 40.7.0 Updates
XML API 40.7.0 Updates
meetingUUID
support
We have added meetingUUID
to the API request and response wherever we support a meetingKey or sessionKey.
GetSessionInfo
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
GetSessionInfo
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
GetSessionInfo
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:isLocked>false</ep:isLocked>
<ep:sessionkey>805325231</ep:sessionkey>
<ep:meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</ep:meetingUUID>
<ep:confID>158941507534980823</ep:confID>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
Affected APIs:
-
LstmeetingattendeeHistory
-
LsttrainingattendeeHistory
-
LsteventattendeeHistory
-
LstsupportattendeeHistory
CreateUser
API welcome email support for four new languages
The XMLAPI welcome html email supports the following four new languages:
-
Czech (languageID=19)
-
Polish (languageID=20)
-
Hungarian (languageID=21)
-
Romanian (languageID=22)
XMLAPI sends the welcome email according to the language or languageID in the CreateUser
request.
Using CreateUser
to Send Html Welcome Email Example (Czech):
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<bodyContent xsi:type="java:com.webex.service.binding.user.CreateUser">
<firstName>test</firstName>
<lastName>user</lastName>
<webExId>testuser</webExId>
<password>xxxxxx</password>
<email>testuser@test.com</email>
<privilege>
<host>true</host>
</privilege>
<languageID>19</languageID>
or
<language>Czech</language>
<active>ACTIVATED</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</bodyContent>
</bodyContent>
</body>
</serv:message>
API 40.6.1, 40.4.9 Updates
XML API 40.6.1, 40.4.9 Updates
CreateMeeting/SetMeeting
support
When you schedule a Webex meeting, XML API CreateMeeting/SetMeeting
allows you to check or uncheck or click a required or not-required field from the attendee registration form.
The following is sample Meetings schedule from the user web page where you can check required fields such as "Job Title", "Company Name", "City", and "State" on the attendee registration form:
The following is a mapping between page fields and XML API's elements:
Page Fields | XMLAPI Element |
---|---|
Job Title |
<title> |
Company Name |
<company> |
Address 1 |
<address1> |
Address 2 |
<address2> |
City |
<city> |
State |
<state> |
Zip/Post Code |
<postalCode> |
Country/region |
<country> |
Work Phone |
<phone> |
Fax |
<fax> |
Changed schema: Add "registrationForm" element into CreateMeeting
Changed schema: Add "registrationForm" element into SetMeeting
Changed schema: Add "registrationForm" element into GetMeeting
CreateMeeting
Request Example:
<bodyContent xsi:type="java:com.webex.service.binding.meeting.CreateMeeting">
<accessControl>
<meetingPassword>password</meetingPassword>
</accessControl>
<attendeeOptions>
<emailInvitations>true</emailInvitations>
<registration>true</registration>
<auto>false</auto>
</attendeeOptions>
<registrationForm>
<title><req>true</req></title> <!-- true -->
<company><req>true</req></company> <!-- true -->
<address1><req>false</req></address1>
<address2><req>false</req></address2>
<city><req>true</req></city> <!-- true -->
<state><req>true</req></state> <!-- true -->
<postalCode><req>false</req></postalCode>
<country><req>false</req></country>
<phone><req>false</req></phone>
<fax><req>false</req></fax>
</registrationForm>
SetMeeting
Request Example:
<bodyContent xsi:type="java:com.webex.service.binding.meeting.SetMeeting">
<meetingkey>1015045339</meetingkey>
<metaData>
<confName>Conference Name</confName>
<meetingType>3</meetingType>
</metaData>
<attendeeOptions>
<emailInvitations>true</emailInvitations>
<registration>true</registration>
<auto>true</auto>
</attendeeOptions>
<registrationForm>
<title><req>true</req></title>
<company><req>true</req></company>
<address1><req>false</req></address1>
<address2><req>false</req></address2>
<city><req>true</req></city>
<state><req>true</req></state>
<postalCode><req>false</req></postalCode>
<country><req>false</req></country>
<phone><req>false</req></phone>
<fax><req>false</req></fax>
</registrationForm>
GetMeeting
Response Example:
<meet:sipURL>1234567890@sitename.webex.com</meet:sipURL>
<meet:displayMeetingUrl>1234567890@sitename.webex.com</meet:displayMeetingUrl>
<meet:registrationForm>
<meet:phone><meet:req>false</meet:req></meet:phone>
<meet:title><meet:req>true</meet:req></meet:title>
<meet:company><meet:req>true</meet:req></meet:company>
<meet:address1><meet:req>false</meet:req></meet:address1>
<meet:address2><meet:req>false</meet:req></meet:address2>
<meet:city><meet:req>true</meet:req></meet:city>
<meet:state><meet:req>true</meet:req></meet:state>
<meet:postalCode><meet:req>false</meet:req></meet:postalCode>
<meet:country><meet:req>false</meet:req></meet:country>
<meet:fax><meet:req>false</meet:req></meet:fax>
</meet:registrationForm>
</serv:bodyContent>
</serv:body>
</serv:message>
Affected APIs:
-
CreateMeeting
-
SetMeeting
-
GetMeeting
-
DelMeeting
The E2EE meeting type doesn't support a PMR meeting
When you enable a PMR during a call with the APIs:CreateUser/SetUser/GetUser/GetMe
and only an E2EE meeting type is avaliable, it will response the following error message: "110063 The user must have at least one non-E2EE meeting type to enable PMR."
Affected APIs:
-
CreateUser
-
SetUser
-
GetUser
-
GetMe
API 40.6.0 Updates
XML API 40.6.0 Updates
User Management role added
We have created the User Management role and the schema file for the following has changed.
Changed Schema: CreateUser
request:
Changed Schema: SetUser
Changed Schema: GetMe
response:
Changed Schema: LstsummaryUser
response:
Affected APIs:
-
CreateUser
-
SetUser
-
GetMe
-
LstsummaryUser
CreateUser
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>SiteAdmin</webExID>
<password>xxxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.user.CreateUser">
<firstName>xxx</firstName>
<lastName>xxx</lastName>
<webExId>xxx</webExId>
<password>xxx</password>
<email>xxx</email>
<privilege>
<umSiteAdmin>true</umSiteAdmin>
<host>false</host>
<siteAdmin>false</siteAdmin>
<labAdmin>false</labAdmin>
<voiceOverIp>false</voiceOverIp>
</privilege>
<languageID>3</languageID>
<active>ACTIVATED</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</bodyContent>
</body>
</serv:message>
Support using API key access the GetUserCard
We now support using the API key (generated JWT token) access the API: GetUserCard
in this release.
You can refer to these pages about applying one API key and to generate a JWT token:
GetUserCard
Request Example:
POST https://{sitename}.webex.com/WBXService/XMLService
Header:
Content-Type application/json;charset=utf-8
JWTToken ${jwttoken}
Body:
<?xml version="1.0" encoding="UTF-8"?>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2009/05/service">
<header>
<securityContext>
<siteName>{sitename}</siteName>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.user.GetUserCard">
<webExId>{userName}</webExId>
</bodyContent>
</body>
</message>
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:use="http://www.webex.com/schemas/2002/06/service/user">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="use:getUserCardResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<use:avatar>
<use:url>https://xxxx.webex.com/svc3300/svccomponents/html/img/avatar160.png</use:url>
<use:lastModifiedTime>1587493389768</use:lastModifiedTime>
<use:isUploaded>false</use:isUploaded>
</use:avatar>
<use:personalMeetingRoom>
<use:title>Test's Personal Room</use:title>
<use:personalMeetingRoomURL>https://xxxx.webex.com/meet/Test</use:personalMeetingRoomURL>
<use:accessCode>713289692</use:accessCode>
</use:personalMeetingRoom>
</serv:bodyContent>
</serv:body>
</serv:message>
Support for meetingUUID
in API request and response
We have added meetingUUID
to the API request and response when we support a meetingKey or sessionKey.
Affected APIs:
-
LstRecording
-
LstsummarySession
-
GetSesssionInfo
-
GethosturlMeeting
-
GetjoinurlMeeting
-
LstMeetingAttendee
-
CreateMeeting
-
SetMeeting
-
GetMeeting
-
DelMeeting
-
LstCalendarSession
meetingUUID
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
or
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
</serv:message>
meetingUUID
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NOT_INPROGRESS</ep:status>
<ep:isLocked>false</ep:isLocked>
<ep:sessionkey>805325231</ep:sessionkey>
<ep:meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</ep:meetingUUID>
<ep:confID>158941507534980823</ep:confID>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
PMR meeting keys will not be changed from a temporarily deactivated user or disabled PMR
When a temporary deactivated user or disabled PMR re-activates within one week, the now re-activated user or enabled the PMR's meeting key is not changed, it will be the same as before.
Affected APIs:
-
SetUser
-
DelUser
LstSummarySession
enhancements
We enhanced the API: LstSummarySession
return scheduled-PMR to have one new element, returnScheduledPMR
, in the request. And the feature toggle default is off.
Affected APIs:
-
LstSummarySession
Schema Change:
We add a new element name returnScheduledPMR
in the API LstSummarySession request.
We add a new element name isScheduledPMR
in the API LstSummarySession response.
LstSummarySession
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
<partnerID>xxxx</partnerID>
<clientInfo>xxxx</clientInfo>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.LstsummarySession">
<listControl>
<startFrom>1</startFrom>
<maximumNum>2</maximumNum>
<listMethod>AND</listMethod>
</listControl>
<dateScope>
<startDateStart>11/01/2019 8:0:0</startDateStart>
<startDateEnd>12/01/2019 7:59:59</startDateEnd>
<timeZoneID>4</timeZoneID>
<endDateStart>11/01/2019 8:0:0</endDateStart>
<endDateEnd>12/01/2019 7:59:59</endDateEnd>
</dateScope>
<order>
<orderBy>HOSTWEBEXID</orderBy>
<orderAD>ASC</orderAD>
<orderBy>CONFNAME</orderBy>
<orderAD>ASC</orderAD>
<orderBy>STARTTIME</orderBy>
<orderAD>ASC</orderAD>
</order>
<serviceTypes>
<serviceType>EventCenter</serviceType>
<serviceType>MeetingCenter</serviceType>
<serviceType>SalesCenter</serviceType>
<serviceType>TrainingCenter</serviceType>
<serviceType>SupportCenter</serviceType>
</serviceTypes>
<returnScheduledPMR>true</returnScheduledPMR>
</bodyContent>
</body>
</serv:message>
LstSummarySession
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ep:lstsummarySessionResponse">
<ep:matchingRecords>
<serv:total>1787</serv:total>
<serv:returned>2</serv:returned>
<serv:startFrom>1</serv:startFrom>
</ep:matchingRecords>
<ep:session>
<ep:sessionKey>809914325</ep:sessionKey>
<ep:MeetingUUID>809914325</ep:MeetingUUID>
<ep:confName>Team Meeting</ep:confName>
<ep:sessionType>3</ep:sessionType>
<ep:serviceType>MeetingCenter</ep:serviceType>
<ep:hostWebExID>Test</ep:hostWebExID>
<ep:hostFirstName>Test</ep:hostFirstName>
<ep:hostLastName>Test</ep:hostLastName>
<ep:otherHostWebExID>Test</ep:otherHostWebExID>
<ep:timeZoneID>2</ep:timeZoneID>
<ep:timeZone>GMT-10:00, Hawaii (Honolulu)</ep:timeZone>
<ep:status>NOT_INPROGRESS</ep:status>
<ep:startTime>10/12/2019 00:35:41</ep:startTime>
<ep:duration>60</ep:duration>
<ep:listStatus>PUBLIC</ep:listStatus>
<ep:hostEmail>Test@webex.com</ep:hostEmail>
<ep:passwordReq>true</ep:passwordReq>
<ep:hostJoined>false</ep:hostJoined>
<ep:participantsJoined>false</ep:participantsJoined>
<ep:confID>141672157056861215</ep:confID>
<ep:registration>false</ep:registration>
<ep:isRecurring>true</ep:isRecurring>
<ep:hostType>1019001</ep:hostType>
<ep:isAudioOnly>false</ep:isAudioOnly>
<ep:isTCSingleRecurrence>false</ep:isTCSingleRecurrence>
<ep:isAllowJBH>false</ep:isAllowJBH>
<ep:isCETMeeting>true</ep:isCETMeeting>
<ep:isException>false</ep:isException>
<ep:isNextUpcomingInstance>false</ep:isNextUpcomingInstance>
<ep:seriesMeetingKey>0</ep:seriesMeetingKey>
<ep:recurrenceId>0</ep:recurrenceId>
<ep:isScheduledPMR>true</ep:isScheduledPMR>
</ep:session>
<ep:session>
<ep:sessionKey>805660167</ep:sessionKey>
<ep:confName>xmlmc Molly08Console816960001</ep:confName>
<ep:sessionType>3</ep:sessionType>
<ep:serviceType>MeetingCenter</ep:serviceType>
<ep:hostWebExID>Molly08Console81696000</ep:hostWebExID>
<ep:hostFirstName>Molly08Console81696000</ep:hostFirstName>
<ep:hostLastName>Molly08Console81696000</ep:hostLastName>
<ep:otherHostWebExID>Molly08Console81696000</ep:otherHostWebExID>
<ep:timeZoneID>2</ep:timeZoneID>
<ep:timeZone>GMT-10:00, Hawaii (Honolulu)</ep:timeZone>
<ep:status>NOT_INPROGRESS</ep:status>
<ep:startTime>10/12/2019 00:35:41</ep:startTime>
<ep:duration>60</ep:duration>
<ep:listStatus>PUBLIC</ep:listStatus>
<ep:hostEmail>Molly08Console81696000@webex.com</ep:hostEmail>
<ep:passwordReq>true</ep:passwordReq>
<ep:hostJoined>false</ep:hostJoined>
<ep:participantsJoined>false</ep:participantsJoined>
<ep:confID>141672108716459038</ep:confID>
<ep:registration>false</ep:registration>
<ep:isRecurring>true</ep:isRecurring>
<ep:hostType>1019001</ep:hostType>
<ep:isAudioOnly>false</ep:isAudioOnly>
<ep:isTCSingleRecurrence>false</ep:isTCSingleRecurrence>
<ep:isAllowJBH>false</ep:isAllowJBH>
<ep:isCETMeeting>true</ep:isCETMeeting>
<ep:isException>false</ep:isException>
<ep:isNextUpcomingInstance>false</ep:isNextUpcomingInstance>
<ep:seriesMeetingKey>0</ep:seriesMeetingKey>
<ep:recurrenceId>0</ep:recurrenceId>
<ep:isScheduledPMR>true</ep:isScheduledPMR>
</ep:session>
</serv:bodyContent>
</serv:body>
</serv:message>
GetSite
enhancements
We have added a GetSite
response feature toggle of SupportXMLAPIReturnScheduledPMR
Affected APIs:
-
GetSite
Schema Change:
The XML API GetSite
response new element is: SupportXMLAPIReturnScheduledPMR
GetSite
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>xxx</siteName>
<webExID>Test</webExID>
<password>xxx</password>
<clientInfo>xxx</clientInfo>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.site.GetSite">
</bodyContent>
</body>
</serv:message>
GetSite
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:ns1="http://www.webex.com/schemas/2002/06/service/site" xmlns:event="http://www.webex.com/schemas/2002/06/service/event">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="ns1:getSiteResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns1:siteInstance>
<ns1:siteCommonOptions>
...
<ns1:SupportXMLAPIReturnScheduledPMR>true</ns1:SupportXMLAPIReturnScheduledPMR>
...
</ns1:siteCommonOptions>
</ns1:siteInstance>
</serv:bodyContent>
</serv:body>
</serv:message>
API 40.4.8, 40.2.9 Updates
XML API 40.4.8, 40.2.9 Updates
New response when updating scheduled meetings in XMLAPI
When customers use XMLAPI to update meetings scheduled through their page, we’ll send the numeric password in a meeting email update, and apply it to Webex Meetings, Teams, and Events centers.
Those APIs: GetMeeting, GetTrainingSession, GetEvent
and GetTeleconferenceSession
, will have these new elements as a response: audioPassword
(numeric password), isEnforceAudioPassword
, isEnforceAudioLogin
for Webex Meetings, Teams, and Events centers.
Changed Schema:
Affected APIs:
-
GetMeeting
-
GetTrainingSession
-
GetEvent
-
GetTeleconferenceSession
GetMeeting
Request Example:
<?xml version="1.0" encoding="ISO-8859-1"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>testSite</siteName>
<webExID>test</webExID>
<password>xxx</password>
<partnerID>xx</partnerID>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.meeting.GetMeeting">
<meetingKey>803328224</meetingKey>
</bodyContent>
</body>
</serv:message>
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="meet:getMeetingResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<meet:accessControl>
<meet:listToPublic>false</meet:listToPublic>
<meet:isPublic>false</meet:isPublic>
<meet:meetingPassword>PkzC8tP7kM5</meet:meetingPassword>
<meet:audioPassword>75928877</meet:audioPassword>
<meet:isEnforceAudioPassword>true</meet:isEnforceAudioPassword>
<meet:isEnforceAudioLogin>false</meet:isEnforceAudioLogin>
</meet:accessControl>
...
...
</serv:bodyContent>
</serv:body>
</serv:message>
API 40.4.5, 40.2.6 Updates
XML API 40.4.5, 40.2.6 Updates
GetUserCard
and GetSessionInfo
usage limit
We implement the usage limit on API GetUserCard
and GetSessionInfo
, you could get the error message: "403 forbidden" if you reach the usage limit.
Affected APIs:
-
GetUserCard
-
GetSessionInfo
API 40.4.4, 40.2.5 Updates
XML API 40.4.4, 40.2.5 Updates
BodyContent
number limit
We have added a limited number of BodyContent
in each XML API section. When you add too many of BodyContent
in the API request, the following error code and message will return: "000053 The count of BodyContent in a request must be less than {number}"
Affected APIs:
-
Any XML API
XML API Request with Multiple BodyContent
Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<webExID>xxxx</webExID>
<password>xxxx</password>
<siteName>xxx</siteName>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.user.GetUser">
<webExId>xxx</webExId>
</bodyContent>
<bodyContent xsi:type="java:com.webex.service.binding.user.GetSite">
</bodyContent>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>801020403</sessionKey>
</bodyContent>
</body>
</serv:message>
API 40.4.3, 40.2.4 Updates
XML API 40.4.3, 40.2.4 Updates
CreateUser
enhancements
We enhanced CreateUser
to support the welcome email in multiple languages. The CreateUser
now requests isHTMLEmail
Affected APIs:
-
CreateUser
CreateUser
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<webExID>administrator</webExID>
<password>xxxx</password>
<siteName>xxx</siteName>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.user.CreateUser">
<firstName>xxx</firstName>
<lastName>xxx</lastName>
<webExId>xxx</webExId>
<password>xxx</password>
<email>xxx</email>
<privilege>
<host>true</host>
<siteAdmin>false</siteAdmin>
<labAdmin>false</labAdmin>
<voiceOverIp>false</voiceOverIp>
</privilege>
<languageID>3</languageID>
<active>ACTIVATED</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</bodyContent>
</body>
</serv:message>
API 40.4.0 Updates
XML API 40.4.0 Updates
Enforce email verification when changing emails in XML API
After a site administrator enabled Confirmation required for the user to update email address in Webex Site Administration:
-
If a non-site administrator account calls the
SetUser
API to change email addresses, the current email remains until the new email is verified. The account change confirmation email is sent to the new email address with the "Webex Account Change Confirmation." After clicking the link in the email to confirm, the new email address is immediately linked.If a non-site administrator calls the
SetUser
API several times without finishing the email verification process, the current email is kept, and the latest new email is the one that must be verified. -
If a site administrator account calls the
SetUser
API to change email addresses, the email verification process isn't triggered. The new email will immediately be linked to the host's or attendee's account.
Affected APIs:
-
SetUser
GetEnrollmentInfo
timeout and connection reset
The GetEnrollmentInfo
API currently looks up IP addresses on the Domain Name System, which triggers huge performance impacts. We plan to simplify this process, with an empty response in the <domain>
field.
Affected APIs:
-
GetEnrollmentInfo
GetEnrollmentInfo
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>sqdemo6</siteName>
<webExID>xxx</webExID>
<password>xxxx</password>
<partnerID>webexpartner</partnerID>
</securityContext>
</header>
<body>
<bodyContent
xsi:type="java:com.webex.service.binding.attendee.GetEnrollmentInfo">
<sessionKey>716773566</sessionKey>
</bodyContent>
</body>
</serv:message>
GetEnrollmentInfo
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common"
xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="att:getEnrollmentInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<att:session>
<att:confID>154279066999981548</att:confID>
<att:attendee>
<att:attendeeID>3191792</att:attendeeID>
<att:enrollFields>
<att:defaultFields>
<att:firstName>Alex</att:firstName>
<att:lastName>Yang</att:lastName>
<att:email>omega.alex.yang@gmail.com</att:email>
<att:company></att:company>
<att:phoneNum></att:phoneNum>
<att:title></att:title>
<att:receiveInfo>false</att:receiveInfo>
<att:address1></att:address1>
<att:address2></att:address2>
<att:city></att:city>
<att:state></att:state>
<att:zipcode></att:zipcode>
<att:country></att:country>
<att:leadSourceID></att:leadSourceID>
<att:leadScore>0.0</att:leadScore>
</att:defaultFields>
<att:customFields/>
</att:enrollFields>
<att:domain> </att:domain>
<att:ipAddress>10.35.240.53</att:ipAddress>
<att:submitTime>02/27/2020 22:03:57</att:submitTime>
<att:status>APPROVED</att:status>
</att:attendee>
<att:attendee>
<att:attendeeID>3191797</att:attendeeID>
<att:enrollFields>
<att:defaultFields>
<att:firstName>AlexKKK</att:firstName>
<att:lastName>Test</att:lastName>
<att:email>achillesyang@hotmail.com</att:email>
<att:company></att:company>
<att:phoneNum></att:phoneNum>
<att:title></att:title>
<att:receiveInfo>false</att:receiveInfo>
<att:address1></att:address1>
<att:address2></att:address2>
<att:city></att:city>
<att:state></att:state>
<att:zipcode></att:zipcode>
<att:country></att:country>
<att:leadSourceID></att:leadSourceID>
<att:leadScore>0.0</att:leadScore>
</att:defaultFields>
<att:customFields/>
</att:enrollFields>
<att:domain> </att:domain>
<att:ipAddress>10.154.181.15</att:ipAddress>
<att:submitTime>02/27/2020 22:07:38</att:submitTime>
<att:status>APPROVED</att:status>
</att:attendee>
<att:matchingRecords>
<serv:total>2</serv:total>
<serv:returned>2</serv:returned>
<serv:startFrom>1</serv:startFrom>
</att:matchingRecords>
<att:sessionKey>716773566</att:sessionKey>
</att:session>
</serv:bodyContent>
</serv:body>
</serv:message>
API 40.2.0 Updates
XML API 40.2.0 Updates
Remove anonymous access to LstSummarySession
As a security enhancement, we're stopping support for anonymous access to the LstSummarySession
API. If Webex Meetings anonymously accesses the API, the following error code and message are returned: "000015 Sorry, no record found."
Affected APIs:
-
LstSummarySession
LstSummarySession
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>sitename1</siteName>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.LstsummarySession">
<sessionKey>211894651</sessionKey>
</bodyContent>
</body>
</serv:message>
LstSummarySession
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common"
xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
<serv:header>
<serv:response>
<serv:result>FAILURE</serv:result>
<serv:reason>Sorry, no record found</serv:reason>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
<serv:exceptionID>000015</serv:exceptionID>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent/>
</serv:body>
</serv:message>
CreateMeeting
and SetMeeting
security enhancements
This change was made in XML API 40.2.0, but its description has been edited after receiving customer feedback.
As a security enhancement, we updated the CreateMeeting
and SetMeeting
APIs to not allow users to schedule a meeting start time that has already passed. If they try, the API prompts the error message: "060016 Session start time should be later than current time." If a user needs to schedule an instant meeting, we recommend that the meeting start time be set five minutes later than the current time.
Affected APIs:
-
CreateMeeting
-
SetMeeting
API 40.1.2 Updates
XML API 40.1.2 Updates
Scheduling a meeting automatically generates a password if one isn't provided
We enhanced the CreateMeeting
, CreateEvent
, CreateTrainingSession
, and CreateTeleconferenceSession
to include a password in the API response's body.
By default, the All meetings/events/session must have a password setting is enabled. In this scenario, if the API request doesn't include a password, a password is automatically generated from the XML API servers.
If the All meetings/events/session must have a password setting is disabled, and the API request doesn't include a password, a password is not generated from the XML API servers.
If the API request includes a password, then the response will include that password, regardless of the All meetings/events/session must have a password setting being enabled or disabled.
Affected APIs:
-
CreateMeeting
-
CreateEvent
-
CreateTrainingSession
-
CreateTeleconferenceSession
The CreateMeeting
response now has the meetingPassword
element:
CreateMeeting
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>siteName1</siteName>
<webExID>userID</webExID>
<password>*****</password>
<partnerID>webexpartner</partnerID>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.meeting.CreateMeeting">
<metaData>
<confName>Test_Auto_Generated_mtg_pwd</confName>
<meetingType>3</meetingType>
</metaData>
<schedule>
<startDate>10/28/2020 17:35:00</startDate>
</schedule>
</bodyContent>
</body>
</serv:message>
CreateMeeting
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="meet:createMeetingResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<meet:meetingkey>806745263</meet:meetingkey>
<meet:meetingPassword>UzXJuzUD428</meet:meetingPassword>
<meet:iCalendarURL>
<serv:host>https://hmwds6.qa.webex.com/hmwds6/j.php?MTID=md225d5935256319ef21b71dd8ebd0640</serv:host>
<serv:attendee>https://hmwds6.qa.webex.com/hmwds6/j.php?MTID=m26bf5e25ca587d32302fb29951b92e15</serv:attendee>
</meet:iCalendarURL>
<meet:guestToken>cfc7f3246d4862f1bb69b803e8615b7a</meet:guestToken>
</serv:bodyContent>
</serv:body>
</serv:message>
The CreateEvent
response now has the eventPassword
element:
The CreateTrainingSession
and CreateTeleconferenceSession
responses now have the sessionPassword
element:
API 40.1.0 Updates
XML API 40.1.0 Updates
GetSessionInfo
enhancements
We've added new elements to the GetSessionInfo
API. The API now returns info for mobile devices too.
Affected APIs:
-
GetSessionInfo
GetSessionInfo
Request Updates:
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>sqdemo11</siteName>
<webExID>siteadmin</webExID>
<password>P@ss1234</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>713707633</sessionKey>
<pmrUrl>https://go.webex.com/join/dongchen</pmrUrl>
<sipUrl>dongchen@go.webex.com or 123456789_go@webex.com or 123456789@go.webex.com</sipUrl>
<meetingLink>https://go.webex.com/go/j.php?MTID=m814c6a483d4b5052d539f88d67acbad6</meetingLink>
<meetingUuid>34567323456787654323456787654</meetingUuid>
</bodyContent>
</body>
</serv:message>
LstAccessAnywhereHistory
enhancements
We've added a new API, lstAccessAnywhereHistory
, to respond with Webex Access Anywhere report info.
Affected APIs:
-
LstAccessAnywhereHistory
LstAccessAnywhereHistory
Request Updates:
LstAccessAnywhereHistory
Response Updates:
Request Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:serv="http://www.webex.com/schemas/2002/06/service">
<header>
<securityContext>
<siteName>sqdemo6</siteName>
<webExID>test</webExID>
<password>P@ss1234</password>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.history.LstAccessAnywhereHistory">
<hostWebexID>test1</hostWebexID>
<startTimeScope>
<sessionStartTimeStart>09/29/2019 00:42:34</sessionStartTimeStart>
<sessionStartTimeEnd>12/29/2019 04:42:34</sessionStartTimeEnd>
</startTimeScope>
<endTimeScope>
<sessionEndTimeStart>9/29/2019 02:42:34</sessionEndTimeStart>
<sessionEndTimeEnd>12/29/2019 05:42:34</sessionEndTimeEnd>
</endTimeScope>
<listControl>
<serv:startFrom>1</serv:startFrom>
<serv:maximumNum>10</serv:maximumNum>
<serv:listMethod>OR</serv:listMethod>
</listControl>
<order>
<orderBy>STARTTIME</orderBy>
<orderAD>ASC</orderAD>
</order>
</bodyContent>
</body>
</serv:message>
Response Example:
<?xml version="1.0" encoding="UTF-8"?>
<serv:message
xmlns:serv="http://www.webex.com/schemas/2002/06/service"
xmlns:com="http://www.webex.com/schemas/2002/06/common"
xmlns:history="http://www.webex.com/schemas/2002/06/service/history">
<serv:header>
<serv:response>
<serv:result>SUCCESS</serv:result>
<serv:gsbStatus>PRIMARY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="history:LstAccessAnywhereHistoryResponse"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<history:matchingRecords>
<serv:total>775</serv:total>
<serv:returned>10</serv:returned>
<serv:startFrom>1</serv:startFrom>
</history:matchingRecords>
<history:accessAnyWhereInfo>
<history:confID>123456</history:confID>
<history:userName>dean</history:userName>
<history:computerName>6926_dean</history:computerName>
<history:clientIP>10.224.222.183</history:clientIP>
<history:startTime>11/29/2019 03:05:44</history:startTime>
<history:endTime>11/29/2019 03:10:06</history:endTime>
<history:duration>5</history:duration>
</history:accessAnyWhereInfo>
</serv:bodyContent>
</serv:body>
</serv:message>