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
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"><static> </span>findByCommunity<span class="signature">(community)</span><span class="type-signature"> → {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"><static> </span>findByID<span class="signature">(webhookId)</span><span class="type-signature"> → {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"><static> </span>findByTenantID<span class="signature">(tenantId)</span><span class="type-signature"> → {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"><static> </span>findByWebhookURL<span class="signature">(webhookURL)</span><span class="type-signature"> → {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"><static> </span>findWebhookCommunity<span class="signature">(webhook)</span><span class="type-signature"> → {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"><static> </span>register<span class="signature">(jiveCommunity, events, object, webhookCallbackURL, accessToken, refreshToken, tokenPersistenceFunction)</span><span class="type-signature"> → {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"><static> </span>save<span class="signature">(webhook)</span><span class="type-signature"> → {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>