0.2.0 • Published 10 years ago

snowshoe v0.2.0

Weekly downloads
28
License
MIT
Repository
github
Last release
10 years ago

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)

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago