FastSpring Connector

reshuffle-fastspring-connector

Code | npm | Code sample

npm install reshuffle-fastspring-connector

Reshuffle FastSpring Connector

This package contains a Reshuffle connector to fastspring.com. It can be used to configure and manage online store and purchases, and provides access to the full FastSpring API.

This example gets the product list from Fast Spring:

const { Reshuffle } = require('reshuffle')
const { FastSpringConnector } = require('reshuffle-fastspring-connector')

;(async () => {
  const app = new Reshuffle()
  const fs = new FastSpringConnector(app, {
    username: process.env.FASTSPRING_USERNAME,
    password: process.env.FASTSPRING_PASSWORD,
  })

  const products = await fs.getProductList()
  console.log(products)
})()

Table of Contents

Configuration Configuration options

Connector actions:

deleteProduct Delete a product

getLocalizedPrice Get price in a specific country

getProductInfo Get product information

getProductList Get a list of available products

updateProduct Create or update one product

updateProducts Create or update multiple products

updateSimpleProduct Simplified create/update action

REST:

DELETE Direct REST DELETE

GET Direct REST GET

POST Direct REST POST

Configuration options
const app = new Reshuffle()
const fastSpringConnector = new FastSpringConnector(app)

Connector actions

Delete Product action

Definition:

(
  productID: string,
) => void

Usage:

await fastSpringConnector.deleteProduct('my-product')

Delete a product from the store.

Get Localized Price action

Definition:

(
  productID: string,
  countryCode?: string, // optional
) => number

Usage:

const usd = await fastSpringConnector.getLocalizedPrice('my-product', 'US')

Get the price for a product in a specific country. If a price in local currency was not defined for the product, then the stored price is automaically converted into local currency.

Get Product Info action

Definition:

(
  productID: string,
) => Object

Usage:

const info = await fastSpringConnector.getProductInfo('my-product')

Get the full product information. See updateProduct below for details.

Get Product List action

Definition:

() => string[]

Usage:

const list = await fastSpringConnector.getProductist()

Get a list of product IDs for all the products in your store.

Update Product action

Definition:

(
  productID: string,
  info: Object,
) => void

Usage:

await fastSpringConnector.updateProduct('my-product', {
  display: {
    en: 'My Product',
  },
  pricing: {
    price: { USD: 3.14 },
  },
})

Create or update a product with a specified ID. A full description of the product information object can be found here.

Update is an additive operation, i.e. fields that are not included in the info object are not removed from the object record. Rather, new fields are added and new values for exsiting fields are updated.

If no product with the specified ID exists, then a new object is created.

Update Products action

Definition:

(
  info: Object[],
) => void

Usage:

await fastSpringConnector.updateProducts([
  { product: 'p1', display: { en: 'Product One' } },
  { product: 'p2', display: { en: 'Product Two' } },
])

Create or update multiple products using product info objects. A full description of the product information object can be found here.

Update Simple Product action

Definition:

(
  productID: string,
  englishDisplay: string,  // display name
  usd: number,             // price in USD
) => void

Usage:

await fastSpringConnector.updateProduct('my-product', 'My Product', 3.14)

A simplified interface for creating or updating product information. For full control over product info, use updateSimpleProduct above.

REST

DELETE action

Definition:

(
  path: string,
) => object | text

Usage:

const response = await fastSpringConnector.DELETE(`products/${id}`)

Send a DELETE request. Returns a JavaScript object for JSON responses or text string otherwise. Throws an exception if a non-2xx HTTP code is returned.

GET action

Definition:

(
  path: string,
) => object | text

Usage:

const response = await fastSpringConnector.GET(`products/${id}`)

Send a GET request. Returns a JavaScript object for JSON responses or text string otherwise. Throws an exception if a non-2xx HTTP code is returned.

POST action

Definition:

(
  path: string,
  body: object,
) => object | text

Usage:

const response = await fastSpringConnector.POST(
  'products',
  { products: productInfo },
)

Send a POST request. Returns a JavaScript object for JSON responses or text string otherwise. Throws an exception if a non-2xx HTTP code is returned.