Miss any of our Open RFC calls?Watch the recordings here! »

node-sellsy

1.5.3 • Public • Published

node-sellsy

npm license github-issues Circle CI build status

nodei.co

Node Sellsy API wrapper - works in NodeJS and in the browser.

The official Sellsy API is PHP based so here's a JavaScript handy replacement.

It can helps you automate most of Sellsy from their API.

For example i use a Stripe webhook to automate actions in Sellsy.

Features

QuickStart

npm i --save node-sellsy

 
var Sellsy = require('node-sellsy');
 
var sellsy = new Sellsy({
  creds: {
    consumerKey: 'myConsumerKey',
    consumerSecret: 'myConsumerSecret',
    userToken: 'myUserToken',
    userSecret: 'myUserSecret'
  }
});
 
var params = {
  search: {
    contains: 'test',
  }
};
 
sellsy.api({
  method: 'Client.getList',
  params: params
}).then(data => {
  console.log('data', data);
}).catch(e => {
  console.log('error:', e);
});

API

You can access the full Sellsy API using sellsy.api({ method, params }).

This call returns a promise.

Browser usage

Sellsy API doesnt provide CORS access so here's a drop-in proxy you can deploy on your own to use node-bookeo on the client : revolunet/sellsy-proxy.

Then, define the endPoint when creating your Sellsy instance :

var sellsy = new Sellsy({
  creds,
  endPoint: 'http://path/to/sellsy/proxy'
});

Higher-level API methods :

Customer

  • sellsy.customers.create(data)
  • sellsy.customers.get({ email: 'customer@gmail.com' })

Document

  • sellsy.documents.create(data)
  • sellsy.documents.createPayment(docType, docId, paymentData)
  • sellsy.documents.getList(docType, search)
  • sellsy.documents.getById(docType, docId)
  • sellsy.documents.updateStep(docType, docId, step)

Scripts

  • npm run readme : node ./node_modules/node-readme/bin/node-readme.js
  • npm run test : find ./spec -iname '*.spec.js' -exec ./node_modules/.bin/babel-node {} \; | ./node_modules/.bin/tap-spec
  • npm run zuul : ./node_modules/zuul/bin/zuul -- spec/**/*.spec.js
  • npm run build : babel -d ./dist ./src

Tests

  Customers.create should call sellsy api

    ✔ should call API twice
    ✔ should call Client.create with correct data
    ✔ should call Client.getList with correct data

  Customers.get should call sellsy api

    ✔ should call API
    ✔ should call get with correct data
    ✔ should return first result

  sellsy.api should be defined

    ✔ should be equal

  sellsy.api should init call oAuth.OAuth with correct parameters

    ✔ consumerKey
    ✔ consumerSecret

  sellsy.api post correct data to API

    ✔ userToken
    ✔ userSecret
    ✔ request
    ✔ io_mode
    ✔ method
    ✔ params

  Sellsy should use default api endPoint

    ✔ https://apifeed.sellsy.com/0/

  Sellsy should use given api endPoint

    ✔ http://path.to/proxy/test/


  total:     17
  passing:   17
  duration:  1.8s

Author

Julien Bouquillon julien@bouquillon.com http://github.com/revolunet and contributors

License

Install

npm i node-sellsy

DownloadsWeekly Downloads

129

Version

1.5.3

License

MIT

Last publish

Collaborators

  • avatar