hapi-km

1.0.1 • Public • Published

hapi-km

Build Status

Hapi plugin wrapping kilometer.io's REST api for easy access within the server. On successful registration, four new methods will be available on the server.methods object.

Installation:

npm install --save hapi-km

Example usage:

'use strict';
 
const Hapi = require('hapi');
 
// Create a server with a host and port
const server = new Hapi.Server();
server.connection({
    host: 'localhost',
    port: 8000
});
 
server.register({
    register: require('hapi-km'),
    options: {
        app_id: require('./config').kilometerAppId
    }
}, (err) => {
 
    // Oops
});
 
// An example route using the plugin
server.route({
    method: 'GET',
    path: '/hello',
    handler: (request, reply) => {
        request.server.methods.km.trackIdentifiedEvent({
            user_id: 'larry_potter',
            event_name: 'some_event',
            event_properties: {
                event_property: 'some_property'
            }
        }, (err, res) => {
 
            // This callback is optional
 
            if (err) {
                throw (err);
            }
 
            if (res.statusCode >= 400) {
                console.log(res.statusMessage);
            }
 
            reply('hello there');
        });
 
    }
});
 
// Start the server
server.start((err) => {
 
    if (err) {
        throw err;
    }
 
    console.log('Server running at:', server.info.uri);
});

Methods

trackIdentifiedEvent(options, [callback])

Tracks an identified event at kilometer.io.

  • options An object with the following keys:
    • user_id A kilometer.io user id
    • event_name The name of the event_name
    • event_properties An object with one or more properties
      • event_property A property on the event_property
      • event_property_2 Yet a property (opt.)
  • callback A optional function with signature function(err, res) with status of the call to kilometer.io.

setUserProperty(options, [callback])

Sets one or more user properties.

  • options An object with one or more properties and their values:
    • foo_property
    • bar_property
  • callback A optional function with signature function(err, res) with status of the call to kilometer.io.

increaseUserProperty(options, [callback])

Increases the value of a property.

  • options An object with one property and a numerical value to increase it with:
    • foo_property
  • callback A optional function with signature function(err, res) with status of the call to kilometer.io.

decreaseUserProperty(options, [callback])

Decreases the value of a property.

  • options An object with one property and a numerical value to decrease it with:
    • foo_property
  • callback A optional function with signature function(err, res) with status of the call to kilometer.io.

Package Sidebar

Install

npm i hapi-km

Weekly Downloads

2

Version

1.0.1

License

ISC

Last publish

Collaborators

  • ejeklint