Zum Hauptinhalt springen
Alle KollektionenREST-API-DokumentationErweiterte Befehle
Bestellung von Waren in der eingegangenen Bestellung
Bestellung von Waren in der eingegangenen Bestellung

Erstellen eines Auftrags, der aus einem über REST API empfangenen Auftrag ausgegeben wurde

Petr Pech avatar
Verfasst von Petr Pech
Vor über 3 Jahren aktualisiert

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."
    }
}
Hat dies deine Frage beantwortet?