Wiki Markup |
---|
{noprint} {float:right\|width=300px\|background=lightgrey\|border=solid blue 2px\|margin=10px\|padding=8px}*Contents* {toc:all=true|depth=4|excerpt=true|indent=14px} {float}\\ {noprint}\\ *Document Logs* *Change log:* || *Date:* || *Author:* || *Version:* || *Changes:* || Completed || Ext. || Int. || Is in Core || | {page-info:created-date\|dateFormat=dd MMMM yyyy}\\ | {page-info:created-user}\\ | 0.1 | Doc. created | No | | | | *Terms and definitions:* || Terms/definitions: || Meaning: || | TBD | To be defined | | N/A | Not applicable | \---- h2. 1 - Purpose of Document This document provides the overall technical details and design of implementing and using the functionality as specified in section 2 - Introduction. This document will not cover implementation details -- for this the code base should be inspected. h2. 2 - Introduction to Functionality The Electra Logistics Engine handles the order placing and the retrieval of the order status from Electra. The general process is: # The Electra Logistics Engine picks up new ShopOrders (ShopOrder status is READY) or ShopOrders already tried registered at Electra (ShopOrder status is PLACEORDER_FAILED). The Electra Logistics Engine validates each ShopOrder and related ShopOrderLine and Users entries before placing the order at Electra. Name and Address fields of Users entry must be present. A unique OrderNumber present on the ShopOrder is also validated. Invalid ShopOrders are set to status Error. The Electra Logistics Engine registers valid ShopOrders at Electra. Succesfully placed ShopOrders at Electra is set to status PLACEORDER_SUCCESFUL. ShopOrders failed to be registered at Electra are set to either status PLACEORDER_FAILURE or ERROR. ShopOrders set to status PLACEORDER_FAILURE are being picked up again and tried to be placed at Electra by the Electra Logistics Engine at the next time it runs. # The Electra Logistics Engine picks up registered or placed ShopOrders (ShopOrder status is PLACEORDER_SUCCESFUL) and gets the status of the order and order information from Electra. If the order has been shipped by Electra package tracking ids, ICC numbers are updated on the ShopOrder and ShopOrder lines. Electra Logistic for Generic Orders uses the generic order framework in core. While the Electra Logistic Engine project uses the shop order and webshop. h2. 3 - API The Electra Logistic for Generic Orders is located in <dependency> <groupId>com.cdrator.integration.logistics</groupId> <artifactId>rator-logistics-dk-electra-generic</artifactId> </dependency> The way to invoke functionality in the project is through Actions, which there are presently two of h5. PlaceOrder For placing a new order an Electra {code}@Action @Description("Place a generic order to Electra") public class PlaceOrder { /** * Place an order at Electra * * Possible outcomes: * DONE: Succesfull * ERROR: unexpected error * * @param order * @return * @throws Exception */ @ActionMethod @ReturnValue(description = @Description("String: DONE, ERROR")) public String execute(GenericOrder order) throws Exception {}{code} The order must have * 1-\* order lines, which have DESCRIPTION, PRODUCTNUMBER and optional QUANTITY in parameters. If no quantity is present, '1' will be send * a valid deliveryAddress, which have FULLNAME, ADDRESS1, CITY, ZIP. Optional COMPANY. * a valid ACCOUNT, use to find brand * an ORDER_NUMBER If no errors occurred which communicating with Electra the ACTION will return "DONE", other wise it will return "ERROR". Order status sdadsa h2. 4 - Configuration Parameters under ENGINE.LOGISTICS.ELECTRA || Key || Default || Description || Optional || | WSDL_PATH | | Absolute path for the WSDL file for the engine. Mandatory. | No | | MAX_ORDER_REQUESTS | 50 | Maximum number of orders handled by engine each run | Yes | | ORDER_EXPIRE_PERIOD | 30 | Number of days it takes for an order to expire | Yes | h2. 5 - Operational Considerations h3. Security At time of writing Electra validates incoming requests based upon the senders IP. No other security is used. h3. Migration The Electra Logistics Engine solely picks up ShopOrders with the field logistic_key set 'ELECTRA'. ShopSKU's which should be handled by Electra should have the field logistics_provider_key changed to 'ELECTRA'. \\ |
Page Comparison
General
Content
Integrations