0.1.0 • Published 7 years ago

squarespace-store v0.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
7 years ago

Squarespace Store Browser API

An unofficial Browser API to interact with Squarespace Commerce Stores.

SquarespaceStore implements a two-way MessageChannel to your store within a hidden iframe to communicate to a Squarespace browsing context.

Using this library, you may:

  • List all products in your store
  • Retrieve product details from a product url
  • Add a product to the browser's Squarespace shopping cart
// Initialize a connection to a Squarespace Commerce Store
const store = new SquarespaceStore('http://www.parlourh.com');

// Fetch all products
store.fetchAllProducts().then(function(products) {
  // Products have attributes:
  //   * id
  //   * title
  //   * url
  //   * imageUrl
  //   * price

  // Add a product to the current browser's cart
  store.addToCart(product.id);
});

// Or, fetch product by url
store.fetchProductUrlDetails('http://www.parlourh.com/salon/love-conditioner-smoothing').then(function(product) {
  store.addToCart(product.id);
});

// And finally, navigate to the cart checkout page when ready
window.location = store.cartUrl();

Installation

Todo...

Browser Compatibility

This should be compatible with 97.05% of browser usage (as of Nov 2016). If you notice a compatibility issue, please open a Pull Request or file an Issue.

image

Current Status

This package is stable, however, this uses unofficial APIs and may break from time to time if Squarespace modifies the layout of their templates.

  • Products with multiple variants have not been implemented yet.
  • No removing / viewing the contents of the cart.
  • I've only tested this against one store. So it likely has a couple changes needed to work for yours. Submit an issue or open a PR and it will get fixed.

Copyright and License

Copyright (c) 2016, Boulevard.

Source code is licensed under the MIT License.

0.1.0

7 years ago