/
Product Data 2.0/1.0

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. 

  1. Distributors should design their application to call getProductSellable first to pull all active/sellable products from Supplier.

  2. Next step is to call the getProduct web method at the Product ID level to pull the metadata for the list of products.

  3. 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. 

  4. 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
ISO 3166-1 Alpha 2 code for Country
Example: CA=Canada;
US=United States

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