Interface via API - 3CX WebMeeting Server
pixel500w-500x1
Zero Admin
With the new Dashboard
pixel500w-500x1
Bulletproof Security
With SSL certs and NGINX
pixel500w-500x1
Install on $150 Appliance
Intel MiniPC architecture
pixel500w-500x1
New, Intuitive Windows Client
More themes, more UC
pixel500w-500x1
More CRM Integrations
Scripting Interface to add your own
pixel500w-500x1
Improved Integrated Web Conferencing
iOS and Android apps included
pixel500w-500x1
Personal Click2Meet URLs

Interface via API

Interface via API

The API of 3CX WebMeeting Server (3CX WMS) are groups of procedures available to programmers who wish to integrate 3CX WMS with other environments and application solutions. The APIs of 3CXWMS have been grouped to form a set of specific tools for a given task.

The Application Programming Interfaces (API) allow interacting with the 3CXWMS platform without using the Web interface.

The APIs consist of a set of methods, each of which acts on a specific aspect of the configuration. In the final analysis, an 3CXWMS API is an HTTP request made to the Web server of the platform.

The structure of a request is type:

http://<portal>/manager.php?method=<method>&login=<e‐mail>&password=<pwd>

Depending on the method used, each request has a variable number of parameters (required and optional) in the following form:

<key>=<value>

separated by the character "&".

The meeting access links have the following structure:

http://portalname/join/emailhost/key

The key parameter can be both the masterkey and the access key for the participants.

Described below are the error conditions and the methods that can be used for the implementations.

Error conditions

Each method provides a reply that can be in the following formats:

OK:message

Message

or

ERROR:error description

These are generic errors that can be obtained as a response for any method:

ERROR:Missing/empty login.

The mandatory "login" parameter is missing”.

ERROR:Missing/empty password.

The mandatory "password" parameter is missing”.

ERROR:Bad login/password.

The login and password given fail to correspond to a valid user.

ERROR:DB:<db error message>

The database has signaled error during access.

ERROR:Unsupported method.

The method requested is not implemented.

ERROR:Invalid request.

The server has received an invalid request and cannot respond correctly.

From version 4.0 of 3CXWMS, the APIs no longer accept uncoded passwords but only the MD5 format. Any request with uncoded password will return an error message in response:

ERROR:Login error.

CreateMasterKey method

The CreateMasterKey method generates a univocal access key that must be used by the meeting host, who will get control rights over the meeting. The following mandatory parameters must be entered for this method:

<login> login to access the server

<Password> password to access the server

<userid> email/unambiguous host identification (it must be unambiguous throughout the system; the user will be the owner of the meeting)

<Username> username (it must be unambiguous in the same meeting)

<startdate> meeting start date and time (yyyymmddhhmmss format)

<duration> meeting duration in minutes

Optional parameters:

<title> meeting title

The administrator can specify any userid, while the other users must specify their own login as userid. If the operation for creating the masterkey of the meeting has been successful, the method returns a text/plain content in the following format:

OK:masterkey

In the event of an error, the method is reset

ERROR:error description

The masterkey must be used for all the operations that concern a newly created meeting. Error messages associated with this method:

ERROR:Missing/empty userid.

The mandatory "userid" parameter is missing.

ERROR:Missing/empty username.

The mandatory "username" parameter is missing.

ERROR:Invalid startdate.

The "startdate" parameter fails to correspond to a valid date/time.

ERROR:Invalid duration (0-1440).

The "duration" parameter fails to correspond to a valid duration in minutes.

ERROR:Administrator privileges required.

A non-administrator user has tried to create a meeting with a host different from his own account.

Only the administrator can create meetings for other users.

Example:

 request:

 http://mycompany.com/manager.php?

            method=CreateMasterKey&

            login=demo@mycompany.com&

        password=<pwd>&

            startdate=20100329100000&

        username=emanuele&

        userid=demo@mycompany.com&

        duration=5&

        title=test%20api%20log

 reply:

 OK: iQtzAj1kXJnv4QnXA4h8SkDeW

CreateKey method

The CreateKey method generates the keys for the other participants in the videoconference.  The following parameters must be entered for this method:

<login> login to access the server

<Password> password to access the server

<masterkey> masterkey (obtained with the CreateMasterKey method)

<userid> user's univocal email/identifier (it must be univocal throughout the entire system)

<username> user's name (must be univocal within any one meeting)

If the operation for creating the user key has been successful, the method returns a text/plain content in the following format:

OK:userkey

In the event of an error, the method is reset

ERROR:error description

Error messages associated with this method:

