Operation: UpdateOrder
The request comprises a vco:UpdateOrderRequest element, the response comprises an vco:OrderResponse element. The vco:UpdateOrderRequest element differs from the vco:CreateOrderRequest element only in terms of name.
Rule: UpdateOrderRequest
A Veloconnect-compliant client behaves as follows: For each line of the normalized order to be modified, an OrderRequestLine element is created according to Rule: OrderRequestLine(client).
Rule: UpdateOrder
A Veloconnect-compliant server responds to an UpdateOrderRequest as follows:
Determined as part of the request is whether a related transaction instance exists. If not, then ResponseCode 420 is returned. On existence of a transaction instance not in state 2, processing of the request is aborted, and ResponseCode 430 is returned.
Each OrderRequestLine element is handled as per the OrderRequestLine rule. In this case, OrderResponseLine elements are created or changed in the transaction context, and RequestReplacement elements are created where necessary.
Inserted into the response are the OrderResponseLine elements from the transaction context, as well as the RequestReplacement elements created in the previous step. The response is delivered with ResponseCode 200 to the client. The transaction instance remains in state 2.
For clarification: The client submits only the order lines to be changed; the server returns all order lines stored in the transaction context.
Order lines in whose case the quantity has been changed to 0 must be removed from the order.