Servicio de actualización de estado de pedido
El servicio de actualización de estado de pedido es un servicio web de entrada responsable de actualizar el estado de un pedido en HCL Commerce cuando una tienda se configura para que utilice un sistema externo para proceso y despacho de pedidos. Este servicio web de entrada habitualmente lo invoca el sistema externo para actualizar el estado de un pedido transferido en HCL Commerce a efectos de visualización cuando el estado del pedido ha cambiado en el sistema externo.
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. El estado del pedido se cambió en el OMS externo. Se debe actualizar el estado del mismo pedido en HCL Commerce para que el comprador pueda ver este cambio al visualizar el estado del pedido a través de HCL Commerce.
URL de punto final y operación
El URL de punto final predeterminado de este servicio web de entrada es https://host_name:8000/webapp/wcs/services/OrderServices. La operación del servicio es SyncOrder
, con BOD SyncOrder
como petición y BOD ConfirmBOD
como respuesta.
SyncOrder
se utiliza para actualizar la columna de estado en las tablas de bases de datos ORDERS y ORDERITEMS. Si tiene previsto utilizar SyncOrder
, debe establecer la etiqueta de propiedad syncWCSOrderStatus
en true
en el archivo de configuración de los componentes del pedido wc-admin-component.xml
. Para establecer esta etiqueta, vaya al directorio workspace_dir/WC/xml/config/com.ibm.commerce.order y abra el archivo wc-admin-component.xml
para editarlo. Añada el siguiente grupo de configuración con la etiqueta de propiedad syncWCSOrderStatus
establecida en true
:<_config:configgrouping name="SyncOrder">
<_config:property name="syncWCSOrderStatus" value="true"/>
</_config:configgrouping>
Solicitud
Las peticiones de este servicio web de entrada están en formato de BOD SyncOrder
. Se correlacionarán con el mandato OrderStatus
y contienen la siguiente información:
XPath* | Escriba | Se correlaciona con | Descripción: | Obligatorio |
---|---|---|---|---|
ApplicationArea/BusinessContext/ContextData |
UserData | - | El área de contexto empresarial de la petición. Se utiliza normalmente para proporcionar datos de contexto de negocio, como el ID de tienda y el ID de idioma. | - |
ApplicationArea/UserArea/SequenceNumber |
string | sequenceNumber | El número de secuencia de la petición de actualización del estado de pedido. Se utiliza para determinar la secuencia de las peticiones de actualización de estado de pedido para el mismo pedido en los que HCL Commerce los pueda recibir fuera de secuencia. | N |
ApplicationArea/CreationDateTime |
dateTime | lastUpdateTime | La fecha de creación de la petición de actualización del estado de pedido. Se utiliza para determinar la secuencia de las peticiones de actualización de estado de pedido para el mismo pedido en los que HCL Commerce los pueda recibir fuera de secuencia y que no se proporcionen los números de secuencia de las peticiones. | N |
DataArea/Sync/ActionCriteria/ActionExpression/@actionCode |
string | actionCode |
El código de acción. Debe ser "Update " |
Y |
DataArea/Order/OrderHeader/OrderIdentifier/OrderID |
long | orderId |
HCL Commerce ID del pedido. | Y |
DataArea/Order/OrderHeader/OrderIdentifier/ExternalOrderID |
string | merchantOrderNumber |
ID externo del pedido. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice/@currency |
string | currency |
Moneda de los cargos del pedido. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice |
decimal | priceTotal |
Precio total de los productos del pedido. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge |
decimal | shippingTotal | Total de cargos de envío del pedido. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax |
decimal | taxTotal | Total de impuestos sobre la venta del pedido. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax |
decimal | shippingTaxTotal | Total de impuestos sobre el envío del pedido. | N |
DataArea/Order/OrderHeader/OrderShippingInfo/RequestedShipDateTime |
dateTime | requestShipDateTime | Fecha de envío solicitada del pedido. | N |
DataArea/Order/OrderHeader/OrderShippingInfo/UserData/UserDataField[@name='shipCondition'] |
string | shipCondition | Código que indica si se acepta el envío parcial del pedido. Los valores válidos son:
|
N |
DataArea/Order/OrderHeader/OrderShippingInfo/UserData/UserDataField[@name='shippingModeFlag'] |
string | shippingModeFlag | Código que indica el nivel para la dirección de envío y la modalidad de envío. Los valores válidos son:
|
N |
DataArea/Order/OrderHeader/OrderStatus/Status |
string | orderStatus | Estado del pedido. | N |
DataArea/Order/OrderHeader/ CustomerComments |
string | comment | Comentarios del cliente en relación al pedido. | N |
DataArea/Order/OrderHeader/ PlacedDateTime |
dateTime | placeDateTime | Fecha en que se ha formalizado el pedido. | N |
DataArea/Order/OrderItem[i]/OrderItemIdentifier/OrderItemID |
long | orderItemId_i |
ID del artículo de pedido HCL Commerce del artículo de pedido i-th , si aplica. |
Y |
DataArea/Order/OrderItem[i]/OrderItemIdentifier/ExternalOrderItemID |
string | merchantItemNumber_i | ID externo del pedido del artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/ProductIdentifier/SKU |
string | partNumber_i |
SKU del producto asociado con artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/Quantity |
double | quantityRequested_i |
Valor de cantidad del artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/UnitPrice/Price |
decimal | unitPrice_i |
Precio unitario del producto asociado con el artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/UnitPrice/Price/@currency |
string | currency_i |
Moneda de los cargos por artículos del pedido. | N |
DataArea/Order/OrderItem[i]/OrderItemCharges/ OrderItemPrice |
decimal | priceTotal_i | Precio de artículo de pedido del i-th artículo de pedido. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/ShippingCharge |
decimal | shippingTotal_i | Cargo de envío del artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/SalesTax |
decimal | taxTotal_i | Impuestos sobre la venta del i-th artículo de pedido. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/ShippingTax |
decimal | shippingTaxTotal_i | Cargo de envío del artículo de pedido i-th . |
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/RequestedShipDateTime |
dateTime | requestShipDateTime | Fecha de envío solicitada del i-th artículo de pedido. |
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/UserData/UserDataField[@name='shipCondition'] |
string | shipCondition_i | Código que indica si se acepta el envío parcial del pedido. Los valores válidos son:
|
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/UserData/UserDataField[@name='shippingModeFlag'] |
string | shippingModeFlag_i | Código que indica el nivel para la dirección de envío y la modalidad de envío. Los valores válidos son:
|
N |
* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.
Respuesta
Las respuestas de este servicio web de entrada están en formato de BOD ConfirmBOD
. Contienen la siguiente información:
XPath* | Tipo | Descripción: |
---|---|---|
DataArea/BOD/BODSuccessMessage |
- | Este elemento está presente si la petición ha sido satisfactoria. |
* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.
Ejemplos
- ConfirmBOD BOD 1 de ejemplo: respuesta de la actualización satisfactoria del estado del pedido
Excepciones
Todas las excepciones están en formato de BOD ConfirmBOD
con un elemento ResponseCriteria
debajo del verbo Confirm
. Contienen la siguiente información:
XPath* | Tipo | Descripción: |
---|---|---|
DataArea/Confirm/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/Confirm/ResponseCriteria/ChangeStatus/ReasonCode |
string | El código de razón. El código 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. Este código de error del sistema no puede estar disponible en el caso de excepciones de aplicación. |
DataArea/Confirm/ResponseCriteria/ChangeStatus/Reason |
string | El mensaje de excepción. |
* Los prefijos de espacios de nombres se ignoran para una mayor sencillez.
Ejemplos
- ConfirmBOD BOD 4 de ejemplo: respuesta de excepción cuando falta un parámetro necesario.