ERROR:Missing/empty masterkey.

The mandatory "masterkey" parameter is missing.

ERROR:Bad masterkey.

No invitation record with the specified masterkey has been found.

ERROR:key already exists for this session.

You attempted to create a key for a user already in possession of a meeting access key.

ERROR:Missing/empty userid.

The mandatory "userid" parameter is missing.

ERROR:Missing/empty username.

The mandatory "username" parameter is missing.

RetrieveMasterKeys method

The RetrieveMasterKeys method retrieves all the MasterKeys activated for the user. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

The method returns a text/plain content with the following format:

OK:number of keys

key|date of the meeting in the format dd/mm/yyyy hh:mm:ss|duration|title

Example:

OK:3

FVcQ6HmwFGQCY1KPvHVUpX2S|10/11/2008 13:00:00|600|this meeting has a title

FTRenttgalsxzwb4ObgTBL0r8|10/11/2008 13:00:00|600|this meeting has a title

NFvjkObhWL1ybz0vSKAgmfuPA|10/11/2008 13:00:00|600|this meeting has a title

In the event of an error, the method is reset

ERROR:error description

RetrieveKey method

The RetrieveKey method retrieves the last key generated for a given user. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey (obtained with the CreateMasterKey method)

        * <userid> user's univocal email/identifier (it must be univocal throughout the entire system)

If there is already a key for the selected user, the method returns a text/plain content in the following format:

OK:userkey

In the event of an error, the method is reset

ERROR:error description

Error messages associated with this method:

ERROR:Missing/empty masterkey.

The mandatory "masterkey" parameter is missing”.

ERROR:Bad masterkey.

No invitation record with the specified masterkey has been found.

ERROR:Key not found.

The specified key has not been found in the meeting described by the masterkey.

DeleteKey method

The DeleteKey method cancels an access key from the database. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey (obtained with the CreateMasterKey method)

        * <key> key to be deleted.

If there is a key associated with the specified masterkey, the method returns a text/plain content in the following format:

OK:key

In the event of an error, the method is reset

ERROR:error description

Note:  to delete a masterkey, you must specify the actual masterkey as key. In this case, ALL the keys associated with this meeting will be cancelled.

Warning: Deleting one or more keys will result in losing the utilization statistics referring to them.

Error messages associated with this method:

ERROR:Missing/empty masterkey.

The mandatory "masterkey" parameter is missing.

ERROR:Bad masterkey.

No invitation record with the specified masterkey has been found.

ERROR:Cannot delete key.

A key created by a different user cannot be deleted.

ERROR:Key not found.

The specified key has not been found in the meeting described by the masterkey.

DisableKey method

The DisableKey method disables an access key, blocking further accesses by the user but keeping the utilization statistics relating to the meeting.

The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey (obtained with the CreateMasterKey method)

        * <key> key to be disabled.

If there is a key associated with the specified masterkey, the method returns a text/plain content in the following format:

OK:key

In the event of an error, the method is reset

ERROR:error description

Error messages associated with this method:

ERROR:Missing/empty masterkey.

The mandatory "masterkey" parameter is missing.

ERROR:Bad masterkey.

No invitation record with the specified masterkey has been found.

ERROR:Key not found.

The specified key has not been found in the meeting described by the masterkey.

RetrieveUsers method

The RetrieveUsers method retrieves the list of participants in a given meeting along with their access keys. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey (obtained with the CreateMasterKey method)

If there is a meeting associated with the specified masterkey, the method returns a text/plain content in the following format:

OK:<number of participants>

Userid|username|masterkey

Userid|username|key

Userid|username|key

In the event of an error, the method is reset

ERROR:error description

Error messages associated with this method:

ERROR:Missing/empty masterkey.

The mandatory "masterkey" parameter is missing.

ERROR:Bad masterkey.

No invitation record with the specified masterkey has been found.

ERROR:Cannot retrieve users.

A list of participants in a meeting created by a different user cannot be retrieved.

ERROR:No users found.

No valid participant associated with the masterkey has been found.

RetrieveContacts method

The RetrieveContacts method retrieves the user's directory. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

The method returns a text/plain content with the following format:

OK:<number of contacts>

|administrator name|administrator email

group|contact name|email

group|contact name|email

group|contact name|email

In the event of an error, the method is reset

ERROR:error description

PurgeUser method

The PurgeUser method allows the administrator to delete a user created with the CreateMasterKey method. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <userid> user's ID

If there is a user with the specified userid, the method returns a text/plain content in the following format:

OK:userid

In the event of an error, the method is reset

ERROR:error description

