Product Compliance 1.0.0

PROMOTIONAL PRODUCTS COMPLIANCE INTERFACE SPECIFICATION FOR WEB SERVICES

Product Compliance 1.0.0

PromoStandards Logo

Product Compliance 1.0.0

Version: 1.0.0

Date: 2020-01-08

Document Change Log

VersionDateReason for ChangeAuthor
1.0.001/08/2020Production ReleaseDustin Kessler, Enterprise Architect, Staples Promotional Products

Contributors

The following have contributed to the creation of this specification:

Contributors: Dustin Kessler, Enterprise Architect, Staples Promotional Products Max Stepanskiy, Executive Director of Enterprise Architecture, Advertising Specialty Institute

Eric Shonebarger, CIO, Hit Promotional Products, Inc

Michael J Plourde, Director Data and Analytics, Geiger

Abstract and Recommended Audience

This document describes the technologies for integration of suppliers and distributors in the Promotional Products Industry. This document will discuss in detail the technology required to build the interface. Additionally, this document will provide sample code to use the interface.

This document will assume that the reader is fluent in web based technologies, and has knowledge of the language they plan to consume the web service in.

Background Information

All specifications will be built using the Simple Object Access Protocol (SOAP) over HTTPS as the foundation for the web services protocol stack in order to provide a standard based on a secure form of communication.

More information on SOAP can be found at http://www.w3.org/TR/soap12-part1/ (opens in a new tab)

Service Details

Function : getProductsWithRegulations ()

Gets the list of products and optional parts which currently or in the future will have applicable regulations

Request: GetProductsWithRegulationsRequest

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
wsVersionThe Standard Version of the Web Service being referenced. Values are enumerated {1.0.0}STRINGVARCHAR(64)TRUE
idThe customerId or any other agreed upon Id.STRINGVARCHAR(64)TRUE
passwordThe password associated with the customerId.STRINGVARCHAR(64)FALSE
changeTimeStampBeginning date time since last change in UTC; this element being left off the request indicates an intention to get all whereas including this element in the request indicates an intention to only get those that have changed since the supplied date and time.ISO 8601 DATEDATETIMEFALSE

Reply: GetProductsWithRegulationsResponse

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
productWithRegulationsArrayThe list of products and optional their parts which currently or in the future will have applicable regulationsOBJECT ARRAYOBJECT ARRAYTRUE
ServiceMessageArrayError message object ArrayOBJECT ARRAYOBJECT ARRAYFALSE

ProductWithRegulations Object

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
productIdThe identifier of the product that has or will have applicable regulationsSTRINGVARCHAR(64)TRUE
partIdThe identifier of the part that has or will have applicable regulations; this element being left off the response indicates all parts have or will have applicable regulations whereas including this element in the response indicates this part has or will have applicable regulationsSTRINGVARCHAR(64)FALSE
complianceGroupsThe list of promo standards compliance groups which currently or in the future apply to this product and, if included in the response, part Values are enumerated {CaliforniaProp65}ENUMERATED STRING ARRAYVARCHAR(64) ARRAYTRUE

Function : getCompliance ()

Gets the compliance data of the specific product and part, if supplied, for the CaliforniaProp65 compliance group.

Request: GetComplianceRequest

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
wsVersionThe Standard Version of the Web Service being referenced. Values are enumerated {1.0.0}STRINGVARCHAR(64)TRUE
idThe customer Id or any other agreed upon Id.STRINGVARCHAR(64)TRUE
passwordThe password associated with the Id.STRINGVARCHAR(64)FALSE
productIdThe identifier of the product to get compliance data forSTRINGVARCHAR(64)TRUE
partIdThe identifier of the part to get compliance data for; this element being left off indicates an intention to get compliance data on any applicable parts for the specific product whereas including this element indicates an intention to only get compliance data for the specific partSTRINGVARCHAR(64)FALSE

Reply: GetComplianceResponse

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
ComplianceDataAn object containing the compliance data for a product; this element being left off indicates no compliance data is available for the requested product or, if requested, part.OBJECTOBJECTFALSE
ServiceMessageService message objectOBJECTOBJECTFALSE

ComplianceData

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
productIdThe identifier of the product associated with the compliance dataSTRINGVARCHAR(64)TRUE
partIdThe identifier of the part associated with the compliance data; this element being left off indicates the compliance data applies to all parts whereas including this element in the response indicates the compliance data is for the partSTRINGVARCHAR(64)FALSE
CAProp65An object containing the CaliforniaProp65 compliance data for a product; this element being left off indicates no compliance data is available for the requested product or, if requested, part.OBJECTOBJECTFALSE

CAProp65

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
ApplicableWarningsThe warning(s) which apply to the product, or if specified in the response, partOBJECT ARRAYOBJECT ARRAYTRUE
policyForApplyingLabelThe trigger for applying the warning label to the product or product packaging Values are enumerated {Applied Upon Request, Applied When Shipping to California, Applied Always}ENUMERATED STRINGVARCHAR(64)TRUE

CAProp65Warning

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
applicableWarningA warning that applies to the product, or if specified in the response, part Values are enumerated {On Product Cancer, On Product Reproductive, Food, Furniture, Alcoholic Beverage}ENUMERATED STRINGVARCHAR(64)TRUE
applicableChemicalsThe chemicals used on or in the product, or if specified in the response, part, that cause the warning to apply to the product or partSTRING ARRAYSTRING ARRAYFALSE
warningLabelAppliedThe type of warning label applied to the product or product packaging Values are enumerated {Short Form, Long Form}ENUMERATED STRINGVARCHAR(64)TRUE

Appendix A: Error Messages

ServiceMessage

FieldDescriptionWSDL Data TypeSQL Data TypeRequired?
codeThe numerical value of the codeINTINTTRUE
descriptionResponse for any message requiring notification to requestorSTRINGVARCHAR(256)TRUE
severityThe severity of the message. Values are enumerated: {Error, Information, Warning}ENUMERATED STRINGVARCHAR(64)TRUE

Standardized Codes: The range of 100-199 has been reserved for standardized error codes. The number 999 has been reserved for an error codes that is a "General Error - Contact System Service Provider"

CodeDescription
100ID (customerID) not found
104This account is unauthorized to use this service. Please contact the service provider
105Authentication Credentials failed
110Authentication Credentials required
115wsVersion not found
120The following field(s) are required [Comma Delimited field names]
125Not Supported: [details]
999General Error – Contact the System Service Provider Details: [Details]

Service Specific Code: These error codes are only for this service.

CodeDescription
600Product Id not found
610Data violation: {0}
(Occurs when a supplier does a pre-check on the data and finds that there is a mismatch of data and/or there are incorrect calculations)
620Field is not supported: {0}
630Part Id not found

Diagrams

GetProductsWithRegulations Request and Response Classes

GetCompliance Request and Response Classes