snowshoe

0.2.0 • Public • Published

Snowshoe API Node.js Client

The Snowshoe node client submits point data to the Snowshoe API for authentication. The client will return a JSON object, containing either the serial of the matched stamp (a success!) or an error.

Dependencies

  • oauth
  • q

Installation

npm install snowshoe
var Snowshoe = require('showshoe')

Usage: Setting up the client and making a POST

On instantiation of the Snowshoe client, pass in your SNOWSHOE_APP_KEY & SNOWSHOE_APP_SECRET, respectively.

Currently, all posts are made to v2 of the API at http://beta.snowshoestamp.com/api/v2/stamp.

The data object is constructed from the point data sent by your front-end stamp screen.

The client will return a JSON object, containing either the serial of the matched stamp (a success!) or an error.

var client = new Snowshoe.client(SNOWSHOE_APP_KEY, SNOWSHOE_APP_SECRET);
var data = {data: request.body.data};
 
client.post(data, function(error, data){
  if (error) {
    // handle errors
  };
  // handle success
})

Optionally, you can inspect the whole OAuth response object if you'd like.

var client = new Snowshoe.client(SNOWSHOE_APP_KEY, SNOWSHOE_APP_SECRET);
var data = {data: request.body.data};
 
client.post(data, function(error, data, oauthResponse){
  console.log(oauthResponse.statusCode)
  // add conditional logic based on OAuth's response
})

Or return a promise instead (via Q).

client.post(data).then(function (data) {
    // handle success
  })
  .catch(function (error) {
    // handle errors
  });

Below are examples of success and error JSON responses from the API.

// Success
{
  "stamp": {
    "serial": "DEV-STAMP"
  },
  "receipt": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
  "secure": false,
  "created": "2015-03-24 11:27:33.014149"
}
 
// Error
{
  "error": {
    "message": "Stamp not found",
    "code": 32
    },
  "receipt": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
  "secure": false,
  "created": "2015-03-24 11:27:48.235046"
}

Tests

(Coming soon)

Contribute

Join us in improving this client by making a pull request.

License

MIT (see LICENSE file)

Readme

Keywords

Package Sidebar

Install

npm i snowshoe

Weekly Downloads

182

Version

0.2.0

License

MIT

Last publish

Collaborators

  • rasphilco