Question & Answer
Question
How do you improve the performance of getFulfillmentOptionsForLines application programming interfaces (API) when exposed as webservice during order confirmation in Sterling Selling and Fulfillment Suite?
Cause
getFulfillmentOptionsForLines API may not return the available options at the time of order confirmation from the store front within the set time out for the response, leading to an oversell.
Answer
The getFulfillmentOptionsForLines API will form the possible evaluated options based on existing unique combinations as mentioned below of the provided order in the EvaluateOrder element:
For shipping:
ship-to addresses, fulfillment types, levels of services and carrier services
For delivery:
ship-to addresses, fulfillment types and levels of service
For pickup:
pickup nodes, fulfillment types and levels of service
The time taken for this API to complete depends on the unique combinations arrived at and may sometimes take longer than the time out value set on the store front.
The following options can be used to help getFulfillmentOptionsForLines API return results faster in these scenarios:
- Run Inventory Purge to reduce the number of records in yfs_inventory_supply and yfs_inventory_demand.
This will improve the speed of the sourcing and scheduling.
- Change MaximumRecords to 1 (from the default of 5) in the call input to let the API exit search when the first option is found for each order line.
This is trade-off of the best solution available versus the performance.
- Vary the time out for the webservice based upon order size
The sourcing logic goes through the combination of items and ship nodes. A larger order would take longer time to source than a smaller order
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21676733