MCP: sklad a nákup zboží
Nástroje MCP pro zásoby, skladové pohyby, dodavatele zboží, objednávky u dodavatele a inventury: oprávnění, potvrzení, důsledky zápisu a parametry.
Stav zásob a kniha skladových pohybů, dodavatelé zboží a jejich ceníky, objednávky u dodavatele i se změnou stavu, inventury a feedy dodavatelů s průběžnou synchronizací cen a skladu. Zásoba se nikdy nepřepisuje číslem: naskladnění, oprava, odpis, příjem dodávky i uzavření inventury přidávají skladový pohyb.
Nástroje volá klient přes server MCP na doméně obchodu, například https://muj-eshop.cz/api/mcp, a v odpovědi na tools/list dostane jen ty, na jejichž oprávnění klíč dosáhne. Jak server mluví, kdy se ptá člověka a jak se změny vracejí, popisuje článek MCP server.
U každého nástroje stojí oprávnění, které chce, jestli se server před provedením zeptá člověka a kudy, jestli volání strhne kredity obchodu nebo peníze z karty, co vrací pro deník změn a jakou větu o důsledku člověk v potvrzení uvidí. Všechno z toho se vyhodnocuje z téhož kódu, podle kterého se server rozhoduje. Popisy parametrů jsou převzaté ze schématu, které server posílá v tools/list; kde se v něm text obrací přímo k modelu, je tady převedený do vykání. Povinnost parametru platí uvnitř objektu, ve kterém parametr leží.
Před zápisem, který přepisuje nebo maže, před útratou kreditů nebo platbou kartou a před hledáním mimo obchod se server ptá člověka a do té doby neprovede nic. Nejdřív použije schválení, které pro totéž volání se stejnými hodnotami už v administraci leží schválené. Jinak se zeptá formulářem, když ho klient deklaruje a politika akce ho dovoluje; formulář potvrzuje ten, kdo drží klíč, takže před ukradeným klíčem takové potvrzení nechrání. Otázka ve formuláři nese pod nadpisem „Co se změní“ tytéž řádky jako stránka schválení. Klient s elicitací URL dostane odkaz na stránku schválení v administraci a klient bez elicitace odmítnutí approval_required s odkazem v _meta; po schválení volání zopakuje se stejnými hodnotami. Na stránce schválení rozhoduje jen přihlášený člověk, kterého u každé akce jmenuje odrážka Potvrzení přes MCP, a účet podpory SHOPZI nikdy. Když politika nedovoluje nic, co klient umí, přijde odmítnutí confirmation_required a neprovede se nic. Výsledek potvrzeného volání nese v _meta["cz.shopzi/confirmation"] údaj, že akci potvrdil člověk a kde (form nebo approval), a v obsahu českou větu pro model, u placené akce i s cenou a zůstatkem kreditů z dotazu. Na otázku formulářem je 15 minut, schválení na stránce platí 60 minut, pokud u akce není uvedeno jinak.
Zápisové nástroje vracejí v poli change_id ID záznamu v deníku změn; co pole u kterého nástroje nese, říká jeho odrážka Deník změn. Změnu z deníku vrací shopzi_undo_change podle jejího druhu: obnoví předchozí hodnoty, u skladu zapíše vyrovnávací pohyb, u běžné ceny zapíše návrat do 30denní historie cen (nic z ní nemaže) a změnu, která už opustila obchod nebo stála peníze (odeslaný e-mail, stržené kredity, platbu kartou), odmítne s vysvětlením.
shopzi_stock_report
Vrátí zásoby po variantách, fyzický stav i dostupné množství, s filtrem podle názvu, SKU a stavu zásoby a se součty nad celým výběrem. Každý řádek nese název produktu i název varianty z hodnot jejích voleb, takže varianty jde rozlišit i bez SKU. Počítá jen varianty, u kterých se zásoba vede.
- Oprávnění:
stock:read, u klíče „Sklad, pohyby a nákup (čtení)“. - Druh: čtení (
readOnlyHint). - Potvrzení přes MCP: ne.
- Kredity a platba kartou: ne.
shopzi_stock_report: parametry
search(text; nepovinný): Hledá v názvu produktu nebo v SKU varianty.stockStatus(jedna z hodnotall,in,lowaout; nepovinný): Stav zásoby:in= skladem,low= dochází (na nastaveném prahu nebo pod ním),out= vyprodáno,all= bez filtru. Odpovídá dlaždicím nad Skladem.updatedSince(text se vzorem; nepovinný): ISO datum. Jen zásoby změněné od té doby.limit(celé číslo od 1 do 100, výchozí25; nepovinný): Počet položek na stránku, 1 až 100. Velká stránka se do jedné odpovědi nemusí vejít a nástroj ji pak odmítne, což stojí krok navíc: berte jen tolik položek, kolik na odpověď opravdu potřebujete.cursor(text; nepovinný): Průběžná pozice z předchozí odpovědi (next_cursor). Vynechte pro první stránku.
shopzi_list_inventory
Vrátí podle resource skladové pohyby i s názvem produktu a varianty, inventury, dodavatele zboží, nebo objednávky zboží u dodavatele. S id vrátí detail i s řádky: u objednávky zboží a inventury jejich položky, u dodavatele kartu s ceníkem. Feedy dodavatelů vrací i s vypnutým modulem Sklad: co obchod odebírá a může odebírat, frontu ke schválení, položky katalogu jednoho feedu (u odebíraného feedu i s prodejní cenou, kterou synchronizace zapíše podle dnešních cenových pravidel) a dropship objednávky u dodavatelů.
- Oprávnění:
stock:read, u klíče „Sklad, pohyby a nákup (čtení)“. - Druh: čtení (
readOnlyHint). - Potvrzení přes MCP: ne.
- Kredity a platba kartou: ne.
shopzi_list_inventory: oblasti
movementsstocktakessupplierspurchase_orderssupplier_feedsfeed_approvalsfeed_catalogfeed_supplier_orders
shopzi_list_inventory: parametry
resource(jedna z hodnotmovements,stocktakes,suppliers,purchase_orders,supplier_feeds,feed_approvals,feed_catalogafeed_supplier_orders; povinný)status(jedna z hodnotin_progress,completed,cancelled,draft,sent,confirmed,partially_receivedareceived; nepovinný): Filtr stavu ustocktakesapurchase_orders.movementType(jedna z hodnotreceipt,usage,writeoff,correction,return,transferastocktake_adjustment; nepovinný): Jenmovements: druh pohybu.receipt= naskladnění,usage= výdej nebo prodej,writeoff= odpis,correction= oprava,return= vratka,transfer= přesun,stocktake_adjustment= korekce z inventury.search(text; nepovinný): Hledání v názvu produktu nebo SKU (movements), v názvu dodavatele (suppliers).id(UUID; nepovinný): Jenpurchase_orders,stocktakesasuppliers: ID z výpisu pro detail.limit(celé číslo od 1 do 100, výchozí25; nepovinný): Počet položek na stránku, 1 až 100. Velká stránka se do jedné odpovědi nemusí vejít a nástroj ji pak odmítne, což stojí krok navíc: berte jen tolik položek, kolik na odpověď opravdu potřebujete.offset(celé číslo od 0 do 100000, výchozí0; nepovinný): Kolik položek přeskočit. 0 = první stránka.
shopzi_adjust_stock
Zapíše jeden skladový pohyb varianty: naskladnění, opravu stavu, nebo odpis s důvodem. Zásobu nepřepisuje na číslo, přidává pohyb.
-
Oprávnění:
stock:write, u klíče „Sklad, dodavatelé, nákup, inventury a feedy dodavatelů (zápis)“. -
Druh: zápis, který umí přepsat nebo smazat existující data (
destructiveHint). -
Potvrzení přes MCP: ano: formulář v klientu, který potvrdí ten, kdo drží klíč; jinak odkaz na stránku schválení přes elicitaci URL; jinak odkaz na stránku schválení v odmítnutí
approval_required. Na stránce schválení rozhoduje vlastník nebo manažer obchodu. -
Kredity a platba kartou: ne.
-
Deník změn: výsledek nese
change_id. ID záznamu v deníku. Předejte ho doshopzi_undo_change. -
Věta o důsledku, kterou člověk uvidí v potvrzení:
Pohyb zůstane v historii skladu. Vrácení ho nemaže, přičte k němu opačný pohyb.
shopzi_adjust_stock: parametry
variantId(UUID; povinný): ID varianty (UUID) zshopzi_stock_report, ne ID produktu.kind(jedna z hodnotreceipt,correctionawriteoff; povinný): receipt = naskladnění (kladné), correction = oprava stavu (kladná i záporná), writeoff = odpis (záporný).quantityChange(číslo; povinný): Znaménkové množství. Kladné přidává na sklad, záporné odebírá. Nula není pohyb.reason(jedna z hodnotdamage,loss,expiry,theft,correctionaother; nepovinný): Důvod odpisu. Povinný uwriteoff, u ostatních pohybů se neuvádí. damage = poškození, loss = ztráta, expiry = expirace, theft = krádež, correction = oprava, other = jiné.notes(text; nepovinný): Poznámka k pohybu, kterou uvidí obchodník v historii skladu.idempotencyKey(text, 1 až 200 znaků; nepovinný): Klíč idempotence. Stejný klíč = stejný zápis: opakované volání vrátí původní výsledek a NEZAPÍŠE podruhé. Použijte vlastní náhodný řetězec pro každou zamýšlenou změnu; při opakování po chybě sítě pošlete tentýž.
shopzi_manage_supply
Spravuje dodavatele zboží a jejich ceníky, objednávky zboží u dodavatele včetně příjmu dodávky a ruční změny stavu (jen záznam, dodavateli nic neodchází), inventury včetně jejich uzavření a nákupní cenu skladové položky. Objednávku dodavateli neodešle ani nezruší. U feedů dodavatelů odebírá feed, mění jeho nastavení, mapuje kategorie dodavatele na kategorie obchodu, spravuje cenová pravidla, rozhoduje frontu ke schválení, žádá o přístup, převezme nebo vrátí pole produktu, připojí, přejmenuje a naplní vlastní feed a zapíše odpověď dodavatele k dropship objednávce (potvrzení, odeslání s číslem zásilky, nemožnost dodat, nové odeslání); míru automatizace smí jen snížit. Rozhodnutí fronty a nové odeslání objednávky dodavateli musí potvrdit člověk: automatický běh bez potvrzení je odmítne.
- Oprávnění:
stock:write, u klíče „Sklad, dodavatelé, nákup, inventury a feedy dodavatelů (zápis)“. - Druh: zápis, který umí přepsat nebo smazat existující data (
destructiveHint). - Potvrzení přes MCP: ano: formulář v klientu, který potvrdí ten, kdo drží klíč; jinak odkaz na stránku schválení přes elicitaci URL; jinak odkaz na stránku schválení v odmítnutí
approval_required. Na stránce schválení rozhoduje vlastník nebo manažer obchodu. - Kredity a platba kartou: ne.
- Deník změn: výsledek nese
change_id. ID záznamu v deníku. Předejte ho doshopzi_undo_change. - Věta o důsledku, kterou člověk uvidí v potvrzení: podle
resourceaoperation, viz seznam níž. Oblast s vlastní větou má přednost, ostatní oblasti mají větu své operace.
shopzi_manage_supply: oblasti
-
supplier(Dodavatel zboží)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
purchase_order(Objednávka zboží)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
stocktake(Inventura)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
variant_cost(Nákupní cena)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
supplier_item(Ceník dodavatele)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
feed_subscription(Odběr feedu dodavatele)-
Věta o důsledku v potvrzení:
Spuštěný odběr zakládá produkty a mění jejich ceny a sklad podle feedu a cenových pravidel. Co čeká na schválení, určuje úroveň odběru. Pozastavit odběr jde kdykoli.
-
-
pricing_rule(Cenové pravidlo feedů)-
Věta o důsledku v potvrzení:
Pravidlo přepočítá prodejní ceny produktů odběru při příští synchronizaci, podle úrovně odběru rovnou, nebo přes frontu ke schválení. Pod nákupní cenu nic neprodá.
-
-
feed_approval(Položka ke schválení z feedu)-
Věta o důsledku v potvrzení:
Schválení zapíše změnu do obchodu: zveřejní produkt, změní cenu nebo text. U objednávky dodavateli ji ODEŠLE e-mailem a dodavatel podle ní pošle zboží zákazníkovi; to vrátit nejde.
-
-
feed_access(Žádost o přístup k dodavateli)-
Věta o důsledku v potvrzení:
Žádost o přístup dostane ke schválení provozovatel platformy. Dokud ji neschválí, odběr se nespustí.
-
-
feed_lock(Převzetí polí produktu z feedu) -
own_feed(Vlastní feed)-
Věta o důsledku v potvrzení:
Vlastní feed z adresy se stahuje automaticky podle plánu a jeho položky vidí jen tento obchod. Smazat ho jde jen v administraci.
-
-
feed_supplier_order(Objednávka u dodavatele (dropship))-
Věta o důsledku v potvrzení:
Nové odeslání pošle dodavateli skutečnou objednávku e-mailem a dodavatel podle ní pošle zboží zákazníkovi; to vrátit nejde. Potvrzení, odeslání a zamítnutí jen zaznamenají odpověď dodavatele.
-
Hodnota bez odrážky Věta o důsledku v potvrzení žádnou takovou větu nemá.
shopzi_manage_supply: operace
-
create(založit)-
Věta o důsledku v potvrzení:
Nového dodavatele ani objednávku zboží vrátit nejde. Dodavatele jde jen deaktivovat; objednávka nese pořadové číslo dokladu a zrušit ji jde v Sklad → Objednávky zboží. Na stav skladu to nemá vliv.
-
-
update(upravit)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
start(zahájit)-
Věta o důsledku v potvrzení:
Zahájenou inventuru vrátit nejde: zrušit ji může obchodník v Sklad → Inventura a do jejího uzavření se skladu nic nestane.
-
-
count(zapsat napočítaný stav)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
receive(naskladnit dodávku)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
complete(uzavřít)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
-
set_status(změnit stav objednávky) -
remove(odebrat) -
map_category(namapovat kategorii dodavatele)-
Věta o důsledku v potvrzení:
Naskladnění a uzavření inventury zapíšou skutečné skladové pohyby, naskladnění navíc přepočítá nákupní cenu. Vrácení pohyby nemaže, přičte k nim opačné; nákupní cenu vrátí jen tehdy, když ji mezitím nezměnil další příjem. Ruční změna nákupní ceny přepíše marži a zisk u BUDOUCÍCH objednávek; už uzavřené objednávky mají náklad zmrazený z okamžiku prodeje a nemění se.
-
Hodnota bez odrážky Věta o důsledku v potvrzení žádnou takovou větu nemá.
shopzi_manage_supply: parametry resource, operation a id
resource(jedna z hodnotsupplier,purchase_order,stocktake,variant_cost,supplier_item,feed_subscription,pricing_rule,feed_approval,feed_access,feed_lock,own_feedafeed_supplier_order; povinný): Čeho se změna týká. Pole ilinesmusí patřit k němu.operation(jedna z hodnotcreate,update,start,count,receive,complete,set_status,removeamap_category; povinný): supplier: create | update. purchase_order: create | receive | set_status. stocktake: start | count | complete. variant_cost: update. supplier_item: update | remove. feed_subscription: create | update | set_status | start | map_category. pricing_rule: create | update | remove. feed_approval: complete. feed_access: create. feed_lock: update. own_feed: create | update | receive. feed_supplier_order: update (feed_supplier_orderpřesfeed.orderAction).id(text; nepovinný): ID dodavatele uupdatea usupplier_item, ID objednávky zboží ureceiveaset_status, ID inventury ucountacomplete, ID varianty uvariant_cost. U zakládání a ustartse vynechává.
shopzi_manage_supply: parametry fields a lines
fields(objekt; nepovinný): Údaje k uložení. Vynechané pole zůstane u úpravy beze změny.fields.name(text; nepovinný): Dodavatel: název firmy. POVINNÝ při zakládání.fields.contactPerson(text nebonull; nepovinný)fields.email(text nebonull; nepovinný)fields.phone(text nebonull; nepovinný)fields.ico(text nebonull; nepovinný): Dodavatel: IČO.fields.dic(text nebonull; nepovinný): Dodavatel: DIČ.fields.addressStreet(text nebonull; nepovinný)fields.addressCity(text nebonull; nepovinný)fields.addressPostalCode(text nebonull; nepovinný)fields.bankAccount(text nebonull; nepovinný)fields.iban(text nebonull; nepovinný)fields.deliveryDays(text nebonull; nepovinný): Dny závozu jako čísla 1..7 oddělená čárkou (1 = pondělí).fields.notes(text nebonull; nepovinný)fields.minimumOrderAmount(číslo; nepovinný): Minimální objednávka v HALÉŘÍCH, celé číslo (1 000 Kč = 100000).fields.paymentTermsDays(číslo; nepovinný): Splatnost faktur dodavatele ve dnech.fields.leadTimeDays(číslo; nepovinný): Za kolik dní od objednání zboží dorazí.fields.isActive(truenebofalse; nepovinný): false = dodavatele deaktivovat. Dodavatel se nikdy nemaže.fields.supplierId(text; nepovinný): Jenpurchase_order+create: ID dodavatele zeshopzi_list_inventory(suppliers).fields.expectedDeliveryDate(text nebonull; nepovinný): Jenpurchase_order: očekávané dodání, ISO datum.fields.variantId(text; nepovinný):stocktake+countasupplier_item: ID varianty zeshopzi_stock_report, ne ID produktu.fields.quantity(číslo; nepovinný): Jenstocktake+count: skutečně napočítané množství.fields.poStatus(jedna z hodnotsent,confirmedareceived; nepovinný): Jenpurchase_order+set_status. received = uzavřít částečně naskladněnou s manky. Dodavateli se nic neposílá; zrušit nejde.fields.supplierPriceMinor(celé číslo aspoň 0; nepovinný): Jensupplier_item: nákupní cena za kus BEZ DPH, v haléřích.fields.supplierSku(text nebonull; nepovinný): Jensupplier_item.fields.minOrderQuantity(číslo; nepovinný): Jensupplier_item: minimální odběr, výchozí 1.fields.isPreferred(truenebofalse; nepovinný): Jensupplier_item.fields.feed(objekt; nepovinný): Jen zdrojefeed_*,pricing_ruleaown_feed.fields.feed.feedId(text; nepovinný): ID feedu zshopzi_list_inventory(supplier_feeds).fields.feed.status(jedna z hodnotactiveapaused; nepovinný)fields.feed.trustLevel(jedna z hodnotreview_all,review_exceptionsaautopilot; nepovinný): Míra automatizace: review_all | review_exceptions | autopilot. Agent ji smí jen SNÍŽIT.fields.feed.autoPublish(truenebofalse; nepovinný)fields.feed.oosBehaviour(jedna z hodnothideashow_unavailable; nepovinný)fields.feed.aiPolicy(jedna z hodnotoff,reviewaauto_apply; nepovinný)fields.feed.priceChangeThresholdPct(celé číslo od 1 do 100; nepovinný)fields.feed.fallbackCategoryId(text nebonull; nepovinný)fields.feed.fxRatePpm(celé číslo větší než 0 nebonull; nepovinný): Kurz cizí měny feedu: Kč za jednotku × 1 000 000 (25,12 Kč = 25120000).fields.feed.brands(pole, položka: text; nepovinný): Filtr: jen tyto značky. Prázdné pole = všechny.fields.feed.minStock(celé číslo aspoň 0; nepovinný)fields.feed.requireImage(truenebofalse; nepovinný)fields.feed.sourcePath(pole, položka: text, 1 až 200 znaků, 1 až 5 položek; nepovinný): Jenmap_category: cesta kategorie dodavatele po úrovních, např. ["Dům", "Kuchyně"]; platí i pro podstrom.fields.feed.categoryId(UUID nebonull; nepovinný): Jenmap_category: ID kategorie obchodu; null spolu seskip: falsemapování zruší.fields.feed.skip(truenebofalse; nepovinný): Jenmap_category: true = zboží z té kategorie nebrat.fields.feed.defaultMarkupPct(číslo od 0 do 1000; nepovinný)fields.feed.scope(jedna z hodnotall,categoryabrand; nepovinný): Pravidlo: na co platí.fields.feed.scopeValue(text nebonull; nepovinný): Kategorie „Dům › Kuchyně“ nebo značka.fields.feed.markupPct(číslo od 0 do 1000; nepovinný)fields.feed.minMarginMinor(celé číslo aspoň 0; nepovinný): Minimální marže v haléřích.fields.feed.rounding(jedna z hodnotnone,whole,x9,x90ax99; nepovinný)fields.feed.target(jedna z hodnotcatalogawholesale; nepovinný)fields.feed.subscriptionId(text nebonull; nepovinný): Pravidlo jen pro jeden odběr; null = všechny.fields.feed.decision(jedna z hodnotapproveareject; nepovinný)fields.feed.catalogSupplierId(text; nepovinný)fields.feed.customerNumber(text nebonull; nepovinný)fields.feed.message(text nebonull; nepovinný)fields.feed.lock(pole, položka: jedna z hodnottitle,description,images,category,attributes,priceawholesale_price; nepovinný)fields.feed.unlock(pole, položka: jedna z hodnottitle,description,images,category,attributes,priceawholesale_price; nepovinný)fields.feed.supplierName(text; nepovinný)fields.feed.label(text; nepovinný)fields.feed.url(text nebonull; nepovinný)fields.feed.format(jedna z hodnotheureka_xml,google_xml,csvacustom_xml; nepovinný)fields.feed.body(text, nejvýš 4000000 znaků; nepovinný): Jenown_feed+receive: obsah feedu (XML nebo CSV) jako text, do 4 MB.fields.feed.partial(truenebofalse; nepovinný):receive: jen část položek, nic se neskryje.fields.feed.orderAction(jedna z hodnotconfirm,ship,reject,cancelaresend; nepovinný): Jenfeed_supplier_order: odpověď dodavatele nebo nové odeslání.fields.feed.tracking(text nebonull; nepovinný): Číslo zásilky uship.fields.feed.carrier(text nebonull; nepovinný)fields.feed.note(text nebonull; nepovinný)fields.unitCostMinor(celé číslo aspoň 0; nepovinný): Jenvariant_cost: nákupní cena za kus BEZ DPH, v HALÉŘÍCH, celé číslo (250,50 Kč = 25050). Živí marži a zisk; minulé objednávky se tím nemění, ty mají náklad zmrazený z okamžiku prodeje.lines(pole objektů; nepovinný): Upurchase_order+createpoložky objednávky (povinné). Upurchase_order+receivečástečná dodávka; VYNECHEJTE je, pokud dorazilo všechno objednané, naskladní se pak celý zbytek.lines[].variantId(text; povinný): ID varianty zeshopzi_stock_report.lines[].quantity(číslo; povinný): Ucreateobjednávané množství, ureceivemnožství, které z téhle položky dorazilo.lines[].unitPriceMinor(číslo; nepovinný): Jencreate: nákupní cena za kus BEZ DPH, v haléřích, celé číslo (250,50 Kč = 25050). Ureceivese neuvádí, cena je na objednávce.lines[].vatRate(číslo; nepovinný): Jencreate: sazba DPH dodavatele v celých procentech: 21, 12 nebo 0.lines[].unit(text; nepovinný): Jednotka, výchozí „ks“.lines[].notes(text nebonull; nepovinný)
shopzi_manage_supply: parametry idempotencyKey
idempotencyKey(text, 1 až 200 znaků; nepovinný): Klíč idempotence. Stejný klíč = stejný zápis: opakované volání vrátí původní výsledek a NEZAPÍŠE podruhé. Použijte vlastní náhodný řetězec pro každou zamýšlenou změnu; při opakování po chybě sítě pošlete tentýž.