Order Shipment Notification 1.0.0

PROMOTIONAL PRODUCTS DATA INTERFACE SPECIFICATION FOR WEB SERVICES

PromoStandards Logo

Order Shipment Notification (OSN)

  • Version: 1.0.0
  • Date: 2016-01-29

Document Change Log

VersionDateReason for ChangeAuthor
0.0.12015-10-30Initial DraftStephen Luisser, VP of Research, Essent Corporation
0.0.22015-11-24Changed shipmentDestinationType to optional.Stephen Luisser, VP of Research, Essent Corporation
0.0.32015-12-171. Changed "ShipmentLocations" to "ShipmentLocation". 2. Changed ErrorMessage to an object and added object definition. 3. Marked SalesOrderNumberArray as optional for when writing an ErrorMessage object. 4. Changed version to a subversion until published. 5. Changed “PurchaseOrderNumber “ to “purchaseOrderNumber”. 6. Made all non-customizable enums strings. 7. Created an Address object and referenced for ShipFrom and ShipTo.Paul Fleischman, Technical Lead, PCNA
0.0.42016-01-051. Consistency corrections2. Added Standardized Codes for ErrorMessage object3. Added supplierProductId, supplierPartId, distributorProductId, distributorPartId to Item arrayPaul Fleischman, Technical Lead, PCNA
0.0.52016-01-281. Removed 4th enumeration from Request.xsd file for query type 2. Added numerical values to documentation for query type parametersJon Norris, VP of Operations, Starline
0.0.62016-01-281. Capitalized the Reply name “GetOrderShipmentNotification Response” 2. Created “OrderShipmentNotificationArray”: This is necessary to handle the ShipDateSearch queryType, as more than one PO will be returned at once. 3. Moved error message out into “GetOrderShipmentNotification Response”Jon Norris, VP of Operations, Starline
0.0.72016-01-29Renamed “SalesOrderNumberArray” to “SalesOrderArray”Paul Fleischman, Technical Lead PCNA
0.0.82016-03-01Added error codes range 300-399 that are specific to this service.Jon Norris, VP of Operations, Starline
1.0.02016-03-02Service moved into ProductionJon Norris, VP of Operations, Starline

Abstract and Recommended Audience

This document describes the technologies for integration of suppliers and distributors in the Promotional Products Industry. It discusses the technology required to build the interface and provides sample code for using the interface. The reader should be fluent in web-based technologies and familiar with the language they plan to consume the web service in.

Background Information

All specifications use the Simple Object Access Protocol (SOAP) over HTTPS for a standards-based secure form of communication. More information on SOAP can be found at w3.org (opens in a new tab).

Order Shipment Notification

  • Summary: Summary: Provides a mechanism to get shipment details by specific parameters like (purchase order number, sales order number, or shipment date). This allows the consumer of the service to obtain shipment information grouped by purchase order number and sales order number for their needs.

Function:

getOrderShipmentNotification()

REQUEST: GetOrderShipmentNotificationRequest

FieldDescriptionData TypeRequired?
wsVersionThe Standard Version of the Web Service being referenced.64 STRING: EnumeratedTRUE
idThe customerID or any other agreed upon ID.64 STRINGTRUE
passwordThe password associated with the customerID or agreed upon ID.64 STRINGFALSE
queryTypeThe type of query you wish to perform.String EnumeratedTRUE
referenceNumberThe purchase order or sales order number. Required when the queryType is 1 or 2.64 STRINGFALSE
shipmentDateTimeStampThe earliest date for shipments to return in UTC3. Required when the queryType is 3. ISO 8601DATEFALSE

Notes:

  1. This indicates the type of query you are trying to perform. Valid Options:
    • queryType 1 (POSearch): Query based on customer provided purchase order number.
    • queryType 2 (SOSearch): Query based on vendor assigned sales order number.
    • queryType 3 (ShipDateSearch): Query based on all shipments with a shipment date greater than the value specified in shipmentDateTimeStamp.
  2. When the queryType is (PO Search), this value represents the customer provided purchase order number. When the queryType is (SO Search), this value represents the vendor assigned sales order number. When the queryType is (Shipment Date Search), this value is not used and should not be passed.
  3. This field will indicate the date time for any shipment GREATER than the shipment date time stamp provided. Note: Make sure to account for some jitter between the two systems and make sure to specify your time request in UTC and not in the local time zone.

REPLY: GetOrderShipmentNotificationResponse