Note: The user's settings and privileges are recreated the first time a key assigned to his userid is created.

Warning: Deleting a user results in loss of the utilization statistics referring to him.

Error messages associated with this method:

ERROR:Userid not found.

A user with the specified userid has not been found.

UploadFile method

The UploadFile method allows you to upload a file and to associate it with a given meeting. During access to the meeting, the files uploaded into the server will be downloaded by the users and will therefore be immediately available during the meeting. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey (obtained with the CreateMasterKey method)

        * <file> file to upload

The parameters must all be supplied by means of the POST request with multipart/form-data encoding (see rfc 1867). If the file has been successfully uploaded, the message will be:

OK:

In the event of an error, the method is reset

ERROR:error description

MaxFileSize method

The MaxFileSize method retrieves the maximum size in bytes of the files that can be uploaded with the UploadFile method. The following parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

The method is reset:

OK:n

where ‘n’ is the maximum size in bytes.

GetMeetingReport method

The GetMeetingReport method retrieves information about a closed meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <key> a valid key of the meeting

The method is reset:

OK:n

userid|username|startdatetime|duration|perc|n.accesses|tot_tx|tot_rx

userid|username|startdatetime|duration|perc|n.accesses|tot_tx|tot_rx

userid|username|startdatetime|duration|perc|n.accesses|tot_tx|tot_rx

This is followed by a list of rows, one per participant (the first is the host) in the order of the date and time they accessed the meeting

    * n is the number of participants in the meeting.

    * userid is the unambiguous identification of the user.

    * username is the user name used.

    * startdatetime is the date and time of the participant's first access to the meeting.

    * Duration is the user connection time in seconds

    * perc is the percentage participation of the user relative to the host

    * n.accesses is the number of times the user has linked (and disconnected) during the meeting

    * tot_tx is the data traffic transmitted

    * tot_rx is the data traffic received

GetGlobalReport method

The GetGlobalReport method retrieves information concerning the use of all the meetings within the specified period of time, in the csv format. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <fromdate> start date in yyyymmdd format

        * <todate> end date in yyyymmdd format

The following optional parameters can be entered for this method:

        * <separator> separator used for the fields ("," by default “,”)

The method returns a file in the csv format with the following structure:

"meeting start date and time","title of meeting","total minutes given"

The last row of the csv file contains the totals with an indication as to the period specified. In the event of an error, the method is reset

ERROR:error description

GetRecList method

The GetRecList method retrieves a list of recording files pertaining to a meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> the masterkey of the meeting

The method is reset:

OK:n

filename1.rec

filename2.rec

filenamen.rec

n stands for the number of recordings stored for the specified masterkey.

GetRecFile method

The GetRecFile method retrieves the selected recording file. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the server

        * <masterkey> the masterkey of the meeting

        * <The following mandatory parameters must be entered for this method

Login> login to access the server.

GetMeetingTitle method

The GetMeetingTitle method retrieves the title of an existing meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <key> key of any one of the participants (including the masterkey)

The method is reset:

OK:title of the meeting

 in the event of an error, the method is reset:

ERROR:error description

GetDocumentList method

The GetDocumentList method retrieves the list of documents associated with a meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey relative to the meeting

The method is reset:

OK:number of documents associated with the meeting

Below is a list of the documents, one per row, in this format:

filename| host email|hashname|dimension|content-type

in the event of an error, the method is reset:

ERROR:error description

AddDocument method

The AddDocument method adds a document to an existing meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey of the meeting to which to add the documents

        * <hashname> hashname of the file to be added

        * <filename> name of the file to be added

The following optional parameters can be entered for this method:

        * <ctype> content-type of the file to be added (default: application/octet-stream)

The method is reset:

OK:

in the event of an error, the method is reset:

ERROR:error description

Warning: The hashname is the filename made up of its hash calculated with MD5 algorithm and its original extension. To add a file to a meeting the file must exist and already correctly reside on the drive in the PUB folder and the relative sub-folder of the pertinent user.

DeleteDocument method

The DeleteDocument method deletes a document from a meeting. The following mandatory parameters must be entered for this method:

        * <login> login to access the videoconference server

        * <password> password to access the videoconference server

        * <masterkey> masterkey of the reference meeting

        * <hashname> hashname of the file to be deleted

The method is reset:

OK:

in the event of an error, the method is reset:

ERROR:error description

GetParameters method

The GetParameters method returns all the parameters relating to the meeting specified.

The following mandatory parameters must be entered for this method:

<login> login to access the server

<Password> password to access the server

<masterkey> the masterkey of the meeting

