7.3. Operation: FinishOrder
Die Anfrage ist ein Element vco:FinishOrderRequest,
die Antwort ist ein Element vco:FinalOrderResponse.
Das Element vco:FinishOrderRequest ist vom Typ TransactionRequestType,
das Element vco:FinalOrderResponse erweitert den Typ
TransactionResponseType um das Element vco:OrderHeader, sowie um das
Element vco:OrderResponseLine, welches beliebig oft vorkommen kann. Das
Element OrderHeader hat zwei Kind-Elemente: vco:OrderID und
cbc:IssueDate.
Regel:
FinishOrder. Ein veloconnect-konformer Server reagiert auf eine
Anfrage FinishOrderRequest wie folgt:
- 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.
- Die im
Transaktionskontext gespeicherte Bestellung wird an das
Warenwirtschaftssystem des Verkäufers weitergeleitet und dort
wird eine Bestellung ausgelöst. Sofern das Warenwirtschaftssystem
der Bestellung eine Kennzeichnung gibt, die eine Weiterverfolgung
der Bestellung erlaubt, und der Server diese Kennzeichnung in
Erfahrung bringen kann, ist diese als vco:OrderID im Element
vco:OrderHeader zu verwenden. Ferner ist das aktuelle Datum als
Element cbc:IssueDate im Element vco:OrderHeader einzusetzen.
- Aus dem
Transaktionskontext werden die Elemente OrderResponseLine in die
Antwort eingefügt. Die Antwort wird mit ResponseCode 200 an den
Client ausgeliefert. Die Transaktionsinstanz wechselt in den
Zustand 100 (Endzustand)