Objednání položek z přijaté objednávky (OBP) objednávkou vydanou (OBV) je v REST API implementováno jako virtuální evidence /objednani. Ta má dva sub-resources:
Adresa | Metody | Co dělá |
|
| Vytvoří OBV pro zadané dodavatele a vybrané položky OBP s uvedením objednávaného množství. |
|
| Automaticky vytvoří OBV ze všech položek OBP, které mají nastaveného primárního dodavatele. |
Objednání vybraných položek
V těle požadavku uvedete element objednaniPolozek s těmito vlastnostmi:
typDokl— ID nebo kód objektu z evidence /typ-objednavky-vydanedodavatel— ID nebo kód objektu z evidence /adresarpolozkyObp— seznam položek, každá sidobjektu z evidence /objednavka-prijata-polozka a smnozMj, které se má objednat
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 }
]
}
}
}
Odpovědí je 201 Created s identifikátory vytvořený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í jsou dodavatel a mnozMj. Jiné pojmenování server odmítne s výčtem povolených elementů — například dodavatelFirma vrátí 400 se zprávou unexpected element … Expected elements are <dodavatel>, <polozkyObp>, <typDokl>. Vynechaný dodavatel vrací 400 s kódem importXmlMissingIdentifier.
Více dodavatelů v jednom požadavku
Element objednaniPolozek lze v jednom požadavku uvést vícekrát — pro každého dodavatele 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 }
]
}
]
}
}
Odpovědí je opět 201 Created, tentokrát se dvěma vytvořený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é objednání
Hromadné objednání vytvoří OBV ze všech položek OBP, které mají nastaveného primárního dodavatele. Vyžaduje pouze typDokl, a to buď v těle požadavku, nebo jako parametr dotazu.
POST https://demo.flexibee.eu/c/demo/objednani/hromadne.json
{
"winstrom": {
"@version": "1.0",
"objednaniHromadne": {
"typDokl": "code:OBV"
}
}
}
Stejného výsledku dosáhnete i metodou GET s typem dokladu v parametru:
GET https://demo.flexibee.eu/c/demo/objednani/hromadne.json?typDokl=code:OBV
V obou případech je odpovědí 201 Created se seznamem ID vytvořený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é objednání nerespektuje parametr testovacího uložení ?dry-run=true — objednávky vydané se vytvoří i s ním. Volání si proto nezkoušejte „na nečisto" v produkční firmě.
Neúspěšné požadavky
Pokud nelze žádnou z předaných položek objednat, vrací služba 400 Bad Request s kódem obchodGenerNicProHromObj:
{
"winstrom": {
"@version": 1,
"success": false,
"message": "Nebyly nalezeny žádné položky vhodné pro objednání."
}
}
Vynechaný typDokl u hromadného objednání vrací 400 s kódem importXmlMissingIdentifier a hlášením Identifikátor (typDokl) není uveden.
