Preproceso de pedidos

El servicio de preproceso de pedidos es un servicio de entrada para pedidos que se han sometido y transferido a un sistema de gestión de pedidos (OMS) externo pero que se modifican después de la transferencia y requieren un preproceso por parte de HCL Commerce antes de que los pueda procesar un OMS externo.

Cuándo utilizar esta interfaz

Debería utilizar la interfaz del servicio de preproceso de pedidos al trabajar con proyectos existentes o tareas de desarrollo.

Si está trabajando en un nuevo proyecto o tarea de desarrollo, utilice en su lugar la interfaz de Servicio de preproceso de pedidos.

Este servicio realizará las siguientes tareas en un pedido:

  • Validar los términos y condiciones (por ejemplo autorizaciones de productos) de los contratos a los que hacen referencia los artículos del pedido
  • Renueve los precios de sus artículos de pedido
  • Calcule los ajustes (por ejemplo, descuentos) y cargos (por ejemplo, costes de envío e impuestos) de los artículos del pedido

Tenga en cuenta que el pedido puede haberse creado o no en HCL Commerce. Si el pedido existe, se actualizará a partir de la información proporcionada en la solicitud. Si el pedido no existe, se creará un pedido temporal basado en la información proporcionada en la solicitud. A continuación se realizarán las tareas antes descritas. Por último, el pedido, con precios, ajustes y cargos actualizados, se devolverá como respuesta.

Las solicitudes para este servicio están en forma de documentos de objetos de negocio (BOD) PreprocessSalesOrder. Las respuestas de este servicio están en forma de documentos de objetos de negocio (BOD) ShowSalesOrder, o de errores SOAP en caso de excepciones.

Mapping

Este servicio se correlaciona con el mandato SalesOrderPreprocess. La tabla siguiente describe cómo se correlacionará el BOD PreprocessSalesOrder con los parámetros de entrada de este mandato:

XPath Parámetro de entrada Obligatoria Descripción:
DataArea/SalesOrder/SalesOrderHeader este elemento contiene la información a nivel de pedido
DataArea/SalesOrder/SalesOrderHeader/DocumentID/ID orderId n el ID de pedido HCL Commerce, si el pedido se origina desde HCL Commerce
DataArea/SalesOrder/SalesOrderHeader/CustomerParty/PartyIDs/ID customerId y el ID de usuario del cliente HCL Commerce
DataArea/SalesOrder/SalesOrderHeader/SalesOrganizationIDs/ID storeId y el ID de la tienda HCL Commerce
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm[i] cada uno de estos elementos representa una alteración de cargo de envío
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm[i]/FreightTermCode shipModeId_i n el ID de modalidad de envío de HCL Commerce de la alteración de cargo de envío
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm[i]/PolicyID shipChargTypeId_i n el ID de tipo de cargo de envío de HCL Commerce de la alteración de cargo de envío
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm[i]/AccountNumber shipCarrAccntNum_i n el número de cuenta de empresa de transportes de WebSphere Commerce de la alteración de cargo de envío
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm[i]/Discount/PaymentBasisCode overrideReasonCode_i n el código de razón de alteración de la alteración de cargo de envío
DataArea/SalesOrder/SalesOrderHeader/TransportationTerm/Discount/DiscountPercent adjustmentPercentageValue_i n el valor de porcentaje de ajuste de la alteración de cargo de envío
DataArea/SalesOrder/SalesOrderLine[j] cada uno de estos elementos representa un artículo de pedido
DataArea/SalesOrder/SalesOrderLine[j]/LineNumber orderItemId_j n el ID del artículo de pedido HCL Commerce del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Item/ItemID/ID catEntryId_j n el ID de la entrada de catálogo HCL Commerce del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Item/SupplierItemID/ID partNumber_j n el número de pieza (SKU) del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Item/Specification/Property/NameValue[@name="contractId"] contractId_i n el ID de contrato de HCL Commerce del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Item/Specification/Property/NameValue[@name="offerId"] offerId_i n el ID de oferta HCL Commerce del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Quantity quantity_j y la cantidad del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/Quantity/@unitCode UOM_j n la unidad de medida (UOM) de la cantidad indicada más arriba
DataArea/SalesOrder/SalesOrderLine[j]/UnitPrice este elemento representa la alteración de precio del artículo de pedido j-th, si hay alguna
DataArea/SalesOrder/SalesOrderLine[j]/UnitPrice/Amount price_j n el precio de la alteración de precio
DataArea/SalesOrder/SalesOrderLine[j]/UnitPrice/Amount/@currencyID currency_j n la moneda de la alteración de precio
DataArea/SalesOrder/SalesOrderLine[j]/SpecialPriceAuthorizationCode overrideReasonCode_j n el código de razón de alteración de la alteración de precio
DataArea/SalesOrder/SalesOrderLine[j]/TransportationTerm/FreightTermCode shipModeId_j n el ID de modalidad de envío de HCL Commerce del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address este elemento representa la dirección de envío del artículo de pedido j-th
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/ID addressId_j n el ID de dirección de HCL Commerce de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/LineOne address1_j n el campo de primera línea de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/LineTwo address2_j n el campo de segunda línea de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/LineThree address3_j n el campo de segunda línea de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/CityName city_j n el campo de ciudad de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/ CountrySubDivisionCode[@name="state"] state_j n el campo de estado o provincia de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/CountryCode country_j n el campo de país de la dirección de envío
DataArea/SalesOrder/SalesOrderLine[j]/ShipToParty/Location/Address/PostalCode zipCode_j n el campo de código postal de la dirección de envío

