Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Another property of note is the "position" property in the FileColumn. This property should be used to tell the fulfillment service what zero-based column index to use to retrieve data for that column. Consider the following example when setting the column position.

Column Position0123
Column NameOrder CodeOrderable IdQuantity ShippedBatch

2. Transfer Properties

Transfer properties tell the fulfillment service where to get the shipment files from. The transfer properties for shipment files can be FTP, Local, or SFTP server directories. This API can be used to create/update shipment transfer properties.

...

In order to save a shipment record, it is required to have a valid user id. This user id can be configured once as an environment variable that will be used in the fulfillment service. These values are read from SHIPMENT_POLLING_RATE_MILLISECONDS and SHIPMENT_SHIPPED_BY_ID environment variables which can be initialized with the settings.env file when the fulfillment service is started.

Exception Handling

The fulfillment service implements a number of validations to ensure that the data that is imported from shipment files is consistent with the assumptions outlined above. In cases where the incoming shipment file breaks significantly, the fulfillment service will reject the incoming shipment file. Rejected shipment files along with a technical log that contains the stack trace is archived in the "[BasePath]/error" directory. The two files will have the same date/time timestamp prefix that allows administrators to be able to diagnose the error and take corrective action if need be. 

Some of the causes of error that result in shipment file to be rejected are:

  • Error with the shipment template configuration (missing required fields)
  • The shipment file does not contain a valid order identifier. 
  • The shipment file contains an order id that has shipment records already. 
  • The shipment file does not contain valid CSV
  • The shipment file contains rows with invalid value for order identifier or quantity shipped (empty or negative value for quantity shipped) 
  • The shipment file does not contain any string for orderable identifier. 
  • Any other unhandled exception. 

Unresolved Orderables

The fulfillment service validates the Orderable identifiers that are found in the shipment file. This validation is made with the assumption that the the product identifier found in the reference data service is synchronized with the product list in the ERP. However, there may be times when the product lists between the two systems get out of sync. To support this, the fulfillment service does not reject shipment files that contain new product identifiers that are found in the ERP but not in the reference-data service. Rows with unresolved Orderable identifier are persisted in the extraData field and are also returned from the API that returns shipment data as shown below. 

Image Added