- Strona główna
- /
- Artykuł
Omówienie aktualizacji interfejsu Cisco Webex Meetings API (API 40)
Znajdź wszystkie ważne potrzebne informacje o interfejsie Cisco Webex Meetings API, takie jak zmiany schematu i inne ogłoszenia.
Aby uzyskać więcej informacji na temat interfejsu XML API 41, zobacz przegląd aktualizacji interfejsu API Cisco Webex Meetings (API 41)
Aby uzyskać więcej informacji na temat interfejsu XML API 39 i XML API 11, zobacz Omówienie aktualizacji interfejsu XML API Cisco Webex Meetings (XML API 39 i starszych).
Aby uzyskać aktualizacje dla interfejsu XML API 11 SP9 i starszych wersji, przejdź na stronę Cisco DevNet.
Aktualizacje interfejsu API 40.12.0
Aktualizacje interfejsu API XML 40.12.0
API XML obsługuje typ prywatnego spotkania
Wpływ na interfejsy API XML
-
Możemy użyć interfejsu API:
CreateMeeting
iSetMeeting
w celu zaplanowania lub aktualizacji spotkania Webex z typem spotkania prywatnego. -
Jeśli zaplanowane jest spotkanie Webex z typem spotkania prywatnego,
GetSessionInfo
GetMeeting
,LstSummarySession
iLstCalendarSession
zwrócą nowy element o nazwie toPrivateMeeting
, aby go poznać. -
GetMeetingType
iLstMeetingType
zwracają nowy element o nazwie
, który wskazuje, czy obsługuje spotkania prywatne, czy nie.SupportPrivateMeeting
Zmiany schematu
Interfejs API XML: Typ GetMeetingType/LstMeetingType: Dołącz element .
Interfejs API XML: LstSummarySession
: Dołącz element .
Interfejs API XML: Sesja LstCalendarSession
: Dołącz element .
Interfejs API XML: GetSessionInfo
: Dołącz element .
Interfejs API XML: GetMeeting: Dołącz element .
Żądanie interfejsu API XML: CreateMeeting
Żądanie CreateMeeting z typu Private Meeting
10/25/2020 13:00:00
45
45
;********
MC_PrivateMeeting_Test
168 //169 to próbka, która obsługuje prywatne spotkanie
Odpowiedź XML API: GetSessionInfo
Odpowiedź na isPrivateMeeting
false
true
true //true: Spotkanie obsługuje spotkanie prywatne; fałszywe: spotkanie nie obsługuje spotkań prywatnych.
false
false
true
Interfejs API GetSite zwróci szablony spotkań na poziomie witryny
Opis historii/zadania użytkownika
Interfejs API GetSite umożliwia zwrot szablonu spotkania na poziomie witryny. Umożliwi to szkołom Education Connector i Webex Classrooms wyświetlanie tych szablonów, aby nauczyciele mogli wybierać te szablony podczas planowania sesji on-line.
Wpływ na interfejsy API
Jeśli istnieją dostosowane szablony spotkań, które są na poziomie witryny, API witryny zwróci te szablony na poziomie witryny.
Nazwa elementów |
Opis |
---|---|
|
nazwa dostosowanych szablonów spotkań na poziomie witryny |
|
Webex Meetings, Webex Trainings i Webex Events |
Zmiany schematu
GetSite : Dołącz element .
Próbka odpowiedzi
Odpowiedź GetSite
<ns1:Rodzaje meetingTypes>
<ns1:meetingTypeID>3</ns1:meetingTypeID>
<ns1:meetingTypeName>PRO</ns1:meetingTypeName>
</ns1: Rodzaje meetingTypy>
<ns1:meetingTemplates>
<ns1:MeetingTemplate>
<ns1:meetingTemplateName>MC Meeting Tempalte 1</ns1:meetingTemplateName>
<ns1:serviceType>MeetingCenter</ns1:serviceType>
</ns1: szablon meetingowy>
<ns1:MeetingTemplate>
<ns1:meetingTemplateName>Spotkanie EC Tempalte 2</ns1:meetingTemplateName>
<ns1:serviceType>EventCenter</ns1:serviceType>
</ns1: szablon meetingowy>
<ns1:MeetingTemplate>
<ns1:meetingTemplateName>szablon spotkania TC 3</ns1:meetingTemplateName>
<ns1:serviceType>TrainingCenter</ns1:serviceType>
</ns1: szablon meetingowy>
</ns1:meetingTemplates>
Konfigurator interfejsu API XML nie może zmienić elementu supportedServices
, gdy witryna jest witryną ujednoliconą przez CI
Opis
XMLAPI SetUser
nie obsługuje zmiany wartości „supportedServices
” w żądaniu API, gdy witryną są połączone witryny Unified Webex Meeting z Control Hub.
Zmiany schematu
Nie ma zmiany schematu w interfejsie API: SetUser
.
WEBEX-15436: Dodaj ochronę, aby uniknąć duplikowania wiadomości e-mail na liście Mtgconfattendeelist
Opis
Jeśli wielu uczestników o tej samej wiadomości e-mail zostanie dodanych do tego samego spotkania w tym samym żądaniu API, będziemy przetwarzać tylko pierwszego uczestnika za pomocą wiadomości e-mail.
Interfejsy API, których dotyczy problem
-
CreateMeetingAttendee
-
Stwórz użytkownika
-
Ustaw użytkownika
-
CreateMeeting
-
Ustawienie spotkania
-
CreateEvent
-
SetEvent
-
Sesja CreateTraining
-
SetTrainingSession
Przykładowy API
Zgłoszenie
<?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>Użytkownik testujący</webExID>
<password>hasło</password>
</securityContext>
</header>
<ciało>
<sessionKey>1714904382</sessionKey>
<osoba>
<email>test@webex.com</email>
<name>name1</name>
</osoba>
<uczestnicy>
<osoba>
<email>test@webex.com</email>
<name>name2</name>
</osoba>
<sessionKey>1714904382</sessionKey>
</uczestnicy>
</ciało>
Aktualizacje interfejsu API 40.11.0
Aktualizacje interfejsu API XML 40.11.0
XMLAPI CreateUser obsługuje nazwę displayname
CreateUser
obsługuje dispalyname
, gdy przełącznik funkcji EnableDisplayName
ma wartość 1. Jeśli przełącznik funkcji nie ma wartości 1, nazwa displayName
zostanie zignorowana.
Zmiany schematu
Kreator użytkownika:
XMLAPI SetUser obsługuje nazwę displayname
SetUser
obsługuje dispalyname
, gdy przełącznik funkcji EnableDisplayName
ma wartość 1. Jeśli przełącznik funkcji nie ma wartości 1, nazwa displayName
zostanie zignorowana.
Zmiany schematu
SetUser:
XMLAPI GetUser obsługuje nazwę displayname
GetUser
obsługuje dispalyname
, gdy przełącznik funkcji EnableDisplayName
ma wartość 1. Jeśli przełącznik funkcji nie ma wartości 1, nazwa displayName
nie będzie wyświetlana.
Gdy displayName
w DB ma wartość null i przełącznik funkcji EnableDisplayName
ma wartość 1, displayName
będzie firstName+" "+lastName
dla znaków spoza Azji i firstName+lastName
dla znaków azjatyckich.
Zmiany schematu
GetUserResponse:
Sterowanie poziomem użytkownika XMLAPI dla CMR Hybrid Voip
Ustawienie cmrHybridVoip
służy do ustawiania i pobierania ustawienia poziomu użytkownika dla EnableCMRHybridVoIP
.
Zmiany schematu
Odpowiedź użytkownika GetUser:
Żądanie kreatora:
Żądanie konfiguracji użytkownika:
Aktualizacje interfejsu API 40.10.0
Aktualizacje interfejsu API XML 40.10.0
Obsługa interfejsu API XML dla UUID spotkania
w żądaniu API i odpowiedzi
Przykładowy interfejs API XML: Żądanie GetSessionInfo
:
<?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>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body>
<bodyContent xsi:type="java:com.webex.service.binding.ep.GetSessionInfo">
<sessionKey>805325231</sessionKey>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
Odpowiedź:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>NIE_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>
Interfejs API:
-
CreateMeetingAttendee
-
DelMeetingAttendee
-
RegisterMeetingAttendee
-
CreateTeleconferenceSession
-
SetTeleconferenceSession
-
GetTeleconferenceSession
-
Sesja CreateTraining
-
SetTrainingSession
-
GetTrainingSession
-
DelTrainingSession
-
CreateEvent
-
SetEvent
-
DelEvent
XMLAPI zwróci dodatkowy element konfiguracji administratora witryny, aby wyłączyć przechwytywanie ekranu
Wymóg pochodzi z bezpieczeństwa - zarówno błędy PenTest
i klientów, jak Goldman Sachs. Nie chcą zezwalać użytkownikom końcowym na przechwytywanie ekranu w aplikacji Meetings. Tymczasem wielu innych klientów chce tej funkcji - aby zezwolić na przechwytywanie ekranu. Również użytkownicy Edukacji chcą zezwolić na przechwytywanie ekranu. W związku z tym będziemy mieli konfigurację administratora witryny, a XMLAPI zwróci dodatkowe pole EnableMobileScreenCapture
w odpowiedzi GetSite
, aby to wspierać.
Przykładowe żądanie GetSite
<?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>
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>
Dotknięty interfejs API
GetSite
Obsługa XMLAPI MEET-269 PIN-less Join Improvement
XMLAPI dodaj NOWE OPCJE Systemy wideokonferencyjne w mojej organizacji mogą rozpoczynać spotkania i dołączać do nich bez monitów dotyczących spotkań w pokoju osobistym i spotkań MC.
-
createUser/setUser/getUser
dodaj nowy węzełdeviceCanStartMyPMR
wpersonalMeetingRoom
. -
createMeeting/setMeeting/getMeeting
dodaj nowy węzełdeviceCanStartMeeting
w harmonogramie.
Opcja w interfejsie użytkownika Webex dla spotkań w pokoju osobistym:
Zmiany schematu
Kreator użytkownika:
SetUser:
getUserResponse:
CreateMeeting:
setMeeting:
Odpowiedź na leczenie:
Aktualizacje interfejsu API 40.9.0
Aktualizacje interfejsu API XML 40.9.0
Obsługa interfejsu API XML dla żądania UUID
spotkania i odpowiedzi
Dodaliśmy identyfikator spotkania UUID do żądania API i odpowiedzi wszędzie tam, gdzie wspieramy jako meetingKey
lub sessionKey
.
Przykładowy interfejs API XML: Żądanie GetSessionInfo
:
<?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>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
Odpowiedź:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>NIE_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>
Interfejs API:
-
GetEnrollmentInfo
-
LstPodsumowanie yTrainingSession
-
AddScheduledTest
-
Test harmonogramu ustawień
-
DelScheduledTest
-
Informacje o GetTestInformation
-
UploadEventImage
-
Wyślij e-mail z zaproszeniem
-
Utwórz sesję wsparcia
-
LstmeetingagePreliminaryHistoria
-
LstmeetingattendeePreliminaryHistoria
-
LsteventsessionPreliminaryHistoria
-
LsteventattendeePreliminaryHistoria
-
LstTrainingPollResultsHistoria
Spotkania Webex będą miały zablokowane lobby spotkań, w którym użytkownicy mogą czekać na wpuszczenie do spotkania
Zaplanuj i edytuj spotkanie API XML w celu obsługi zablokowanego poczekalni, gdy funkcja (ConsistentLockedLobby
) się włączy.
Zmiany schematu
Dodano trzy nowe elementy (zewnętrzneAttendeeSecurity
, autoLock
, autoLockWaitTime
) do interfejsów API CreateMeeting, SetMeeting i GetMeeting .
Element |
Opis |
---|---|
|
Gdy spotkanie jest odblokowane, można wybrać trzy zewnętrzne elementy zabezpieczeń użytkownika.
|
|
Czy Automatyczne blokowanie spotkania. Prawda: Automatycznie blokuj spotkanie po # minutach od jego rozpoczęcia Fałsz: Nie blokuje automatycznie spotkania po rozpoczęciu spotkania |
|
Minuty (0,5,10,15,20) do automatycznego blokowania spotkania po rozpoczęciu spotkania |
Próbka żądania i odpowiedzi
Żądanie CreateMeeting:
...
...
false
AllowJoinWithLobby
true
10
...
Żądanie SetMeeting:
2###1###01
...
...
false
AllowJoinWithLobby
true
10
...
Odpowiedź 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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="meet:getMeetingResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
<meet:participants deeOptions>
...
<meet:joinRequiresAccount>false</meet:joinRequiresAccount>
<meet:externalAttendeeSecurity>Zezwalaj na dołączanie</meet:externalAttendeeSecurity>
<meet:autoLock>true</meet:autoLock>
<meet:autoLockWaitTime>10</meet:autoLockWaitTime>
</meet: attendeeOptions>
...
</serv:message>
Interfejs API:
-
CreateMeeting
-
Ustawienie spotkania
-
GetMeeting
Ulepszenie interfejsu API GetSessionInfo
w celu przywrócenia statusu uczestników podczas trwającej sesji
Dodano dwa nowe elementy (hasHostInMeeting
, hasAttendeeInMeeting
) w odpowiedzi na GetSessionInfo
. Te dwa elementy zostaną zwrócone, gdy spotkanie będzie w toku.
Element |
Opis |
---|---|
|
Czy prowadzący dołączył do trwającego spotkania. Prawda: Prowadzący uczestniczy w trwającym spotkaniu. Fałsz/Null: Prowadzący nie uczestniczy w trwającym spotkaniu ani w trwającym spotkaniu. |
|
Czy uczestnik/gospodarz dołączył do trwającego spotkania. Prawda: jest uczestnik lub gospodarz na trwającym spotkaniu. Fałsz/Null: na spotkaniu w toku nie ma żadnego uczestnika ani prowadzącego lub spotkanie nie jest w toku. |
Próbka odpowiedzi API:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>
...
</serv:message>
Interfejs API:
GetSessionInfo
Karta API GetUserCard wymaga autoryzacji.
Ulepszenie zabezpieczeń interfejsu XML API GetUserCard
wymaga autoryzacji w celu uzyskania informacji o użytkowniku.
Interfejs API:
GetUserCard
Aktualizacje interfejsu API 40.8.0
Aktualizacje interfejsu API XML 40.8.0
Rozszerzenie odpowiedzi GetSessionInfo
Jeśli nie jesteś zaproszony lub zatwierdzony ze spotkania, Twoje połączenie z interfejsem API XML: GetSessionInfo
nie zwróci elementów: confName, startDate, duration, timeZone, meetingLink, sipURL, displayMeetingUrl
w treści odpowiedzi API.
Przykład odpowiedzi API dla spotkań:
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NIE_INPROGRESS</ep: status>
<ep:sessionkey>1####2###4</ep:sessionkey>
<ep:accessControl>
<ep:listStatus>NIEWYMIENIONY</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>
Przykład odpowiedzi API dla szkoleń/wydarzeń:
<serv:bodyContent xsi:type="ep:getSessionInfoResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ep:status>NIE_INPROGRESS</ep: status>
<ep:sessionkey>1####5###9</ep:sessionkey>
<ep:listStatus>NIEWYMIENIONY</ep:listStatus>
<ep:registration>true</ep:registration>
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>
Interfejs API:
-
GetSessionInfo
GetSessionInfo, Ulepszenia zabezpieczeń GetUserCard
Poprawiono bezpieczeństwo interfejsu XML API GetSessionInfo
i GetUserCard
. Zablokujemy użytkownikom dostęp do tych dwóch interfejsów API w ciągu najbliższych dwóch godzin, jeśli ich połączenie osiągnie limit w ciągu jednej godziny bez błędów w znalezieniu danych.
Odpowiedź stanu błędu: "403 Zakazane"
Interfejsy API, których dotyczy problem:-
GetSessionInfo
-
GetUserCard
meetingUUID
w obsłudze żądania API i odpowiedzi
Dodaliśmy meetingUUID do żądania i odpowiedzi API wszędzie tam, gdzie obsługujemy meetingKey/sessionKey
.
Żądanie GetSessionInfo
:
<?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>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
Odpowiedź:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>NIE_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>
Interfejs API:
-
LstOpenSession
-
GetEnrollmentInfo
-
Podsumowanie LstsummarySpotkanie
-
LstScheduledTesty
-
GetEvent
-
LstsummaryEvent
-
LstmeetinguHistoria
-
LsttrainingsessionHistoria
-
LsteventsessionaHistoria
-
LstsupportsessionaHistoria
-
Opóźnienie
Szablon witryn edukacyjnych (typ sesji EDU) w obsłudze interfejsu API XML
Po włączeniu typu sesji Instruktora Edukacji (EDU) w witrynach API XML może pomóc w zaplanowaniu spotkania za pomocą szablonu spotkania EDU.
Interfejs API:
-
CreateMeeting
-
Ustawienie spotkania
-
CreateEvent
-
SetEvent
-
Sesja CreateTraining
-
SetTrainingSession
Obsługa interfejsu XML API CreateMeetingAttendee
i RegisterMeetingAttendee
Zarówno CreateMeetingAttendee
, jak i RegisterMeetingAttendee
mogą sprawdzić wymagany formularz rejestracyjny uczestnika w celu rejestracji Webex Meetings.
A oto nowy wyjątek dla tego zadania:
Numer wyjątku |
Komunikat o wyjątkach |
---|---|
040014 |
Brak wymaganych pól (formularz rejestracyjny): ... |
Na przykład jeśli wybrano pola „Nazwa stanowiska” i „Nazwa firmy” jako pola wymagane dla rejestracji uczestnika Webex Meetings, jak pokazano poniżej, podczas nawiązywania połączenia z dwoma interfejsami API należy podać wartość w polach „Nazwa stanowiska” i „Nazwa firmy”: CreateMeetingAttendee
i RegisterMeetingAttendee
.
Prośba o
udział w zarejestrowanych spotkaniach:
<body>
<bodyContent xsi:type="java:com.webex.service.binding.attendee">
<attenerMeetingAttendee">
<person>
<name>FirstNameb LastName</name>
<firstName>FirstNameb</firstName>
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>
Żądanie uczestnika CreateMeetingAttendee
:
FirstNameA LastNameA
FirstNameA
LastNameA
Inżynier / Nazwa stanowiska
Cisco1234 //Nazwa firmy
...
*****@*****.com
WIZYTA
true
UCZESTNIK
ACCEPT
true
1###4####1
040014 Wyjątek od odpowiedzi
Przykład:
<?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:result>FAILURE</serv:result>
Brak wymaganych pól (formularz rejestracyjny): title,company
PRIMARY
040014
title,company
Interfejs API:
-
CreateMeetingAttendee
-
RegisterMeetingAttendee
Ulepszenia walidacji adresu e-mail XML API
Interfejs XML API nie powinien zezwalać na znaki w białym obszarze w wiadomości e-mail, więc mamy ulepszoną walidację wiadomości e-mail, aby dostosować się do zachowania strony Webex Meetings.
Interfejs API:
-
CreateMeetingAttendee
-
CreateEvent
-
SetEvent
-
CreateContact
-
Konfiguruj kontakt
-
SetRecordingInfo
-
CreateMeetingAttendee
-
Sesja CreateTraining
-
SetTrainingSession
-
Stwórz użytkownika
-
Ustaw użytkownika
-
CreateMeeting
-
Ustawienie spotkania
-
RegisterMeetingAttendee
Aktualizacje interfejsu API 40.7.0
Aktualizacje interfejsu API XML 40.7.0
wsparcie
meetingUUID
Dodaliśmy meetingUUID
do żądania i odpowiedzi API wszędzie tam, gdzie wspieramy meetingKey lub sessionKey.
Przykład
żądania GetSessionInfo:
<?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>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
Przykład
żądania GetSessionInfo:
<?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>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
Przykład
odpowiedzi GetSessionInfo:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>NIE_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>
Interfejsy API, których dotyczy problem:
-
Historia uczestników szkolenia Lstmeetinge
-
Historia uczestników szkolenia Lsttraining
-
Historia uczestników spotkania
-
LstsupportportattendeeHistoria
Obsługa powitalnej wiadomości e-mail interfejsu API CreateUser
dla czterech nowych języków
Powitalna wiadomość e-mail HTML XMLAPI obsługuje następujące cztery nowe języki:
-
czeski (languageID=19)
-
polski (languageID=20)
-
Węgierski (languageID=21)
-
rumuński (languageID=22)
XMLAPI wysyła powitalny e-mail zgodnie z językiem lub languageID w żądaniu CreateUser
.
Używanie CreateUser
do wysłania przykładu powitalnego e-maila Html (po czesku):
<?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>
<ciało>
<firstName>test</firstName>
<lastName>użytkownik</lastName>
<webExId>testuser</webExId>
<password>xxxxxx</password>
<email>testuser@test.com</email>
<przywilej>
<host>true</host>
</przywilej>
<languageID>19</languageID>
lub
<language>Język czeski</language>
<active>AKTYWOWANY</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</ciało>
Aktualizacje interfejsu API 40.6.1, 40.4.9
Aktualizacje interfejsu API XML 40.6.1, 40.4.9
Obsługa CreateMeeting/SetMeeting
Podczas planowania spotkania Webex interfejs XML API CreateMeeting/SetMeeting
umożliwia sprawdzenie lub cofnięcie zaznaczenia lub kliknięcie wymaganego lub niewymaganego pola z formularza rejestracyjnego uczestnika.
Poniżej przedstawiono przykładowy harmonogram spotkań ze strony internetowej użytkownika, gdzie można sprawdzić wymagane pola, takie jak "Nazwa stanowiska", "Nazwa firmy", "Miasto", i "Państwo" w formularzu rejestracyjnym uczestnika:
Poniżej znajduje się mapowanie między polami strony a elementami interfejsu API XML:
Pola strony | Element XMLAPI |
---|---|
Stanowisko | |
Nazwa firmy | |
Adres 1 | |
Adres 2 | |
Miasto | |
Stan | |
Kod pocztowy | |
Kraj/region | |
Telefon służbowy | |
Fax |
Zmieniony schemat: Dodaj element „registrationForm” do CreateMeeting
Zmieniony schemat: Dodaj element „registrationForm” do SetMeeting
Zmieniony schemat: Dodaj element „registrationForm” do GetMeeting
Przykład żądania CreateMeeting
:
Hasło
true
true
false
true
true
false
false
true
true
false
false
false
false
Skonfiguruj żądanie
Przykład:
1015045339
Nazwa konferencji
3
true
true
prawda
true
true
false
false
true
true
false
false
false
false
Przykład odpowiedzi na GetMeeting
:
1234567890@sitename.webex.com
1234567890@sitename.webex.com
false
true
true
false
false
true
true
false
false
false
Interfejsy API, których dotyczy problem:
-
CreateMeeting
-
Ustawienie spotkania
-
GetMeeting
-
DelMeeting
Typ spotkania E2EE nie obsługuje spotkania PMR
Po włączeniu PMR podczas połączenia za pomocą interfejsów API:CreateUser/SetUser/GetUser/GetMe
i tylko typ spotkania E2EE jest dostępny, odpowie na następujący komunikat błędu: "110063 Aby włączyć PMR, użytkownik musi mieć co najmniej jeden typ spotkania inny niż E2EE."
Interfejsy API, których dotyczy problem:
-
Stwórz użytkownika
-
Ustaw użytkownika
-
GetUser
-
GetMe
Aktualizacje interfejsu API 40.6.0
Aktualizacje interfejsu API XML 40.6.0
Dodano rolę zarządzania użytkownikami
Utworzyliśmy rolę Zarządzanie użytkownikami, a plik schematu dla poniższych uległ zmianie.
Zmieniony schemat: Żądanie
CreateUser:
Zmieniony schemat: Ustaw użytkownika
Zmieniony schemat: Odpowiedź
GetMe:
Zmieniony schemat: LstsummaryOdpowiedź
użytkownika:
Interfejsy API, których dotyczy problem:
-
Stwórz użytkownika
-
Ustaw użytkownika
-
GetMe
-
LssummaryUser
Przykład żądania kreatora
:
<?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>Administrator witryny</webExID>
<password>xxxx</password>
</securityContext>
</header>
<ciało>
<firstName>xxx</firstName>
<lastName>xxx</lastName>
<webExId>xxx</webExId>
<password>xxx</password>
<email>xxx</email>
<przywilej>
<umSiteAdmin>true</umSiteAdmin>
<host>false</host>
<siteAdmin>false</siteAdmin>
<labAdmin>false</labAdmin>
<voiceOverIp>false</voiceOverIp>
</przywilej>
<languageID>3</languageID>
<active>AKTYWOWANY</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</ciało>
Obsługa przy użyciu klucza API dostęp do GetUserCard
Obsługujemy teraz używanie klawisza API (wygenerowany token JWT), aby uzyskać dostęp do API: GetUserCard
w tym wydaniu.
Można odwołać się do tych stron o zastosowaniu jednego klucza API i wygenerowaniu tokena JWT:
Jak zastosować jeden klucz API
Przykład żądania GetUserCard
:
Nagłówek POST https://{sitename}.webex.com/WBXService/XMLService
:
Content-Type application/json;charset=utf-8
JWTToken ${jwttoken}
Ciało:
<?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>
Przykład odpowiedzi:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="use:getUserCardResponse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<użyj:url>https://xxxx.webex.com/svc3300/svccomponents/html/img/avatar160.png</use:url>
<use:lastModifiedTime>1587493389768</use:lastModifiedTime>
<use:isUploaded>false</use:isUploaded>
</użycie: awatar>
<use:title>Pokój osobisty testu</use:title>
<use:personalMeetingRoomURL>https://xxxx.webex.com/meet/Test</use:personalMeetingRoomURL>
<use:accessCode>713289692</use:accessCode>
</użycie: personalMeetingRoom>
</serv:bodyContent>
Obsługa meetingUUID
w żądaniu API i odpowiedzi
Dodaliśmy meetingUUID
do żądania API i odpowiedzi, gdy obsługujemy klucz meetingKey lub sessionKey.
Interfejsy API, których dotyczy problem:
-
Nagrywanie strun
-
LstPodsumowanie ySesja
-
GetSesssionInfo
-
Spotkanie GethosturlMeeting
-
GetjoinurlMeeting
-
LstMeetingAttendee
-
CreateMeeting
-
Ustawienie spotkania
-
GetMeeting
-
DelMeeting
-
LstCalendarSession
meetingUUID
Request Przykład:
<?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>
lub
<meetingUUID>039c00dd25c64ab0812dda22bb8a4fcc</meetingUUID>
</bodyContent>
</body>
przykład odpowiedzi
meetingUUID:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>NIE_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>
Klawisze spotkań PMR nie będą zmieniane z tymczasowo wyłączonego użytkownika lub wyłączonego PMR
Gdy tymczasowo dezaktywowany użytkownik lub wyłączony PMR zostanie ponownie aktywowany w ciągu tygodnia, teraz ponownie aktywowany użytkownik lub włączony klucz spotkania PMR nie zostanie zmieniony, będzie on taki sam jak wcześniej.
Interfejsy API, których dotyczy problem:
-
Ustaw użytkownika
-
DelUser
Udoskonalenia LstSummarySession
Ulepszyliśmy interfejs API: LstSummarySession
return scheduled-PMR, aby mieć jeden nowy element, returnScheduledPMR
, w żądaniu. Domyślne przełączanie funkcji jest wyłączone.
Interfejsy API, których dotyczy problem:
-
LstSummarySession
Zmiana schematu:
Dodajemy nową nazwę elementu returnScheduledPMR
w żądaniu API LstSummarySession.
Dodajemy nową nazwę elementu isScheduledPMR
w odpowiedzi API LstSummarySession.
LstSummarySession
Request Przykład:
<?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>
<ciało>
<listControl>
<startFrom>1</startFrom>
<maximumNum>2</maximumNum>
<listMethod>I</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>
<zamówienie>
<orderBy>HOSTWEBEXID</orderBy>
<orderAD>ASC</orderAD>
<orderBy>CONFNAME</orderBy>
<orderAD>ASC</orderAD>
<orderBy>STARTTIME</orderBy>
<orderAD>ASC</orderAD>
</zamówienie>
<serwisiceTypes>
<serviceType>EventCenter</serviceType>
<serviceType>MeetingCenter</serviceType>
<serviceType>SalesCenter</serviceType>
<serviceType>TrainingCenter</serviceType>
<serviceType>SupportCenter</serviceType>
</serwisyTypy>
<returnScheduledPMR>true</returnScheduledPMR>
</ciało>
Przykład odpowiedzi
na sesję LstSummarySession:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>Spotkanie zespołu</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, Hawaje (Honolulu)</ep:timeZone>
<ep:status>NIE_INPROGRESS</ep: status>
<ep:startTime>10/12/2019 00:35:41</ep:startTime>
<ep:duration>60</ep:duration>
<ep:listStatus>PUBLICZNY</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:sesja>
<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, Hawaje (Honolulu)</ep:timeZone>
<ep:status>NIE_INPROGRESS</ep: status>
<ep:startTime>10/12/2019 00:35:41</ep:startTime>
<ep:duration>60</ep:duration>
<ep:listStatus>PUBLICZNY</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:sesja>
</serv:bodyContent>
Udoskonalenia GetSite
Dodaliśmy przełącznik funkcji odpowiedzi GetSite
w SupportXMLAPIReturn nScheduledPMR
Interfejsy API, których dotyczy problem:
-
GetSite
Zmiana schematu:
Nowy element odpowiedzi interfejsu XML API GetSite
to: SupportXMLAPIReturn nScheduledPMR
Przykład żądania GetSite
:
<?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>
xxx
<clientInfo>xxx</clientInfo>
</securityContext>
</header>
<body>
<bodyContent xsi:type="java:com.webex.service.binding.site.GetSite">
</bodyContent>
</body>
Przykład odpowiedzi na GetSite
:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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:SupportXMLAPIReturn nScheduledPMR>true</ns1:SupportXMLAPIReturn nScheduledPMR>
...
</ns1:siteCommonOptions>
</ns1:siteInstance>
</serv:bodyContent>
Aktualizacje interfejsu API 40.4.8, 40.2.9
Aktualizacje interfejsu API XML 40.4.8, 40.2.9
Nowa odpowiedź podczas aktualizacji zaplanowanych spotkań w XMLAPI
Gdy klienci używają interfejsu XMLAPI do aktualizacji spotkań zaplanowanych na ich stronie, wyślemy hasło numeryczne podczas aktualizacji wiadomości e-mail spotkania i zastosujemy je do centrów Webex Meetings, Teams i Events.
Te interfejsy API: GetMeeting, GetTrainingSession, GetEvent
i GetTeleconferenceSession
, będą miały te nowe elementy jako odpowiedź: audioPassword
(hasło numeryczne), isEnforceAudioPassword
, isEnforceAudioLogin
dla centrów Webex Meetings, Teams i Events.
Zmieniony schemat:
Interfejsy API, których dotyczy problem:
-
GetMeeting
-
GetTrainingSession
-
GetEvent
-
GetTeleconferenceSession
Prośba o
GetMeeting Przykład:
<?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>
Przykład odpowiedzi:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>
Aktualizacje interfejsu API 40.4.5, 40.2.6
Aktualizacje interfejsu API XML 40.4.5, 40.2.6
Limit użytkowania GetUserCard
i GetSessionInfo
Wdrożymy limit użycia na API GetUserCard
i GetSessionInfo
, można uzyskać komunikat o błędzie: "403 zabronione", jeśli osiągniesz limit użycia.
Interfejsy API, których dotyczy problem:
-
GetUserCard
-
GetSessionInfo
Aktualizacje interfejsu API 40.4.4, 40.2.5
Aktualizacje interfejsu API XML 40.4.4, 40.2.5
Ograniczenie liczby treści
nadwozia
W każdej sekcji XML API dodaliśmy ograniczoną liczbę treści
ciała. Po dodaniu zbyt wielu treści BodyContent
w żądaniu API powróci następujący kod błędu i komunikat: "000053 Liczba treści BodyContent w żądaniu musi być mniejsza niż {number}"
Interfejsy API, których dotyczy problem:
-
Dowolny interfejs XML
Żądanie API XML z wieloma treściami ciała
Przykład:
<?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>
<ciało>
<webExId>xxx</webExId>
<sessionKey>801020403</sessionKey>
</ciało>
Aktualizacje interfejsu API 40.4.3, 40.2.4
Aktualizacje interfejsu API XML 40.4.3, 40.2.4
Udoskonalenia CreateUser
Ulepszyliśmy usługę CreateUser
, aby obsługiwać powitalną wiadomość e-mail w wielu językach. CreateUser
prosi teraz isHTMLEmail
Interfejsy API, których dotyczy problem:
-
Stwórz użytkownika
Przykład żądania
CreateUser:
<?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>
<ciało>
<firstName>xxx</firstName>
<lastName>xxx</lastName>
<webExId>xxx</webExId>
<password>xxx</password>
<email>xxx</email>
<przywilej>
<host>true</host>
<siteAdmin>false</siteAdmin>
<labAdmin>false</labAdmin>
<voiceOverIp>false</voiceOverIp>
</przywilej>
<languageID>3</languageID>
<active>AKTYWOWANY</active>
<sendWelcome>true</sendWelcome>
<isHTMLEmail>true</isHTMLEmail>
</ciało>
Aktualizacje interfejsu API 40.4.0
Aktualizacje interfejsu API XML 40.4.0
Wymuś weryfikację poczty e-mail podczas zmiany wiadomości e-mail w interfejsie API XML
Po włączeniu przez administratora witryny Potwierdzenie wymagane dla użytkownika do aktualizacji adresu e-mail w Webex Site Administration:
-
Jeśli konto administratora spoza witryny zadzwoni do interfejsu API
SetUser
w celu zmiany adresów e-mail, aktualna wiadomość e-mail pozostaje do czasu zweryfikowania nowej wiadomości. Wiadomość e-mail z potwierdzeniem zmiany konta jest wysyłana na nowy adres e-mail z potwierdzeniem zmiany konta Webex. Po kliknięciu łącza w wiadomości e-mail w celu potwierdzenia, nowy adres e-mail jest natychmiast połączony.Jeśli administrator spoza witryny kilkakrotnie dzwoni do interfejsu API
SetUser
bez zakończenia procesu weryfikacji wiadomości e-mail, aktualna wiadomość e-mail jest przechowywana, a najnowsza nowa wiadomość e-mail musi zostać zweryfikowana. -
Jeśli konto administratora witryny zadzwoni do interfejsu API
SetUser
w celu zmiany adresów e-mail, proces weryfikacji wiadomości e-mail nie zostanie uruchomiony. Nowa wiadomość e-mail zostanie natychmiast połączona z kontem prowadzącego lub uczestnika.
Interfejsy API, których dotyczy problem:
-
Ustaw użytkownika
Limit czasu GetEnrollmentInfo
i zresetowanie połączenia
Interfejs API GetEnrollmentInfo
obecnie przegląda adresy IP w Systemie Nazwy Domeny, co wywołuje ogromny wpływ na wydajność. Planujemy uprościć ten proces, pozostawiając pustą odpowiedź w polu .
Interfejsy API, których dotyczy problem:
-
GetEnrollmentInfo
Wniosek o
GetEnrollmentInfo:
<?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>
Przykład odpowiedzi GetEnrollmentInfo
:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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:uczestnik>
<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:kod pocztowy></att:kod pocztowy>
<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>ZATWIERDZONE</att:status>
</att: uczestnik>
<att:uczestnik>
<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:kod pocztowy></att:kod pocztowy>
<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>ZATWIERDZONE</att:status>
</att: uczestnik>
<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:sesja>
</serv:bodyContent>
Aktualizacje interfejsu API 40.2.0
Aktualizacje interfejsu API XML 40.2.0
Usuń dostęp anonimowy do sesji LstSummarySession
Jako ulepszenie bezpieczeństwa przestajemy wspierać dostęp anonimowy do interfejsu API LstSummarySession
. Jeśli aplikacja Webex Meetings uzyskuje anonimowy dostęp do interfejsu API, zwraca się następujący kod błędu i komunikat: „000015 Przepraszamy, nie znaleziono rekordu”.
Interfejsy API, których dotyczy problem:
-
LstSummarySession
LstSummarySession
Request Przykład:
<?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>
Przykład odpowiedzi
na sesję LstSummarySession:
<?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>NIEPOWODZENIE</serv:result>
<serv:reason>Niestety nie znaleziono rekordu</serv:reason>
<serv:gsbStatus>PRZEDE WSZYSTKIM</serv:gsbStatus>
<serv:WyjątkowyID>000015</serv:WyjątkowyID>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent/>
</serv:body>
Ulepszenia
zabezpieczeń usługi CreateMeeting i SetMeeting
Ta zmiana została wprowadzona w interfejsie API XML 40.2.0, ale jego opis został zmieniony po otrzymaniu opinii klienta.
Jako ulepszenie zabezpieczeń zaktualizowaliśmy interfejsy API CreateMeeting
i SetMeeting
, aby uniemożliwić użytkownikom zaplanowanie godziny rozpoczęcia spotkania, która już minęła. Jeśli spróbują, API wyświetli komunikat o błędzie: "060016 Godzina rozpoczęcia sesji powinna być późniejsza niż bieżąca godzina." Jeśli użytkownik musi zaplanować spotkanie natychmiastowe, zalecamy ustawienie godziny rozpoczęcia spotkania pięć minut później niż bieżąca godzina.
Interfejsy API, których dotyczy problem:
-
CreateMeeting
-
Ustawienie spotkania
Aktualizacja interfejsu API 40.1.2
Aktualizacje interfejsu API XML 40.1.2
Planowanie spotkania automatycznie generuje hasło, jeśli nie jest ono podane
Ulepszyliśmy CreateMeeting
, CreateEvent
, CreateTrainingSession
, i CreateTeleconferenceSession
w celu uwzględnienia hasła w treści odpowiedzi API.
Domyślnie Wszystkie spotkania/wydarzenia/sesje muszą mieć ustawienie hasła jest włączone. W takim scenariuszu, jeśli żądanie API nie zawiera hasła, hasło jest automatycznie generowane z serwerów API XML.
Jeśli ustawienie Wszystkie spotkania/wydarzenia/sesje musi mieć hasło jest wyłączone, a żądanie API nie zawiera hasła, hasło nie jest generowane z serwerów API XML.
Jeśli żądanie API zawiera hasło, odpowiedź będzie zawierać to hasło, niezależnie od tego, czy Wszystkie spotkania/wydarzenia/sesje muszą mieć włączone lub wyłączone ustawienie hasła .
Interfejsy API, których dotyczy problem:
-
CreateMeeting
-
CreateEvent
-
Sesja CreateTraining
-
CreateTeleconferenceSession
Odpowiedź CreateMeeting
zawiera teraz element meetingPassword
:
Przykład
żądania CreateMeeting:
<?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>
<ciało>
<metaData>
<confName>Test_A.uto_G G Generated_mtg_pwd</confName>
<meetingType>3</meetingType>
</metaData>
<harmonogram>
<startDate>10/28/2020 17:35:00</startDate>
</harmonogram>
</ciało>
Przykład odpowiedzi CreateMeeting
:
<?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>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</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>
https://hmwds6.qa.webex.com/hmwds6/j.php?MTID=md225d5935256319ef21b71dd8ebd0640</serv:host>
https://hmwds6.qa.webex.com/hmwds6/j.php?MTID=m26bf5e25ca587d32302fb29951b92e15</serv:attendee>
</meet:iCalendarURL>
<meet:guestToken>cfc7f3246d4862f1bb69b803e8615b7a</meet:guestToken>
</serv:bodyContent>
Odpowiedź CreateEvent
ma teraz element eventPassword
:
Odpowiedzi CreateTrainingSession
i CreateTeleconferenceSession
mają teraz element sesyjHasło
:
Aktualizacje interfejsu API 40.1.0
Aktualizacje interfejsu API XML 40.1.0
Udoskonalenia GetSessionInfo
Dodaliśmy nowe elementy do interfejsu API GetSessionInfo
. API zwraca teraz również informacje o urządzeniach mobilnych.
Interfejsy API, których dotyczy problem:
-
GetSessionInfo
Aktualizacje żądania GetSessionInfo
:
Przykład żądania:
<?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>
https://go.webex.com/join/dongchen</pmrUrl>
<sipUrl>dongchen@go.webex.com lub 123456789_go@webex.com</sipUrl>
https://go.webex.com/go/j.php?MTID=m814c6a483d4b5052d539f88d67acbad6</meetingLink>
<meetingUuid>34567323456787654323456787654</meetingUuid>
</bodyContent>
</body>
Ulepszenia LstAccessAnywhere History
Dodaliśmy nowy interfejs API, lstAccessAnywhere History
, aby odpowiedzieć za pomocą informacji o raporcie Webex Access Anywhere.
Interfejsy API, których dotyczy problem:
-
LstAccessAnywhere Historia
Aktualizacje żądania LstAccessAnywhere
History:
LstAccessAnywhere History
Aktualizacje odpowiedzi:
Przykład żądania:
<?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>
<ciało>
<hostWebexID>test1</hostWebexID>
<sessionStartTimeStart>09/29/2019 00:42:34</sessionStartTimeStart>
<sessionStartTimeEnd>12/29/2019 04:42:34</sessionStartTimeEnd>
<sessionEndTimeStart>9/29/2019 02:42:34</sessionEndTimeStart>
<sessionEndTimeEnd>12/29/2019 05:42:34</sessionEndTimeEnd>
<listControl>
<serv:startFrom>1</serv:startFrom>
<serv:maximumNum>10</serv:maximumNum>
<serv:listMethod>LUB</serv:listMethod>
</listControl>
<zamówienie>
<orderBy>STARTTIME</orderBy>
<orderAD>ASC</orderAD>
</zamówienie>
</ciało>
Przykład odpowiedzi:
<?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:historia="http://www.webex.com/schemas/2002/06/service/history">
<serv:header>
<serv:response>
<serv:result>SUKCES</serv:result>
<serv:gsbStatus>GŁÓWNY</serv:gsbStatus>
</serv:response>
</serv:header>
<serv:body>
<serv:bodyContent xsi:type="history:LstAccessAnywhere HistoryResponse"
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>
<historia: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>
</historia: accessAnyWhereInfo>
</serv:bodyContent>