Ejemplo

Lo siguiente es una solicitud de ejemplo y la respuesta correspondiente:


<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
        <wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
                <wsse:Username>wcsadmin</wsse:Username>
                <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">*********</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
        <wc:PreprocessSalesOrder releaseID="9.0" version="9.1"
            versionID="9.1"
            xmlns:oa="http://www.openapplications.org/oagis/9"
           
xmlns:wc="http://www.ibm.com/xmlns/prod/WebSphereCommerce"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce

../BODs/PreprocessSalesOrder.xsd ">
            <oa:ApplicationArea>
               
<oa:CreationDateTime>2001-12-31T12:00:00</oa:CreationDateTime>
               
<oa:BODID>2001-12-31T12:00:00[wcsadmin]localhost</oa:BODID>
            </oa:ApplicationArea>
            <wc:DataArea>
                <wc:Preprocess/>
                <oa:SalesOrder>
                    <oa:SalesOrderHeader>
                        <oa:CustomerParty>
                            <oa:PartyIDs>
                                <oa:ID>2</oa:ID>
                            </oa:PartyIDs>
                        </oa:CustomerParty>
                        <oa:SalesOrganizationIDs>
                            <oa:ID>10001</oa:ID>
                        </oa:SalesOrganizationIDs>
                    </oa:SalesOrderHeader>
                    <oa:SalesOrderLine>
                        <oa:Item>
                            <oa:SupplierItemID>
                               
<oa:ID>FULO-0101</oa:ID>
                            </oa:SupplierItemID>
                        </oa:Item>
                        <oa:Quantity
unitCode="C62">1</oa:Quantity>
                        <oa:ShipToParty>
                            <oa:Location>
                                <oa:Address>
                                    <oa:LineOne>234 Main
Street</oa:LineOne>
                                   
<oa:CityName>Toronto</oa:CityName>
                                    <oa:CountrySubDivisionCode 
name="state">ON</oa:CountrySubDivisionCode>
                                   
<oa:CountryCode>CA</oa:CountryCode>
                                   
<oa:PostalCode>M1M1M1</oa:PostalCode>
                                </oa:Address>
                            </oa:Location>
                        </oa:ShipToParty>
                    </oa:SalesOrderLine>
                </oa:SalesOrder>
            </wc:DataArea>
        </wc:PreprocessSalesOrder>
    </soapenv:Body>
</soapenv:Envelope>

Respuesta:


<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header/>
    <soapenv:Body>
        <oa:ShowSalesOrder releaseID="9.0" versionID="9.1" 
xmlns:oa="http://www.openapplications.org/oagis/9">
            <oa:ApplicationArea>
               
<oa:CreationDateTime>2005-12-15T16:14:43</oa:CreationDateTime>
               
<oa:BODID>2005-12-15T16:14:43[wcsadmin]</oa:BODID>
            </oa:ApplicationArea>
            <oa:DataArea>
                <oa:Show/>
                <oa:SalesOrder>
                    <oa:SalesOrderHeader>
                        <oa:DocumentID>
                            <oa:ID>24001</oa:ID>
                        </oa:DocumentID>
                        
