npm package: @nuskin/shipping-options
Description: This client library provides access to Shipping Options including Shipping Service Levels
Author: Bryce Sheffield
Latest version: 1.0.1

# @nuskin/shipping-options

This is a client library for accessing Shipping Options. It provides for the following.

Shipping Service Levels with the associated costs in each market and region. Shipping service level costs are a function of the market, the region and the order price.

## Installing

Usng npm:

```bash
npm add @nuskin/shipping-options
```

Usng yarn:

```bash
yarn add @nuskin/shipping-options
```

## Example usage

```js
const shippingOptions = require('@nuskin/shipping-options')

const apiKey = "bltc34aecf2fa5e840a"; // ContentStack Stack API Key 
const accessToken = "cs20d934355bb4d11d57416973"; // ContentStack Delivery Token
const env = "dev"; // ContentStack Environment
const locale = "en-US" // The ContentStack Locale

// initialize for the shipping options
const so = shippingOptions({
    apiKey: apiKey,
    accessToken: accessToken,
    env: env,
    locale: locale
});

// retrieve shipping service levels for all markets
const response = await so.getShippingServiceLevels();
/**
[
    {
        "service_level": {
            "EC": {
                "title": "Economy",
                "description": "Economy Shipping",
                "default": false,
                "order_price_range": [],
                "shipping_cost": 12,
                "zone_override": []
            },
            "EX": {
                "title": "Expedited",
                "description": "Expedited Shipping",
                "default": false,
                "order_price_range": [],
                "shipping_cost": 15,
                "zone_override": []
            },
            "ST": {
                "title": "Standard",
                "description": "Standard Shipping",
                "default": true,
                "order_price_range": [
                    {
                        "above": 300,
                        "shipping_cost": 7
                    },
                    {
                        "above": 500,
                        "shipping_cost": 0
                    }
                ],
                "shipping_cost": 14,
                "zone_override": [
                    {
                        "order_price_range": [
                            {
                                "above": 300,
                                "shipping_cost": 10
                            },
                            {
                                "above": 500,
                                "shipping_cost": 0
                            }
                        ],
                        "region_code": "AK, HI",
                        "shipping_cost": 15
                    }
                ]
            }
        },
        "title": "United States",
        "market": "US"
    },
    {
        "service_level": {
            "ST": {
                "title": "Standard",
                "description": "Standard Shipping",
                "default": true,
                "order_price_range": [],
                "shipping_cost": 10,
                "zone_override": []
            }
        },
        "title": "Canada",
        "market": "CA"
    }
]
 */

// retrieve shipping service levels for a specific market
const marketResponse = await so.getMarketShippingServiceLevels("US"); 

// retrieve shipping service levels for specific region in a market
const regionResponse = await so.getRegionShippingServiceLevels("US", "HI");
/**
{
    "service_level": {
        "EC": {
            "title": "Economy",
            "description": "Economy Shipping",
            "default": false,
            "order_price_range": [],
            "shipping_cost": 12
        },
        "EX": {
            "title": "Expedited",
            "description": "Expedited Shipping",
            "default": false,
            "order_price_range": [],
            "shipping_cost": 15
        },
        "ST": {
            "title": "Standard",
            "description": "Standard Shipping",
            "default": true,
            "order_price_range": [
                {
                    "above": 300,
                    "shipping_cost": 10
                },
                {
                    "above": 500,
                    "shipping_cost": 0
                }
            ],
            "shipping_cost": 15,
            "region_code": "AK, HI"
        }
    },
    "title": "United States",
    "market": "US"
}
 */

// retrieve shipping costs for a market, region adjusted by order cost
const costResponse = await so.getMarketShippingServiceLevelsCost("US", "UT", 363.57);
/**
{
    "service_level": {
        "EC": {
            "title": "Economy",
            "description": "Economy Shipping",
            "default": false,
            "shipping_cost": 12
        },
        "EX": {
            "title": "Expedited",
            "description": "Expedited Shipping",
            "default": false,
            "shipping_cost": 15
        },
        "ST": {
            "title": "Standard",
            "description": "Standard Shipping",
            "default": true,
            "shipping_cost": 10,
            "region_code": "AK, HI"
        }
    },
    "title": "United States",
    "market": "US"
}
 */
```

## Resources

## License

[MIT](https://opensource.org/licenses/MIT)