Definir un parámetro nuevo en mensajes de solicitud

Puede añadir un nuevo parámetro de puntos de valor a los mensajes solicitados existentes de Sterling Order Management. A continuación, la infraestructura de definición de servicio transforma el parámetro. El parámetro se debe enviar al servicio HCL Commerce GetEntitledPrice para obtener el precio calculado.

Por qué y cuándo se efectúa esta tarea

De forma predeterminada, Sterling Order Management y HCL Commerce no permiten calcular el precio autorizado para la tarjeta regalo a partir de sus puntos de valor. En su lugar, depende del comerciante. Un comerciante vende las tarjetas de regalo en línea. El precio de la tarjeta de regalo no solo está relacionado con la cantidad de la tarjeta de regalo, sino también con los puntos de valor de la tarjeta. Por ejemplo:
  • El precio de oferta base de unidad para un punto de valor es de 1 $.
  • Si compra una tarjeta de regalo con 50 puntos de valor, el precio de oferta base es de 50 $. Después de aplicar algunas reglas de precios, el precio del contrato es de 45 $.
  • Si el precio de oferta base de 100 puntos de valor es de 100 $, después de aplicar las reglas de precios, el precio de contrato es de 80 $.
El precio base de unidad de un punto de valor se puede almacenar y, a continuación, el precio de oferta base total se puede calcular multiplicando el precio base por los puntos de valor adquiridos por el comprador. En el entorno integrado entre Sterling Order Management y HCL Commerce, el flujo de cálculo de precio predeterminado de un artículo de producto es:
  1. En IBM Sterling Call Center, el artículo de producto está abierto y Sterling Order Management envía una solicitud inicial a HCL Commerce a través de la infraestructura de definición de servicio. El mensaje es similar a:
    <body xsi:type="ex:getItemPriceRequestMsg">
    		<input:ItemPrice Currency="USD" EnterpriseCode="MadisonsBase"> 
    			<LineItems>
    						<LineItem ItemID="FULO-0101" LineID="1"
    Quantity="1" UnitOfMeasure="EACH"/>
    						</LineItems>
    			</input:ItemPrice>
    </body>
  2. La infraestructura de definición de servicio transforma el mensaje de solicitud del Sterling Order Management al formato que el HCL Commerceentiende, por ejemplo:
    <_prc:GetEntitledPrice releaseID="9.0" versionID="7.0.0.0"
    xmlns:_prc="http://www.ibm.com/smlns/prod/commerce/9/price"
    xmlns:_wcf-"http://www.ibm.com/smlns/prod/commerce/9/foundation"
    xmlns:oa="http://www.openapplications/org/oagis/9"
    xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance">
    		<oa:CreationDateTime>2012-03-
    07T08:54:27.109Z</oa:CreationDateTime>
    		<oa:BODID>24e42da0-6833-11e1-a38a-82b64f57220b</oa:BODID>
    		<_wcf:BusinessContext>
    			<_wcf:ContextData name="storeID">10001</_wcf:ContextData>
    		</_wcf:BusinessContext>
    	</oa:ApplicationArea>
    	<_prc:DataArea>
    		<oa:Get>
    			<oa:Expression
    expressionLanguage="_wcf:XPath">{_wcf.ap=IBM_Store_EntitledPrice_All
    }/EntitledPrice[CatalogEntryIdentifier[ExternalIdentifier[PartNumber='FULO-0101']] 
    and UnitPrice[Price[@currency='USD'] and 
    (Quantity='1.0' and Quantity[@uom='c62'])])]</oa:Expression>
    		</oa:Get>
    	</_prc:DataArea>
    <_prc:GetEntitledPrice>
  3. El servicio GetEntitledPrice de HCL Commerce transfiere la solicitud al motor de precios. El precio calculado vuelve a la infraestructura de definición de servicio.
  4. La infraestructura de definición de servicio transforma el mensaje de respuesta al formato que puede entender Sterling Order Management.
  5. El Sterling Call Center muestra el precio calculado en la interfaz de usuario.

El formato del mensaje de respuesta no necesita cambiarse según la historia del usuario. Dependiendo las definiciones proporcionadas y su respuesta, el valor de precio es diferente. El valor de precio vuelve a calcular el precio autorizado con el parámetro de puntos de valor.

Para añadir el parámetro de puntos de valor al mensaje de solicitud:

  1. En el mensaje de solicitud de Sterling Order Management, añada el atributo de los puntos de valor y, si lo desea, inserte también un nodo para él. Esto es un ejemplo:
    <ItemPrice Currency="USD" EnterpriseCode="MadisonsBase" IsQuantityTierRequested="N" OrganizationCode="MadisonsBase">     
    <LineItems>
             <LineItem ItemID="FULO-0101" LineID="1" Quantity="1" UnitOfMeasure="EACH"/>
     	<Extn ValuePoints="500" />
         </LineItems>
    <ItemPrice>
  2. Para el mensaje de solicitud a HCL Commerce, el parámetro ValuePoints se transforma en VP.
    Nota: ValuePoints se transforma en VP para sintetizarlo en el XPath.
    Un ejemplo del mensaje de solicitud:
    		<_prc:DataArea>
    			<oa:Get>
    				<oa:Expression
    expressionLanguage="_wcf:XPath">{_wcf.ap=IBM_Store_EntitledPrice_All
    }/EntitledPrice[ (CatalogEntryIdentifier[ExternalIdentifier{PartNumbe
    r='FULO-0101']] and UnitPrice[Price[@currency='USD'] and
    	(Quanitity='1.0' and Quantity[@uom='C62'])] and
    VP='40')}</oa:Expression>
    		</oa:Get>
    	</_prc:DataArea>

    Ahora se definen todos los parámetros.