 


  <!doctype html>
<!--
 Generated by Apache Maven Doxia  at $dateFormat.format( $currentDate )  Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">
        <head>
    <meta charset="UTF-8" />
    <title>Apache OpenMeetings Project &#x2013; REST API sample</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="" />
    <meta name="author" content="Apache OpenMeetings Team" />
      <meta http-equiv="content-language" content="en" />
                                                        <link href="./css/themes/cerulean/bootstrap.min.css" rel="stylesheet" />
    <link href="./css/fontawesome/all.min.css" rel="stylesheet" />
    <link href="./css/reflow-skin.css" rel="stylesheet" />
    
    <link rel="stylesheet" href="./js/styles/github.min.css" />

    <link href="./css/lightbox.css" rel="stylesheet" />
    <link href="./css/site.css" rel="stylesheet" />
    <link href="./css/print.css" rel="stylesheet" media="print" />
<link rel="stylesheet" href="./css/site.css"/>
        </head> <!-- end : head -->
<body class="page-restapisample project-openmeetings-server anchorjs-enabled scrolltop-smooth-enabled m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
    <nav id="m-top-navbar" class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
<div class="container">            <a class="navbar-brand mb-0 h1" href="index.html">
            <span class="color-highlight">Apache</span> OpenMeetings
            </a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse-1" aria-controls="top-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="top-navbar-collapse-1">
                <ul class="nav navbar-nav ml-auto">
                    <li class="nav-item " ><a  href="demo.html"  title="Demo"  class="nav-link" >Demo</a></li>
                    <li class="nav-item " ><a  href="downloads.html"  title="Download"  class="nav-link" >Download</a></li>
                    <li class="nav-item " ><a  href="https://cwiki.apache.org/confluence/display/OPENMEETINGS"  title="Wiki"   class="externalLink nav-link" >Wiki</a></li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">General <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="index.html" title="Home"  class="dropdown-item ">Home</a>
                            <a href="https://www.apache.org/licenses/" title="License"  class="dropdown-item ">License</a>
                            <a href="https://www.apache.org/" title="ASF"  class="dropdown-item ">ASF</a>
                            <a href="https://www.apache.org/foundation/sponsorship" title="Sponsorship"  class="dropdown-item ">Sponsorship</a>
                            <a href="https://www.apache.org/foundation/thanks" title="Thanks"  class="dropdown-item ">Thanks</a>
                            <a href="CallForLogo.html" title="Call For Logo"  class="dropdown-item ">Call For Logo</a>
                            <a href="NewsArchive.html" title="News archive"  class="dropdown-item ">News archive</a>
                            <a href="security.html" title="Security"  class="dropdown-item ">Security</a>
                            <a href="commercial-support.html" title="Commercial Support"  class="dropdown-item ">Commercial Support</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Installation <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="installation.html" title="Installation"  class="dropdown-item ">Installation</a>
                            <a href="Upgrade.html" title="Upgrade"  class="dropdown-item ">Upgrade</a>
                            <a href="InstallMediaServer.html" title="Media Server Installation"  class="dropdown-item ">Media Server Installation</a>
                            <a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials"  class="dropdown-item ">Tutorials</a>
                            <a href="CommandLineAdmin.html" title="Command Line Admin"  class="dropdown-item ">Command Line Admin</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Community <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="get-involved.html" title="Get Involved"  class="dropdown-item ">Get Involved</a>
                            <a href="team.html" title="Committers"  class="dropdown-item ">Committers</a>
                            <a href="OurUsers.html" title="Our Users"  class="dropdown-item ">Our Users</a>
                            <a href="mailing-lists.html" title="Mailing Lists"  class="dropdown-item ">Mailing Lists</a>
                            <a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki"  class="dropdown-item ">Wiki</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown active">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Configuration <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#integration"  title="Integration"  class="dropdown-item active" >Integration</a>                                <div class="dropdown-menu">
                                    <a href="swagger" title="REST API Swagger" target="_blank" class="dropdown-item ">REST API Swagger</a>
                                    <a href="openmeetings-webservice/apidocs/index.html" title="SOAP/REST API JavaDoc" target="_blank" class="dropdown-item ">SOAP/REST API JavaDoc</a>
                                    <a href="" title="REST API Sample"  class="dropdown-item active">REST API Sample</a>
                                    <a href="LdapAndADS.html" title="Ldap and ADS"  class="dropdown-item ">Ldap and ADS</a>
                                    <a href="oauth2.html" title="OAuth2"  class="dropdown-item ">OAuth2</a>
                                    <a href="AsteriskIntegration.html" title="VoIP and SIP"  class="dropdown-item ">VoIP and SIP</a>
                                    <a href="errorvalues.html" title="Errors table"  class="dropdown-item ">Errors table</a>
                                    <a href="CalDAVandGCal.html" title="CalDAV and Google Calendar integration"  class="dropdown-item ">CalDAV and Google Calendar integration</a>
                                    <a href="ExternalVideo.html" title="External Video/Camera"  class="dropdown-item ">External Video/Camera</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#plugins"  title="Plugins"  class="dropdown-item" >Plugins</a>                                <div class="dropdown-menu">
                                    <a href="MoodlePlugin.html" title="Moodle Plugin"  class="dropdown-item ">Moodle Plugin</a>
                                    <a href="SakaiPlugin.html" title="Sakai Plugin"  class="dropdown-item ">Sakai Plugin</a>
                                    <a href="JiraPlugin.html" title="Jira Plugin"  class="dropdown-item ">Jira Plugin</a>
                                    <a href="JoomlaPlugin.html" title="Joomla Plugin"  class="dropdown-item ">Joomla Plugin</a>
                                    <a href="DrupalPlugin.html" title="Drupal Plugin"  class="dropdown-item ">Drupal Plugin</a>
                                    <a href="BitrixPlugin.html" title="Bitrix Plugin"  class="dropdown-item ">Bitrix Plugin</a>
                                    <a href="ConfluencePlugin.html" title="Confluence Plugin"  class="dropdown-item ">Confluence Plugin</a>
                                    <a href="SugarCRMPlugin.html" title="SugarCRM Plugin"  class="dropdown-item ">SugarCRM Plugin</a>
                                    <a href="RedminePlugin.html" title="Redmine Plugin"  class="dropdown-item ">Redmine Plugin</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#db"  title="DB Sample Configurations"  class="dropdown-item" >DB Sample Configurations</a>                                <div class="dropdown-menu">
                                    <a href="H2Config.html" title="H2"  class="dropdown-item ">H2</a>
                                    <a href="IBMDB2Config.html" title="IBM DB2"  class="dropdown-item ">IBM DB2</a>
                                    <a href="OracleConfig.html" title="Oracle"  class="dropdown-item ">Oracle</a>
                                    <a href="MySQLConfig.html" title="MySQL"  class="dropdown-item ">MySQL</a>
                                    <a href="PostgresConfig.html" title="Postgres"  class="dropdown-item ">Postgres</a>
                                    <a href="MSSQLConfig.html" title="MSSQL"  class="dropdown-item ">MSSQL</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#localization"  title="Localization and languages"  class="dropdown-item" >Localization and languages</a>                                <div class="dropdown-menu">
                                    <a href="Internationalisation.html" title="Internationalisation"  class="dropdown-item ">Internationalisation</a>
                                    <a href="LanguageEditor.html" title="LanguageEditor"  class="dropdown-item ">LanguageEditor</a>
                                    <a href="TimeZoneHandling.html" title="TimeZoneHandling"  class="dropdown-item ">TimeZoneHandling</a>
                                    <a href="EditTemplates.html" title="EditTemplates"  class="dropdown-item ">EditTemplates</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#port"  title="NAT Port Settings"  class="dropdown-item" >NAT Port Settings</a>                                <div class="dropdown-menu">
                                    <a href="PortSettings.html" title="Port settings"  class="dropdown-item ">Port settings</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#performance"  title="Performance"  class="dropdown-item" >Performance</a>                                <div class="dropdown-menu">
                                    <a href="JVMPerformanceTuning.html" title="JVM performance tuning"  class="dropdown-item ">JVM performance tuning</a>
                                    <a href="NetworkCalculator.html" title="Network bandwidth calculator"  class="dropdown-item ">Network bandwidth calculator</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#interface"  title="User Interface"  class="dropdown-item" >User Interface</a>                                <div class="dropdown-menu">
                                    <a href="LogoAndIcons.html" title="Logo and icons"  class="dropdown-item ">Logo and icons</a>
                                    <a href="themes-and-branding.html" title="Themes"  class="dropdown-item ">Themes</a>
                                    <a href="Dashboard.html" title="Dashboard"  class="dropdown-item ">Dashboard</a>
                                    <a href="WebcamResolutions.html" title="Webcam resolutions"  class="dropdown-item ">Webcam resolutions</a>
                                    <a href="ConferenceRoomLayoutOptions.html" title="Room layout options"  class="dropdown-item ">Room layout options</a>
                                    <a href="HotKeys.html" title="Hot Keys"  class="dropdown-item ">Hot Keys</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#customize"  title="Customization"  class="dropdown-item" >Customization</a>                                <div class="dropdown-menu">
                                    <a href="WebappNamePath.html" title="Webapp name/path"  class="dropdown-item ">Webapp name/path</a>
                                    <a href="CalendarAndTimezone.html" title="Calendar and timezone"  class="dropdown-item ">Calendar and timezone</a>
                                    <a href="CustomRoomTypeHowTo.html" title="Custom room type"  class="dropdown-item ">Custom room type</a>
                                    <a href="CustomCryptMechanism.html" title="Custom crypt mechanism"  class="dropdown-item ">Custom crypt mechanism</a>
                                    <a href="GeneralConfiguration.html" title="General Configuration"  class="dropdown-item ">General Configuration</a>
                                    <a href="PrivacyStatement.html" title="Privacy Statement"  class="dropdown-item ">Privacy Statement</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#security"  title="Security"  class="dropdown-item" >Security</a>                                <div class="dropdown-menu">
                                    <a href="RestrictedAccess.html" title="Restricted Access"  class="dropdown-item ">Restricted Access</a>
                                    <a href="HTTPS.html" title="HTTPS"  class="dropdown-item ">HTTPS</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#convert"  title="Converters"  class="dropdown-item" >Converters</a>                                <div class="dropdown-menu">
                                    <a href="OpenOfficeConverter.html" title="OpenOffice Converter"  class="dropdown-item ">OpenOffice Converter</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#cluster"  title="Clustering"  class="dropdown-item" >Clustering</a>                                <div class="dropdown-menu">
                                    <a href="Clustering.html" title="Clustering"  class="dropdown-item ">Clustering</a>
                                </div>
                            </div>
                            <div class="dropdown-submenu">
                                <a  href="RestAPISample.html#misc"  title="Misc"  class="dropdown-item" >Misc</a>                                <div class="dropdown-menu">
                                    <a href="GetVersionInfo.html" title="Get version info"  class="dropdown-item ">Get version info</a>
                                </div>
                            </div>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Development <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="scm.html" title="Source Code"  class="dropdown-item ">Source Code</a>
                            <a href="issue-management.html" title="Bugs / Issues"  class="dropdown-item ">Bugs / Issues</a>
                            <a href="dependencies.html" title="Dependencies"  class="dropdown-item ">Dependencies</a>
                            <a href="ci-management.html" title="Continuous Integration"  class="dropdown-item ">Continuous Integration</a>
                            <a href="BuildInstructions.html" title="Build Instructions"  class="dropdown-item ">Build Instructions</a>
                            <a href="JUnitTesting.html" title="JUnit Testing"  class="dropdown-item ">JUnit Testing</a>
                            <a href="ManualTesting.html" title="Manual Testing"  class="dropdown-item ">Manual Testing</a>
                            <a href="ReleaseGuide.html" title="Release Guide"  class="dropdown-item ">Release Guide</a>
                            <a href="WebsiteGuide.html" title="Website Guide"  class="dropdown-item ">Website Guide</a>
                        </div>
                    </li>
                </ul><!--/ul.navbar-nav -->
            </div><!--/.nav-collapse -->