Below is a list of the parameters available:

  • audiocodec
  • bitrate
  • collaborationtype
  • crypt
  • dashboard
  • description
  • language
  • meetinglog
  • meetingduration
  • meetingstart
  • meetingtitle
  • meetingpassword
  • properties
  • part_language
  • part_properties
  • recording
  • timezone
  • usedatetime
  • udpenabled
  • videocodec
  • videoheight
  • videowidth
  • needaccount
  • forcehost
  • forcecontroller
  • controller
  • host
  • The method is reset
  • OK:
  • parameter=Value
  • parameter=Value

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login. The required "login" parameter has not been provided.

Missing/empty password. The required "password" parameter has not been provided.

Missing/empty masterkey. The mandatory "masterkey" parameter is missing”.

Masterkey not found. The specified masterkey has not been found in the database.

SetParameters method

The SetParameters method allows setting one or more parameters for a meeting.

The following mandatory parameters must be entered for this method:

<login> login to access the server

<Password> password to access the server

<masterkey> the masterkey of the meeting

any number of valid parameters with relative value

Below is a list of the parameters available with relative regex and maximum length where applicable:

audiocodec -> (string, , 100)

bitrate -> (integer, list of valid bitrates for the user separated by "|")

crypt -> (integer, /^(0|1)$/)

dashboard -> (integer, /^(0|1)$/)

description -> (string)

language -> (string, (it|en|de|fr|es), 2)

meetingduration -> (integer, /[0-9]/)

meetinglog -> (integer, /^(0|1)$/), activate extended log of a meeting

meetingstart -> (string, /^[0-9]{14}$/)

meetingtitle -> (string, , 200)

meetingpassword -> (string, , 50)

part_language -> (string, (it|en|de|fr|es), 2)

part_properties -> (string, /^(A|V|T){0, 3}$/)

properties -> (string, /^(A|V|T){0, 3}$/)

recording -> (integer, /^(0|1)$/)

sharingtype -> (string, /^(none|whiteboard|screen|browser|dicom)$/)

timezone -> (integer)

udpenabled -> (integer, /^(0|1)$/)

usedatetime -> (integer, /^(0|1)$/)

videocodec -> (string, , 100)

videoheight -> (integer)

videowidth -> (integer)

needaccount -> (integer, /^(0|1)$/)

forcehost -> (integer, /^(0|1)$/)

forcecontroller -> (integer, /^(0|1)$/)

controller -> (integer, /^(0|1)$/)

host -> (integer, /^(0|1)$/)

The method is reset

OK:In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty masterkey.

The mandatory "masterkey" parameter is missing.

Masterkey not found.

The specified masterkey has not been found in the database.

Invalid parameter name: parametername

The name of the specified parameter is not valid.

Invalid parameter value: parametername=parametervalue

The value of the specified parameter is not valid.

No valid parameters specified

No valid parameter has been provided.

Example:

 request:

 http://mycompany.com/manager.php?

        method=SetParameters&

            login=demo@mycompany.com&

            password=<pwd>&

        masterkey=iQtzAj1kXJnv4QnXA4h8SkDeW&

            meetinglog=1

 reply:

 OK:

GetMeetingList method

The GetMeetingList method allows obtaining a list of meetings relating to a user of the platform.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<userid> platform user identification

The method is reset

OK:

followed by a “json” array structured as follows:

[

  {

        meetingid:"meetingid",

        masterkey:"masterkey",

        subject:"meeting subject",

        date:"meeting start date and time",

    duration:"duration of the meeting in seconds",

    participantscount:"number of participants",

    host:"host name",

    showcase:"1|0 depending on whether the meeting appears on the showcase or not"

  },

  ...

]

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty userid.

The mandatory "userid" parameter is missing”.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

Example:

 request:

 http://mycompany.com/manager.php?

        method=GetMeetingList&

            login=demo@mycompany.com&

            password=<pwd>&

            userid=demo@mycompany.com

 reply:

 OK:

 [{"meetingid":"20081110132345ec1c3d017456f27952e58d8d9708572d",

   "masterkey":"vDA3cknXBAAADOCfZjogsA3cp",

   "subject":"",

   "date":"2008-11-01  12:30:40",

   "duration":"100",

   "host":"emanuele",

   "showcase":"0",

   "participantscount":"3"},

  {"meetingid":"20081112112000e38fc3a5bda453b14efba85822a654ad",

   "masterkey":"kJgorkzZlxNpusYx0ykg0q4f",

   "subject":"meeting test",

   "date":"2008-11-20 00:00:00",

   "duration":"10",

   "host":"emanuele",

   "showcase":"0",

   "participantscount":"2"},

  {"meetingid":"201003290848099b91a81e96c068e321376793b006492b",

   "masterkey":"iQtzAj1kXJnv4QnXA4h8SkDeW",

   "subject":"test api log",

   "date":"2010-03-29 08:48:00",

   "duration":"0",

   "host":"emanuele",

   "showcase":"0",

   "participantscount":"0"

 }]

