Product Data 2.0/1.0
There will be four functions available as part of this web service.
getProduct()
getProductDateModified()
getProductCloseOut()etProductSellable()
Best Practices Recommendation:
Scenario 1: Suppliers with multiple product status that includes Closeout
To build a new product data management system, distributors should go through Step 1 and 2 below.
On an ongoing basis, Distributors can call Step 3 and Step 4.
Distributors should design their application to call getProductSellable first to pull all active/sellable products from Supplier.
Next step is to call the getProduct web method at the Product ID level to pull the metadata for the list of products.
Distributors can call getProductDateModified to receive a list of Product IDs that are added/updated. Please engage with the Supplier to confirm how often the product data is updated and determine the frequency of this call.
Distributors can call getSellable web method on a daily basis to get the list of active and inactive skus (last 30 days). Distributors should use the data on this call and compare the list of active/inactive skus against their system.
Scenario 2: Suppliers with Active/Inactive status in their catalog
Follow Steps 1/2 above and then run the getSellable web method on a regular basis to compare the list of active skus against the Supplier system. Suppliers should share the inactive skus in getSellable web method when distributors use the isSellable = False in the last 30 days.
Distributors can call getproductCloseout to get a list of product IDs that are close to phasing out. Customers can align this call with getInventory and remove the sku from their catalog once the inventory is depleted to zero.
Function: getProduct()
This function will provide the detailed product data based on a specific ProductId or any additional optional subset filtering provided at the request.
Best Practices Recommendation:
Distributors building their product catalog for the first time should call this web method at the Product ID level. Once they build their catalog, they can then use this call to receive specific updates on part IDs or ColorName/Apparel size using the getProductDatemodified web method.
Request: GetProductRequest
Field | Description | Data Type | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated {1.0.0} | 64 STRING | TRUE |
|
id | The customer Id or any other agreed upon Id. | 64 STRING | TRUE |
|
password | The password associated with the Id | 64 STRING | FALSE | It is recommended to use a combination of ID and password for authentication. |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | 2 STRING | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language Example: en = English; fr = French | 2 STRING | TRUE |
|
productId | Item’s ID | 64 STRING | TRUE | Recommendation is to use this method using the ProductID and limit the number of concurrent calls. |
partId | The Supplier specific PartId; commonly referred to as a sku | 64 STRING | FALSE |
|
colorName | A specific part color for this product | 64 STRING | FALSE | Recommendation for Suppliers is to be consistent across all PS services. |
ApparelSizeArray | Used for returning specific apparel sizes. Array of ApparelSize objects.
| ARRAY | FALSE | Recommendation for Suppliers is to be consistent across all PS services. |
Reply: GetProductResponse
Best Practice recommendation: Suppliers should return one of the fields in the response.
Field | Description | Data Type | Required? |
Product | Product Information | OBJECT | FALSE |
ServiceMessageArray | An array of ServiceMessage objects. | ARRAY | FALSE |
Product Object
Best Practices Recommendation: Please provide as much information as possible.
Field | Description | Data Type | Required? | Best Practice |
productId | The associated product. | 64 STRING | TRUE |
|
productName | The Supplier name for the product | 256 STRING | TRUE |
|
LocationDecorationArray | An array of Location Decoration objects | OBJECT ARRAY | TRUE | It is recommended to align the information provided in this array against PPC. |
description | Basic product description or bulleted list of descriptions. | 2048 STRING ARRAY | TRUE |
|
priceExpiresDate | The date that the pricing in the ProductPriceGroupArray portion of the response expires. | ISO 8601 DATE | FALSE | Recommended to provide this information to allow Distributors to reflect accurate pricing. |
ProductMarketingPointArray | Marketing points type and content. An array of MarketingPoint objects. | OBJECT ARRAY | FALSE |
|
ProductKeywordArray | Array of keywords often used in searching for this product. An array of ProductKeyword objects. | OBJECT ARRAY | FALSE |
|
productBrand | The specific product brand | 64 STRING | FALSE |
|
export | Product status for export | NILLABLE BOOLEAN | TRUE |
|
ProductCategoryArray | The product’s categorization array. An array of ProductCategory objects. | OBJECT ARRAY | FALSE | Yes, include subcategories. |
RelatedProductArray | Products related to the quested product as Substitutable, CompanionSell, or Common Grouping (Family). An array of RelatedProduct objects. | OBJECT ARRAY | FALSE |
|
ProductPartArray | All part specific product data. An array of ProductPart objects. | OBJECT ARRAY | TRUE |
|
lastChangeDate | The date time stamp of the most recent change to this data in ISO 8601 format | ISO 8601 DATE | TRUE | Yes, helps distributors only grab changed products greatly reducing time to update. |
creationDate | The date time stamp when this products data initially became available in ISO 8601 format | ISO 8601 DATE | TRUE | This is the date when the product is available in this service and might not be available for sale. |
endDate | The Date this Product expires from Supplier availability in ISO 8601 format | ISO 8601 DATE | FALSE | If Suppliers are using IsSellable = False and sharing the list of inactive skus, please make sure that the enddate is tied to the getSellable web method. This should be the max end date if every part includes an end date. |
effectiveDate | The Date this Product initially becomes available from the Supplier in ISO 8601 format | ISO 8601 DATE | FALSE | This is the date when the product is available in catalog and is available for sale. If all parts have an effective date this value should be the earliest effective date. |
isCaution | Cautionary status to review for specific warnings about using product data. | NILLABLE BOOLEAN | TRUE | If Suppliers pass isCaution = True, then ensure cautionComment is passed in the response |
cautionComment | Product cautionary comments | 1024 STRING | FALSE |
|
isCloseout | Indicates if the product is a closeout | NILLABLE BOOLEAN | TRUE | If all parts are at Closeout status then the product should be closeout. |
lineName | Line Name / Division to which this product belongs | 64 STRING | FALSE |
|
primaryImageURL | The URL of the product’s primary image. Any valid URL can be returned including prefixes like http and ftp. | 1024 STRING | FALSE | Suppliers should be consistent and share the same image type for all products. URL should reference a secure protocol. |
ProductPriceGroupArray | Marketing-oriented pricing information. Represented as an array of Product Price objects. Prices are List prices. | OBJECT ARRAY | FALSE |
|
complianceInfoAvailable | Indicates if there is information about this product via the Product Safety & Compliance service. | NILLABLE BOOLEAN | FALSE | Recommendation is to use Product Compliance service for more information. |
unspscCommodityCode | The United Nations Standard Products and Services Code® (UNSPSC®) that best describes this product. Note that the enumerated values are the UNSPSC "Commodity" codes. For more information, refer to https://www.unspsc.org . | INT | FALSE |
|
imprintSize | The imprint Size | 256 STRING | FALSE | Recommendation is to use the imprint size for your main location for your preferred decoration method |
defaultSetUpCharge | The default setup charge for this product. Can be a textual description. | STRING 1024 | FALSE | Recommendation is to use the Setup charge for your main location for your preferred decoration method |
defaultRunCharge | The default RUN charge for this product. Can be a textual description. | STRING 1024 | FALSE | Recommendation is to use the Run charge for your main location for your preferred decoration method |
FobPointArray | An array of FOB points object | ARRAY | TRUE |
|
Location Decoration
Field | Description | Data Type | Required? | Best Practice |
locationName | Location name | 255 STRING | TRUE |
|
maxImprintColors | The maximum number of imprint colors available, based on a decoration location and type. | INTEGER | FALSE |
|
decorationName | Decoration name | 64 STRING | TRUE |
|
locationDecorationComboDefault | Is this the default location | BOOLEAN | TRUE |
|
priceIncludes | Does this include price | BOOLEAN | TRUE |
|
FobPoint Object
Field | Description | Data Type | Required? | Best Practice |
fobId | The Id of the FOB Point | STRING VARCHAR(64) | TRUE | Recommendation is to use Integer value if possible. |
fobPostalCode | The Postal or Zip Code of the fob Point | STRING VARCHAR(64) | TRUE |
|
fobCity | The city of the FOB Point | STRING VARCHAR(64) | TRUE |
|
fobState | The state of the FOB Point in ISO 3166-2 format. | STRING VARCHAR(64) | TRUE |
|
fobCountry | The country of the FOB Point in Alpha 2 ISO3166 “CODE” format. | STRING VARCHAR(64) | TRUE |
|
ProductCategory Object
Field | Description | Data Type | Required? | Best Practice |
category | Product category | 256 STRING | TRUE |
|
subCategory | Product subcategory | 256 STRING | FALSE |
|
ProductMarketingPoint Object
Field | Description | Data Type | Required? | Best Practice |
pointType | Basic category or type of marketing point being made. e.g. Highlights, Size, Safety | 64 STRING | FALSE |
|
pointCopy | Marketing bullet or point copy | 1024 STRING | TRUE |
|
ProductKeyword Object
Field | Description | Data Type | Required? | Best Practice |
keyword | A product keyword commonly utilized for search or other functions | 16384 STRING | TRUE |
|
RelatedProduct Object
Field | Description | Data Type | Required? | Best Practice |
relationType | The relationship type between two products | 64 STRING | TRUE |
|
productId | Product Id | 64 STRING | TRUE |
|
partId | Part specific Id | 64 STRING | FALSE |
|
Product Part Object
Field | Description | Data Type | Required? | Best Practice |
partId | The part Id | 64 STRING | TRUE |
|
description | Description | 2048 STRING ARRAY
| FALSE | Should be brief and describe parts and not contain high level product descriptions. |
countryOfOrigin | Country of Origin | 2 STRING | FALSE | Recommended to share this metadata if available. |
ColorArray | Information about the part colors | OBJECT ARRAY | FALSE | Should not be used in place of unique parts. |
primaryMaterial | Primary material of construction | 64 STRING | FALSE | Recommendation is to use only one material. |
SpecificationArray | Specifications | OBJECT ARRAY | FALSE |
|
shape | General shape | 64 STRING | FALSE |
|
ApparelSize | Used to describe an apparel size | OBJECT | FALSE |
|
Dimension | Physical dimensions and weight | OBJECT | FALSE | Only include this object if you have one or more of the size information and weight. |
leadTime | Lead time in days | INT | FALSE |
|
unspsc | United Nations Standard Products and Services Code (UNSPSC) | 8 STRING | FALSE |
|
gtin | Global Trade Item Number (GTIN) | 14 STRING | FALSE | Helps with marketing on ecommerce platforms. |
isRushService | Rush service | NILLABLE BOOLEAN | TRUE | Helps distributors filter products that can be rushed. |
ShippingPackageArray | Shipping package option details for the partPackaging Default package type; e.g. Carton, Box, Pallet. An array of ShippingPackage objects. | OBJECT ARRAY | FALSE | Please include standard shipping package options at the minimum. |
ProductPackagingArray | Packaging option details; e.g. Gift Box, Cello Pack, Sleeve. An array of ProductPackaging objects. | OBJECT ARRAY | FALSE | Please include all quantity and box size variations. |
endDate | The date this part expires from supplier availability in ISO 8601 format | ISO 8601 DATE | FALSE | If Suppliers are using IsSellable = False and sharing the list of inactive skus, please make sure that the enddate is tied to the getSellable web method. |
effectiveDate | The Date this Part initially becomes available from the Supplier in ISO 8601 format | ISO 8601 DATE | FALSE | This is the date when the product is available in catalog and is available for sale. |
isCloseout | Indicates if a closeout | NILLABLE BOOLEAN | TRUE |
|
isCaution | Cautionary status to review for specific warnings about using product data | NILLABLE BOOLEAN | TRUE | If Suppliers pass isCaution = True, then ensure cautionComment is passed in the response |
cautionComment | Cautionary comments | 1024 STRING | FALSE |
|
nmfcCode | National Motor Freight Classification Code | DECIMAL | FALSE |
|
nmfcDescription | National Motor Freight Classification Description | 1024 STRING | FALSE |
|
nmfcNumber | National Motor Freight Classification Number | 64 STRING | FALSE |
|
isOnDemand | Manufactured on demand / Made to order | NILLABLE BOOLEAN | TRUE |
|
isHazmat | Contains hazardous material. A nil value indicates this it is unknown or the data is not available by the supplier. | NILLABLE BOOLEAN
| TRUE |
|
primaryColor | The "go to market" color. Represented as a Color Object. | OBJECT | FALSE |
|
Color Object
Field | Description | Data Type | Required? | Best Practice |
colorName | Supplier specific color name. Go to market color | 64 STRING | TRUE |
|
hex | The HEX code representation. This is not a supplement for product color but data used for generating web user interfaces. | 64 STRING | FALSE | Helps when displaying swatch colors. |
approximatePms | The PMS code representation. This is not a supplement for product color. | 64 STRING | FALSE | Share this information if available. Allows distributors to more accurately depict the color swatch. |
standardColorName | The standard color that best describes this color. Eventually may become an enumeration. | 64 STRING | FALSE | Please use broad color family names e.g. red, green, blue. This allows end users to narrow down products when searching for specific colors. |
Product Price Group Object
Field | Description | Data Type | Required? | Best Practice |
groupName | Price group description | 64 STRING | TRUE | This should match PPC spec if you are providing this info |
currency | The currency supported in ISO4217 format. | 64 STRING | TRUE |
|
description | The description of the product price | 2028 STRING | FALSE |
|
ProductPriceArray | An array of Product Price objects | ARRAY | TRUE |
|
Product Price Object
Field | Description | Data Type | Required? | Best Practice |
quantityMax | The maximum quantity for which this price applies. | INT | TRUE |
|
quantityMin | The minimum quantity for which this price applies. | INT | TRUE |
|
price | The price value. | DECIMAL | TRUE | This is the List price for the skus. |
discountCode | The discount code. | 5 STRING | FALSE |
|
Specification Object
Field | Description | Data Type | Required? | Best practice |
specificationType | The type of specification | 64 STRING FACIT | TRUE | Choose from the list of recommended values |
specificationUom | Specification unit of measure | 64 STRING | TRUE |
|
measurementValue | Specification Measurement Value | 64 STRING | TRUE |
|
ApparelSize Object
Field | Description | Data Type | Required? | Best Practice |
apparelStyle | Apparel style | 64 STRING FACIT | TRUE | Choose from the list of recommended values |
labelSize | The apparel items tagged size. e.g. XS, S, M, L, etc. | 6 STRING FACIT | TRUE | Values that are not in the list of enumerated values, please use Custom. |
customSize | Used to communicate custom size when labelSize is CUSTOM. | 64 STRING | FALSE |
|
Dimension Object
This object shares the dimensions and weight of the item.
Field | Description | Data Type | Required? | Best Practice |
dimensionUom | The dimensional unit of measure | 2 STRING FACIT | TRUE | If you are not including any of the size information, please set this to default value to meet the schema requirements. E.g. IN |
depth | The depth/length of the part using the unit of measure specified in dimensionUom | DECIMAL | FALSE |
|
height | The height of the part using the unit of measure specified in dimensionUom | DECIMAL | FALSE |
|
width | The width of the part using the unit of measure specified in dimensionUom | DECIMAL | FALSE |
|
weightUom | The weight unit of measure for the part | 2 STRING FACIT | TRUE | If you are not including any of the weight information, please set this to default value to meet the schema requirements. E.g. LB |
weight | The weight of the part using the unit of measure specified in dimensionUom | DECIMAL | FALSE |
|
Product Packaging Object
Field | Description | Data Type | Required? | Best Practice |
default | Boolean flag identifying the single default packaging for this package | BOOLEAN | TRUE |
|
packageType | The packaging specific type for this partId e.g. Gift Box, Cello Pack, Sleeve | 256 STRING | TRUE |
|
description | The Packaging specific description | 2048 STRING | FALSE |
|
quantity | The partId unit Quantity included within this specific Packaging Option | DECIMAL | TRUE |
|
dimensionUom | The unit of measure for the package | 2 STRING FACIT | TRUE | If you are not including any of the size information, please set this to default value to meet the schema requirements. E.g. IN |
depth | The depth/length of the package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
height | The height of the package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
width | The width of the package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
weightUom | The weight unit of measure for the packageType | 2 STRING FACIT | TRUE | If you are not including any of the weight information, please set this to default value to meet the schema requirements. E.g. LB |
weight | The weight of the specific packageType | DECIMAL | FALSE |
|
Shipping Package Object
Field | Description | Data Type | Required? | Best Practice |
packageType | The shipping package specific type for this shipping package e.g. Box, Carton, etc. | 256 STRING | TRUE | Highly recommend sharing the most used packagetype at minimum. |
description | The shipping package specific description | 2048 STRING | FALSE |
|
quantity | The partId unit quantity included within this specific shipping packaging option | DECIMAL | TRUE |
|
dimensionUom | The weight unit of measure for the packageType | 2 STRING FACIT | TRUE | If you are not including any of the size information, please set this to default value to meet the schema requirements. E.g. IN |
depth | The depth/length of the shipping package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
height | The height of the shipping package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
width | The width of the shipping package in the dimensionUom unit of measure | DECIMAL | FALSE |
|
weightUom | The weight unit of measure for the packageType | 2 FACIT STRING | TRUE | If you are not including any of the weight information, please set this to default value to meet the schema requirements. E.g. LB |
weight | The weight of the specific packageType | DECIMAL | FALSE | This should be the weight of the filled package. |
getProductDateModified()
This function will provide the list of Product Ids and optional Part Ids for all items which have changed since the date supplied in the request.
Request: GetProductDateModifiedRequest
Field | Description | Data Type | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated {1.0.0} | 64 STRING | TRUE |
|
id | The customer Id or any other agreed upon Id. | 64 STRING | TRUE |
|
password | The password associated with the Id | 64 STRING | FALSE |
|
changeTimeStamp | Beginning date time since last change in UTC | ISO 8601 DATE | TRUE |
|
Reply: GetProductDateModifiedResponse
Field | Description | Data Type | Required? | Best Practice |
ProductDateModifiedArray | Array listing of all Product and Part specific Ids which have changed since the reference date requested (lastChangeDate). An array of ProductChange objects. | OBJECT ARRAY | TRUE |
|
ServiceMessageArray | An array of ServiceMessage objects. | ARRAY | FALSE |
|
ProductDateModified Object
Field | Description | Data Type | Required? | Best Practice |
productId | The associated product | 64 STRING | TRUE |
|
partId | The associated part | 64 STRING | FALSE | Please share only specific part ids that have been modified. If there is a generic change at the product level, leave part id field blank. |
getProductCloseOut()
This function will provide a list of Product Ids and optional Part Ids for all items which currently have an isCloseOut value of TRUE.
Request: GetProductCloseOutRequest
Field | Description | Data Type | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated {1.0.0} | 64 STRING | TRUE |
|
id | The customer Id or any other agreed upon Id. | 64 STRING | TRUE |
|
password | The password associated with the Id | 64 STRING | FALSE |
|
Reply: GetProductCloseOutResponse
Field | Description | Data Type | Required? | Best Practice |
ProductCloseOutArray | All product and part specific Ids which are on closeout. An array of ProductCloseOut objects. | OBJECT ARRAY | FALSE |
|
ServiceMessageArray | An array of ServiceMessage objects. | ARRAY | FALSE |
|
ProductCloseOut Object
Field | Description | Data Type | Required? | Best Practice |
productId | The associated product | 64 STRING | TRUE |
|
partId | The associated part | 64 STRING | FALSE |
|
getProductSellable()
This function will provide a list of Product Ids and optional Part Ids along with their status of available to sell (Sellable TRUE or FALSE).
Request: GetProductSellableRequest
Field | Description | Data Type | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated {1.0.0} | 64 STRING | TRUE |
|
id | The customer Id or any other agreed upon Id. | 64 STRING | TRUE |
|
password | The password associated with the Id | 64 STRING | FALSE |
|
productId | The associated product | 64 STRING | FALSE | Please leave product id and part id field blank, first time running this call against the Supplier system. This will allow the distributor to pull all available products. |
partId | The associated part | 64 STRING | FALSE |
|
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | 2 STRING | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language Example: en = English; fr = French | 2 STRING | TRUE |
|
lineName | The line name (ex : Trimark, Hit) | 64 STRING | FALSE |
|
isSellable | Indicates if sellable | BOOLEAN | TRUE | Please use isSellable = False to receive inactive products/parts. |
Reply: GetProductSellableResponse
Field | Description | Data Type | Required? | Best Practice |
ProductSellableArray | Array listing of all product and part specific Ids along with sellable status. An array of ProductSellable objects. | OBJECT ARRAY | TRUE |
|
ServiceMessageArray | An array of ServiceMessage objects. | ARRAY | FALSE |
|
ProductSellable Object
Field | Description | Data Type | Required? | Best Practice |
productId | The associated product | 64 STRING | TRUE |
|
partId | The associated part | 64 STRING | FALSE |
|
culturePoint | The culture point | 64 STRING | FALSE |
|
Enumerated Type Restrictions
wsVersion | The Standard Version of the Web Service being referenced | 64 STRING FACIT | 1.0.0 |
dimensionUom | The dimensional unit of measure | 64 STRING FACIT | MM (Millimeter) CM (Centimeter) MR (Meter) IN (Inch) FT (Feet) YD (Yards) |
weightUom | The weight unit of measure | 2 STRING FACIT | ME (Milligram) KG (Kilogram) OZ (Ounce) LB (Pound) |
relationType | The relationship type between the two products | 64 STRING FACIT | Substitute Companion Sell Common Grouping |
specificationType | List of possible values. The type of specification. | 64 STRING FACIT | Length Thickness Radius Volume Capacity Memory Data Ports Capacitance Voltage Point Size Sheet Size Sheet Count Pockets Inseam Bust Chest Waist Hips Cup Rise Neck Thigh Shoulders Sleeve Device Size |
apparelStyle | List of possible values. e.g. Ladies, Men, Youth, etc. | 64 STRING FACIT | Unisex Youth Girls Boys Womens WomensTall Mens MensTall |
labelSize | List of possible values. The apparel items tagged size. e.g. XS, S, M, XL, etc. | 4 STRING FACIT | OSFA (One Size Fits All) 4XS (4 Extra Small) 3XS (3 Extra Small) 2XS (2 Extra Small) XS (Extra Small) S M L XL (Extra Large) 2XL (2 Extra Large) 3XL (3 Extra Large) 4XL (4 Extra Large) 5XL (5 Extra Large) CUSTOM |