</div> <!--/.container -->    </nav> <!--/.navbar -->
    <div class="main-body">
    <div class="header text-light bg-secondary" role="main">
        <div class="container container-fluid">
    <div id="banner" class="header--banner">
        <div class="row m-1">
          <div class="col-md-12">
            <div class="float-left header--banner--left bannerLeft">
                    <a href="index.html">
            <img class="float-left m-2 img-fluid" src="images/logo.png" alt="Apache OpenMeetings" />
            </a>
            </div>
            <div class="float-right header--banner--right bannerRight">
                    <a href="https://apache.org">
            <img class="float-left m-2 img-fluid" src="https://apache.org/img/asf_logo.png" alt="Apache" />
            </a>
            </div>
          </div>
        </div>
    </div>
        </div>
    </div> <!-- end : header -->
    <div class="row mt-5">
        <div class="d-xs-none d-sm-none d-md-none d-lg-block col-lg-2">
        </div>
        <main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="publishDate version-date">$dateFormat.applyPattern( $format )    $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</li>
        </ol>
    </nav>
                    <section> 
 <div class="page-header">
  <h2 id="introduction1">Introduction</h2>
 </div> 
 <p> For a detailed instruction which services, methods and params are available see the list in the <a href="/openmeetings-webservice/apidocs/index.html" target="_blank">SOAP/REST API</a> . ALL methods that are implemented for the SOAP API are also available via REST. </p> 
 <div class="bd-callout bd-callout-info">
   There is a 
  <a class="externalLink" href="https://openmeetings.apache.org/swagger/" target="_blank">OpenAPI spec</a> published in swagger format. 
 </div> 
 <div>
   You can query methods of each service using following suffixes 
  <ul> 
   <li>SOAP: <code>?wsdl</code> suffix, for example <code>https://localhost:5443/openmeetings/services/UserService?wsdl</code></li> 
   <li>REST: as xml <code>?_wadl</code> for example <code>https://localhost:5443/openmeetings/services/user?_wadl</code></li> 
   <li>REST: as json <code>?_wadl&amp;type=json</code> for example <code>https://localhost:5443/openmeetings/services/user?_wadl&amp;type=json</code></li> 
  </ul> 
  <div class="bd-callout bd-callout-info">
    The full list of services with All WSDLs/WADLs is available at following URL: 
   <code>https://localhost:5443/openmeetings/services/services</code> 
  </div> 
 </div> 
