Preskoči na glavno vsebino

Realizácia objednávky cez API — praktické príklady

Výpočet položiek, realizácia viacerých objednávok do jednej faktúry, záloha z objednávky a zápis v JSON

Avtor: Petr Pech

Realizáciou sa z prijatej objednávky vytvorí nadväzujúci doklad — vydaná faktúra, prijatá faktúra, skladový pohyb alebo predajka. Tento článok zhrnuje prípady, na ktoré sa v praxi najčastejšie pýtate; úplný popis všetkých vlastností nájdete v článku Realizácia objednávky.


Základný zápis

Objednávku určíte identifikátorom, druh vznikajúceho dokladu atribútom type a vždy vymenujete položky, ktoré sa majú realizovať:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<realizaceObj type="faktura-vydana">
<typDokl>code:FAKTURA</typDokl>
<polozkyObchDokladu>
<polozka>
<cisRad>1</cisRad>
<mj>2</mj>
</polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Element cisRad je číslo riadku v objednávke, mj realizované množstvo. Položku možno namiesto čísla riadku určiť aj jej externým identifikátorom alebo čiarovým kódom či výrobným číslom v elemente cenikNeboVyrobniCislo.

⚠️ Realizovať objednávku „celú naraz" bez výpočtu položiek nie je možné. Požiadavka bez elementu polozkyObchDokladu skončí chybou 400Nezvolili jste žádné položky pro realizaci. Položky je teda potrebné vymenovať, aj keď ich je v objednávke viac.

💡 Odpoveď na realizáciu hlási len aktualizáciu objednávky, číslo vzniknutého dokladu v nej nie je. Ak s ním chcete ďalej pracovať, priraďte mu hneď externý identifikátor elementom <id>ext:MUJSYSTEM:123</id> vnútri realizaceObj — potom ho nájdete na adrese /c/{firma}/faktura-vydana/ext:MUJSYSTEM:123. Druhou možnosťou je dohľadať ho v relácii vazebni-doklady objednávky.


Viac objednávok do jednej faktúry

Ak sa má realizácia pridať do už existujúcej faktúry, uveďte jej identifikátor v elemente id vnútri realizaceObj. V jednej požiadavke takto možno spracovať aj viacero objednávok:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0036/2026</id>
<realizaceObj type="faktura-vydana">
<id>2043</id>
<polozkyObchDokladu>
<polozka><cisRad>2</cisRad><mj>1</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
<objednavka-prijata>
<id>code:OBP0038/2026</id>
<realizaceObj type="faktura-vydana">
<id>2043</id>
<polozkyObchDokladu>
<polozka><cisRad>1</cisRad><mj>1</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Do faktúry pribudnú realizované riadky a pred nimi textový riadok s číslom zdrojovej objednávky. Pridávať položky do existujúceho dokladu je možné len pri vydanej a prijatej faktúre — pri skladovom pohybe a predajke vzniká vždy nový doklad a uvedenie existujúceho skončí chybou.


Záloha z objednávky

Zálohovú faktúru možno z objednávky vytvoriť dvomi spôsobmi a líšia sa tým, čo na nej zostane:

Zápis

Výsledok

realizaceObj s <typDokl>code:ZÁLOHA</typDokl>

Zálohová faktúra s rozpísanými položkami objednávky.

tvorbaZalohy s castka alebo procent

Zálohová faktúra s jedným súhrnným riadkom („Záloha k OBP č. …") na zadanú sumu alebo percento z objednávky.

Ak teda chcete v zálohe vidieť jednotlivé položky, použite realizáciu s typom dokladu zálohy:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<realizaceObj type="faktura-vydana">
<typDokl>code:ZÁLOHA</typDokl>
<polozkyObchDokladu>
<polozka><cisRad>1</cisRad><mj>2</mj></polozka>
</polozkyObchDokladu>
</realizaceObj>
</objednavka-prijata>
</winstrom>

Zálohu na časť objednávky naopak vytvorí tvorbaZalohy:

<winstrom version="1.0">
<objednavka-prijata>
<id>code:OBP0024/2026</id>
<tvorbaZalohy>
<typDokl>code:ZÁLOHA</typDokl>
<procent>50</procent>
</tvorbaZalohy>
</objednavka-prijata>
</winstrom>


Zápis v JSON

V JSON sa atribút type zapisuje ako kľúč realizaceObj@type vedľa samotného objektu:

{
"winstrom": {
"@version": "1.0",
"objednavka-prijata": {
"id": "code:OBP0024/2026",
"realizaceObj@type": "faktura-vydana",
"realizaceObj": {
"typDokl": "code:FAKTURA",
"typDoklSkl": "code:STANDARD",
"odpocetZaloh": true,
"datSplat": "2026-07-12",
"polozkyObchDokladu": [
{ "cisRad": 1, "mj": "1", "vyrobniCisla": [ 123 ] }
]
}
}
}
}

ℹ️ Realizáciu možno vykonať aj na viackrát, napríklad podľa dostupnosti tovaru — stav realizácie jednotlivých riadkov je vidieť na položkách objednávky. Pri prijatej faktúre sú navyše povinné elementy cisDosle a datSplat.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?