GetMeetingDetails method

The GetMeetingDetails method allows obtaining details relating to the meeting specified.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<masterkey> the masterkey of the meeting

The method is reset

OK:

followed by a “json” array structured as follows:

{

  "meetingkey":{

    participant:"participant's name",

    key:"access key"

    duration:"participation time in seconds",

    audiocount:"number of audio activations per user",

    audiotime:"duration in seconds of audio activation per user",

    audiosessions:[

      {

        audiostart:"audio session start date and time (yyyy-mm-dd hh:mm:ss)",

        audiostop:"audio session end date and time (yyyy-mm-dd hh:mm:ss)",

      },

      ...

    ]

    filescount:"number of files shared by the user",

    chatcount:"number of written chat messages"

  },

  ...

}

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty masterkey.

The mandatory "masterkey" parameter is missing”.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

No log data.

There are no usable data for the selected meeting.

Example:

 request:

 http://mycompany.com/manager.php?

        method=GetMeetingDetails&

            login=demo@mycompany.com&

            password=<pwd>&

            masterkey=iQtzAj1kXJnv4QnXA4h8SkDeW

 reply:

 OK:

 {"iQtzAj1kXJnv4QnXA4h8SkDeW":

   {"participant":"emanuele",

        "duration":276,

        "audiocount":2,

        "audiotime":214,

        "audiosessions":{"1":

                     {"audiostart":"2010-03-29 08:49:50",

                      "audiostop":"2010-03-29 08:52:29"},

                         "2":

                     {"audiostart":"2010-03-29 08:53:27",

                       "audiostop":"2010-03-29 08:54:22"}

                        },

        "filescount":0,

    "chatcount":3}}

GetChatReport method

The GetChatReport method allows obtaining information on the duration of a meeting and the number of chat messages written by the users.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<masterkey> the masterkey of the meeting

The method is reset

OK:

followed by a “json” array structured as follows:

{

  meetingid:"meetingid",

  duration:"duration of the meeting in seconds",

  chatcount:"total number of chat messages",

  participantscount:"number of participants",

  host:"host name"

}

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty masterkey.

The mandatory "masterkey" parameter is missing”.

Masterkey not found.

The specified masterkey has not been found in the database.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

No log data.

There are no usable data for the selected meeting.

Example

 request:

 http://mycompany.com/manager.php?

        method=GetChatReport&

            login=demo@mycompany.com&

            password=<pwd>&

            masterkey=iQtzAj1kXJnv4QnXA4h8SkDeW

 reply:

 OK:

 {"meetingid":"201003290848099b91a81e96c068e321376793b006492b",

  "duration":312,

  "chatcount":3,

  "participantscount":0,

  "host":"emanuele"}

GetChatDetails method

The GetChatDetails method allows obtaining details on the messages written by a participant in a given meeting.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<key> meeting key

The method is reset

OK:

followed by a “json” array structured as follows:

{

  participant:"participant's name",

  chat:[

    {

      date:"message date and time",

      chat:"message text"

    },

    ...

  ]

}

Urlencode coding is used for the message text.

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty key.

The required "key" parameter is missing”.

Key not found.

The specified key has not been found in the database.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

No log data.

There are no usable data for the selected meeting.

Example:

 request:

 http://mycompany.com/manager.php?

        method=GetChatDetails&

            login=demo@mycompany.com&

            password=<pwd>&

            key=iQtzAj1kXJnv4QnXA4h8SkDeW

 reply:

 OK:

 {"participant":"emanuele",

  "chat":[{"date":"2010-03-29 08:50:14","chat":"write in chat"},

              {"date":"2010-03-29 08:50:19","chat":"hi"},

              {"date":"2010-03-29 08:50:27","chat":"how are you?"}]}

GetPollingReport method

The GetPollingReport method allows obtaining information on the questions (polling) asked in a meeting and the relative answers given by the participants.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<masterkey> the masterkey of the meeting

The method is reset

OK:

followed by a “json” array structured as follows:

{

  meetingid:"meetingid",

  questioncount:"number of questions",

  answercount:"number of answers",

  host:"host name",

  polling:[

    {

      date:"date and time the question was asked",

      participantscount:"number of participants present when the question was asked",

      question:"text of the query",

      answer:{

        "answerid":"answer text",

        ...

      }

    },

    ...

  ]

}

