Reference > Shop flow URLs > Order Management subsystem URLs
Overall shopping flow diagram
A diagram showing various scenarios including the service calls, optional commands, controller commands and views.
1. OrderItemDisplay (optional) is redirected.
2. OrderCalculate can be called by OrderItemAdd or OrderItemUpdate internally by specifying a parameter "calculateOrder=1", and it can also be redirected after OrderItemAdd or OrderItemUpdate through a URL parameter.
3. OrderItemDelete, PIEdit, and PIRemove (optional) are invoked by another user action, not a redirect from previous commands.
4. OrderPrepare is automatically called by OrderDisplay and may also be directly called by store.
For the optional commands:
- Unlike web 1.0 store front pages, Madisons stores do not use OrderItemDisplay or OrderDisplay. Madisons stores have their own way to display the shopping cart.
- If a shopper updates quantity or deletes an item from the shopping cart OrderItemUpdate or OrderItemDelete is invoked. PIEdit and PIRemove behave in the same way.
Typical parameters
Typically storefront passes below name-value pairs (with values being String[]) to the services for each user action (the values listed are examples from Madisons Store):
For ".", "***", and so on, refer to Order abbreviations for explanations.
Add to shopping cart
catEntryId=[10398], calculationUsage=[-1], orderId=[.], quantity=[1], storeId=[10101], langId=[-1] (calculateOrder=1 is hardcoded in ChangeOrderSOIBODMapping.xml when OrderItemAdd or OrderItemUpdate is called.)
- catEntryId_ i
- Required: The reference number of the items to be put into the order. This parameter is required if the customer does not have a shopping cart. It is not required if a customer order already exists.
- orderId
- The identifier of the order to which the item is being added. This parameter can be repeated.
- quantity_ i
- Required: The quantity of the item to be added to the order.
- storeId
- Required: The store reference number, which is mandatory because you cannot buy from a mall.
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table.
Update shopping cart (update the quantity)
calculationUsage=[-1], orderId=[.], quantity=[2], storeId=[10101], orderItemId=[10001], langId=[-1] (calculateOrder=1 is hardcoded in ChangeOrderSOIBODMapping.xml when OrderItemAdd or OrderItemUpdate is called.)
- orderId
- The identifier of the order to which the item is being added. This parameter can be repeated.
- quantity_ i
- Required: The quantity of the item to be added to the order.
- storeId
- Required: The store reference number, which is mandatory because you cannot buy from a mall.
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table.
Check out
remerge=[***], backorder=[***], allocate=[***], check=[*n], langId=[-1], URL=[ https://localhost/webapp/wcs/stores/servlet/OrderShippingBillingView?shipmentType=single], errorViewName=[AjaxOrderItemDisplayView], calculationUsage=[-1], orderItemId=[10001], orderId=[.], storeId=[10101] (calculateOrder=1 is hardcoded in ChangeOrderSOIBODMapping.xml)
- remerge
- A list of the OrderItems that should be merged with other OrderItems in the same order and with the same correlationGroup attribute, if possible. OrderItems are not merged unless their InventoryStatus is "NALC", or they are specified by one or more of the allocate, backorder, and reverse parameters. This parameter can be repeated.
- backorder
- A list of OrderItems that should be backordered, by the AllocateExpectedInventory task command. If the same OrderItem is specified by both the allocate and backorder parameters, it is not backordered if it can be allocated. This parameter can be repeated.
- allocate
- A list of OrderItems that should be allocated from existing inventory by the AllocateExistingInventory task command. This parameter can be repeated.
- check
- A list of OrderItems that should be checked by the CheckInventory task command. This parameter can be repeated.
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table.
- URL
- Required: The URL to be called when the command completes successfully.
- orderId
- The identifier of the order to which the item is being added. This parameter can be repeated.
- storeId
- Required: The store reference number, which is mandatory because you cannot buy from a mall.
Input shipping address and method
remerge=[***], backorder=[***], allocate=[***], check=[*n], calculationUsage=[-1,-2,-3,-4,-5,-6,-7], storeId=[10101], orderId=[.], langId=[-1], shipModeId=[10152] addressId=[11451], ShipAsComplete=[N], shipInstructions=[only day time], requestedShipDate=[2010-02-04T04:00:00.000Z] (calculateOrder=1 is hardcoded in ChangeOrderSOIBODMapping.xml)
- remerge
- A list of the OrderItems that should be merged with other OrderItems in the same order and with the same correlationGroup attribute, if possible. OrderItems are not merged unless their InventoryStatus is "NALC", or they are specified by one or more of the allocate, backorder, and reverse parameters. This parameter can be repeated.
- backorder
- A list of OrderItems that should be backordered, by the AllocateExpectedInventory task command. If the same OrderItem is specified by both the allocate and backorder parameters, it is not backordered if it can be allocated. This parameter can be repeated.
- allocate
- A list of OrderItems that should be allocated from existing inventory by the AllocateExistingInventory task command. This parameter can be repeated.
- check
- A list of OrderItems that should be checked by the CheckInventory task command. This parameter can be repeated.
- storeId
- Required: The store reference number, which is mandatory because you cannot buy from a mall.
- orderId
- The identifier of the order to which the item is being added. This parameter can be repeated.
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table.
- shipModeId_ i
- The reference number of the shipping mode to be used for the product or item.
- shipInstructions_ i
- Specifies shipping instructions for one shipmode.
- requestedShipDate_ i
- Marks the requested shipping date for an orderitem.
Input payment information
valueFromProfileOrder=[ ], expire_month=[02], payMethodId=[VISA], cc_brand=[VISA], billing_address_id=[10951], account=[4111111111111111], paymentTCId=[], piAmount=[161.99] valueFromPaymentTC=[ ], expire_year=[2010], orderId=[.]
- valueFromProfileOrder
- Optional: The flag to indicate whether the payment protocol data should be extracted from the user's quick checkout profile and ignore any protocol data passed in the request properties. The values are Y or N. The default value is N.
- payMethodId
- Optional: The payment method name. It is the policy name of the payment business policy table. (Table POLICY with column policytype_id = 'Payment'). If policyId is passed in, this parameter is not required since this command always sets it as the policy name from business policy table via the policyId.
- (At least one of the two parameters policyId and payMethodId should be passed in. If both of them are passed in, policyId will have priority over payMethodId.)
- billing_address_id
- Optional: The billing address identifier.
If all of the parameters billto_firstname, billto_lastname, billto_address1, billto_city, billto_stateprovince are passed in, those parameters will be used as the billing address protocol data, and the billing_address_id parameter will not be used. Otherwise, this command will get the billing address protocol data from the address related table(s) in WebSphere Commerce according to billing_address_id.
- paymentTCId
- Optional: The payment Term&Condition identifier for this payment instruction. This parameter is used by the business customer.
- piAmount
- Required: The amount in the order currency to be used for this payment method. The format of this number must fit the rules for a java.math.BigDecimal object. The number must use a period for a decimal place.
- valueFromPaymentTC
- Optional: The flag to indicate whether the payment protocol data should be extracted from the payment Term&Condition identified by paymentTCId parameter and ignore any protocol data passed in the request properties. The values include true and false, the default value is false.
- orderId
- Required: The identifier of the order to which the payment method is to be added.
Confirm order
storeId=[10101], langId=[-1]
- storeId
- The reference number of the store for which the order is to be prepared.
- langId
- Sets or resets the preferred language for the duration of the session; the supported languages for a store are found in the STORELANG table
Submit order
notifyMerchant=[1], notifyOrderSubmitted=[1], orderId=[14001], purchaseorder_id=[], notifyShopper=[1]
- notifyMerchant
- Specifies whether the store is notified when the order processing is complete. E-mail notifications are sent only when WebSphere Commerce is configured with WebSphere Commerce Payments. A value of 1 specifies that the store should be notified; a value of 0 specifies that the store should not be notified.
- notifyOrderSubmitted
- Specifies whether the customer is notified when the order is successfully submitted for processing. A value of 1 specifies that the customer should be notified; a value of 0 specifies that the customer should not be notified. The default is 0.
- orderId
- Required: Specifies the reference number of the order to be processed. This parameter can be repeated.
- purchaseorder_id
- Sets the purchase order number for this order for the group i.
- notifyShopper
- Specifies whether the customer is notified when the order processing is complete. E-mail notifications are not sent if PrimePaymentCmd fails. A value of 1 specifies that the customer should be notified; a value of 0 specifies that the customer should not be notified.