leanpub-client

0.0.1 • Public • Published

leanpub-client

a node.js api wrapper for leanpub.com.

known issues:

  • currently only supports json. a pull request adding xml support would be accepted.
  • paging through all individual purchases currently isn't supported. that'll be an easy fix.

installation

npm install leanpub-client

usage example

var Leanpub = require('leanpub-client');

var apikey = process.env.LEANPUB_API_KEY;
var book = 'YOUR BOOK SLUG';

var leanpub = new Leanpub(apikey);

leanpub.sales({ slug: book, report: 'summary' }, function(err, res){
  console.log(res.total_book_royalties);
});

leanpub.sales({ slug: book, report: 'all' }, function(err, res){
  console.log(res.length);
});

leanpub.preview({ slug: book }, function(err, res){
  console.log(res);
});

var status = leanpub.status({ slug: book, poll: true }, function(err, res){
  console.log(res)
});

status.on('response', function(currentStatus, oh){
  console.log('step: ', currentStatus.num);
});

status.on('done', function(res){
  console.log('not processing', res)
});

methods

leanpub.preview(options, callback)

  • slug (string, required, the slug of your book)
  • subset (boolean, to generate a subset of your book based on the Preview.txt file)

leanpub.publish(options, callback) options:

  • slug (string, required, the slug of your book)
  • emailReaders (boolean, required if you want to add release notes)
  • releaseNotes (string, the release notes that will be emailed to readers)

leanpub.status(options, callback) options:

  • slug (string, required, the slug of your book)
  • poll (boolean, default true. set to false if you don't want to poll leanpub to check for when the book finishes generating)

returns an event emitter with 'response' event that returns information about the book's status in the process of being generated, and a 'done' event, when the book is no longer in the process of generating.

if poll is true, the response event will fire every 10 seconds until the book is done generating.

leanpub.sales(options, callback) options:

  • slug (string, required, the slug of your book)
  • report (string, required, can be 'summary', to get a summary of your sales, or 'all', to get a list of all purchases TODO: allow paging through results)

license

MIT

Dependencies (1)

Dev Dependencies (2)

Package Sidebar

Install

npm i leanpub-client

Weekly Downloads

0

Version

0.0.1

License

MIT

Last publish

Collaborators

  • sethvincent