Urlencode coding is used for the question and answer text.

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty masterkey.

The mandatory "masterkey" parameter is missing”.

Masterkey not found.

The specified masterkey has not been found in the database.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

No log data.

There are no usable data for the selected meeting.

Example:

 request:

 http://mycompany.com/manager.php?

        method=GetPollingReport&

            login=demo@mycompany.com&

            password=<pwd>&

            masterkey=iQtzAj1kXJnv4QnXA4h8SkDeW

 reply:

 OK:

 {"meetingid":"201003290848099b91a81e96c068e321376793b006492b",

  "questioncount":2,

  "answercount":1,

  "host":"emanuele",

  "polling":[{"date":"2010-03-29 08:51:28",

                  "participantscount":1,

                  "question":"this is a new question",

              "answer":{"8":"this is answer 8 (brown)"}},

                 {"date":"2010-03-29 08:52:18",

                  "participantscount":1,

                  "question":"this is a new question",

              "answer":{"1":"this is answer 1 (green)",

                            "3":"this is answer 3 (red)",

                        "8":"this is answer 8 (brown)"}}]}

GetPollingDetails method

The GetPollingDetails method allows obtaining details on a single user relating to the questions and answers.

The method requires the following required parameters:

<login> login to access the server

<Password> password to access the server

<key> meeting key

The method is reset

OK:

followed by a “json” array structured as follows:

{

  participant:"participant's name",

  polling:[

    {

      date:"date and time of the question/answer",

      question:"text of the query",

      answer:"answer text",

    },

    ...

  ]

}

Urlencode coding is used for the question and answer text.

The "answer" value can be:

"offline" if the user was offline when the question was asked

"abstained" if the user did not answer the question before the next one was asked

"answer text" if the user answered the question

In the first two cases, the 'date' value relates to the date and time of the question, in the third case to the date and time of the answer.

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Missing/empty key.

The required "key" parameter is missing”.

Key not found.

The specified key has not been found in the database.

Administrator privileges required.

You attempted to retrieve information on a user other than yourself without having administrator privileges.

No log data.

There are no usable data for the selected meeting.

Example

 request:

 http://mycompany.com/manager.php?

 method=GetPollingDetails&

 login=demo@mycompany.com&

 password=<pwd>&

 key=iQtzAj1kXJnv4QnXA4h8SkDeW

 reply:

 OK:

 {"participant":"emanuele",

  "polling":[{"date":"2010-03-29 08:51:28",

                  "question":"this is a new question",

              "answer":"abstained"},

                 {"date":"2010-03-29 08:52:20",

                  "question":"this is a new question",

                  "answer":"this is answer 3 (red)"}]}

GetServerSettings method

The GetServerSettings method allows obtaining the platform  configuration and reflects the parameters viewable in Admin -> Settings -> Server

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

The method is reset:

OK:

PortalPort=web access port

McuHost=MCU host

McuPort=MCU port

SMTPServer=host smtp server

SMTPSecure=connection encryption protocol  (none,tls,ssl)

SMTPUsername=username for smtp authentication

SMTPPassword=password for smtp authentication

WebInterface=web interface activation status

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Example

 request:

 http://mycompany.com/manager.php?

        method=GetServerSettings&

            login=admin@mycompany.com&

            password=<pwd>

 reply:

 OK:

 PortalPort=80

 McuHost=mcu.mycompany.com

 McuPort=443

 SMTPServer=127.0.0.1

 SMTPUsername=

 SMTPPassword=

 WebInterface=enabled

SetServerSettings method

The SetServerSettings method allows setting the platform relating to the parameters viewable in Admin -> Settings -> Server

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

one or more parameters with a valid value

The method is reset

OK:

parameter=value

Below is a list of the parameters available with relative regex and maximum length where applicable:

portalport -> (integer)

mcuhost -> (string, '/^[-a-z0-9._]{3.200}$/', 200)

mcuport -> (integer)

smtpserver -> (string, '/^[-a-z0-9._]{3.200}$/', 200)

smtpsecure -> (string, '/^(|ssl|tls)$/')

smtpusername -> (string, , 200)

smtppassword -> (string, , 200)

webinterface -> (string, '/^(enabled|disabled)$/')

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Invalid parameter name: parameter

The specified parameter is not valid.

Invalid parameter value: parameter=value

The specified value for the parameter is not valid.

GetPortalList method

The GetPortalList method returns the list of portals configured on the platform.

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