</section> 
<section> 
 <h2 id="how-to-integrate-using-php-and-composer">How to integrate using PHP and composer</h2> 
 <p>You can integrate OpenMeetings via the Rest API into your PHP project.</p> 
 <div class="bd-callout bd-callout-info">
   There is a community sponsored free module for integrating with see: 
  <a class="externalLink" href="https://github.com/om-hosting/openmeetings-php-client" target="_blank">openmeetings-php-client</a> 
 </div> 
 <p>Install the module</p> 
 <div class="source"> 
  <pre>php composer.phar install openmeetings-php-client
</pre> 
 </div> 
 <p>Eg generate a unique hash to enter a conference room:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Login to service</li> 
  <li>Generate Hash for entering a conference room</li> 
  <li>Construct Login URL</li> 
 </ol> 
 <div class="source"> 
  <pre>$BASE_URL = "http://localhost:5080/openmeetings";

//1. Login to service
$config = new Configuration();
$config-&gt;setHost($BASE_URL . '/services');
$userApiInstance = new UserServiceApi(null, $config);
$serviceResultLoginWrapper = $userApiInstance-&gt;login("soapuser", "!HansHans1");
if ($serviceResultLoginWrapper-&gt;getServiceResult()-&gt;getType() != "SUCCESS") {
    $text = "Login Failed " . $serviceResultLoginWrapper-&gt;getServiceResult()-&gt;getMessage();
    return view('hello_index', ['text' =&gt; $text]);
}
$sid = $serviceResultLoginWrapper-&gt;getServiceResult()-&gt;getMessage();

