Servicio de preproceso de pedidos

El servicio de preproceso de pedidos es un servicio web de entrada responsable de validar un pedido externo (por ejemplo, un pedido que se ha transferido a un sistema de gestión de pedidos externo) en contratos de HCL Commerce y de calcular los precios, descuentos, cargos de envío, impuestos, etc, utilizando los valores de HCL Commerce. Este servicio web de entrada habitualmente lo invoca un sistema interno en soluciones integradas cuando el sistema externo es responsable del proceso de pedidos pero utiliza HCL Commerce para la validación de contratos, el cálculo de precios, de descuentos, de cargos de envío, de impuestos, etc.

Cuándo utilizar esta interfaz

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

Si está trabajando en un proyecto o tarea de desarrollo existente, puede que éste utilice en su lugar la interfaz de Preproceso de pedidos.

Casos de uso típico

  • HCL Commerce ha capturado un pedido y se ha transferido a un sistema de gestión de pedidos externo para su proceso y despacho. HCL Commerce ya había validado y calculado el precio del pedido antes de la transferencia, pero una petición de cliente después de la transferencia lo ha modificado y es necesario validarlo y calcular su precio de nuevo.
  • Un canal no gestionado por HCL Commerce captura un pedido, pero necesita a HCL Commerce para la validación del contrato, cálculo de precio, de descuento, de cargos de envío, de impuestos, etc.

URL de punto final y operación

El URL de punto final predeterminado de este servicio web de entrada es https://hostname:8000/webapp/wcs/services/OrderServices. La operación de este servicio web de entrada es ProcessOrder, con el BOD ProcessOrder como petición y BOD AcknowledgeOrder como respuesta.

Solicitud

Las peticiones de este servicio web de entrada están en formato de BOD ProcessOrder. Se correlacionarán con el mandato SalesOrderPreprocess y deben contener la siguiente información:

XPath*TipoSe correlaciona con el siguiente parámetro de mandatoDescripción: Obligatorio
DataArea/Process/ActionCriteria/

ActionExpression/@actionCode

string actionCode El código de acción. Debe ser "Preprocess".Y
DataArea/Order/OrderHeader

/OrderIdentifier/OrderID

long orderId HCL Commerce ID del pedido, si procede.N
DataArea/Order/OrderHeader

/OrderIdentifier/

ExternalOrderID

string externalOrderId ID externo del pedido. Puede ser cualquier serie.N
DataArea/Order/OrderHeader

/OrderIdentifier/StoreID

int storeId HCL Commerce ID de la tienda en la que se debe procesar el pedido.Y
DataArea/Order/OrderHeader/OrderReferences/

CustomerIdentifier/UniqueID

long customerId HCL Commerce ID de usuario del cliente que ha formulado el pedido.Y
DataArea/Order/OrderHeader/OrderPaymentInfo

/PromotionCode[i]

string promotionCode_i Códigos de promoción que se deben aplicar al pedido. N
DataArea/Order/OrderItem[j]/OrderItemIdentifier/OrderItemID long orderItemId_j ID de HCL Commerce del artículo de pedido j-th, si aplica. N
DataArea/Order/OrderItem[j]/OrderItemIdentifier/ExternalOrderItemID string field2_j ID externo del artículo de pedido j-th. Para correlacionar artículos de pedido en los BOD de petición y respuesta.N
DataArea/Order/OrderItem[j]/ProductIdentifier/CatalogEntryID long catEntryId_j ID de entrada de catálogo de HCL Commerce del producto asociado con el artículo de pedido número j-th. Es necesario si el artículo de pedido es nuevo y no se ha especificado el código de artículo del producto.N
DataArea/Order/OrderItem[j]

/ProductIdentifier/SKU

string partNumber_j SKU del producto asociado con artículo de pedido j-th. Es necesario si el artículo de pedido es nuevo y no se ha especificado el ID de entrada de catálogo de HCL Commerce del producto.N
DataArea/Order/OrderItem[j]/Quantity double quantity_j Valor de cantidad del artículo de pedido j-th. Es necesario si el artículo de pedido es nuevo.N
DataArea/Order/OrderItem[j]

/Quantity/@uom