<oa:Status>
                            <oa:Code>T</oa:Code>
                        </oa:Status>
                        <oa:CustomerParty>
                            <oa:PartyIDs>
                                <oa:ID>2</oa:ID>
                            </oa:PartyIDs>
                        </oa:CustomerParty>
                        <oa:TotalAmount 
currencyID="USD">359.99000</oa:TotalAmount>
                        <oa:PaymentTerm/>
                        <oa:DistributedCharge type="-6">
                            <oa:ID>1234</oa:ID>
                            <oa:Description/>
                            <oa:Amount
currencyID="USD">5.00</oa:Amount>
                        </oa:DistributedCharge>
                        <oa:DistributedCharge type="-2">
                            <oa:Amount
currencyID="USD">0</oa:Amount>
                        </oa:DistributedCharge>
                        <oa:SalesOrganizationIDs>
                            <oa:ID>10001</oa:ID>
                        </oa:SalesOrganizationIDs>
                    </oa:SalesOrderHeader>
                    <oa:SalesOrderLine>
                       
<oa:LineNumber>150001</oa:LineNumber>
                        <oa:Item>
                            <oa:ItemID>
                                <oa:ID>10002</oa:ID>
                            </oa:ItemID>
                            <oa:SupplierItemID>
                               
<oa:ID>FULO-0101</oa:ID>
                            </oa:SupplierItemID>
                            <oa:Specification>
                                <oa:Property>
                                    <oa:NameValue 
name="contractId">10001</oa:NameValue>
                                </oa:Property>
                                <oa:Property>
                                    <oa:NameValue 
name="offerId">10002</oa:NameValue>
                                </oa:Property>
                            </oa:Specification>
                        </oa:Item>
                        
<oa:Quantity unitCode="C62">1.0</oa:Quantity>
                        <oa:UnitPrice>
                            <oa:Amount
currencyID="USD">449.99</oa:Amount>
                           <oa:PerQuantity
unitCode="C62">1.0</oa:PerQuantity>
                        
</oa:UnitPrice>
                        <oa:TotalAmount
currencyID="USD">359.99</oa:TotalAmount>
                        <oa:ShipToParty>
                            <oa:Location>
                                <oa:Address>
                                    <oa:LineOne>234 Main
Street</oa:LineOne>
                                    <oa:LineTwo/>
                                    <oa:LineThree/>
                                   
<oa:CityName>Toronto</oa:CityName>
                                    <oa:CountrySubDivisionCode 
name="state">ON</oa:CountrySubDivisionCode>
                                   
<oa:CountryCode>CA</oa:CountryCode>
                                   
<oa:PostalCode>M1M1M1</oa:PostalCode>
                                
</oa:Address>
                            </oa:Location>
                        </oa:ShipToParty>
                        <oa:TransportationTerm>
                           
<oa:FreightTermCode>10001</oa:FreightTermCode>
                        </oa:TransportationTerm>
                        <oa:PaymentTerm>
                            <oa:Discount type="-1">
                                <oa:ID>10005</oa:ID>
                                <oa:Description>Save 20% on 
Furniture!</oa:Description>
                                <oa:Amount
currencyID="USD">90.0</oa:Amount>
                            </oa:Discount>
                            <oa:Discount type="-1">
                                <oa:ID>10008</oa:ID>
                                <oa:Description>Repeat
customers save $5.00 
USD</oa:Description>
                                <oa:Amount
currencyID="USD">5.0</oa:Amount>
                            </oa:Discount>
                        </oa:PaymentTerm>
                        <oa:DistributedCharge type="-6">
                            <oa:ID>1234</oa:ID>
                            <oa:Description/>
                            <oa:Amount
currencyID="USD">5.00000</oa:Amount>
                        </oa:DistributedCharge>
                        <oa:DistributedCharge type="-2">
                            <oa:Amount
currencyID="USD">0</oa:Amount>
                        </oa:DistributedCharge>
                       
<oa:DistributionCenterCode>10001</oa:DistributionCenterCode>
                    </oa:SalesOrderLine>
                </oa:SalesOrder>
            </oa:DataArea>
        </oa:ShowSalesOrder>
    </soapenv:Body>
</soapenv:Envelope>

WSDL

El archivo WSDL de este servicio se encuentra en el archivo JAR siguiente:

  • workspace_dir/WebSphereCommerceWebServices.jar

Bajo la vía de acceso siguiente:

  • META-INF/jaxrpc/WebSphereCommerce/WebSphereCommerce-OMS.wsdl