moltin-util

Tool for working with the Moltin API. Plus: promises and CLI.

Usage no npm install needed!

<script type="module">
  import moltinUtil from 'https://cdn.skypack.dev/moltin-util';
</script>

README

moltin util

Tool for working with the Moltin API. Plus: promises and CLI.

install

$ npm install moltin-util

Or for the CLI:

$ npm install -g moltin-util

example

Upload an image:

var MoltinUtil = require('moltin-util');

var client = MoltinUtil({
  publicId: process.env.PUBLIC_ID,
  secretKey: process.env.SECRET_KEY
});

client.fetchImage('http://example.com/image.jpg')
  .then(client.resize.bind(client, 600))
  // opts for api: https://docs.moltin.com/images/
  .then(client.createImage.bind(client, {
    name: 'example.jpg'
  }))
  .then(resp => console.log(resp.body))
  .catch(err => console.log('error', err))
;

Get a list of products:

require('dotenv').config();
var client = require('moltin-util')({
  publicId: process.env.PUBLIC_ID,
  secretKey: process.env.SECRET_KEY
});

client.request(client.endpoints.PRODUCTS)
  .then(resp => console.log(resp))
  .catch(err => console.log('err', err))
;

Create a product. Takes an optional array of images.

require('dotenv').config();
var client = require('moltin-util')({
  publicId: process.env.PUBLIC_ID,
  secretKey: process.env.SECRET_KEY
});

var product = {
  title: 'Bulk Glass Eye Charms',
  price: 30,
  description: 'Eye charms',
  slug: 'bulk-glass-eye-charms',
  sku: 'bulk-glass-eye-charms',
  status: 1,
  category: '123',
  stock_level: '1',
  stock_status: 1,
  requires_shipping: 1,
  catalog_only: 0,
  tax_band: '123'
};

var images = ['http://example.com/image.jpg'];

client.createProduct(product, images)
  .then(res => console.log(res.product, res.images))
  .catch(err => console.log(err, err.response.body))
;

command line

$ npm install -g moltin-util

Fetch data from the API and print it to stdout. It looks for a .moltin-utilrc file in the normal places (like your home directory), or authentication keys can be passed in as environment variables.

; .moltin-utilrc
PUBLIC_ID=123
SECRET_KEY=123

examples

GET request to flows endpoint:

$ moltin flows

Additional path segments are just added on as arguments:

Call https://api.molt.in/v1/flows/products/fields:

$ moltin flows products fields