File format for uploading catalog data
WebSphere Commerce provides sample files for uploading catalog business objects, such as categories, catalog entries, and attribute dictionary attributes. Use the samples as a starting point to create your own CSV files so that you follow the correct data format.
You can also load this data in XML format. If you choose to create and use an XML formatted file, ensure that your file uses the CSV column names as the XML element names.
When you are creating your CSV or XML file, ensure that you follow the tips and recommendations for CSV and XML files that are included in Data Load utility best practices.
CSV file format
In your CSV file, you must specify the business object that you are loading information about and include the object data that you are loading. To specify the business object, include a keyword that associates your input file with a mediator that is used to load your data. For a list of the keywords that are provided by default, see Keywords.
XML file format
To load data in an XML formatted file, your file must be similar to the structure and contents included in the supported CSV file format. You must specify a keyword to associate the business object you are loading with a mediator and separate individual objects of a business object type within different elements. For a list of the keywords that are provided by default, see Keywords.
The following code is an example of an XML file that you can use to upload catalog data; this example uploads two sales catalogs:
<?xml version="1.0" encoding="UTF-8"?>
<Catalogs loadItemName="Catalog">
<Catalog Delete="0">
<Identifier>Spring Fashions</Identifier>
<MasterCatalog>FALSE</MasterCatalog>
<Description>Spring Fashions</Description>
<Name>Spring Fashions</Name>
<ShortDescription>Spring Fashions</ShortDescription>
<LongDescription>Fashions for the Spring season</LongDescription>
</Catalog>
<Catalog Delete="0">
<Identifier>Fall Fashions</Identifier>
<MasterCatalog>FALSE</MasterCatalog>
<Description>Fall Fashions</Description>
<Name>Fall Fashions</Name>
<ShortDescription>Fall Fashions</ShortDescription>
<LongDescription>Fashions for the Fall season</LongDescription>
</Catalog>
</Catalogs>
- The first line in the preceding example identifies the file that you are loading as an XML file.
- The second line is the root element and contains the keyword that
corresponds to the catalog business object type to upload. For example,
you can specify the
Catalog
keyword for loading a catalog, or theCatalogEntry
keyword for loading catalog entries. You must specify the business object keyword as theloadItemName
at this root level. The keyword is case-sensitive. - The third line is an example of a second-level element that identifies the objects that are being loaded. For example, the preceding code identifies that a catalog object is being loaded. Identify each object that you are loading in your file at this level. For example, in the preceding code, two catalog objects are being loaded, a Spring Fashions catalog and a Fall Fashions catalog. If you are deleting objects with this file, you can identify whether an object is to be deleted at this level. If the value for the Delete attribute is 1, the catalog object is to be deleted. If the value for the Delete attribute is 0, the catalog object is not to be deleted. If you do not specify a value for the Delete attribute, the value defaults to 0. You can also specify Delete as an element nested within the object element.
- The elements that are nested within the second level (object)
elements contain the object information. For example, the object
Identifier
orShortDescription
. Within these XML elements, the corresponding value for the catalog object that is being loaded must be included. The names of the object information elements are case-sensitive and must match the CSV column names for the same business object type. The elements must be unique for each object that you are loading with an XML file. For example, you cannot include twoShortDescription
elements nested within an object. You can include the information for an object that you are loading as XML elements nested with the object element, or as attributes within the object element. If you are adding your object information as attributes, these XML attributes must be included in the following format:
Where<object attribute="attribute_value">
object
is the object that you are loading, andattribute
is the name of the attribute that you are loading. For example,<Catalog Identifier="Spring Fashions">
Catalog business object keywords and column definitions
To upload... | Keyword with CSV column and XML element definitions | Sample input file |
---|---|---|
Master or sales catalog, and optionally its description. | Catalog | CSV XML |
Catalog descriptions in multiple languages. | CatalogDescription | CSV |
Categories, optionally the categories description, and the parent and child category relationships. | CatalogGroup | CSV |
Merchandising associations between categories. | CatalogGroupAssociation | CSV |
Category descriptions (language-dependent). | CatalogGroupDescription | CSV |
Parent-child relationship between categories. | CatalogGroupRelationship | CSV |
Catalog entries such as products, SKUs, bundle or kits, and optionally the catalog entries description. Also the product and SKU relationships. | CatalogEntry | CSV XML |
Merchandising associations between catalog entries. | CatalogEntryAssociation | CSV |
Multiple relationships between the parent kit (package, bundle, and dynamic kit) and its child catalog entries | CatalogEntryComponent | CSV |
Catalog entry descriptions (language-dependent). | CatalogEntryDescription | CSV |
Catalog entry description overrides - this CSV creates catalog entry descriptions specific for an extended site store by overriding inherited asset store catalog entry descriptive information. | CatalogEntryDescriptionOverride | CSV |
Descriptive attributes and values for a product or SKU (non-attribute dictionary). | CatalogEntryDescriptiveAttributeAndValue | CSV |
Catalog entry offer price. | CatalogEntryOfferPrice | CSV |
Parent-child relationships between categories and catalog entries. | CatalogEntryParentCatalogGroupRelationship | CSV |
Product and SKU relationships between catalog entries. | CatalogEntryParentProductRelationship | CSV |
Updates to catalog entries. When you specify this keyword, the Catalog
Upload updates only the new or changed information. The remaining catalog entry information is not
changed during the upload operation. For example, use this keyword if you want to update only the name for a catalog entry and do not want to change any other information. You do not need to include values for every field in your input file. The upload process does not change any field that does not include a value in the input file. |
CatalogEntryUpdate When you specify this keyword, you can include values for the same catalog entry information that can be included in a file that uses the keyword CatalogEntry. |
CSV |
Updates to catalog entry descriptions. When you specify this keyword, the
Catalog Upload updates only the new or changed information. The remaining descriptive information
for the catalog entry does not change during the upload operation. For example, use this keyword if you want to update only the short description for a catalog entry and do not want to change any other information. You do not need to include values for every field in your input file. The upload process does not change any field that does not include a value in the input file. |
CatalogEntryDescriptionUpdate When you specify this keyword, you can include values for the same catalog entry descriptive information that can be included in a file that uses the keyword CatalogEntryDescription. |
CSV |
Attribute and allowed values for products (non-attribute dictionary). | ProductDefiningAttributeAndAllowedValues | CSV |
Attribute value for SKUs (non-attribute dictionary). | SKUDefiningAttributeValue | CSV |
Attribute dictionary attribute and allowed values. | AttributeDictionaryAttributeAndAllowedValues | CSV
XML
|
Attribute dictionary attributes allowed values (in other national languages). | AttributeDictionaryAttributeAllowedValues | CSV
XML
|
Attribute dictionary attribute value for SKUs. | CatalogEntryAttributeDictionaryAttributeRelationship | CSV
XML
|
Attribute dictionary attribute and attribute folder relationship Note: The
attribute and the folder must exist within your system before you can load this
relationship. |
AttributeDictionaryAttributeFolderRelationship | CSV |
You can also upload the following catalog business object types. However, the business objects are not visible within the Catalogs tool unless your business customizes the Management Center to display these business objects. | ||
Catalog entry search engine optimization (SEO) URL and page information. | CatalogEntrySEO | CSV |
Category search engine optimization (SEO) URL and page information. | CatalogGroupSEO | CSV |
Catalog entry calculation code. There are calculation codes for different
calculation usages. The provided calculation usages include discount, shipping, sales tax, shipping
tax, coupon, surcharge, and shipping adjustment. Note: In an extended sites
model, you must load catalog calculation codes into the appropriate asset store.
|
CatalogEntryCalculationCode | CSV |
Category calculation code. There are calculation codes for different
calculation usages. The provided calculation usage includes discount, shipping, sales tax, shipping
tax, coupon, surcharge, and shipping adjustment. Note: In an extended sites
model, you must load catalog calculation codes into the appropriate asset store.
|
CatalogGroupCalculationCode | CSV |
Catalog entry inventory (non-ATP). | CatalogEntryInventory | CSV |
Catalog entry inventory (ATP). | CatalogEntryATPInventory |
Notes
- If you are loading attributes for the first time, you must log out of the Management Center and then log in again to see the attribute dictionary attributes.
- If you are loading attributes in a different language for the first time, you must log out of the Management Center and then log in again to see the attribute dictionary attributes allowed values. Also, you must ensure that the store supports the language.
- The Catalog Upload feature does not support synchronizing data across linked categories. Do not use Catalog Upload to change the parent or child categories for a category that is a linked category. You can use Catalog Upload to add or remove catalog entries from a category. When you load changes to the catalog entry assignments for a category, the load process does synchronize the changes across any linked categories.
- If you are working in an extended site store, you cannot use Catalog Upload to load data for creating, updating, or deleting catalog objects that belong to your catalog asset store. To load data for catalog objects that belong to your catalog asset store, you must switch the store that you are working in to be your catalog asset store.