reflect-node
v1.0.2
Published
Node interface for the Reflect API
Downloads
8
Keywords
Readme
reflect-node
This is a client for the Reflect API.
This library includes support for generating authentication tokens as well as using the Reflect REST API.
This README outlines basic usage. For more detailed documentation, please refer to JSDoc.
Installation
Install reflect-node through npm:
$ npm install reflect-node
API methods
This functionality is currently under development. You can expect to see expanded support for our various endpoints down the road.
Getting started
After Installation, require reflect-node
from your
application:
const Reflect = require('reflect-node');
For the next step you'll need a Reflect API token. You can find yours by logging into https://app.reflect.io then navigating to the Tokens section of the Account page.
const client = new Reflect.Client('my-api-token');
Once you've created a Client
instance, you're ready to make authenticated
requests to the Reflect API using reflect-node
.
The documentation below assumes you've completed these two steps, and have an
instance of Client
stored in a client
variable.
Resources
reflect-node
is broken up into various resources with methods for manipulating
them. The various resources and their methods are documented below.
Reporting
Our reporting APIs are allow you to query the projects you've previously configured in Reflect.
We currently only support the report()
method. This method accepts four
arguments:
Name | Type | Description
-----|------|--------------
projectSlug
| string | The project slug you wish to query
dimensions
| array | An array of dimension names you wish to query
metrics
| array | An array of metric names to query
options
| object | Options to query with
Note that it is required to specify either dimensions
or metrics
.
This method returns a promise.
Example:
client.reporting.report('my-project', ['Dimension 1'], ['Metric 1'])
.then((data) => {
console.log(data);
})
Projects
List, create, update, and delete projects. Refer to the JSDoc documentation for usage.
Debugging
To debug reflect-node
, start your Node environment with the following
environment variable set DEBUG=reflect-node
.
Generating an Authentication Token
Here's an example of how you'd generate an encrypted authentication token.
var reflect = require('reflect-node');
var accessKey = 'd232c1e5-6083-4aa7-9042-0547052cc5dd';
var secretKey = '74678a9b-685c-4c14-ac45-7312fe29de06';
var b = new reflect.ProjectTokenBuilder(accessKey)
.setAttribute('user-id', 1234)
.setAttribute('user-name', 'Billy Bob')
.addParameter({
'field': 'My Field',
'op': '=',
'value': 'My Value',
});
b.build(secretKey, function(err, token) {
console.log(token);
});