snipt

Ctrl+h for KB shortcuts

JavaScript

Subscribe to a Salesforce Platform Event with Node

var nforce = require('nforce');

var org = nforce.createConnection({
  clientId: '',
  clientSecret: '',
  redirectUri: 'http://localhost:3000/oauth/_callback',
  environment: 'production',
  mode: 'single'
});
var TOPIC = 'Event__e';
var REPLAY_ID = -1;
var USERNAME = '';
var PASSWORD = '';

org.authenticate({ username: USERNAME, password: PASSWORD}, function(err, resp){
  if(err) console.log("Error authenticating to Salesforce, " + err);
  if(!err) console.log('Cached Token: ' + org.oauth.access_token);
  var client = org.createStreamClient();
  var accs = client.subscribe({topic:TOPIC, isEvent:true, retry: REPLAY_ID});
  accs.on('data', function(data) {
    console.log("Platform event on topic, " + TOPIC + " detected\nEvent:" + JSON.stringify(data.payload));
  });
});

Description

Subscribe to a Salesforce Platform Event with Node
https://snipt.net/embed/8c3eb8df0380103534f2f20b6e3f3b59/
/raw/8c3eb8df0380103534f2f20b6e3f3b59/
8c3eb8df0380103534f2f20b6e3f3b59
js
JavaScript
24
2019-08-18T22:06:15
True
False
False
Mar 11, 2019 at 04:20 PM
/api/public/snipt/148281/
subscribe-to-a-salesforce-platform-event-with-node
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="kd">var</span> <span class="nx">nforce</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;nforce&#39;</span><span class="p">);</span> </span><span id="L-2"><a name="L-2"></a> </span><span id="L-3"><a name="L-3"></a><span class="kd">var</span> <span class="nx">org</span> <span class="o">=</span> <span class="nx">nforce</span><span class="p">.</span><span class="nx">createConnection</span><span class="p">({</span> </span><span id="L-4"><a name="L-4"></a> <span class="nx">clientId</span><span class="o">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> </span><span id="L-5"><a name="L-5"></a> <span class="nx">clientSecret</span><span class="o">:</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> </span><span id="L-6"><a name="L-6"></a> <span class="nx">redirectUri</span><span class="o">:</span> <span class="s1">&#39;http://localhost:3000/oauth/_callback&#39;</span><span class="p">,</span> </span><span id="L-7"><a name="L-7"></a> <span class="nx">environment</span><span class="o">:</span> <span class="s1">&#39;production&#39;</span><span class="p">,</span> </span><span id="L-8"><a name="L-8"></a> <span class="nx">mode</span><span class="o">:</span> <span class="s1">&#39;single&#39;</span> </span><span id="L-9"><a name="L-9"></a><span class="p">});</span> </span><span id="L-10"><a name="L-10"></a><span class="kd">var</span> <span class="nx">TOPIC</span> <span class="o">=</span> <span class="s1">&#39;Event__e&#39;</span><span class="p">;</span> </span><span id="L-11"><a name="L-11"></a><span class="kd">var</span> <span class="nx">REPLAY_ID</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span> </span><span id="L-12"><a name="L-12"></a><span class="kd">var</span> <span class="nx">USERNAME</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span> </span><span id="L-13"><a name="L-13"></a><span class="kd">var</span> <span class="nx">PASSWORD</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span> </span><span id="L-14"><a name="L-14"></a> </span><span id="L-15"><a name="L-15"></a><span class="nx">org</span><span class="p">.</span><span class="nx">authenticate</span><span class="p">({</span> <span class="nx">username</span><span class="o">:</span> <span class="nx">USERNAME</span><span class="p">,</span> <span class="nx">password</span><span class="o">:</span> <span class="nx">PASSWORD</span><span class="p">},</span> <span class="kd">function</span><span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">resp</span><span class="p">){</span> </span><span id="L-16"><a name="L-16"></a> <span class="k">if</span><span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&quot;Error authenticating to Salesforce, &quot;</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> </span><span id="L-17"><a name="L-17"></a> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="nx">err</span><span class="p">)</span> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Cached Token: &#39;</span> <span class="o">+</span> <span class="nx">org</span><span class="p">.</span><span class="nx">oauth</span><span class="p">.</span><span class="nx">access_token</span><span class="p">);</span> </span><span id="L-18"><a name="L-18"></a> <span class="kd">var</span> <span class="nx">client</span> <span class="o">=</span> <span class="nx">org</span><span class="p">.</span><span class="nx">createStreamClient</span><span class="p">();</span> </span><span id="L-19"><a name="L-19"></a> <span class="kd">var</span> <span class="nx">accs</span> <span class="o">=</span> <span class="nx">client</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">({</span><span class="nx">topic</span><span class="o">:</span><span class="nx">TOPIC</span><span class="p">,</span> <span class="nx">isEvent</span><span class="o">:</span><span class="kc">true</span><span class="p">,</span> <span class="nx">retry</span><span class="o">:</span> <span class="nx">REPLAY_ID</span><span class="p">});</span> </span><span id="L-20"><a name="L-20"></a> <span class="nx">accs</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s1">&#39;data&#39;</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span> </span><span id="L-21"><a name="L-21"></a> <span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&quot;Platform event on topic, &quot;</span> <span class="o">+</span> <span class="nx">TOPIC</span> <span class="o">+</span> <span class="s2">&quot; detected\nEvent:&quot;</span> <span class="o">+</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">payload</span><span class="p">));</span> </span><span id="L-22"><a name="L-22"></a> <span class="p">});</span> </span><span id="L-23"><a name="L-23"></a><span class="p">});</span> </span></pre></div> </td></tr></table>
javascript, node, salesforce
--- 
+++ 
@@ -0,0 +1,23 @@
+var nforce = require('nforce');
+
+var org = nforce.createConnection({
+  clientId: '',
+  clientSecret: '',
+  redirectUri: 'http://localhost:3000/oauth/_callback',
+  environment: 'production',
+  mode: 'single'
+});
+var TOPIC = 'Event__e';
+var REPLAY_ID = -1;
+var USERNAME = '';
+var PASSWORD = '';
+
+org.authenticate({ username: USERNAME, password: PASSWORD}, function(err, resp){
+  if(err) console.log("Error authenticating to Salesforce, " + err);
+  if(!err) console.log('Cached Token: ' + org.oauth.access_token);
+  var client = org.createStreamClient();
+  var accs = client.subscribe({topic:TOPIC, isEvent:true, retry: REPLAY_ID});
+  accs.on('data', function(data) {
+    console.log("Platform event on topic, " + TOPIC + " detected\nEvent:" + JSON.stringify(data.payload));
+  });
+});