The method is reset

OK:

main portal name

portal name

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Example:

 request:

 http://mycompany.com/manager.php?

        method=GetPortalList&

            login=admin@mycompany.com&

            password=<pwd>

 reply:

 OK:2

 mycompany.com

 demo.videomeeting.it

CreatePortal method

The CreatePortal method creates a new portal on the platform.

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

<portal> host name of the portal to create

The method is reset

OK:

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Empty/missing portal.

The required "portal" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Invalid portal host.

The specified host name is not valid.

Portal host already exists.

The host name provided already exists in another portal.

DeletePortal method

The DeletePortal method deletes a portal from the platform and reassigns any of its users to the main portal.

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

<portal> host name of the portal to delete

The method is reset

OK:

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Empty/missing portal.

The required "portal" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Invalid portal.

The specified portal is not valid.

Cannot delete main portal.

The main portal cannot be deleted.

GetPortalSettings method

The GetPortalSettings method allows obtaining the configuration of the portal specified.

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

<portal> host name of the portal

The method is reset

OK:

portalhost=host of the portal

recording=availability of the recording function

encryption=availability of the encryption function

maxportalmeetings=maximum number of simultaneous meetings on the portal

maxportalusers=maximum number of simultaneous participants on the portal

dicom=dicom display activation status

adminonly=web access limited to administrator only

clientbanner=portal banner displayed on the client

supportmail=email for technical support

homesplash=display of the graphic splash on the home page

homeurl=url of the page to be shown on the home page if homesplash=disabled

color=color of the web interface in #rrggbb format

menu1title=title of customized menu 1

menu1url=url of customized menu 1

menu2title=title of customized menu 2

menu2url=url of customized menu 2

menu3title=title of customized menu 3

menu3url=url of customized menu 3

menu4title=title of customized menu 4

menu4url=url of customized menu 4

In case of an error, the method returns

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

Missing/empty password.

The required "password" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Invalid portal.

The specified portal is not valid.

Example:

request:

http://mycompany.com/manager.php?

       method=GetPortalSettings&

           login=admin@3CXWMS.it&

           password=<pwd>&

           portal=mycompany.com

reply:

OK:

adminonly=disabled

clientbanner=disabled

color=FF6600

dicom=enabled

encryption=enabled

homesplash=enabled

homeurl=http://www.ms.com

maxportalmeetings=0

maxportalusers=0

menu1title=

menu1url=

menu2title=

menu2url=

menu3title=

menu3url=

menu4title=

menu4url=

portalhost=mycompany.com

recording=enabled

supportmail=support@mycompany.com

SetPortalSettings method

The SetPortalSettings method allows setting the configuration of the portal specified.

The method requires the following required parameters:

<login> administrator login to access the server

<Password> password to access the server

<portal> host name of the portal

one or more parameters with a valid value

The method is reset:

OK:

Below is a list of the parameters available with relative regex and maximum length where applicable:

* portalhost -> (string, '/^[-a-z0-9._]{3.150}$/', 150)

* color -> (string, '/^[0-9a-fA-F]{6}$/', 6)

* homeurl -> (string, '/^[-a-z0-9._]{3.250}$/', 250)

* supportmail -> (string, 'valid email address', 150)

* maxportalusers -> (integer)

* maxportalmeetings -> (integer)

* homesplash -> (string, '/^(enabled|disabled)$/')

* recording -> (string, '/^(enabled|disabled)$/')

* encryption -> (string, '/^(enabled|disabled)$/')

* dicom -> (string, '/^(enabled|disabled)$/')

* adminonly -> (string, '/^(enabled|disabled)$/')

* clientbanner -> (string, '/^(enabled|disabled)$/')

* menuNtitle -> (string, '/^[-a-z0-9A-Z._ ]{2.30}$/', 30)

* menuNurl' -> (string, 'valid url that includes http://', 250)

(N goes from 1 to 4)

In case of an error, the method returns:

ERROR:error description

Error messages are as follows:

Missing/empty login.

The required "login" parameter has not been provided.

 

Missing/empty password.

The required "password" parameter has not been provided.

Administrator privileges required.

The method is available to the administrator only.

Invalid portal.

The specified portal is not valid.

Portalhost duplicated.

The host name specified in the portalhost parameter is already in use by another portal.

Invalid parameter name: parameter

The specified parameter is not valid.

Invalid parameter value: parameter=value

The specified value for the parameter is not valid.

GetUserInfo method

The GetUserInfo method allows retrieving information on a specific user.

The following mandatory parameters must be entered for this method:

* <login> administrator login to access the server