// 2. Generate Hash for entering a conference room
$serviceResultHashWrapper = $userApiInstance-&gt;getRoomHash($sid,
    new ExternalUserDTO(
        array(
            "firstname" =&gt; "John",
            "lastname" =&gt; "Doe",
            "external_id" =&gt; "uniqueId1",
            "external_type" =&gt; "myCMS",
            "login" =&gt; "john.doe",
            "email" =&gt; "john.doe@gmail.com"
        )
    ),
    new RoomOptionsDTO(
        array(
            "room_id" =&gt; 2,
            "moderator" =&gt; true
        )
    )
);

// 3. Construct Login URL
$hash = $serviceResultHashWrapper-&gt;getServiceResult()-&gt;getMessage();
$url = $this-&gt;BASE_URL . "/hash?secure=".$hash;
</pre> 
 </div> 
 <p>Full sample source code can be found at <a class="externalLink" href="https://github.com/om-hosting/openmeetings-php-laravel-sample-project" target="_BLANK">https://github.com/om-hosting/openmeetings-php-laravel-sample-project</a> </p> 
 <p>You can find details about all API endpoints and examples at <a class="externalLink" href="https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints" target="_blank">https://github.com/om-hosting/openmeetings-php-client#documentation-for-api-endpoints</a></p> 
 <div class="bd-callout bd-callout-info">
   A sample PHP use case for a website using Laravel can be found here: 
  <a class="externalLink" href="https://om-hosting.com/openmeetings-integration-php-composer/" target="_BLANK">https://om-hosting.com/openmeetings-integration-php-composer/</a> 
 </div> 
