Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
typeflat

Die Anfrage ist ein Element The request comprises a vco:UpdateOrderRequest, die Antwort ist ein Element element, the response comprises an vco:OrderResponse element. Das Element The vco:UpdateOrderRequest unterscheidet sich vom Element element differs from the vco:CreateOrderRequest nur durch den Namenelement only in terms of name.

...

Rule: UpdateOrderRequest

Ein veloconnect-konformer Client vehält sich wie folgt: Zu jeder Zeile der normalisierten Bestellung, die geändert werden soll, wird ein Element OrderRequestLine gemäß Regel: OrderRequestLine(Client)erzeugt.

Regel: UpdateOrder

Ein veloconnect-konformer Server reagiert auf ein Anfrage UpdateOrderRequest wie folgt:

  1. Zur Anfrage wird ermittelt, ob hierzu eine Transaktionsinstanz existiert. Falls keine existiert wird der ResponseCode 420 zurückgeliefert. Falls eine solche existiert und sich diese nicht im Zustand 2 befindet, wird die Bearbeitung der Anfrage abgebrochen und der ResponseCode 430 zurückgeliefert.

  2. Mit jedem Element OrderRequestLine wird gemäß der Regel OrderRequestLine verfahren. Hierbei werden im Transaktionskontext Elemente OrderResponseLine angelegt bzw. geändert, sowie eventuell Elemente RequestReplacement erzeugt.

  3. Aus dem Transaktionskontext werden die Elemente OrderResponseLine in die Antwort eingefügt, sowie die im vorherigen Schritt erzeugten Elemente ReqestReplacement. Die Antwort wird mit ResponseCode 200 an den Client ausgeliefert. Die Transaktionsinstanz bleibt im Zustand 2.

...

Zur Verdeutlichung: Der Client übermittelt nur die Bestellzeilen, die geändert werden sollen, der Server liefert alle Zeilen der Bestellung zurück, die im Transaktionskontext gespeichert sind.

...

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:

  1. 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.

  2. 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.

  3. 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.

Info

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.