natero v0.9.7
natero-analytics
Natero Customer Success Instrumentation Server-side Libraries.
Installation
npm install natero
Current Status
This module has been tested and is ready to be used.
Tutorial
The example below initializes the library, then submits a few events. The library will submit them in batches.
var na = require('natero');
// Init library once
var _na = new na.na('node_test_key', 'node_test_auth',
{
debugUrl: "http://TEST_URL/api/submitEvents/node_test_key"
}
);
// Submit events (they are sent in batches)
function eatChocolate() {
_na.sendCustomAccountMetric("account_1", "chocolate_lover_count", 20);
_na.sendCustomAccountDimension("account_1", "has_chocolate_lovers", "true");
_na.sendCustomUserMetric("account_1", "user_1", "chocolate_bars_consumed", 99);
}
API
natero.na(apiKey, authKey, options)
Create a Natero Analytics object. Parameters:
apiKey
: string - key to determine organization and sourceauthKey
: string - authentication keyoptions
: json object (optional), see below for componentsdebugUrl
: string - sends event data to specified url (e.g., of a debug server)debug
: boolean - set debug on or off; disables sending events, enables console logging (default false)compress
: boolean - set payload compression on or off (default false)
na.sendCustomUserMetric(accountId, userId, metric, value)
Send a custom metric + value associated with an account user.
accountId
: string - account iduserId
: string - user idmetric
: string - customer success metric namevalue
: Number - customer success metric value
na.sendCustomAccountMetric(accountId, metric, value)
Send a custom metric + value associated with an account.
accountId
: string - account idmetric
: string - customer success metric namevalue
: Number - customer success metric value
na.sendCustomAccountDimension(accountId, dimension, name)
Send a custom dimension associated with an account.
accountId
: string - account iddimension
: string - customer success dimension namename
: string - customer success dimension value
na.syncEvents()
Sends queued events to the server.
This is typically not required in normal operation.
Implements Q Deferred promise, example use:
var na = require('natero'),
Q = require('q');
var _na = new na.na('node_test_key', 'node_test_auth', {});
... submit some events ...
_na.syncEvents()
.then(function() {
console.log('Event Sync is complete');
})
License
natero is licensed under the ISC license.
#Changelog
0.9.7 Fixed nodejs error handling based on 200 status code. Changed uncompressed data to be sent in body rather than multipart form.
0.9.6 SyncEvents implements Q deferred promise
0.9.5 Support for deflate payload compression
0.9.2 Externalized CreateEvent funx
0.9.1 Initial check in