Function: getAvailableLocations()
Request: GetAvailableLocationsRequest
Field | Description | Required? |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated {1.0.0} | TRUE |
id | The customerId or any other agreed upon Id. | TRUE |
password | The password associated with the customerId. | FALSE |
productId | The product id for which to get the locations | TRUE |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
Reply: GetAvailableLocationsResponse
Field | Description | Required? | Best Practice |
AvailableLocationArray | An array of locations | TRUE |
|
errorMessage999 | List of possible values for errors. Values are enumerated—See Appendix A: Error Messages for full details. | FALSE | Use the error messages as outlined |
AvailableLocationArray
Field | Description | Required? | Best Practice |
locationId | A unique Id of the location | TRUE | The location Id should be the expected location ID BACK in the PO service. These id’s should never change
Recommended to provide an initial master list of available locations |
locationName | The name of the location | TRUE | This should be consistent with the location names as displayed on suppliers website and align with product data service |
Function: getDecorationColors()
Request: GetDecorationColorRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
locationId | The Id of the location | TRUE |
|
productId | ProductId to filter down to a specific product. If left blank, the function will return all decoration colors for all products. | TRUE |
|
decorationId | The Id of the decoration to filter requests by | FALSE | Best practice is to pass the specific decoration ID to identify if pmsMatch is offered for the given location/decoration and fullColor |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
Response: GetDecorationColorResponse
DecorationColors
Field | Description | Required? | Best Practice |
ColorArray | An array of colors | TRUE |
|
productId | The Id of the product. | TRUE |
|
locationId | The Id of the location that was provided | TRUE |
|
DecorationMethodArray | An array of decoration methods for the location | TRUE |
|
pmsMatch | TRUE, if PMS match is possible | TRUE | If multiple decoration methods available check with supplier on this field to confirm which items offer pmsMatch **2.0 service needs to address this** |
fullColor | Set to true if the decoration method is full color process; False implies that number of colors is irrelevant. | TRUE | If multiple decoration methods available check with supplier on this field to confirm which items offer fullColor**2.0 service needs to address this** |
ColorArray
Field | Description | Required? | Best Practice |
colorId | A unique Id of the color of the imprint | TRUE |
|
colorName | The name of the imprint color | TRUE | The expected color to be returned in purchase order service |
DecorationMethodArray
Field | Description | Required? | Best Practice |
decorationId | A unique Id of the decoration method | TRUE | The decorationId should be the expected decorationID BACK in the PO service. These id’s should never change. Suppliers should have a master list to initially share with distributor |
decorationName | The name of the decoration method | TRUE | This should be consistent with the decoration names as displayed on suppliers website and align with product data service |
Function: getFobPoints()
Request: GetFobPointsRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
productId | The productId you are requesting FOB points for | FALSE |
|
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
Response: GetFobPointsResponse
Field | Description | Required? | Best Practice |
FobPointArray | Array of fob Points | FALSE | The list should be based on where the product can be shipped from regardless if inventory is available or not as inventory could be available the next day |
FobPoint
Field | Description | Required? | Best Practice |
fobId | The Id of the FOB Point | TRUE |
|
fobPostalCode | The Postal or Zip Code of the fob Point | TRUE |
|
fobCity | The city of the FOB Point | TRUE |
|
fobState | The state of the FOB Point in ISO 3166-2 format. | TRUE |
|
fobCountry | The country of the FOB Point in Alpha 2 ISO3166 “CODE” format. | TRUE |
|
CurrencySupportedArray | The currencies supported for the FOB Point | TRUE |
|
ProductArray | An array of productIds associated with the FOB Point | TRUE | Since product ID is defined as required in the WSDL, this would always be the requested productID |
ProductArray
Field | Description | Required? | Best Practice |
productId | The product id | TRUE |
|
CurrencySupportedArray
Field | Description | Required? | Best Practice |
currency | The currency supported for the FOB point in ISO4217 format. | TRUE |
|
Function: getAvailableCharges()
Best Practice: This operation should return the same charges that are returned in getConfigurationandPricing for each location and decoration.
Request: GetAvailableCharges
Field | Description | WSDL Data Type | SQL Data Type | Required? |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0.0} | STRING | VARCHAR(64) | TRUE |
id | The customerId or any other agreed upon Id. | STRING | VARCHAR(64) | TRUE |
password | The password associated with the customerId. | STRING | VARCHAR(64) | FALSE |
productId | The productId you are requesting charges for | STRING | VARCHAR(64) | FALSE |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | STRING | VARCHAR(2) | TRUE |
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | STRING | VARCHAR(2) | TRUE |
Reply: GetAvailableChargesResponse
Field | Description | WSDL Data Type | SQL Data Type | Required? | Best Practice | ||
AvailableChargeArray | An array of charges | INT | INT | TRUE | If no product ID is provided, expected to return the master list of charges | ||
errorMessage999 | List of possible values for errors. Values are enumerated—See Appendix A: Error Messages for full details. | STRING | VARCHAR(256) | FALSE |
| ||
AvailableChargeArray
Field | Description | WSDL Data Type | SQL Data Type | Required? | Best Practice |
chargeId | A unique Id of the charge | INT | INT | TRUE |
|
chargeName | The name of the charge | STRING | VARCHAR(64) | TRUE |
|
chargeType | The type of charge. Values are enumerated {SETUP, RUN, ORDER}. | STRING | VARCHAR(64) | TRUE |
|
chargeDescription | The charge description | STRING | VARCHAR(256) | TRUE |
|
Function: getConfigurationandPricing()
Pricing Best Practices
Suppliers should provide clear documentation on their pricing model and document whether they follow an Additive or Base Pricing model.
Additive Pricing Model Best Practices: The pricing returned should be the blank price. All additional decoration charges should be provided in the charges array for the distributor to calculate their final decorated price
Decorated Configuration Type: Service should respond with the amount for a blank imprint and all charges available to calculate their decorated cost
decorationUnitsIncluded should be 0
yMinQty: The minimum units, typically starts at 1
Base Pricing Model Best Practices: The pricing returned should be the base decorated price for the default decoration location and method. The default decoration location and method should be identifed by utilizing the defaultLocation and defaultDecoration fields.
Decorated Configuration Type: Service should respond with the decorated price for the default location. All the additional available decorated pricing options should be available within the charges array for the distributor to calculate their decorated cost outside of the default setup options
decorationUnitsIncluded should be > 0
yMinQty: The first quantity that will be charged outside the base price. For example, if the first color is included, the yMinQty should be set to ‘2’.
Request: GetConfigurationAndPricingRequest
Field | Description | Required? | Best Practice |
wsVersion | The Standard Version of the Web Service being referenced. Values are enumerated: {1.0} | TRUE |
|
id | The customerId or any other agreed upon Id. | TRUE |
|
password | The password associated with the customerId. | FALSE |
|
productId | The productId for the pricing | TRUE |
|
partId | The partId | FALSE |
|
currency | The unit of currency that the pricing should be returned in ISO4217 “CODE” format. | TRUE |
|
fobId | The fobId of the FOB point | TRUE |
|
priceType | The type of pricing that should be returned. Values are enumerated: {Customer, List, Net } Customer = Customer specific pricing. Should always return pricing, even if the customer does not get special pricing and get the standard retail/net pricing. Net = Net Pricing (List price with discount code applied) List = Retail Pricing | TRUE | 0.00 charges should be included in the response, the consumer should determine how to handle. Example, customer does not pay LTM
All available price breaks should be available in response for NET/LIST and if available for CUSTOMER |
localizationCountry | ISO 3166-1 Alpha 2 code for Country Example: CA=Canada; US=United States | TRUE |
|
localizationLanguage | ISO 639-1 Alpha 2 code for Language. Example: en = English; fr = French | TRUE |
|
configurationType | The type of configuration of the product to be returned. Values are enumerated: {Blank, Decorated} | TRUE | It’s assumed that if pricing is not returned for the BLANK configuration TYPE, then that item does not offer blank imprints |
Reply: GetConfigurationAndPricingResponse
Field | Description | Required? | Best Practice |
Configuration | An object to hold Configuration data. | TRUE |
|
ErrorMessage999 | Response for any error requiring notification to requestor | FALSE |
|
Configuration
Field | Description | Required? | Best Practice |
PartArray | An array of Parts and their pricing and configuration data | TRUE |
|
LocationArray | An array of Locations and their pricing and configuration data | FALSE | Provide the location array if possible |
productId | The product family. This is how the part is marketed. | TRUE |
|
currency | The currency the request of the request in ISO 4217 format | TRUE |
|
FobArray | An array of FOB points that support this configuration | TRUE |
|
fobPostalCode | The postal code of the FOB point | FALSE |
|
priceType | The type of price requested. Values are enumerated: {List, Net, Customer}. | TRUE |
|
FobArray
Field | Description | Required? | Best Practice |
fobId | The FOB point of the pricing | TRUE |
|
fobPostalCode | The postal code of the FOB point | FALSE |
|
Part
Field | Description | Required? | Best Practice |
partId | The partId | TRUE |
|
partDescription | A description of the partId | FALSE | Provide as much information about the part in this field. Should this be required? |
PartPriceArray | An array of prices and quantity breaks | FALSE |
|
partGroup | A numeric identifier grouping mutually exclusive parts together. When configuring data, always start with part group “1” | TRUE |
|
nextPartGroup | The next mutually exclusive partGroup to complete configuration of the product | FALSE |
|
partGroupRequired | A boolean value specifying if this partGroup is required for the product configuration. If set to TRUE, a selection in the partGroup is required for ordering. | TRUE |
|
partGroupDescription | A description of the partGroup. Examples: “Main Product”, “Optional Lid”, “Straw”, etc. | TRUE |
|
ratio | Describes how the amount of partIds that need to be added to the order based on the number of products ordered. Example: If 8 partIds would be required per 1 product ordered, then 8 should be used as the ratio. If one partId is required for every 8 products, than use .125 | TRUE |
|
defaultPart | This part is included in the “Basic Pricing Configuration” service price. This field is optional, but highly encouraged. | FALSE | Recommended to define a default part if possible |
LocationIdArray | An array of LocationIDs that are available for decoration because the select part has been configured. | FALSE |
|
PartPrice
Field | Description | Required? | Best Practice |
minQuantity | The minimum quantity for the price break. | TRUE |
|
price | The base price of the good without decoration | TRUE |
|
discountCode | The industry discount code associated with the price. | FALSE | The discount code should be populated when the price type = LIST It is assumed the “NET” price type is the LIST price with the discount code applied |
priceUom | Enumerated list of unit of measure used to describe the price. Values are: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE |
|
priceEffectiveDate | The date the price is effective in ISO8601 format. | TRUE | Consumers of this data should be able to use this to determine which pricing they want to consume, in the event FUTURE pricing exists |
priceExpiryDate | The date the price is no longer effective in ISO8601 format. | TRUE | No pricing should be returned if the priceExpiryDate < CurrentDate
Distributors should store this expiration date and use that as their key to know WHEN to retrieve new pricing |
Location
Field | Description | Required? | Best Practice |
locationId | The Id of the location | TRUE |
|
locationName | The name of the location | TRUE |
|
DecorationArray | An array of decorations that are valid for the given location | TRUE |
|
decorationsIncluded | The number of decorations included in the price | TRUE |
|
defaultLocation | Signifies default location for the product. | TRUE |
|
maxDecoration | The maximum amount of decorations for this location | TRUE |
|
minDecoration | The minimum amount of decorations for this location | TRUE |
|
locationRank | Popularity of location based on supplier experience | FALSE |
|
LocationIDArray
Field | Description | Required? | Best Practice |
locationID | The Id of the available location. | TRUE |
|
Decoration
Field | Description | Required? | Best Practice |
decorationId | The ID of the decoration | TRUE |
|
decorationName | The name of the decoration | FALSE | This should be required |
decorationGeometry | The geometry of the decoration. Values are enumerated: {Circle, Rectangle, Other}. | TRUE | Consumers of this field should also be able to handle “Circles” “Rectangular” “Rectangle” |
decorationHeight | The maximum imprint height of the decoration; leave blank if the imprint is not rectangular | FALSE | Provide if available |
decorationWidth | The maximum imprint width of the decoration; leave blank if the imprint is not rectangular | FALSE | Provide if available |
decorationDiameter | The maximum imprint diameter of the decoration; leave blank if the imprint is not circular | FALSE | Provide if available |
decorationUom | The unit of measure for the decoration area in ISO 20022 | TRUE |
|
allowSubForDefaultLocation | Buyer is allowed to substitute a decoration location without changing the price | TRUE |
|
allowSubForDefaultMethod | Buyer is allowed to substitute this decoration method without changing the price | TRUE |
|
itemPartQuantityLTM | Specifies the Part Quantity that is the absolute minimum that can be ordered with a Less Than Minimum (LTM) charge. | FALSE | Provide if available |
ChargeArray | An array of setup charge data | FALSE |
|
decorationUnitsIncluded | The number of included decoration units. For example, if 1 color decoration is included set value to “1”. If 7,500 stiches are included set value to “7500” | FALSE | Provide so distributor can determine final charge based on total number of decorations
If 0 or not populated then assume supplier is using Additive Model |
decorationUnitsIncludedUom | Values are enumerated: {Colors, Inches, Other, Stitches, SquareInches }. | FALSE |
|
decorationUnitsMax | This is the max number of decoration units for this decoration/location combination. | FALSE |
|
defaultDecoration | Specifies whether this is the default decoration for this location | TRUE |
|
leadTime | The leadtime for the given decoration | FALSE | Provide if available |
rushLeadTime | The lead time for rush service for a given decoration (rush charges may apply) | FALSE |
|
Charge
Field | Description | Required? | Best Practice |
chargeId | The Id of the charge | TRUE |
|
chargeName | The name of the charge | TRUE |
|
chargeType | The type of charge. Values are enumerated {Order, Run, Setup}. | TRUE |
|
chargeDescription | The charge description | TRUE |
|
ChargePriceArray | An array of charge prices | TRUE |
|
chargeAppliesLTM | This charge is applied with ordering Less than Minimum (LTM). | TRUE |
|
chargesPerLocation | The number of times a charge will occur per location | FALSE |
|
chargesPerColor | The number of times a charge will occur per color | FALSE |
|
ChargePrice
Field | Description | Required? | Best Practice |
xMinQty | The minimum x-value quantity for this price | TRUE |
|
xUom | The unit of measure for the x-axis. Values are enumerated: {BX, CA, DZ, EA, KT, PR, PK, RL, ST, SL, TH} BX - Box CA - Case DZ - Dozen EA - Each KT - Kit PR - Pair PK - Package RL - Roll ST - Set SL - Sleeve TH - Thousand | TRUE |
|
yMinQty | The minimum y-value quantity for this price | TRUE |
|
yUom | The unit of measure for the y-axis. Values are enumerated: {Colors, Inches, Other, Stitches, SquareInches }. | TRUE |
|
price | The price of the charge | TRUE |
|
discountCode | The discount code associated with the price. | FALSE |
|
repeatPrice | The price of the charge if it is a repeat order | FALSE |
|
repeatDiscountCode | The discount code of the repeat price | FALSE |
|
priceEffectiveDate | The date the price is effective in ISO8601 format. | FALSE |
|
priceExpiryDate | The date the price is no longer effective in ISO8601 format. | FALSE |
|