> 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/general-resources/standards-and-certifications/integration-checklists/products-and-skus.md).

# Products and SKUs

The [checklist items](#integration-checklist) and [standards](#integration-standards) in this section cover how to manage your products in the Digital River APIs.

On this page, the [integration checklist](#integration-checklist) that you should use depends on the product data model you employ. For more information, refer to the:

* [Defining goods and services page](/digital-river-api/product-management/skus.md)
* [Sending product data in the 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

## Integration checklists <a href="#integration-checklist" id="integration-checklist"></a>

The integration checklist you should work from in this section depends on your [product data model](/digital-river-api/product-management/skus.md).

{% hint style="info" %}
For more information, refer to 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.
{% endhint %}

Click any checklist item for more details on meeting the integration standard.

### SKUs only checklist

* [ ] [Do you have a method for manually synchronizing a full product catalog using the SKUs API?](#manually-synchronize-your-catalog)
* [ ] [Do you have a scheduled job or real-time trigger to synchronize new and updated products in your catalog with their corresponding SKUs in our system?](#automatically-synchronize-your-catalog)
* [ ] [Can you capture a product's tax code, ECCN, and country of origin within your product admin interface?](#capture-sku-attributes)
* [ ] [Does your integration use your source system's unique product identifier as the SKU identifier when interfacing with the SKUs API?](#ensure-product-and-sku-identifiers-match)

### SKUs with SKU groups checklist

* [ ] [Do you have a method for manually synchronizing a full product catalog using the SKUs API?](#manually-synchronize-your-catalog)
* [ ] [Do you have a scheduled job or real-time trigger to synchronize new and updated products in your catalog with their corresponding SKUs in our system?](#automatically-synchronize-your-catalog)
* [ ] [Does your integration use your source system's unique product identifier (UUID) as the SKU identifier when interfacing with the SKUs API?](#ensure-product-and-sku-identifiers-match)
* [ ] [Have you associated a SKU group with each of your SKU's?](#associate-a-sku-group-with-each-sku)

### Product details with SKU groups checklist

* [ ] [Have you associated a SKU group with each product in your system?](#associate-a-sku-group-with-each-product-in-your-system)

## Integration standards

The product and SKU standards that apply to your integration depend on which of the above :point\_up: checklists you're using.

### Manually synchronize your catalog

You should have a tool that manually imports and then allows you to periodically update your products in Digital River's system through the [SKUs API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus). Your platform's admin interface most likely already has a product management page. You can simply modify this page to perform [SKU imports and updates](/digital-river-api/product-management/creating-and-updating-skus.md#creating-and-updating-a-sku).

### Automatically synchronize your catalog

Product catalogs are often very large. To optimize performance, you should synch your products and SKUs on a timed schedule or using a similar trigger.

These scheduled jobs should make as few calls to the [SKUs API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus) as possible. Therefore, we suggest you use a delta to only update the attributes in a SKU that changed in its corresponding product. This prevents you from having to overwrite every SKU value each time you run a synchronization job.

### Capture SKU attributes

If you're [sending product data in checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) by referencing SKUs that don't belong to [SKU groups](/digital-river-api/product-management/setting-up-sku-groups.md), then you should add the following attributes to the product schema in your commerce platform:

* [Export Control Classification Number](/digital-river-api/product-management/creating-and-updating-skus.md#eccn)
* [Country of origin](/digital-river-api/product-management/creating-and-updating-skus.md#country-of-origin)
* [Tax code](/digital-river-api/product-management/creating-and-updating-skus.md#tax-code)

Similarly, regardless of whether or not you associate SKU groups with SKUs, if you're [sending product data in checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) by referencing SKUs, you should also add the following attributes to your platform's product schema:

* [Part number](/digital-river-api/product-management/creating-and-updating-skus.md#manufacturer-id-and-part-number)
* [Weight and weight unit](/digital-river-api/product-management/creating-and-updating-skus.md#weight-and-weight-unit)
* [Image and URL](/digital-river-api/product-management/creating-and-updating-skus.md#image-and-url)
* [Fulfillment coordinator](/digital-river-api/product-management/creating-and-updating-skus.md#managed-fulfillments)

When you set these values in your admin interface, you can [sync your products with their corresponding SKUs](#automatically-synchronize-your-catalog) in Digital River's system.

### Ensure product and SKU identifiers match

Your product's identifier should match the [identifier of its corresponding SKU](/digital-river-api/product-management/creating-and-updating-skus.md#unique-identifier) in our system. It's important that these values are the same. This ensures that synchronization is possible and that the SKUs work properly during [checkouts](/digital-river-api/integration-options/checkouts/creating-checkouts.md).

### Associate a SKU group with each SKU

Before deployment, you should [associate a SKU group with each of your SKUs in our system](/digital-river-api/product-management/setting-up-sku-groups.md#using-sku-groups-in-transactions).

### Associate a SKU group with each product in your system

Before deployment, you should [associate a SKU group with each product in your system](/digital-river-api/product-management/setting-up-sku-groups.md#using-sku-groups-in-transactions).

## API interfaces

| Documentation                                                                                                                                                                                                                                                                                           | Direct API                                                                        | PHP SDK                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [Defining goods and services](/digital-river-api/product-management/skus.md), [Grouping SKUs](/digital-river-api/product-management/setting-up-sku-groups.md), [Sending product data](/digital-river-api/integration-options/checkouts/creating-checkouts/describing-the-items.md#sending-product-data) | [SKUs](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/skus) | [SKUs](https://github.com/DigitalRiver/digital-river-php/blob/main/docs/Model/Sku.md) |
