Vytvoriť objednávku
Vytvorí novú objednávku.
Odporúčaný flow
Odporúčaný happy path je poslať clientId a items.
Ak klienta ešte vo Fintoro nemáte alebo nechcete robiť samostatný krok na jeho vytvorenie, pošlite objekt client bez clientId. Backend sa pokúsi klienta dopárovať k existujúcemu záznamu a ak nič nenájde, vytvorí nového klienta.
Ak pošlete clientId aj objekt client, objekt client sa správa ako sparse override snapshotu klienta pre túto konkrétnu objednávku.
Ako fungujú defaulty
Väčšina dokladových polí je voliteľná. Backend ich vyhodnocuje v tomto poradí:
- explicitná hodnota z payloadu,
- klientské predvolené hodnoty,
- firemné document settings.
V praxi to znamená napríklad:
numberanumericalSeriesIdsa doplnia z primárneho číselného radu, ak ich nepošlete,issueDatedefaultuje na dnešný deň,transferTaxLiabilitydefaultuje nafalse,deliveryMethodId,paymentMethodId,currencyId,languageId,noteatextAboveItemssa môžu dopočítať z klienta alebo z firemných nastavení.
Ako funguje client resolution
Client resolution je striktne deterministický:
- ak pošlete
clientId, backend načíta klienta podľa ID v rámci, - ak
clientIdnepošlete, objektclientsa používa na dopárovanie alebo vytvorenie klienta, - ak pošlete
clientIdaj objektclient, objektclientsa použije iba ako snapshot override pre doklad.
Matching prebieha deterministicky v tomto poradí:
- pri firmách:
vatId, potomcountryId + subjectId, potomname + email, potomname + street, - pri fyzických osobách:
name + email, potomname + street.
Ako fungujú položky
Položka môže byť vytvorená tromi spôsobmi:
- ako manuálna položka s vlastným názvom, jednotkou, cenou a DPH,
- cez
priceListItemIdaquantity, - cez
priceListItemIda sparse override vybraných polí, napríklad ceny alebo názvu.
priceListItemId slúži len na input hydratáciu. Response objednávky vracia už finálnu kanonickú položku a neponecháva tento cenníkový odkaz ako samostatné pole.
Väzba na cenovú ponuku
Voliteľné quotationId môžete použiť na napojenie objednávky na existujúcu cenovú ponuku, ktorá ešte nie je priradená k inej objednávke.
Ak pošlete Idempotency-Key, rovnaký key s rovnakým payloadom vráti pôvodnú odpoveď bez druhého vytvorenia objednávky.
Autorizace
Hlavičky
Tělo
- Option 1
- Option 2
Payload pre vytvorenie objednávky. V bežnom prípade stačí poslať clientId a items; ostatné polia môže backend dopočítať. Musíte poslať buď clientId, alebo objekt client.
Položky objednávky. Toto pole je povinné vždy. Per-item uuid nie je súčasťou request kontraktu; ak ho pošlete, backend ho ignoruje. warehouseAllocations pri objednávkach nie sú podporované.
1 - 100 elementsPayload jednej položky objednávky. Podporované sú tri režimy: manuálna položka, priceListItemId + quantity, alebo priceListItemId s čiastočnými override poľami. Povinné je vždy quantity. Ak nepošlete priceListItemId, musíte poslať aj name, unitPrice a vatRate. unitId je voliteľné; ak ho pri manuálnej položke nepošlete, backend použije jednotku 1 (ks / Unit::Piece). Ak priceListItemId pošlete, backend si z cenníkovej položky vie dopočítať názov, jednotku, cenu a sadzbu DPH; payload potom slúži len ako sparse override.
- Option 1
- Option 2
ID spôsobu dodania z referenčnej tabuľky spôsobov dodania. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.
1
ID spôsobu úhrady z referenčnej tabuľky spôsobov úhrady. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.
1
ID meny z referenčnej tabuľky mien. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.
1
ID jazyka z referenčnej tabuľky jazykov. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.
1
Odpověď
Objednávka bola vytvorená.
Objednávka.
ID spôsobu dodania z referenčnej tabuľky spôsobov dodania.
1
ID spôsobu úhrady z referenčnej tabuľky spôsobov úhrady.
1
ID meny z referenčnej tabuľky mien.
1
ID jazyka z referenčnej tabuľky jazykov.
1