</section> 
<section> 
 <h2 id="how-to-integrate-using-nodejs">How to integrate using Node.js</h2> 
 <p>You can integrate OpenMeetings via the Rest API into your Node project.</p> 
 <div class="bd-callout bd-callout-info">
   There is a community sponsored free module for integrating with Node.JS see: 
  <a class="externalLink" href="https://www.npmjs.com/package/openmeetings-node-client" target="_blank">openmeetings-node-client</a> 
 </div> 
 <p>Install the module</p> 
 <div class="source"> 
  <pre>npm install openmeetings-node-client
</pre> 
 </div> 
 <p>Eg generate a unique hash to enter a conference room:</p> 
 <ol style="list-style-type: decimal"> 
  <li>Login to service</li> 
  <li>Generate Hash for entering a conference room</li> 
  <li>Construct Login URL</li> 
 </ol> 
 <div class="source"> 
  <pre>const {UserServiceApi, Configuration} = require("openmeetings-node-client");
const BASE_URL = "http://localhost:5080/openmeetings"

const config = new Configuration({
    basePath: BASE_URL + "/services"
})
// 1. Login to service
const loginResult = await userService.login("admin", "!HansHans")

// 2. Generate Hash for entering a conference room
const hashResult = await userService.getRoomHash(sessionId, {
        firstname: "John",
        lastname: "Doe",
        externalId: "uniqueId1",
        externalType: "myCMS",
        login: "john.doe",
        email: "john.doe@gmail.com"
    }, {
        roomId: 1,
        moderator: true
    })
    
// 3. Construct Login URL
const loginUrl = `${BASE_URL}/hash?secure=${hashResult.message}`
</pre> 
 </div> 
 <p>Full sample source code for can be found at: </p> 
 <ol style="list-style-type: decimal"> 
  <li>JavaScript/ES6 example using simplistic Express website see <a class="externalLink" href="https://github.com/om-hosting/openmeetings-node-js-sample-project" target="_BLANK">Github openmeetings-node-js-sample-project</a></li> 
  <li>TypeScript example using simplistic Express website <a class="externalLink" href="https://github.com/om-hosting/openmeetings-node-sample-project" target="_BLANK">Github openmeetings-node-sample-project</a></li> 
 </ol> 
 <p>More in depth examples and use cases can be found at the module page <a class="externalLink" href="https://www.npmjs.com/package/openmeetings-node-client" target="_blank">https://www.npmjs.com/package/openmeetings-node-client</a></p> 
 <div class="bd-callout bd-callout-info">
   A sample Node.js use case for a website using Express.js can be found here: 
  <a class="externalLink" href="https://om-hosting.com/openmeetings-integration-nodejs/" target="_BLANK">https://om-hosting.com/openmeetings-integration-nodejs/</a> 
 </div> 
