Introduced in Feature Pack 2

Transfer order

The transfer order communication maps the WebSphere Commerce ProcessOrder request to the SSFS createOrder API call. As both WebSphere Commerce and SSFS are customizable, assumptions are made with the mapping from one system to the other.

Important: Review the following information for your version of WebSphere Commerce:
The assumptions made for this call are:
Request
SSFS API path Source context Source
Order/@EnterpriseCode N/A Set in the "OrganizationCodeSetter" node in the mediation flow
Order/@SellerOrganizationCode N/A Set in the "OrganizationCodeSetter" node in the mediation flow
Order/@OrderDate _ord:DataArea/_ord:Order _ord:PlacedDate
Order/OrderLines/OrderLine/@PrimeLineNo _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemIdentifier/_wcf:UniqueID If above contains a "-", use only part before the dash
Order/OrderLines/OrderLine/@SubLineNo (Not always present) _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemIdentifier/_wcf:UniqueID If above contains a "-", use only part after the dash, otherwise, this field is blank
Order/OrderLines/OrderLine/@OrderedQty _ord:DataArea/_ord:Order/_ord:OrderItem _ord:Quantity
Order/OrderLines/OrderLine/@CarrierServiceCode _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingMode/_ord:ShippingModeIdentifier/_ord:ExternalIdentifier/_ord:ShipModeCode
Order/OrderLines/OrderLine/@ShipNode _ord:DataArea/_ord:Order/_ord:OrderItem _ord:FulfillmentCenter/_ord:FulfillmentCenterIdentifier/_wcf:Name
Order/OrderLines/OrderLine/@ReqShipDate _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:RequestedShipDate
Order/OrderLines/OrderLine/@DeliveryMethod _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingMode/_ord:ShippingModeIdentifier/_ord:ExternalIdentifier/_ord:ShipModeCode If above is "PickupInStore" then "PICK", otherwise "SHP"
Order/OrderLines/OrderLine@FillQuantity _ord:DataArea/_ord:Order/_ord:OrderItem _ord:Quantity
Order/OrderLines/OrderLine/OrderLineReservations/OrderLineReservation/@ItemID _ord:DataArea/_ord:Order/_ord:OrderItem _ord:CatalogEntryIdentifier/_wcf:ExternalIdentifier/_wcf:PartNumber
Order/OrderLines/OrderLine/OrderLineReservations/OrderLineReservation/@Node _ord:DataArea/_ord:Order/_ord:OrderItem _ord:FulfillmentCenter/_ord:FulfillmentCenterIdentifier/_wcf:Name
Order/OrderLines/OrderLine/OrderLineReservations/OrderLineReservation/@Quantity _ord:DataArea/_ord:Order/_ord:OrderItem _ord:Quantity
Order/OrderLines/OrderLine/OrderLineReservations/OrderLineReservation/@ReservationID _ord:DataArea/_ord:Order/_ "WC_" prepended to _ord:OrderIdentifier/_wcf:UniqueID
Order/OrderLines/OrderLine/Item/@ItemID _ord:DataArea/_ord:Order/_ord:OrderItem _ord:CatalogEntryIdentifier/_wcf:ExternalIdentifier/_wcf:PartNumber
Order/OrderLines/OrderLine/Item/@UnitOfMeasure _ord:DataArea/_ord:Order/_ord:OrderItem _ord:Quantity/@uom If above is "C62" than "EACH", otherwise, use the value of above
Order/OrderLines/OrderLine/PersonInfoShipTo@FirstName _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:ContactName/_wcf::FirstName
Order/OrderLines/OrderLine/PersonInfoShipTo@LastName _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:ContactName/_wcf::LastName
Order/OrderLines/OrderLine/PersonInfoShipTo@AddressLine1 _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::AddressLine[1]
Order/OrderLines/OrderLine/PersonInfoShipTo@AddressLine2 _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::AddressLine[2]
Order/OrderLines/OrderLine/PersonInfoShipTo@AddressLine3 _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::AddressLine[3]
Order/OrderLines/OrderLine/PersonInfoShipTo@City _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::City
Order/OrderLines/OrderLine/PersonInfoShipTo@State _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::StateOrProvinceName
Order/OrderLines/OrderLine/PersonInfoShipTo@Country _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::Country
Order/OrderLines/OrderLine/PersonInfoShipTo@ZipCode _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:Address/_wcf::ZipCode
Order/OrderLines/OrderLine/PersonInfoShipTo@EmailID _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemShippingInfo/_ord:ShippingAddress/_wcf:EmailAddress1
Order/OrderLines/OrderLine/LinePriceInfo@UnitPrice _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:UnitPrice/_wcf:Price
Order/OrderLines/OrderLine/LinePriceInfo@ListPrice _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:UnitPrice/_wcf:Price
Order/OrderLines/OrderLine/LinePriceInfo@RetailPrice _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:UnitPrice/_wcf:Price
Order/OrderLines/OrderLine/LinePriceInfo@IsLinePriceForInformationOnly N
Order/OrderLines/OrderLine/LinePriceInfo@PriceQuantityStrategy FIX
Order/OrderLines/OrderLine/LinePriceInfo@IsPriceLocked Y
Order/OrderLines/OrderLine/LineCharges/LineCharge[1]/@ChargePerLine _ord:DataArea/_ord:Order/_ord:OrderItem/_ord:OrderItemAmount/_wcf:Adjustment _wcf::Amount
Order/OrderLines/OrderLine/LineCharges/LineCharge[1]/@ChargeCategory DISCOUNT
Order/OrderLines/OrderLine/LineCharges/LineCharge[2]/@ChargePerLine _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:ShippingCharge
Order/OrderLines/OrderLine/LineCharges/LineCharge[2]/@ChargeCategory Shipping
Order/OrderLines/OrderLine/LineCharges/LineCharge[2]/@ChargeName Shipping Charge
Order/OrderLines/OrderLine/LineTaxes/LineTax[1]/@ChargeCategory Price
Order/OrderLines/OrderLine/LineTaxes/LineTax[1]/@Tax _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:SalesTax
Order/OrderLines/OrderLine/LineTaxes/LineTax[1]/@TaxName Sales Tax
Order/OrderLines/OrderLine/LineTaxes/LineTax[2]/@ChargeCategory Shipping
Order/OrderLines/OrderLine/LineTaxes/LineTax[2]/@Tax _ord:DataArea/_ord:Order/_ord:OrderItem _ord:OrderItemAmount/_wcf:ShippingTax
Order/OrderLines/OrderLine/LineTaxes/LineTax[2]/@TaxName Shipping Tax
Order/PersonInfoBillTo@FirstName _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:ContactName/_wcf:FirstName
Order/PersonInfoBillTo@LastName _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:ContactName/_wcf:LastName
Order/PersonInfoBillTo@AddressLine1 _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:AddressLine[1]
Order/PersonInfoBillTo@AddressLine2 _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:AddressLine[2]
Order/PersonInfoBillTo@AddressLine3 _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:AddressLine[3]
Order/PersonInfoBillTo@City _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:City
Order/PersonInfoBillTo@State _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:StateOrProvinceName
Order/PersonInfoBillTo@Country _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:Country
Order/PersonInfoBillTo@ZipCode _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:Address/_wcf:PostalCode
Order/PersonInfoBillTo@EmailID _ord:DataArea/_ord:Order _ord:OrderPaymentInfo/_ord:PaymentInstruction/_ord:BillingAddress/_wcf:EmailAddress1/
Response
WebSphere Commerce path Source context Source
_ord:AcknowledgeOrder/_ord:DataArea/_ord:Order/_ord:OrderIdentifier/_wcf:UniqueID N/A @OrderNo
Feature Pack 3

