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* | Tipo | Se correlaciona con el siguiente parámetro de mandato | Descripción: | Obligatorio |
---|---|---|---|---|
DataArea/Process/ActionCriteria/ |
string | actionCode | El código de acción. Debe ser "Preprocess ". | Y |
DataArea/Order/OrderHeader |
long | orderId | HCL Commerce ID del pedido, si procede. | N |
DataArea/Order/OrderHeader |
string | externalOrderId |
ID externo del pedido. Puede ser cualquier serie. | N |
DataArea/Order/OrderHeader |
int | storeId | HCL Commerce ID de la tienda en la que se debe procesar el pedido. | Y |
DataArea/Order/OrderHeader/OrderReferences/ |
long | customerId | HCL Commerce ID de usuario del cliente que ha formulado el pedido. | Y |
DataArea/Order/OrderHeader/OrderPaymentInfo |
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] |
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] |
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/ |
string | currency_j | Moneda del precio unitario. Necesario si se especifica el precio unitario del producto. | N |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
double | adjustmentPercentageValue |
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
- ProcessOrder BOD 1 de ejemplo: validación y cálculo de precio de un pedido que se origina en HCL Commerce
- ProcessOrder BOD 2 de ejemplo: validación y cálculo de precio de un pedido que no se origina en HCL Commerce
- ProcessOrder BOD 3 de ejemplo: validación y cálculo de precio de un pedido con alteraciones de precio
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 |
long | HCL Commerce ID del pedido, si procede. |
DataArea/Order/OrderHeader/OrderIdentifier/ExternalOrderID |
string | ID externo del pedido si se especifica en la petición. |
DataArea/Order/OrderHeader/OrderIdentifier/StoreID |
int | HCL Commerce ID de tienda de la tienda en la que se ha procesado el pedido. |
DataArea/Order/OrderHeader/OrderReferences |
long | HCL Commerce ID de organización de la organización compradora. |
DataArea/Order/OrderHeader/OrderReferences |
string | Nombre distinguido de la organización compradora. |
DataArea/Order/OrderHeader/OrderReferences/CustomerIdentifier/UniqueID |
long | HCL Commerce ID de usuario del cliente que ha formulado el pedido. |
DataArea/Order/OrderHeader/OrderReferences |
string | Nombre distinguido del cliente que ha formulado el pedido. |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice |
decimal | Precio total del pedido antes de los ajustes, cargos de envío e impuestos. |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice/@currency |
string | Moneda del precio total de los productos. |
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment |
decimal | Total ajustes del pedido. |
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment/@currency |
string | Moneda de total ajustes. |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge |
decimal | Total de cargos de envío del pedido. |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge/@currency |
string | Moneda del total de cargos de envío. |
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax |
decimal | Total de impuestos sobre la venta del pedido. |
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax/@currency |
string | Moneda del total de impuestos sobre la venta. |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax |
decimal | Total de impuestos sobre el envío del pedido. |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax/@currency |
string | Moneda del total de impuestos sobre el envío. |
DataArea/Order/OrderHeader/OrderPaymentInfo/PromotionCode[i] |
string | Códigos de promoción que se aplicaron al pedido. |
DataArea/Order/OrderItem[j]/OrderItemIdentifier/OrderItemID |
long | ID de HCL Commerce del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemIdentifier/ExternalOrderItemID |
string | ID externo del artículo de pedido j-th si se especifica en la petición. |
DataArea/Order/OrderItem[j]/ProductIdentifier/CatalogEntryID |
long | ID 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 |
string | SKU del producto asociado con artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/Quantity |
double | Valor de cantidad del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/Quantity/@uom |
string | Unidad de medida del valor de cantidad, por ejemplo, "C62" para sin unidad. Consulte Unidades de cantidad. |
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Price |
decimal | Precio unitario del producto asociado con el artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemCharges |
string | Moneda del precio unitario. |
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Quantity |
double | Valor de cantidad que representa una sola unidad del precio unitario. |
DataArea/Order/OrderItem[j]/OrderItemCharges |
string | Unidad de medida del valor de cantidad. |
DataArea/Order/OrderItem[j]/OrderItemCharges/PriceOverride |
boolean | True, 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 |
boolean | True, si el artículo de pedido j-th es un regalo; de lo contrario, false. |
DataArea/Order/OrderItem[j]/OrderItemCharges/OrderItemPrice |
decimal | Precio total del artículo de pedido j-th antes de los ajustes, cargos de envío e impuestos. |
DataArea/Order/OrderItem[j]/OrderItemCharges |
string | Moneda del precio de artículo de pedido. |
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Type |
Serie | Tipo 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 |
Serie | Có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 |
Serie | Descripción externa del ajuste k-th para el artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k] |
int | Idioma de la descripción. |
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Amount |
decimal | Importe 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] |
string | Moneda del importe de ajuste. |
DataArea/Order/OrderItem[j]/OrderItemCharges |
string | Nivel 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 |
decimal | Total de cargos de envío del pedido. |
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingCharge/@currency |
string | Moneda del total de cargos de envío. |
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax |
decimal | Total de impuestos sobre la venta del pedido. |
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax/@currency |
string | Moneda del total de impuestos sobre la venta. |
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax |
decimal | Total de impuestos sobre el envío del pedido. |
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax/@currency |
string | Moneda del total de impuestos sobre el envío. |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Línea 1 de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Línea 2 de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Línea 3 de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Campo Ciudad de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Campo Estado/provincia de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Campo País de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
string | Campo Código postal de la dirección de envío del artículo de pedido j-th . |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingModeID |
int | 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. |
DataArea/Order/OrderItem[j]/OrderItemShippingInfo |
long | ID 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 |
string | El 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
- AcknowledgeOrder BOD 1 de ejemplo: respuesta del cálculo de precio y validación satisfactoria de un pedido que se origina en HCL Commerce
- AcknowledgeOrder BOD 2 de ejemplo: validación y cálculo de precio de un pedido que no se origina en HCL Commerce
- AcknowledgeOrder BOD 3 de ejemplo: respuesta del cálculo de precio y validación satisfactorio de un pedido con alteraciones de precio
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* | Tipo | Descripción: |
---|---|---|
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Code |
string | El identificador de correlación. Se puede utilizar para identificar de forma exclusiva una excepción en los registros de servidor. |
DataArea/Acknowledge/ResponseCriteria |
string | El 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 |
string | El mensaje de excepción. |
* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.
Ejemplos
- AcknowledgeOrder BOD 4 de ejemplo: respuesta de excepción cuando falta un parámetro necesario
- AcknowledgeOrder BOD 5 de ejemplo: respuesta de excepción cuando la validación de titularidad de producto ha fallado