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