</section> 
<section> 
 <h2 id="how-to-get-room-hash-via-rest-via-jquery">How to get room hash via REST via jQuery</h2> 
 <ul> 
  <li> First of all you need to perform login and get authorized SID to perform authorized operations 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <tbody> 
     <tr class="a"> 
      <td align="left">Request</td> 
      <td>Error response</td> 
      <td>Successful response</td> 
     </tr> 
     <tr class="b"> 
      <td align="left"> 
       <div class="source"> 
        <pre>$.ajax({
  method: "GET",
  url: "services/user/login",
  data: {user: 'admin', pass: '12345'},
  dataType: "json"
});
</pre> 
       </div> </td> 
      <td> 
       <div class="source"> 
        <pre>{
  "serviceResult": {
    "code": -11,
    "type": "ERROR"
  }
}
</pre> 
       </div> </td> 
      <td> 
       <div class="source"> 
        <pre>{
  "serviceResult": {
    "code": 1,
    "message": "78189aff-d68d-458a-8840-5b18d15a50b0",
    "type": "SUCCESS"
  }
}
</pre> 
       </div> </td> 
     </tr> 
    </tbody> 
   </table> </li> 
  <li> In case of error you can get detailed error message in your language as result of following query <code>https://localhost:5443/openmeetings/services/error/<b>ERROR_ID</b>/<b>LANGUAGE_ID</b></code> (for ex. https://localhost:5443/openmeetings/services/error/<b>-11</b>/<b>9</b>) </li> 
  <li>If your request was successful you will get your SID as <b>message</b> (78189aff-d68d-458a-8840-5b18d15a50b0)</li> 
  <li>Then you can use SID to generate room hash 
   <table border="0" class="bodyTable table table-striped table-hover"> 
    <tbody> 
     <tr class="a"> 
      <td align="left">Request</td> 
      <td>Successful response</td> 
     </tr> 
     <tr class="b"> 
      <td align="left"> 
       <div class="source"> 
        <pre>$.ajax({
  method: "POST",
  url: "services/user/hash?sid=78189aff-d68d-458a-8840-5b18d15a50b0",
  data: {user: JSON.stringify({
      firstname: 'John',
      lastname: 'Doe',
      externalId: 'uid1',
      externalType: 'myCMS',
      login: 'superjohn'
      }),
    options: JSON.stringify({
      roomId: 5,
      moderator: true,
      showAudioVideoTest: true
      })
    },
  dataType: "json"
})
</pre> 
       </div> </td> 
      <td> 
       <div class="source"> 
        <pre>{
  "serviceResult": {
    "code": 0,
    "message": "fa1f9381-bd03-42ae-9fd9-332b5f775a1b",
    "type": "SUCCESS"
  }
}
</pre> 
       </div> </td> 
     </tr> 
    </tbody> 
   </table> </li> 
  <li>If your request was successful you will get your hash as <b>message</b> (fa1f9381-bd03-42ae-9fd9-332b5f775a1b)</li> 
  <li>Now you can use following URL to enter the room: <code>https://localhost:5443/openmeetings/hash?secure=fa1f9381-bd03-42ae-9fd9-332b5f775a1b&amp;language=1</code></li> 
 </ul> 
</section>        </main>
        <div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
            <div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
                <nav id="m-toc-sidebar-nav flex-column">
                <ul class="m-nav--sidebar nav flex-column flex-nowrap">
    <li class="h2">
        <a class="nav-link" href="#introduction1" title="Introduction">Introduction</a>
    </li>
        <li class="h2">
        <a class="nav-link" href="#how-to-integrate-using-php-and-composer" title="How to integrate using PHP and composer">How to integrate using PHP and composer</a>
    </li>
        <li class="h2">
        <a class="nav-link" href="#how-to-integrate-using-nodejs" title="How to integrate using Node.js">How to integrate using Node.js</a>
    </li>
        <li class="h2">
        <a class="nav-link" href="#how-to-get-room-hash-via-rest-via-jquery" title="How to get room hash via REST via jQuery">How to get room hash via REST via jQuery</a>
    </li>
                    </ul>
                </nav>
           </div>
        </div>
    </div> <!-- row: end -->
</div> <!-- .main-body: end -->
    <div id="m_scrolltop" class="m-scrolltop">
		<i class="fa fa-arrow-up"></i>
    </div>
  <!-- Footer -->
<footer class="footer-light bg-light">
    <div class="container">
        <div class="row">
                        <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
