# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/digital-river-api/product-management/skus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
