> For the complete documentation index, see [llms.txt](https://docs.digitalriver.com/digital-river-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalriver.com/digital-river-api/product-management/skus.md).

# Product basics

In the Digital River APIs, you can use [SKUs](#skus), [product details](#product-details), [SKU groups](#sku-groups) and [inventory items](#inventory-items) to identify and describe your goods and services.

Whether you integrate with [Low-code checkouts](/digital-river-api/integration-options/low-code-checkouts.md) or [Direct Integrations](/digital-river-api/integration-options/checkouts.md), these resources and objects allow you to define each of your product's [basic and compliance data](#basic-versus-compliance-product-data).

Except for [SKU groups](#sku-groups) (as well as [inventory items](#inventory-items) used in the [distributed model](/digital-river-api/integration-options/checkouts/handling-digital-river-coordinated-fulfillments.md#distributed-model) of [Digital River coordinated fulfillments](/digital-river-api/integration-options/checkouts/handling-digital-river-coordinated-fulfillments.md)), you're responsible for managing the data contained in them.

Additionally, with the exception of [product details](#product-details), their data is stored in Digital River's system.

|                                         | Resource or object? | Supported product data | Where the product data is stored | Who manages the product data | How you manage the data                                                                                     | When you reference the resource / pass the object                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| --------------------------------------- | ------------------- | ---------------------- | -------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [**SKUs**](#skus)                       | Resource            | Basic and compliance   | Digital River's system           | You                          | [SKUs API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus)                       | [`POST /checkouts`](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/checkouts#checkouts-1), [`POST /checkout-sessions`](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions#drop-in-checkout-sessions)                                                                                                                                                                                                                                                                                                                                                               |
| [**Product details**](#product-details) | Object              | Basic                  | Your system                      | You                          | System dependent                                                                                            | <p><a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/cQFeMG4WaDqoAqBXnaSS#checkouts-1"><code>POST /checkouts</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/cQFeMG4WaDqoAqBXnaSS#checkouts-1"><code>POST /checkouts</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/YF3IFZyP3FJu7zkb4XIw#drop-in-checkout-sessions"><code>POST /checkout-sessions</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/bwbOBsDkxe7FYAHp47le#shipping-quotes"><code>POST /shipping-quotes</code></a>,<br><a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/nYiYdTJEQ0xTV4tyt8Sv#shipping-labels-1"><code>POST /shipping-labels</code></a></p> |
| [**SKU groups**](#sku-groups)           | Resource            | Compliance             | Digital River's system           | Digital River                | [SKU Groups API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/sku-groups)           | <p><a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/cQFeMG4WaDqoAqBXnaSS#checkouts-1"><code>POST /checkouts</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/cQFeMG4WaDqoAqBXnaSS#checkouts-1"><code>POST /checkouts</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/YF3IFZyP3FJu7zkb4XIw#drop-in-checkout-sessions"><code>POST /checkout-sessions</code></a>, <a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/bwbOBsDkxe7FYAHp47le#shipping-quotes"><code>POST /shipping-quotes</code></a>,<br><a href="/spaces/x8fSFzVR3sg0TsNWwwVz/pages/nYiYdTJEQ0xTV4tyt8Sv#shipping-labels-1"><code>POST /shipping-labels</code></a></p> |
| [**Inventory items**](#inventory-items) | Resource            | Basic and compliance   | Digital River's system           | You/Digital River            | [Inventory Items API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/inventory-items) | [`POST /fulfillment-orders`](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/fulfillment-orders#fulfillment-orders-1)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

## SKUs

In the Digital River APIs, SKUs are one option for identifying and defining your goods and services.

This resource holds data on the most important characteristics of a product. SKUs aren’t meant to be universal. Instead, they should be unique to your business.

You [manage SKUs](/digital-river-api/product-management/creating-and-updating-skus.md), and their data is stored in Digital River's system.

Depending on how you send product data in [create checkout](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) or [create checkout-session](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions#drop-in-checkout-sessions) requests, your SKUs might only contain [basic product data](#basic-versus-compliance-product-data). Alternatively, they can contain both [basic and compliance data](#basic-versus-compliance-product-data).

If you reference this resource in checkouts or [checkout-sessions](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions), you'll need to use the [SKUs API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus) to define and create a SKU for every [digital and physical product](#how-products-are-classified-as-physical-or-digital) in your catalog.

For more details, refer to:

* The [Managing SKUs](/digital-river-api/product-management/creating-and-updating-skus.md) page
* The [Sending product data in checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) section on the [Describing line items](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md) page
* The [Product data](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics#product-data) section on the [Checkout-sessions basics](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics) page.

## Product details

You can use `productDetails` to identify and define your goods and services. This object holds data on the most important characteristics of a product.

You manage `productDetails` and its data is stored in your system.

A `productDetails` object can only be used to pass [basic product data](#basic-versus-compliance-product-data). Its [compliance data](#basic-versus-compliance-product-data) is stored in a referenced [SKU group](/digital-river-api/product-management/setting-up-sku-groups.md).

In other words, each `items[]` in a [create checkout](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/checkouts#checkouts-1) or [create checkout-session](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions#drop-in-checkout-sessions) request must include `productDetails` and nested within that object should be a `skuGroupId`.

For more details, refer to:

* The [Using product details](/digital-river-api/product-management/using-product-details.md) page
* The [Grouping SKUs](/digital-river-api/product-management/setting-up-sku-groups.md) page
* The [Sending product data in checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) section on the [Describing line items](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md) page
* The [Product data](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics#product-data) section on the [Checkout-sessions basics](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics) page.

## SKU groups

A [SKU group](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/sku-groups) represents a collection of products with similar compliance requirements. This resource is only used to store [compliance data](#basic-versus-compliance-product-data).

Digital River manages your SKU groups, and their data is stored in Digital River's system.

If you use SKU groups, you must reference the resource when sending product data in [create checkout](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) or [create checkout-session](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions#drop-in-checkout-sessions) requests, and the reference must either be in the [SKU](#skus) or in [`productDetails`](#product-details).

For more details, refer to:

* The [Grouping SKUs](/digital-river-api/product-management/setting-up-sku-groups.md) page
* The [sending product data in checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) section on the [Describing line items](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md) page
* The [Product data](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics#product-data) section on the [Checkout-sessions basics](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/drop-in-checkout-sessions/checkout-sessions-basics) page.

## Inventory items

The [inventory item](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/inventory-items) resource identifies and defines physical products stored in a warehouse. You only use inventory items in [Digital River coordinated fulfillments](/digital-river-api/integration-options/checkouts/handling-digital-river-coordinated-fulfillments.md).

The data for an inventory item is saved in Digital River's system, and you can access it using the [Inventory Items API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/inventory-items).

How you [interact with inventory items](/digital-river-api/product-management/managing-inventory.md) and how you ensure that data contained in the [shared attributes](/digital-river-api/product-management/common-attributes.md#shared-attributes) of [SKU-inventory item pairs](/digital-river-api/product-management/common-attributes.md) remains synchronized, depends on whether you're using the [distributed model](/digital-river-api/integration-options/checkouts/handling-digital-river-coordinated-fulfillments.md#distributed-model) or the [orchestrated model](/digital-river-api/integration-options/checkouts/handling-digital-river-coordinated-fulfillments.md#orchestrated-model).

For more details, refer to:

* The [Managing inventory items](/digital-river-api/product-management/managing-inventory.md) page
* The [SKU-inventory item pairs](/digital-river-api/product-management/common-attributes.md) page

## Basic versus compliance product data

In the Digital River APIs, there exist two broad categories of product data: basic and compliance. The following table lists the specific data in each category:

{% hint style="info" %}
Additional compliance data beyond what is listed here may be stored in the SKU group to which a product belongs.
{% endhint %}

| Basic product data                      | Compliance product data              |
| --------------------------------------- | ------------------------------------ |
| Name and description                    | Export control classification number |
| Image and URL                           | Harmonized system code               |
| Weight and weight unit                  | Tax code                             |
| Country of origin                       | Dangerous goods classifications      |
| Part number and manufacturer identifier | Signature requirements               |

## How products are classified as physical or digital

Digital River classifies a product as physical or digital based on its designated tax code. This code plays a role in determining a [checkout's](https://www.digitalriver.com/docs/digital-river-api-reference/#tag/Checkouts) [address requirements](/digital-river-api/integration-options/checkouts/creating-checkouts/providing-address-information.md#address-requirements-and-validations), its assigned [selling entity](/digital-river-api/integration-options/checkouts/creating-checkouts/selling-entities.md), and whether the [landed cost feature](/digital-river-api/integration-options/checkouts/creating-checkouts/landed-costs.md) is triggered.

Who assigns a product's tax code depends on whether or not you're using SKU groups.

### Using SKU groups

If you (1) associate a [SKU group](#sku-groups) with each of your [SKUs](#skus) or (2) reference a [SKU group](#sku-groups) in [`productDetails`](#product-details), then Digital River sets the SKU group's tax code.

As a result, you're not responsible for identifying, defining, or managing your products' tax codes.

### Not using SKU groups

If you use [SKUs](#skus) without [SKU groups](#sku-groups), then you're responsible for defining and managing each of your SKUs' [`taxCode`](/digital-river-api/product-management/creating-and-updating-skus.md#tax-code)(s).

### How to identify a physical or digital SKU

A [SKU's](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus) `physical` attribute allows you to determine whether the resource is classified as digital or physical without referencing our [supported tax code table](/digital-river-api/product-management/creating-and-updating-skus.md#supported-tax-codes).

{% code title="SKU" %}

```javascript
{
    "id": "db148281-a5a2-4349-baf2-5d9f76025e56",
    ...
    "physical": true
}
```

{% endcode %}
