@ordercloud/headstart-sdk

Javasript SDK for the Ordercloud HeadStart API

Usage no npm install needed!

<script type="module">
  import ordercloudHeadstartSdk from 'https://cdn.skypack.dev/@ordercloud/headstart-sdk';
</script>

README

Ordercloud HeadStart

HeadStart is functional ecommerce site built with Ordercloud that you can start customizing today. This package is a client library for the Head Start API.

⚙️ Installation

npm install @ordercloud/headstart-sdk --save

Usage

import { HeadStartSDK } from '@ordercloud/headstart-sdk';

let page = 1;
let pageSize = 100;
let search = "boots"
let taxCategory = "P0" // tangible personal property  

let taxCodes: ListPage<MarketplaceTaxCode> = await MarketplaceSDK.TaxCodes.GetTaxCodes({ filters: { Category: taxCategory }, search, page, pageSize });

🔐 Authentication

Marketplace Authentication uses tokens from the Ordercloud auth server

// Login 
HeadStartSDK.Tokens.SetAccessToken("ordercloud-access-token");

// Logout
HeadStartSDK.Tokens.RemoveAccessToken();

🔍 Filtering

All of the filtering options you love from the API are available through the SDK as well. Simply build an object that matches the model of the item you're filtering on where the value is the value you'd like to filter on.

Let's run through a couple scenarios and what the call will look like with the SDK:

My products where xp.Featured is true

Me.ListProducts({ filters: { xp: { Featured: true } } })
  .then(productList => console.log(productList));

My orders submitted after April 20th, 2018

Me.ListOrders({ filters: { DateSubmitted: '>2018-04-20' } })
  .then(orderList => console.log(orderList))

Users with the last name starting with Smith:

Users.List('my-mock-buyerid', { filters: { LastName: 'Smith*' } })
  .then(userList => console.log(userList));

Users with the last name starting with Smith or users with the last name ending with Jones

Users.List('my-mock-buyerid', { filters: { LastName: 'Smith*|*Jones' } })
  .then(userList => console.log(userList));

Products where xp.Color is not red and not blue

Products.List({ filters: { xp: { Color: ['!red', '!blue'] } } })
    .then(productList => console.log(productList));

And of course you can mix and match filters to your heart's content.

📄 License

Marketplace Javascript SDK is an open-sourced software licensed under the MIT license.

🤝 Contributing

Check out our Contributing guide.

🆘 Getting Help

If you're new to OrderCloud, exploring the documentation is recommended, especially the Intro to OrderCloud.io and Quick Start Guide. When you're ready to dive deeper, check out the platform guides and API reference.

For programming questions, please ask on Stack Overflow.

To report a bug or request a feature specific to the SDK, please open an issue.