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 400 — Nezvolili 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?