string UOM_j Unidad de medida del valor de cantidad, por ejemplo, "C62" para sin unidad. Consulte Unidades de cantidad.N
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Price decimal price_j Precio unitario del producto asociado con el artículo de pedido j-th. Si no se especifica, se calculará utilizando valores de HCL Commerce. N
DataArea/Order/OrderItem[j]/OrderItemCharges/

UnitPrice/Price/@currency

string currency_j Moneda del precio unitario. Necesario si se especifica el precio unitario del producto.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[1]

string address1_j Línea 1 de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[2]

string address2_j Línea 2 de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[3]

string address3_j Línea 3 de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/City

string city_j Campo Ciudad de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/StateOrProvinceName

string state_j Campo Estado/provincia de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/Country

string country_j Campo País de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/PostalCode

string zipCode_j Campo Código postal de la dirección de envío del artículo de pedido j-th.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingModeID int shipModeId_j ID de HCL Commerce de la modalidad de envío asociada al artículo de pedido j-th. Si no se especifica, por omisión toma el valor de la modalidad de envío por omisión de la tienda.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargePolicyID

long shipChargTypeId_j ID de HCL Commerce de la política de cargos de envío asociada al artículo de pedido j-th, si procede.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingCarrierAccountNumber

string shipCarrAccntNum_j El número de cuenta de la empresa de transportes de la modalidad de envío, si procede. N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargeAdjustmentPercentage

double adjustmentPercentageValue

_j

Porcentaje de ajustes de los cargos de envío, si procede. N

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Respuesta

Las respuestas de este servicio web de entrada están en formato de BOD AcknowledgeOrder. Incluirán la siguiente información:

XPath*Tipo Descripción:
DataArea/Order/OrderHeader/OrderIdentifier/OrderID longHCL Commerce ID del pedido, si procede.
DataArea/Order/OrderHeader/OrderIdentifier/ExternalOrderID stringID externo del pedido si se especifica en la petición.
DataArea/Order/OrderHeader/OrderIdentifier/StoreID intHCL Commerce ID de tienda de la tienda en la que se ha procesado el pedido.
DataArea/Order/OrderHeader/OrderReferences

/BuyerOrganizationIdentifier/UniqueID

longHCL Commerce ID de organización de la organización compradora.
DataArea/Order/OrderHeader/OrderReferences

/BuyerOrganizationIdentifier/DistinguishedName

stringNombre distinguido de la organización compradora.
DataArea/Order/OrderHeader/OrderReferences/CustomerIdentifier/UniqueID longHCL Commerce ID de usuario del cliente que ha formulado el pedido.
DataArea/Order/OrderHeader/OrderReferences

/CustomerIdentifier/DistinguishedName

stringNombre distinguido del cliente que ha formulado el pedido.
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice decimalPrecio total del pedido antes de los ajustes, cargos de envío e impuestos.
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice/@currency stringMoneda del precio total de los productos.
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment decimalTotal ajustes del pedido.
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment/@currency stringMoneda de total ajustes.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge decimalTotal de cargos de envío del pedido.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge/@currency stringMoneda del total de cargos de envío.
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax decimalTotal de impuestos sobre la venta del pedido.
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax/@currency stringMoneda del total de impuestos sobre la venta.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax decimalTotal de impuestos sobre el envío del pedido.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax/@currency stringMoneda del total de impuestos sobre el envío.
DataArea/Order/OrderHeader/OrderPaymentInfo/PromotionCode[i] stringCódigos de promoción que se aplicaron al pedido.
DataArea/Order/OrderItem[j]/OrderItemIdentifier/OrderItemID longID de HCL Commerce del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemIdentifier/ExternalOrderItemID stringID externo del artículo de pedido j-th si se especifica en la petición.
DataArea/Order/OrderItem[j]/ProductIdentifier/CatalogEntryID longID de entrada de catálogo de HCL Commerce del producto asociado con el artículo de pedido j-th.
DataArea/Order/OrderItem[j]/ProductIdentifier/SKU stringSKU del producto asociado con artículo de pedido j-th.
DataArea/Order/OrderItem[j]/Quantity doubleValor de cantidad del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/Quantity/@uom stringUnidad de medida del valor de cantidad, por ejemplo, "C62" para sin unidad. Consulte Unidades de cantidad.
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Price decimalPrecio unitario del producto asociado con el artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemCharges

