UNPKG

jive-sdk

Version:

Node.js SDK for Jive Software to assist with the development of add-ons

1,418 lines (548 loc) 20.1 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Jive SDK Module: webhooks</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css"> <link type="text/css" rel="stylesheet" href="styles/site.spacelab.css"> </head> <body> <div class="container-fluid"> <div class="navbar navbar-fixed-top navbar-inverse"> <div class="navbar-inner"> <a class="brand" href="index.html">Jive SDK</a> <ul class="nav"> <li class="dropdown"> <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a> <ul class="dropdown-menu "> <li> <a href="module-abstractDefinitions.html">abstractDefinitions</a> </li> <li> <a href="module-abstractInstances.html">abstractInstances</a> </li> <li> <a href="module-addOnRoutes.html">addOnRoutes</a> </li> <li> <a href="module-api.html">api</a> </li> <li> <a href="module-community.html">community</a> </li> <li> <a href="module-constants.html">constants</a> </li> <li> <a href="module-devRoutes.html">devRoutes</a> </li> <li> <a href="module-events.html">events</a> </li> <li> <a href="module-extensions.html">extensions</a> </li> <li> <a href="module-extstreamsInstances.html">extstreamsInstances</a> </li> <li> <a href="module-jiveutil.html">jiveutil</a> </li> <li> <a href="module-oauthRoutes.html">oauthRoutes</a> </li> <li> <a href="module-request.html">request</a> </li> <li> <a href="module-security.html">security</a> </li> <li> <a href="module-service.html">service</a> </li> <li> <a href="module-tasks.html">tasks</a> </li> <li> <a href="module-tileInstances.html">tileInstances</a> </li> <li> <a href="module-tileRoutes.html">tileRoutes</a> </li> <li> <a href="module-tilesDefinitions.html">tilesDefinitions</a> </li> <li> <a href="module-webhooks.html">webhooks</a> </li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu "> <li> <a href="extstreamsDefinitions.html">extstreamsDefinitions</a> </li> <li> <a href="filePersistence.html">filePersistence</a> </li> <li> <a href="memoryPersistence.html">memoryPersistence</a> </li> <li> <a href="memoryScheduler.html">memoryScheduler</a> </li> <li> <a href="oauthHandler.html">oauthHandler</a> </li> </ul> </li> </ul> </div> </div> <div class="row-fluid"> <div class="span8"> <div id="main"> <h1 class="page-title">Module: webhooks</h1> <section> <header> <h2> webhooks </h2> </header> <article> <div class="container-overview"> <div class="description"><p>API for interacting with Jive communities.</p></div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-20">line 20</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <dl> <dt> <h4 class="name" id="findByCommunity"><span class="type-signature">&lt;static> </span>findByCommunity<span class="signature">(community)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Looks through persistence for all webhooks associated with the provided community object. If no objects are found with that id, an empty array is resolved to the returned promise; otherwise an array of objects is resolved. <br><br> An error will be thrown if:</p> <ul> <li>No community argument is passed</li> <li>Community argument is not an object</li> <li>Community object does not contain a tenantId</li> </ul> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>community</code></td> <td class="type"> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-122">line 122</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findByID"><span class="type-signature">&lt;static> </span>findByID<span class="signature">(webhookId)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Looks through persistence for a webhook object with the provided id. If no object is found with that id, a null object is resolved to the returned promise.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>webhookId</code></td> <td class="type"> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-40">line 40</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findByTenantID"><span class="type-signature">&lt;static> </span>findByTenantID<span class="signature">(tenantId)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Looks through persistence for any webhook objects related to the provided tenantId. <br><br> An error will be thrown if, tenantId is not found in the webhook persistence store. <br><br></p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>tenantId</code></td> <td class="type"> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-52">line 52</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise (webhook)</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findByWebhookURL"><span class="type-signature">&lt;static> </span>findByWebhookURL<span class="signature">(webhookURL)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Looks through persistence for a webhook object with the provided webhookURL. <br><br> An error will be thrown if, webhookURL is not found in the webhook persistence store. <br><br></p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>webhookURL</code></td> <td class="type"> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-72">line 72</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise (webhook)</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findWebhookCommunity"><span class="type-signature">&lt;static> </span>findWebhookCommunity<span class="signature">(webhook)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Uses a webhook object to resolve reference to its parent community. This is a convenience method for webhook processing. <br><br> An error will be thrown if, community tenantId is not found in the community persistence store. <br><br></p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>webhook</code></td> <td class="type"> </td> <td class="description last"><p>object</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-92">line 92</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise (community)</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="register"><span class="type-signature">&lt;static> </span>register<span class="signature">(jiveCommunity, events, object, webhookCallbackURL, accessToken, refreshToken, tokenPersistenceFunction)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Register a webhook for the named jive community. Uses either the registered community access token for your service, or the supplied access token.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>jiveCommunity</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Required. Name of the jive community.</p></td> </tr> <tr> <td class="name"><code>events</code></td> <td class="type"> <span class="param-type">Array</span> </td> <td class="description last"><p>Required. Array of String. Elements may be system webhooks (user_account, user_membership, user_session, social_group) or content events (document, discussion, blogpost, .. )</p></td> </tr> <tr> <td class="name"><code>object</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Optional, if events are system webhooks.</p></td> </tr> <tr> <td class="name"><code>webhookCallbackURL</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Required. URL of the postback that Jive will contact when the conditions of the hook are met.</p></td> </tr> <tr> <td class="name"><code>accessToken</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Optional. If omitted, will registration will use community oauth</p></td> </tr> <tr> <td class="name"><code>refreshToken</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Optional. If omitted, will registration will use community oauth</p></td> </tr> <tr> <td class="name"><code>tokenPersistenceFunction</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last"><p>Optional. Callback function that will be invoked with new oauth access and refresh tokens ({'access_token' : '...', 'refresh_token' : '...' }). If not provided, the community will be updated with the new access tokens.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-161">line 161</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="save"><span class="type-signature">&lt;static> </span>save<span class="signature">(webhook)</span><span class="type-signature"> &rarr; {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Saves the given webhook into persistence.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>webhook</code></td> <td class="type"> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="webhooks.js.html">jive-sdk-api/lib/webhook/webhooks.js</a>, <a href="webhooks.js.html#sunlight-1-line-30">line 30</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> </dl> </article> </section> </div> <div class="clearfix"></div> <footer> <span class="copyright"> Jive Software, Inc </span> <br /> <span class="jsdoc-message"> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a> on Wed Jan 22 2014 12:29:39 GMT-0800 (PST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>. </span> </footer> </div> <div class="span3"> <div id="toc"></div> </div> <br clear="both"> </div> </div> <script src="scripts/sunlight.js"></script> <script src="scripts/sunlight.javascript.js"></script> <script src="scripts/sunlight-plugin.doclinks.js"></script> <script src="scripts/sunlight-plugin.linenumbers.js"></script> <script src="scripts/sunlight-plugin.menu.js"></script> <script src="scripts/jquery.min.js"></script> <script src="scripts/jquery.scrollTo.js"></script> <script src="scripts/jquery.localScroll.js"></script> <script src="scripts/bootstrap-dropdown.js"></script> <script src="scripts/toc.js"></script> <script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script> <script> $( function () { $( "#toc" ).toc( { selectors : "h1,h2,h3,h4", showAndHide : false, scrollTo : 60 } ); $( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" ); $( "#main span[id^='toc']" ).addClass( "toc-shim" ); } ); </script> </body> </html>