JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://dl.dropboxusercontent.com/u/38317632/api.ai.js"></script>
<start>start</start><br/>
<stop>stop</stop>

JavaScript

var access_token = access_token;
var sessionId = Math.random()*1000000;
var config = {
    server: 'wss://api.api.ai:4435/api/ws/query',
    token: access_token,// Use Client access token there (see agent keys).
    sessionId: sessionId,
    onInit: function () {
        console.log("> ON INIT use config");
    }
};
var apiAi = new ApiAi(config);
apiAi.init();

apiAi.onInit = function () {
    console.log("> ON INIT use direct assignment property");
    apiAi.open();
};

apiAi.onOpen = function () {
    apiAi.startListening();
};

// apiAi.stopListening();
$('start').click(function() {
    apiAi.startListening();
});
$('stop').click(function() {
    apiAi.stopListening();
});


apiAi.onResults = function (data) {
    var status = data.status;
    var code;
    if (!(status && (code = status.code) && isFinite(parseFloat(code)) && code < 300 && code > 199)) {
        text.innerHTML = JSON.stringify(status);
        return;
    }
    processResult(data.result);
};