/UnitPrice/Price/@currency

stringMoneda del precio unitario.
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Quantity doubleValor de cantidad que representa una sola unidad del precio unitario.
DataArea/Order/OrderItem[j]/OrderItemCharges

/UnitPrice/Quantity/@uom

stringUnidad de medida del valor de cantidad.
DataArea/Order/OrderItem[j]/OrderItemCharges/PriceOverride booleanTrue, si el precio unitario del artículo de pedido j-th no se calcula utilizando los valores de HCL Commerce; de lo contrario, false.
DataArea/Order/OrderItem[j]/OrderItemCharges/FreeGift booleanTrue, si el artículo de pedido j-th es un regalo; de lo contrario, false.
DataArea/Order/OrderItem[j]/OrderItemCharges/OrderItemPrice decimalPrecio total del artículo de pedido j-th antes de los ajustes, cargos de envío e impuestos.
DataArea/Order/OrderItem[j]/OrderItemCharges

/OrderItemPrice/@currency

stringMoneda del precio de artículo de pedido.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Type SerieTipo de ajuste del ajuste k-th para el artículo de pedido j-th, por ejemplo, "Cupón", "Descuento", "Recargo".
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Code SerieCódigo de ajuste del ajuste k-th al artículo de pedido j-th. Corresponde al nombre interno del código cupón subyacente, de la promoción, del código de recargo, etc. en HCL Commerce.
DataArea/Order/OrderItem[j]/OrderItemCharges

/Adjustment[k]/Description

SerieDescripción externa del ajuste k-th para el artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]

/Description/@languageID

intIdioma de la descripción.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Amount decimalImporte de ajuste del ajuste k-th al artículo de pedido j-th. Positivo para un cargo, negativo para un descuento.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]

/Amount/@currency

stringMoneda del importe de ajuste.
DataArea/Order/OrderItem[j]/OrderItemCharges

/Adjustment[k]/DisplayLevel

stringNivel de visualización del ajuste k-th para el artículo de pedido j-th. "Order" para un ajuste de nivel de pedido, "OrderItem" para un ajuste de nivel de artículo de pedido.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingCharge decimalTotal de cargos de envío del pedido.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingCharge/@currency stringMoneda del total de cargos de envío.
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax decimalTotal de impuestos sobre la venta del pedido.
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax/@currency stringMoneda del total de impuestos sobre la venta.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax decimalTotal de impuestos sobre el envío del pedido.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax/@currency stringMoneda del total de impuestos sobre el envío.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[1]

stringLínea 1 de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[2]

stringLínea 2 de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[3]

stringLínea 3 de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/City

stringCampo Ciudad de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/StateOrProvinceName

stringCampo Estado/provincia de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/Country

stringCampo País de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/PostalCode

stringCampo Código postal de la dirección de envío del artículo de pedido j-th.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingModeID intID de HCL Commerce de la modalidad de envío asociada al artículo de pedido j-th. Si no se especifica, por omisión toma el valor de la modalidad de envío por omisión de la tienda.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargePolicyID

longID de HCL Commerce de la política de cargos de envío asociada al artículo de pedido j-th, si procede.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingCarrierAccountNumber

stringEl número de cuenta de la empresa de transportes de la modalidad de envío, si procede.

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Excepciones

Todas las excepciones se devolverán en formato de BOD AcknowledgeOrder con un elemento ResponseCriteria bajo del verbo Acknowledge. Incluirán la siguiente información:

XPath*TipoDescripción:
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Code stringEl identificador de correlación. Se puede utilizar para identificar de forma exclusiva una excepción en los registros de servidor.
DataArea/Acknowledge/ResponseCriteria

/ChangeStatus/ReasonCode

stringEl código de razón, que es un HCL Commercecódigo de error del sistema, si aplica, o una clave del mensaje EC más un código de error secundario opcional si el código de error del sistema HCL Commerce no está disponible (generalmente en el caso de excepciones de aplicación).
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Reason stringEl mensaje de excepción.

* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.

Ejemplos

Nota: Los atributos releaseID y versionID deben estar en blanco al llamar al servicio e ignorar los atributos devueltos en el BOD de respuesta.