Přeskočit na hlavní obsah
Všechny sbírkyDokumentace REST APIPokročilé příkazy
Objednání zboží v přijaté objednávce
Objednání zboží v přijaté objednávce

Tvorba objednávky vydané z objednávky přijaté přes REST API

Petr Pech avatar
Autor: Petr Pech
Aktualizováno před více než 3 lety

Objednání položek z přijaté objednávky objednávkou vydanou je implementováno jako virtuální evidence /objednani. Ta má dva subresource:

  • /polozek

    • vytvoří OBV daného typu z vybraných položek OBP, všechny položky objedná od daného dodavatele

    • volá se metodami POST nebo PUT a vyžaduje zadat:

      • typDokl - id nebo kód objektu z evidence /typ-objednavky-vydane

      • dodavatelFirma - id nebo kód objektu z evidence /adresar

      • polozkyObp

        • id objektů z evidence /objednavka-prijata-polozka

        • mnozstvi které se má objednat

  • /hromadne

    • vytvoří OBV ze všech položek OBP, které mají nastaveného dodavatele

    • volá se metodami POST, PUT nebo GET a vyžaduje zadat pouze typDokl (buď v těle dotazu, nebo query parametrem).s

Jedná se tedy o endpoints:

  • /objednani/polozek – pro vytvoření objednávek vydaných pro zadané dodavatele a položky OBP s uvedením objednávaného množství

  • /objednani/hromadne – pro automatické vytvoření OBV ze všech položek OBP, pokud mají nastaveného primárního dodavatele

Příklady:

1. Dotaz na resource /objednani/polozek

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","objednaniPolozek":{"typDokl":"code:OBV","dodavatelFirma":"code:AAA","polozkyObp":[{"id":3704,"mnozstvi":2},{"id":3706,"mnozstvi":3}]}}}' -u admin:adminadmin | jq

posílá data ve formátu

{
    "winstrom": {
        "@version": "1.0",
        "objednaniPolozek": {
            "typDokl": "code:OBV",
            "dodavatelFirma": "code:AAA",
            "polozkyObp": [
                {
                    "id": 3704,
                    "mnozstvi": 2
                },
                {
                    "id": 3706,
                    "mnozstvi": 3
                }
            ]
        }
    }
}

a dostane odpověď 200 OK s id OBV, která byla vytvořena

{
    "winstrom": {
        "@version": "1.0",
        "success": true,
        "stats": {
            "created": 1,
            "updated": 0,
            "deleted": 0,
            "skipped": 0,
            "failed": 0
        },
        "results": [
            {
                "id": 1638
            }
        ]
    }
}

nebo 400 Bad Request

{
    "winstrom": {
        "@version": 1,
        "success": false,
        "message": "Nebyly nalezeny \u017e\u00e1dn\u00e9 polo\u017eky vhodn\u00e9 pro objedn\u00e1n\u00ed."
    }
}

pokud nelze žádné z předaných položek objednat.

2. Více objednání na resource /objednani/polozek

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","objednaniPolozek":[{"typDokl":"code:OBV","dodavatelFirma":"code:AAA","polozkyObp":[{"id":3709,"mnozstvi":2},{"id":3711,"mnozstvi":3}]},{"typDokl":"code:OBV","dodavatelFirma":"code:ABC","polozkyObp":[{"id":3715,"mnozstvi":4},{"id":3717,"mnozstvi":5}]}]}}' -u admin:adminadmin | jq

posílá data ve formátu

{"winstrom":{
"@version":"1.0",
"objednaniPolozek":[{
"typDokl":"code:OBV",
"dodavatelFirma":"code:AAA",
"polozkyObp":[{
"id":3709,
"mnozstvi":2},
{"id":3711,
"mnozstvi":3
}]},
{"typDokl":"code:OBV",
"dodavatelFirma":"code:ABC",
"polozkyObp":[{
"id":3715,
"mnozstvi":4},
{"id":3717,
"mnozstvi":5
}]}
]}
}
{
    "winstrom": {
        "@version": "1.0",
        "success": true,
        "stats": {
            "created": 2,
            "updated": 0,
            "deleted": 0,
            "skipped": 0,
            "failed": 0
        },
        "results": [
            {
                "id": 1663
            },
            {
                "id": 1664
            }
        ]
    }
}

3. Dotaz na resource /objednani/hromadne

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":{"typDokl":"code:OBV"}}}' -u admin:adminadmin | jq


posílá data ve formátu

{
    "winstrom": {
        "@version": "1.0",
        "objednaniHromadne": {
            "typDokl": "code:OBV"
        }
    }
}

nebo obdobně GET

curl -k -X GET 'https://localhost:5434/v2/c/fcn_obv/objednani/hromadne?typDokl=code%3AOBV' -H 'Accept: application/json' -u admin:adminadmin

s query parametrem typDokl=code:OBV dostane v odpovědi 200 OK seznam ID OBV, které byly vytvořeny

{
    "winstrom": {
        "@version": "1.0",
        "success": true,
        "stats": {
            "created": 2,
            "updated": 0,
            "deleted": 0,
            "skipped": 0,
            "failed": 0
        },
        "results": [
            {
                "id": 1639
            },
            {
                "id": 1640
            }
        ]
    }
}

nebo 400 Bad Request

{
    "winstrom": {
        "@version": 1,
        "success": false,
        "message": "Nebyly nalezeny \u017e\u00e1dn\u00e9 polo\u017eky vhodn\u00e9 pro objedn\u00e1n\u00ed."
    }
}
Dostali jste odpověď na svou otázku?