WebSphere Commerce Enterprise

Get Quote

The GetQuote outbound service interface is used to retrieve quote statuses from an external system. GetQuote sends out request business object document (BOD) to the external system. The expected response BOD includes quote expiration date and order level information such as buyer ID and order placed date. The response also includes order item level information.

Request

Request to this outbound service interface is in the form of a GetQuote BOD. The definition of the GetQuote BOD can be found in the XML schema file WC_eardir/WebServicesRouter.war/component-services/xsd/OAGIS/9.0/Overlays/IBM/Commerce/BODs/GetQuote.xsd. The service data object (SDO) interface of the GetQuote BOD is com.ibm.commerce.order.datatypes.GetQuoteType.

Response

Response to a successful request is a ShowQuote BOD. The XML schema of the ShowQuote BOD can be found in the XML schema file WC_eardir/WebServicesRouter.war/component-services/xsd/OAGIS/9.0/Overlays/IBM/Commerce/BODs/ShowQuote.xsd. The SDO interface of the ShowQuote BOD is com.ibm.commerce.order.datatypes.ShowQuoteType.

Message type

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

Usage scenarios

List quote statuses

The GetQuote outbound service interface has two usage scenarios: list quote statuses and display quote details.
  1. To list the statuses of quotes submitted by a shopper, the storefront calls the inbound service GetQuote by com.ibm.commerce.order.facade.client.OrderFacadeClient. findByQuoteStatus(String[] orderStatusTypes, boolean isSummary).
  2. The implementation of the inbound GetQuote service is com.ibm.commerce.order.facade.server.commands.FetchExternalQuoteByStoreMemberAndStatusCmdImpl, the implementation calls the outbound GetQuote service by com.ibm.commerce.order.facade.server.external.ExternalOrderFacadeClient.getQuote (GetQuoteType aGetQuote). The XPath used to request the outbound GetQuote service is /Quote[OrderTemplate[BuyerIdentifier[(DistinguishedName=)] and OrderStatus[(Status=)] and StoreIdentifier[ExternalIdentifier[(NameIdentifier=)]]]]. com.ibm.commerce.order.facade.server.commands.ComposeExternalQuoteCmdImpl composes the quotes which are retrieved from an external system.
  3. The storefront reads the response data from the external system and displays the quote info. Note: FetchExternalQuoteByStoreMemberAndStatusCmdImpl.fetchQuotes(GetType getVerb) is a recommended extension point to customize the request to the outbound GetQuote service.

Display quote details

  1. To display details of a submitted quote with specific external quote id, the storefront calls the inbound service GetQuote by com.ibm.commerce.order.facade.client.CommonOrderFacadeClient. findQuoteByExternalQuoteID(String[] astrQuoteId).
  2. The implementation of the inbound GetQuote service is com.ibm.commerce.order.facade.server.commands.FetchQuoteByExternalQuoteIdCmdImpl, the implementation calls the outbound GetQuote service by com.ibm.commerce.order.facade.server.external.ExternalOrderFacadeClient.getQuote (GetQuoteType aGetQuote). The XPath used to request the outbound GetQuote service is /Quote[QuoteIdentifier[(ExternalQuoteID=)] and OrderTemplate[StoreIdentifier[ExternalIdentifier[(NameIdentifier=)]]]]. com.ibm.commerce.order.facade.server.commands.ComposeExternalQuoteCmdImpl composes the quote which is retrieved from an external system.
  3. The storefront gets the quote detail info from the response and displays it to the shopper.
Note: FetchQuoteByExternalQuoteIdCmdImpl.fetchOrders(GetType getVerb) is a recommended extension point to customize the request to the outbound GetQuote service.