Objednanie položiek z prijatej objednávky (OBP) objednávkou vydanou (OBV) je v REST API implementované ako virtuálna evidencia /objednani. Tá má dva sub-resources:
Adresa | Metódy | Čo robí |
|
| Vytvorí OBV pre zadaných dodávateľov a vybrané položky OBP s uvedením objednávaného množstva. |
|
| Automaticky vytvorí OBV zo všetkých položiek OBP, ktoré majú nastaveného primárneho dodávateľa. |
Objednanie vybraných položiek
V tele požiadavky uvediete element objednaniPolozek s týmito vlastnosťami:
typDokl— ID alebo kód objektu z evidencie /typ-objednavky-vydanedodavatel— ID alebo kód objektu z evidencie /adresarpolozkyObp— zoznam položiek, každá sidobjektu z evidencie /objednavka-prijata-polozka a smnozMj, ktoré sa má objednať
POST https://demo.flexibee.eu/c/demo/objednani/polozek.json
{
"winstrom": {
"@version": "1.0",
"objednaniPolozek": {
"typDokl": "code:OBV",
"dodavatel": "code:AAA",
"polozkyObp": [
{ "id": 3704, "mnozMj": 2 },
{ "id": 3706, "mnozMj": 3 }
]
}
}
}
Odpoveďou je 201 Created s identifikátormi vytvorených OBV:
{
"winstrom": {
"@version": "1.0",
"success": true,
"stats": {
"created": 1,
"updated": 0,
"deleted": 0,
"skipped": 0,
"failed": 0
},
"results": [
{ "id": 1638 }
]
}
}
⚠️ Názvy vlastností sú dodavatel a mnozMj. Iné pomenovanie server odmietne s výpisom povolených elementov — napríklad dodavatelFirma vráti 400 so správou unexpected element … Expected elements are <dodavatel>, <polozkyObp>, <typDokl>. Vynechaný dodavatel vracia 400 s kódom importXmlMissingIdentifier.
Viacero dodávateľov v jednej požiadavke
Element objednaniPolozek možno v jednej požiadavke uviesť viackrát — pre každého dodávateľa vznikne samostatná OBV:
{
"winstrom": {
"@version": "1.0",
"objednaniPolozek": [
{
"typDokl": "code:OBV",
"dodavatel": "code:AAA",
"polozkyObp": [
{ "id": 3709, "mnozMj": 2 },
{ "id": 3711, "mnozMj": 3 }
]
},
{
"typDokl": "code:OBV",
"dodavatel": "code:ABC",
"polozkyObp": [
{ "id": 3715, "mnozMj": 4 },
{ "id": 3717, "mnozMj": 5 }
]
}
]
}
}
Odpoveďou je opäť 201 Created, tentokrát s dvomi vytvorenými OBV:
{
"winstrom": {
"@version": "1.0",
"success": true,
"stats": {
"created": 2,
"updated": 0,
"deleted": 0,
"skipped": 0,
"failed": 0
},
"results": [
{ "id": 1663 },
{ "id": 1664 }
]
}
}
Hromadné objednanie
Hromadné objednanie vytvorí OBV zo všetkých položiek OBP, ktoré majú nastaveného primárneho dodávateľa. Vyžaduje iba typDokl, a to buď v tele požiadavky, alebo ako parameter dotazu.
POST https://demo.flexibee.eu/c/demo/objednani/hromadne.json
{
"winstrom": {
"@version": "1.0",
"objednaniHromadne": {
"typDokl": "code:OBV"
}
}
}
Rovnaký výsledok dosiahnete aj metódou GET s typom dokladu v parametri:
GET https://demo.flexibee.eu/c/demo/objednani/hromadne.json?typDokl=code:OBV
V oboch prípadoch je odpoveďou 201 Created so zoznamom ID vytvorených OBV:
{
"winstrom": {
"@version": "1.0",
"success": true,
"stats": {
"created": 2,
"updated": 0,
"deleted": 0,
"skipped": 0,
"failed": 0
},
"results": [
{ "id": 1639 },
{ "id": 1640 }
]
}
}
🚨 Hromadné objednanie nerešpektuje parameter testovacieho uloženia ?dry-run=true — objednávky vydané sa vytvoria aj s ním. Volanie si preto neskúšajte „nanečisto" v produkčnej firme.
Neúspešné požiadavky
Ak nemožno objednať žiadnu z odovzdaných položiek, služba vracia 400 Bad Request s kódom obchodGenerNicProHromObj:
{
"winstrom": {
"@version": 1,
"success": false,
"message": "Nebyly nalezeny žádné položky vhodné pro objednání."
}
}
Vynechaný typDokl pri hromadnom objednaní vracia 400 s kódom importXmlMissingIdentifier a hlásením Identifikátor (typDokl) není uveden.
