Die Bestellung von Positionen aus dem empfangenen Auftrag durch den ausgegebenen Auftrag ist als virtueller Datensatz /Auftrag realisiert. Sie hat zwei Unterressourcen:
/item
erstellt ein OBV eines bestimmten Typs aus ausgewählten OBP-Positionen, bestellt alle Positionen bei einem bestimmten Lieferanten
es wird durch POST- oder PUT-Methoden aufgerufen und erfordert die Eingabe:
typeDokl - Objekt-ID oder Code aus dem Register /type-orders-issued
supplierCompany - ID oder Code des Objekts aus dem Register /Adresse
PositionenObp
id des Objekts aus den Datensätzen /order-accepted-item
zu bestellendeMenge
/Bulk
erzeugt eine OBV aus allen OBP-Positionen, die den eingestellten Lieferanten haben
wird durch POST-, PUT- oder GET-Methoden aufgerufen und erfordert nur typeDocument (entweder im Abfragekörper oder per Abfrageparameter).
Es handelt sich also um Endpunkte:
/order/item - zum Erstellen von Bestellungen, die für die angegebenen Lieferanten und OBP-Positionen mit der bestellten Menge ausgegeben werden
/objednani/bulk - für die automatische Erstellung von OBV aus allen OBP-Positionen, wenn diese einen festgelegten Hauptlieferanten haben
Beispiele:
1. ressourcenabfrage/auftrag/position
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/polozek' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version": "1."0', "orderPositions":{"typeDoc": "code:OBV", "supplierCompany": "code:AAA", "positionsObp":[{"id":3704, "quantity":2},{"id":3706, "quantity":3}]}}}' -u admin:adminadmin | jq
sendet Daten im Format
null
und erhält eine 200 OK-Antwort mit der ID der OBV, die erstellt wurde
{ "winstrom": { "@version": "1.0", "success": true, "stats": { "created": 1, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1638 } ] } }
oder 400 Schlechte Anfrage
{ "winstrom": { "@version": 1, "success": false, "message": "Es wurden keine zur Bestellung geeigneten Artikel gefunden." } }
wenn keiner der eingereichten Artikel bestellt werden kann.
2. Weitere Bestellungen unter Ressource /order/items
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/polozek' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version": "1."0", "orderPositions":[{"doctype": "code:OBV", "vendorFirm": "code:AAA", "positionsObp":[{"id":3709, "quantity":2},{"id":3711, "quantity":3}]},{"typDokl": "code:OBV", "dodavatelFirma": "code:ABC", "polozkyObp":[{"id":3715, "mnozstvi":4},{"id":3717, "mnozstvi":5}]}]}}' -u admin:adminadmin | jq
sendet Daten im Format
null
null
3. Ressource abfragen /Bestellung/Bulk
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/hromadne' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version": "1.0", "objednaniHromadne":{"typeDoc": "code:OBV"}}}' -u admin:adminadmin | jq
sendet Daten im Format
{ "winstrom": { "@version": "1.0", "objednaniHromadne": { "typDoc": "code:OBV" } } }
oder in ähnlicher Weise GET
curl -k -X GET 'https://localhost:5434/v2/c/fcn_obv/objednani/hromadne?typDokl=code%3AOBV' -H 'Accept: application/json' -u admin:adminadmin
mit Abfrageparameter typeDocl=code:OBV erhält als Antwort 200 OK eine Liste der OBV-Kennungen, die erstellt wurden
{ "winstrom": { "@version": "1.0", "success": true, "stats": { "created": 2, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1639 }, { "id": 1640 } ] } }
oder 400 Schlechte Anfrage
{ "winstrom": { "@version": 1, "success": false, "message": "Es wurden keine zur Bestellung geeigneten Artikel gefunden." } }