FieldDescriptionData TypeRequired?
OrderShipmentNotificationArrayAn array of Order Shipment Notifications.ARRAYFALSE
ErrorMessageResponse for any error requiring notification to requestorOBJECTFALSE

OrderShipmentNotificationArray Details:

FieldDescriptionData TypeRequired?
purchaseOrderNumberThe associated purchase order.64 STRINGTRUE
completeAll shipments for this purchase order are complete.BOOLEANTRUE
SalesOrderArrayAn array of sales orders associated with the purchase order.ARRAYFALSE

SalesOrder Details:

FieldDescriptionData TypeRequired?
salesOrderNumberThe associated sales order.64 STRINGTRUE
completeAll shipments for this sales order are complete.BOOLEANTRUE
ShipmentLocationArrayAn array of shipment locations.ARRAYTRUE

ShipmentLocation Details:

FieldDescriptionData TypeRequired?
idThe id of the location.NUMBERFALSE
completeAll shipments for this location are complete.BOOLEANTRUE
shipFromAddressShip-From addressOBJECTTRUE
shipToAddressShip-To addressOBJECTTRUE
shipmentDestinationTypeUsed to identify the type of destination for the Ship-To address.64 STRING: EnumeratedFALSE
PackageArrayAn array of shipment packages.7ARRAYFALSE

Address Object

FieldDescriptionData TypeRequired?
address1Address Line 164 STRINGTRUE
address2Address Line 264 STRINGFALSE
address3Address Line 364 STRINGFALSE
address4Address Line 464 STRINGFALSE
cityAddress City64 STRINGTRUE
regionAddress Region2 STRINGTRUE
postalCodeAddress Postal Code10 STRINGTRUE
countryAddress Country128 STRINGFALSE

Package

FieldDescriptionData TypeRequired?
idThe id of the packageNUMBERFALSE
trackingNumberThe tracking number for the package128 STRINGTRUE
shipmentDateThe date for the shipment in UTC.8ISO 8601 DATETRUE
dimUOMThe dimensional unit of measure64 STRING: EnumeratedFALSE
lengthThe length of the packageNUMBERFALSE
widthThe width of the packageNUMBERFALSE
heightThe height of the packageNUMBERFALSE
weightUOMThe weight unit of measure64 STRING: EnumeratedFALSE
weightThe weight of the packageNUMBERFALSE
carrierThe carrier delivering the package128 STRINGFALSE
shipmentMethodThe method used for shipping (e.g., Ground)128 STRINGFALSE
shippingAccountThe shipping account used for this shipment128 STRINGFALSE
shipmentTermsThe terms of the shipment128 STRINGFALSE
ItemArrayA list of items and quantities contained in the package9ARRAYFALSE

ItemArray

Item Object:

A list of items and quantities contained in the package.

FieldDescriptionData TypeRequired?
supplierProductIdThe supplier product Id64 STRINGFALSE
supplierPartIdThe supplier part Id associated with the supplier product Id64 STRINGFALSE
distributorProductIdThe distributor product Id64 STRINGFALSE
distributorPartIdThe distributor part Id associated with the supplier product Id64 STRINGFALSE
purchaseOrderLineNumberThe line number of the item on the purchase orderINTEGERFALSE
quantityThe quantity of the itemNUMBERFALSE

ErrorMessage & Standardized Codes

ErrorMessage Details:

FieldDescriptionData TypeRequired?
codeThe numerical value of the codeNUMBERYES
descriptionResponse for any error requiring notification to requestor256 STRINGYES

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

Service Specific Code:

These error codes are only for the Order Ship Notification Service

CodeDescription
300queryType not found
301referenceNumber not found
302shipmentDateTimeStamp is incorrect or is an invalid date range

ENUMERATED TYPE RESTRICTIONS

FieldDescriptionData TypeValues
wsVersionThe Standard Version of the Web Service being referenced64 STRINGEnumerated: 1.0.0
shipmentDestinationTypeUsed to identify the type of destination for the Ship-To address.64 STRINGEnumerated: Commercial,Residential, None
dimUOMThe dimensional unit of measure64 STRINGEnumerated: Inches, Feet, mm, cm, Meters
weightUOMThe weight unit of measure64 STRINGEnumerated: Ounces, Pounds, Grams, KG

Code Samples

To be published under separate specification: “Order Shipment Notification Standards Use Examples”.

DATA MINING / ABUSE GUIDELINE

The use of services detailed within this specification are to be conducted within the current guidelines of the “Interface Data Use Guidelines Standards”.

Diagrams

getOrderShipmentNotification Function