General
                    </li>
                    <li class="nav-item "><a  href="index.html"  title="Home"  class="nav-link" >Home</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/licenses/"  title="License"   class="externalLink nav-link" >License</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/"  title="ASF"   class="externalLink nav-link" >ASF</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/foundation/sponsorship"  title="Sponsorship"   class="externalLink nav-link" >Sponsorship</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/foundation/thanks"  title="Thanks"   class="externalLink nav-link" >Thanks</a></li>
                    <li class="nav-item "><a  href="CallForLogo.html"  title="Call For Logo"  class="nav-link" >Call For Logo</a></li>
                    <li class="nav-item "><a  href="NewsArchive.html"  title="News archive"  class="nav-link" >News archive</a></li>
                    <li class="nav-item "><a  href="security.html"  title="Security"  class="nav-link" >Security</a></li>
                    <li class="nav-item "><a  href="commercial-support.html"  title="Commercial Support"  class="nav-link" >Commercial Support</a></li>
                </ul>
            </div>
            <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Installation
                    </li>
                    <li class="nav-item "><a  href="installation.html"  title="Installation"  class="nav-link" >Installation</a></li>
                    <li class="nav-item "><a  href="Upgrade.html"  title="Upgrade"  class="nav-link" >Upgrade</a></li>
                    <li class="nav-item "><a  href="InstallMediaServer.html"  title="Media Server Installation"  class="nav-link" >Media Server Installation</a></li>
                    <li class="nav-item "><a  href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools"  title="Tutorials"   class="externalLink nav-link" >Tutorials</a></li>
                    <li class="nav-item "><a  href="CommandLineAdmin.html"  title="Command Line Admin"  class="nav-link" >Command Line Admin</a></li>
                </ul>
            </div>
            <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Community
                    </li>
                    <li class="nav-item "><a  href="get-involved.html"  title="Get Involved"  class="nav-link" >Get Involved</a></li>
                    <li class="nav-item "><a  href="team.html"  title="Committers"  class="nav-link" >Committers</a></li>
                    <li class="nav-item "><a  href="OurUsers.html"  title="Our Users"  class="nav-link" >Our Users</a></li>
                    <li class="nav-item "><a  href="mailing-lists.html"  title="Mailing Lists"  class="nav-link" >Mailing Lists</a></li>
                    <li class="nav-item "><a  href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/"  title="Wiki"   class="externalLink nav-link" >Wiki</a></li>
                </ul>
            </div>
            <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Development
                    </li>
                    <li class="nav-item "><a  href="scm.html"  title="Source Code"  class="nav-link" >Source Code</a></li>
                    <li class="nav-item "><a  href="issue-management.html"  title="Bugs / Issues"  class="nav-link" >Bugs / Issues</a></li>
                    <li class="nav-item "><a  href="dependencies.html"  title="Dependencies"  class="nav-link" >Dependencies</a></li>
                    <li class="nav-item "><a  href="ci-management.html"  title="Continuous Integration"  class="nav-link" >Continuous Integration</a></li>
                    <li class="nav-item "><a  href="BuildInstructions.html"  title="Build Instructions"  class="nav-link" >Build Instructions</a></li>
                    <li class="nav-item "><a  href="JUnitTesting.html"  title="JUnit Testing"  class="nav-link" >JUnit Testing</a></li>
                    <li class="nav-item "><a  href="ManualTesting.html"  title="Manual Testing"  class="nav-link" >Manual Testing</a></li>
                    <li class="nav-item "><a  href="ReleaseGuide.html"  title="Release Guide"  class="nav-link" >Release Guide</a></li>
                    <li class="nav-item "><a  href="WebsiteGuide.html"  title="Website Guide"  class="nav-link" >Website Guide</a></li>
                </ul>
            </div>
        </div> <!-- END: .row -->
    </div> <!-- END: .container -->
</footer>
  <div class="container subfooter text-center">
    <div class="row">
      <div class="col-md-12">
        <p class="copyright">Copyright &copy;2012-${currentYear}
                 <a href="https://apache.org">Apache Software Foundation</a>
. All Rights Reserved.</p>
      </div>
    </div>
  </div>

  <!-- Le javascript
  ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
    <script src="./js/jquery.min.js" crossorigin="anonymous"></script>
    <script src="./js/popper.min.js" crossorigin="anonymous"></script>
    <script src="./js/bootstrap.min.js" crossorigin="anonymous"></script>

  <script src="./js/lightbox.min.js" crossorigin="anonymous"></script>
            	<script src="./js/highlight.min.js" crossorigin="anonymous"></script>
                    
<script src="https://www.apachecon.com/event-images/snippet.js"></script>        
<script src="./js/site.js" type="text/javascript"></script>        
<script src="./js/jquery-ui.min.js" type="text/javascript"></script>        
<script src="./js/netcalc.js" type="text/javascript"></script>        
<div class="text-center">Apache OpenMeetings, OpenMeetings, Apache, the Apache feather, and the Apache OpenMeetings project logo</div>        
<div class="text-center">are trademarks of the Apache Software Foundation.</div>        
<div class="text-center">
  <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a>
</div>  <script src="./js/reflow-skin.js" crossorigin="anonymous"></script>
    <script src="./js/anchor.min.js" crossorigin="anonymous"></script>
    </body>
</html>