Asynchronous order transfers

In the transfer order integration flow, WebSphere Commerce does not have to wait for a synchronous response from Sterling Commerce before the flow completes. There is no dependency on a synchronous response from Sterling Commerce. The JMS implementation is sufficient to guarantee the delivery of the createOrder API requests to Sterling Commerce. Asynchronous messages between WebSphere Commerce and Sterling Commerce are supported.

To enable asynchronous order transfers, update the WC_demo.ear\xml\config\com.ibm.commerce.order.external/wc-component-client.xml file, setting asynchronous to true.

Configuring order transfer commands for payments

ProcessOrderSubmitEventCmdImpl recognizes the following configuration in WC_eardir/xml/config/com.ibm.commerce.order-ext/wc-admin-component.xml:

<_config:configgrouping name="TransferOrder">
     <_config:property name="accessProfile" value="IBM_TransferOrder"/>
 </_config:configgrouping>

By default (when this configuration is not specified) ProcessOrderSubmitEventCmdImpl preserves its current behavior and uses the existing IBM_Details access profile to compose the order details.

Introduced in Feature Pack 3To support payment integration and dynamic kits, the IBM_TransferOrder access profile and its corresponding ComposeOrderCmd implementation, ComposeTransferOrderCmdImpl, is provided specifically for transfer order. In addition to the existing order details, ComposeTransferOrderCmdImpl adds the following information:
  • Unencrypted payment and transaction information, excluding the PAN.
  • The tokenized PAN returned by a call to TokenizeAccountNumberCmd.
  • The configuration XML string of each order item (if they exist).