Skip to content

Latest commit

 

History

History
112 lines (77 loc) · 3 KB

README.md

File metadata and controls

112 lines (77 loc) · 3 KB

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);
});