BPU Details

Bulk Import Process

The BPU uses the Bulk Import process to add, update, or remove products. 

Bulk Import XML File

The following example shows the smallest possible Bulk Import XML file:

<?xml version="1.0" encoding="utf-8"?>

<loader xmlns="urn:com.digitalriver.bulkloader">

    <loaderType>incremental</loaderType>

    <ownerCompanyID>myCompanyID</ownerCompanyID>

    <catalogID>858100</catalogID>

    <noOverwriteIfEmpty>true</noOverwriteIfEmpty>

    <items>

        <product>

            <productID>42716000</productID>

            <action>UPDATE</action>

            <companyID>myCompanyID</companyID>

        </product>

    </items>

</loader>

Bulk Import XML File with Category Import

The following example shows a Bulk Import XML File with Category Import:

<?xml version="1.0" encoding="utf-8"?>

<loader xmlns="urn:com.digitalriver.bulkloader">

    <loaderType>incremental</loaderType>

    <ownerCompanyID>myCompanyID</ownerCompanyID>

    <catalogID>858100</catalogID>

    <noOverwriteIfEmpty>true</noOverwriteIfEmpty>

    <items>

      <productCategory>

          <categoryPath>

            <categoryName>Accessories1</categoryName>

            <categoryName>Cameras1</categoryName>

          </categoryPath>

          <categoryData>

            <locale>en_GB</locale>

            <categoryDisplayName>Cameras1</categoryDisplayName>

            <categoryImageURI></categoryImageURI>

            <isViewable>true</isViewable>

            <shortDescription></shortDescription>

            <longDescription>Camera Type</longDescription>

            <attributes/>

          </categoryData>

    </productCategory>

        <product>

            <productID>42716000</productID>

            <action>UPDATE</action>

            <companyID>myCompanyID</companyID>

        </product>

    </items>

</loader>

Note:

BPU is non-interactive. When the BPU process finishes, there is no required notification response. When the BPU process finishes, the presence of a BulkImportResponse file indicates the bulk file upload has finished.

Using Bulk Import to Import Categories

When using Bulk Import to import categories, consider the following tips:

  • Ensure all categories are listed in the file before products. Follow the sequence in the schema.
  • A category path cannot be empty.
  • Define the loaderType to Add or Update the category, if the noOverwriteIfEmptyData flag is not set.
  • If you run an incremental upload and the category action is REMOVE, then categories with subcategories or products in a predeployed state will not be deleted.
  • If you run a full catalog upload, all categories that are not in the import file will be removed.

Bulk Import Response XML File

The BPU Import process creates the Bulk Import Response file after the Bulk Import process completes. The Bulk Import Response file reports when the BPU Import process successfully adds, updates, or retires a product. If an error occurs during the import, The BPU Import process adds the error and stackTrace elements to provide more information. 

<?xml version="1.0" encoding="utf-8"?>

<loader xmlns="urn:com.digitalriver.bulkloader">

    <loaderType>incremental</loaderType>

    <ownerCompanyID>myCompanyID</ownerCompanyID>

    <catalogID>858100</catalogID>

    <noOverwriteIfEmpty>true</noOverwriteIfEmpty>

    <items>

      <productCategory>

          <categoryPath>

            <categoryName>Accessories1</categoryName>

            <categoryName>Cameras1</categoryName>

          </categoryPath>

          <categoryData>

            <locale>en_GB</locale>

            <categoryDisplayName>Cameras1</categoryDisplayName>

            <categoryImageURI></categoryImageURI>

            <isViewable>true</isViewable>

            <shortDescription></shortDescription>

            <longDescription>Camera Type</longDescription>

            <attributes/>

          </categoryData>

    </productCategory>

        <product>

            <productID>42716000</productID>

            <action>UPDATE</action>

            <companyID>myCompanyID</companyID>

        </product>

    </items>

</loader>

Terminology

Term Definition
External reference ID
The BPU process uses this ID to identify products. It frees clients from the need to consume and store Digital River product IDs. When using this field to identify products, ensure the ID is unique across the product-owning company.
Locales in prices
The locale in the price node is not tied to the locale of the enclosing product node. To use locale-specific prices, specify the locale at the price level.
noOverwriteIfEmpty
This value should be set to true. Setting this value to false can result in undesired side effects.
productConfigType
This complex type, while appearing in the schema, is not actually consumed by the BPU process. Including it in the XML has no effect.
Retiring products
The “remove” action for products works a little differently for products with multiple locales as opposed to products with a single locale. For products with multiple locales, “remove” simply removes that particular locale for the product. If there is only a single locale, the “remove” action will retire the product.