WebSphere Commerce Enterprise

Submit Quote

The SubmitQuote outbound service interface is used to create a quote in the external system. The request contains detailed information about the quote, including the quote expiration date, related order information, and all the order item information. The expected response contains external quote ID.

Request

A request to this outbound service interface is in the form of a ProcessQuote business object document (BOD) with action code SubmitQuote. The definition of the ProcessQuote BOD can be found in the XML schema file WC_eardir/WebServicesRouter.war/component-services/xsd/OAGIS/9.0/Overlays/IBM/Commerce/BODs/ProcessQuote.xsd. The service data object (SDO) interface of the ProcessQuote BOD is com.ibm.commerce.order.datatypes.ProcessQuoteType.

Response

The response to a successful request is in the form of an AcknowledgeQuote BOD with no response criteria. The XML schema of the AcknowledgeQuote BOD can be found in the XML schema file WC_eardir/WebServicesRouter.war/component-services/xsd/OAGIS/9.0/Overlays/IBM/Commerce/BODs/AcknowledgeQuote.xsd. The service data object (SDO) interface of the AcknowledgeQuote BOD is com.ibm.commerce.order.datatypes.AcknowledgeQuoteType.

Message type

This outbound service interface is mapped to the message type com.ibm.commerce.order.external.

Usage scenario

When a shopper creates a quote from the shopping cart, com.ibm.commerce.order.commands.OrderCreateQuoteCmd is called to create the quote. The storefront gets the quote id from the response properties of this command for display. The implementation of OrderCreateQuoteCmd in this integration model is com.ibm.commerce.order.commands.ExternalOrderCreateQuoteCmdImpl. The implementation calls SubmitQuote service usingthe following steps:
  1. The inbound GetOrder Service is called to compose Order noun from local database by order id. The method of façade client used is com.ibm.commerce.order.facade.client.OrderFacadeClient.findByOrderId(String[] orderIdTypes, boolean isSummary).
  2. The outbound service with action code SubmitQuote is called to create a quote in the external system. The facade client method used to call the outbound service is com.ibm.commerce.order.facade.server.external.ExternalOrderFacadeClient.submitQuote(QuoteType quote).
  3. The quote id is received from response BOD of SubmitQuote service and put in the response properties of this command.
Note: ExternalOrderCreateQuoteCmdImpl.submitQuote(List orderNouns) is a recommended extension point to customize the request to the outbound SubmitQuote service.