* <Password> password to access the server

* <e-mail> user’s e-mail, or <uid> user’s numerical identification

The method is reset:

OK:

useremail=user’s e-mail

username=user’s name

userpassword=md5 of the user password

status=user’s activation status  (0=inactive, 1=active, 2=suspended)

creation_date=user creation date (format yyyy-mm-dd hh:mm:ss)

expiry_date=user expiry date (format yyyy-mm-dd hh:mm:ss)

language=user’s language (it,en,de,fr,es)

timezone=difference in hours with respect to GMT

maxroomsize=maximum size of the videoconference room (0=no limit)

canrecord=recording enabled for the user (1=enabled,0=disabled)

maxvideonum=maximum number of videos activatable: (-1=no limit)

daysevent=number of events available to the user (-1= management by events not active)

portalname= user’s assignment portal host/IP

bitratelist=list of the bitrates available to the user separated by a comma

videoformatlist=list of the video formats available separated by a comma in the format "width"x"height"

In case of an error, the method returns:

ERROR:error description

Error messages are as follows:

Empty/missing email or uid.

The “e-mail” parameter or the “uid” parameter was requested, but neither was provided.

User not found.

No user with the e-mail or uid specified has been found.

Administrator privileges required.

The method is available to the administrator only.

SetUserInfo method

The SetUserInfo method allows you to set the parameters of a platform user. This method is available to the administrator only.

The following mandatory parameters must be entered for this method:

* <login> administrator login to access the server

* <Password> password to access the server

* <e-mail> user’s e-mail, or <uid> user’s numerical identification

This method requires at least one of the following optional parameters:

* <Username> user’s name

* <useremail> user’s e-mail

* <userpassword> user’s password (at least 6 chars)

* <status> user’s status (0=inactive, 1=active, 2=suspended)

* <expiry_date> user expiry date in the format yyyymmdd

* <language> default language for the user selected from it,en,de,fr,es

* <timezone> difference in hours with respect to GMT

* <maxroomsize> maximum number of participants for the user’s meetings (-1 = no restriction)

* <canrecord> enables recording for the user (0=disabled, 1=enabled)

* <maxvideonum> maximum number of videos viewable by the user (-1 = no restriction), >-1 number of videos)

* <daysevent> activates/deactivates management by events (-1=deactivated, >-1 sets the days available)

* <portalname> user’s assignment portal, it must be a portal already created on the platform

* <bitratelist> list of the bitrates to be assigned to the user separated by |, they must be bitrates configured on the platform

The method is reset:

OK:

parameter=Value

parameter=Value

In case of an error, the method returns:

ERROR:error description

Error messages are as follows:

Empty/missing email.

The required "email" parameter has not been provided.

User not found.

No user with the e-mail specified has been found.

Administrator privileges required.

The method is available to the administrator only.

Invalid parameter name: parameter

The specified parameter is not valid.

Invalid parameter value: parameter=value

The specified value for the parameter is not valid.

E-mail already exists: email

The e-mail set for the user is already being used in the database.

Invalid expiry date: expiry_date

The expiry date is invalid.

Invalid portal: portal

The specified portal is not valid.

Invalid bitrate: bitrate

The bitrate specified is invalid.

GetKeyInfo method

The GetKeyInfo method allows you to obtain information on a meeting access key.

The following mandatory parameters must be entered for this method:

* <login> administrator login to access the server

* <Password> password to access the server

* <key> meeting access key

The method is reset:

OK:

E-mail=e-mail of the user whom the key is assigned

clientname=name of the user whom the key is assigned

ishost=indicates that the key is a host (=1) or a participant (=0)

meetingid=meetingid of the key, identifies the meeting and all the participants

portalname=portal host/IP relating to the key

hostemail=e-mail of the meeting host relating to the key

hostclientname=name of the meeting host relating to the key

In case of an error, the method returns:

ERROR:error description

Error messages are as follows:

Empty/missing key.

The required "key" parameter has not been provided.

Key not found.

The specified key has not been found in the database.

Administrator privileges required.

You cannot obtain information on a key belonging to another user if you are not an administrator.

Virtual PBX Management API

Invoking the web service directly is an option to automate the process of creating Virtual PBXs, but we recommend that you use the SDK which we have developed for this purpose.

For more information see the Virtual PBX Management API documentation.

Download the Virtual PBX Management API Sample Code.

You might also be interested in:


Ask a Question

Please only post questions in regards to the document you are currently reading.
Technical support or pre sales questions must be posted via the support or sales channels and such comments will be deleted. Thank you for understanding

Leave a Reply

<