[{"slug":"ZV-2026-1925","server_name":"konfigurator.suorigo.cz","severity":"breaking","title":"konfigurator.suorigo.cz: Enum value osobni removed from shippingId on create_order.","summary":"[breaking] Enum value osobni removed from shippingId on create_order. [breaking] Enum value rush3 removed from deliverySpeedId on create_order. [breaking] Enum value osobni removed from shippingId on quote_order. [breaking] Enum value rush3 removed from deliverySpeedId on quote_order.","changes":[{"kind":"enum_value_removed","path":"inputSchema.properties.shippingId","tool":"create_order","before":"osobni","detail":"Enum value `osobni` removed from `shippingId` on `create_order`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.deliverySpeedId","tool":"create_order","before":"rush3","detail":"Enum value `rush3` removed from `deliverySpeedId` on `create_order`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.shippingId","tool":"quote_order","before":"osobni","detail":"Enum value `osobni` removed from `shippingId` on `quote_order`.","severity":"breaking"},{"kind":"enum_value_removed","path":"inputSchema.properties.deliverySpeedId","tool":"quote_order","before":"rush3","detail":"Enum value `rush3` removed from `deliverySpeedId` on `quote_order`.","severity":"breaking"}],"published_at":"2026-10-07T19:07:21.806Z"},{"slug":"ZV-2026-1412","server_name":"konfigurator.suorigo.cz","severity":"breaking","title":"konfigurator.suorigo.cz: Field shippingId on create_order is now required.","summary":"[safe] Tool cancel_order was added. [safe] Tool find_pickup_points was added. [safe] Tool get_payment_link was added. [safe] Tool lookup_company was added. [safe] Tool quote_order was added. [risky] Description of create_design changed (52% word delta). [risky] Description of create_order changed (59% word delta). [risky] Optional field deliverySpeedId was added to create_order; may shift model behaviour. [risky] Optional field paymentMethod was added to create_order; may shift model behaviour. [risky] Optional field pickupPointId was added to create_order; may shift model behaviour. [risky] Optional field pickupPointName was added to create_order; may shift model behaviour. [breaking] Field shippingId on create_order is now required. [breaking] shippingId on create_order narrowed to a closed enum (zasilkovna, balikovna, ppl-vydejni, dpd-vydejni, ppl, dpd, osobni); previously valid values may now be rejected. [risky] Description of get_order_status changed (76% word delta). [risky] Optional field statusToken was added to get_order_status; may shift model behaviour. [safe] Field orderNumber on get_order_status is no longer required. [safe] Field email on get_order_status is no longer required. [risky] Description of get_quote changed (61% word delta).","changes":[{"kind":"tool_added","tool":"cancel_order","detail":"Tool `cancel_order` was added.","severity":"safe"},{"kind":"tool_added","tool":"find_pickup_points","detail":"Tool `find_pickup_points` was added.","severity":"safe"},{"kind":"tool_added","tool":"get_payment_link","detail":"Tool `get_payment_link` was added.","severity":"safe"},{"kind":"tool_added","tool":"lookup_company","detail":"Tool `lookup_company` was added.","severity":"safe"},{"kind":"tool_added","tool":"quote_order","detail":"Tool `quote_order` was added.","severity":"safe"},{"kind":"description_changed","tool":"create_design","after":"Zvaliduje a uloží design (logo/text na stranách trička): vrátí vrstvy s nahranými URL pro create_order, orientační příplatek za potisk a previewUrl — odkaz, kde zákazník uvidí návrh na tričku v konfigurátoru (a může ho tam i sám objednat).","before":"Zvaliduje a uloží design (logo/text na stranách trička) a vrátí orientační cenu potisku + vrstvy s nahranými URL k použití v create_order.","detail":"Description of `create_design` changed (52% word delta).","severity":"risky","descriptionDelta":0.5208333333333333},{"kind":"description_changed","tool":"create_order","after":"Založí ZÁVAZNOU objednávku (čeká na platbu). paymentMethod 'bank_transfer' (výchozí) vrátí číslo účtu, variabilní symbol a QR; 'card' vrátí paymentUrl — zabezpečenou stránku Stripe pro tuto objednávku, kde zákazník sám zadá kartu (agent kartu nikdy nezadává ani nevidí; po zaplacení jede faktura a výroba stejně jako u objednávky z webu). Vždy vrátí statusUrl a statusToken (pro get_order_status, get_payment_link, cancel_order) a zákazníkovi pošle e-mail. Volej až po výslovném souhlasu zákazníka s položkami a cenou z quote_order. Povinné: skutečný e-mail (doména musí přijímat poštu, jinak 422), jméno a příjmení, shippingId (+ pickupPointId u výdejního místa, jinak adresa), consent:true; nad 10 000 Kč bez IČO fakturační adresa. Kartou nejméně 15 Kč. Nezaplacená karta propadne po 48 h, převod po 7 dnech. Limity: 3 objednávky / IP / den, 2 nezaplacené a 3 objednávky za 24 h na e-mail (429). Při opakování po timeoutu pošli stejný idempotencyKey.","before":"Založí ZÁVAZNOU objednávku (čeká na platbu) a vrátí platební instrukce: částku, číslo účtu, variabilní symbol, QR a odkaz na stav objednávky (statusUrl). Zákazníkovi zároveň odejde e-mail s platebními údaji. Platí člověk převodem — agent neplatí. Volej až po výslovném souhlasu zákazníka s položkami a cenou z get_quote. Vyžaduje skutečný e-mail zákazníka (doména musí přijímat poštu, jinak 422) a consent:true. Limity: 3 objednávky / IP / den, 2 nezaplacené na jeden e-mail; překročení = 429. Při opakování po timeoutu pošli stejný idempotencyKey — vrátí se tatáž objednávka místo duplicity.","detail":"Description of `create_order` changed (59% word delta).","severity":"risky","descriptionDelta":0.5874125874125874},{"kind":"input_property_added","path":"inputSchema.properties.deliverySpeedId","tool":"create_order","after":{"enum":["rush3","d7","d14","d30"],"type":"string","description":"termín: d14 = do 14 prac. dní (výchozí, bez příplatku), d7 = do 7 dní +30 % (jen trička Standard), rush3 = expres do 3 prac. dnů +100 % (jen černá/bílá trička Standart, objednávka 1 500–5 000 Kč, podání do 12:00), d30 = do měsíce −10 %; nedostupný termín = 400 s důvodem (quote_order ukáže dostupnost)"},"detail":"Optional field `deliverySpeedId` was added to `create_order`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.paymentMethod","tool":"create_order","after":{"enum":["bank_transfer","card"],"type":"string","description":"bank_transfer = převod + QR (výchozí); card = odkaz na platbu kartou (Stripe Checkout, Apple/Google Pay podle prohlížeče)"},"detail":"Optional field `paymentMethod` was added to `create_order`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.pickupPointId","tool":"create_order","after":{"type":"string","description":"id výdejního místa z find_pickup_points (povinné u dopravy na výdejní místo)"},"detail":"Optional field `pickupPointId` was added to `create_order`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.pickupPointName","tool":"create_order","after":{"type":"string","description":"název výdejního místa (volitelné, doplní se samo)"},"detail":"Optional field `pickupPointName` was added to `create_order`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_added","path":"inputSchema.required.shippingId","tool":"create_order","detail":"Field `shippingId` on `create_order` is now required.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.shippingId","tool":"create_order","after":"enum[zasilkovna,balikovna,ppl-vydejni,dpd-vydejni,ppl,dpd,osobni]","before":"open","detail":"`shippingId` on `create_order` narrowed to a closed enum (zasilkovna, balikovna, ppl-vydejni, dpd-vydejni, ppl, dpd, osobni); previously valid values may now be rejected.","severity":"breaking"},{"kind":"description_changed","tool":"get_order_status","after":"Stav objednávky: platba (pending/paid/failed/refunded), výroba (new → shipped/delivered, cancelled), očekávaný termín. Se statusToken navíc statusUrl, faktura (PDF po zaplacení) a sledování zásilky. S orderNumber + email jen základní stav (čísla objednávek jsou předvídatelná). Neshoda = found:false.","before":"Vrátí stav objednávky (stav platby a zpracování) podle čísla objednávky a e-mailu zákazníka. E-mail je povinný a musí se shodovat s objednávkou — jinak found:false (čísla objednávek jsou předvídatelná, bez e-mailu by šly číst cizí).","detail":"Description of `get_order_status` changed (76% word delta).","severity":"risky","descriptionDelta":0.7611940298507462},{"kind":"input_property_added","path":"inputSchema.properties.statusToken","tool":"get_order_status","after":{"type":"string","description":"statusToken z create_order (poslední část statusUrl) — plný přístup"},"detail":"Optional field `statusToken` was added to `get_order_status`; may shift model behaviour.","severity":"risky"},{"kind":"input_required_removed","path":"inputSchema.required.orderNumber","tool":"get_order_status","detail":"Field `orderNumber` on `get_order_status` is no longer required.","severity":"safe"},{"kind":"input_required_removed","path":"inputSchema.required.email","tool":"get_order_status","detail":"Field `email` on `get_order_status` is no longer required.","severity":"safe"},{"kind":"description_changed","tool":"get_quote","after":"Rychlý odhad ceny JEDNOHO produktu (vč. DPH) podle množství/velikostí a počtu potištěných stran. Přesnou cenu celé objednávky (doprava, kupón, termín) vrací quote_order.","before":"Spočítá cenu nakonfigurovaného trička (vč. DPH) — podle množství/velikostí, počtu potištěných stran a promo kódu.","detail":"Description of `get_quote` changed (61% word delta).","severity":"risky","descriptionDelta":0.6052631578947368}],"published_at":"2026-09-24T16:38:17.547Z"},{"slug":"ZV-2026-1271","server_name":"konfigurator.suorigo.cz","severity":"breaking","title":"konfigurator.suorigo.cz: New required field email on get_order_status; requests without it will fail.","summary":"[risky] Description of create_order changed (67% word delta). [risky] Optional field idempotencyKey was added to create_order; may shift model behaviour. [risky] Description of get_order_status changed (70% word delta). [breaking] New required field email on get_order_status; requests without it will fail.","changes":[{"kind":"description_changed","tool":"create_order","after":"Založí ZÁVAZNOU objednávku (čeká na platbu) a vrátí platební instrukce: částku, číslo účtu, variabilní symbol, QR a odkaz na stav objednávky (statusUrl). Zákazníkovi zároveň odejde e-mail s platebními údaji. Platí člověk převodem — agent neplatí. Volej až po výslovném souhlasu zákazníka s položkami a cenou z get_quote. Vyžaduje skutečný e-mail zákazníka (doména musí přijímat poštu, jinak 422) a consent:true. Limity: 3 objednávky / IP / den, 2 nezaplacené na jeden e-mail; překročení = 429. Při opakování po timeoutu pošli stejný idempotencyKey — vrátí se tatáž objednávka místo duplicity.","before":"Založí objednávku (čeká na platbu) a vrátí platební instrukce: částku, číslo účtu, variabilní symbol a QR. Platí člověk převodem — agent neplatí. Vyžaduje customer.email a consent:true.","detail":"Description of `create_order` changed (67% word delta).","severity":"risky","descriptionDelta":0.6705882352941177},{"kind":"input_property_added","path":"inputSchema.properties.idempotencyKey","tool":"create_order","after":{"type":"string","maxLength":128,"description":"libovolný unikátní klíč této objednávky (např. UUID); opakované volání se stejným klíčem a obsahem vrátí stejnou objednávku (replayed:true), stejný klíč s jiným obsahem = 409"},"detail":"Optional field `idempotencyKey` was added to `create_order`; may shift model behaviour.","severity":"risky"},{"kind":"description_changed","tool":"get_order_status","after":"Vrátí stav objednávky (stav platby a zpracování) podle čísla objednávky a e-mailu zákazníka. E-mail je povinný a musí se shodovat s objednávkou — jinak found:false (čísla objednávek jsou předvídatelná, bez e-mailu by šly číst cizí).","before":"Vrátí stav objednávky (stav platby a zpracování) podle čísla objednávky.","detail":"Description of `get_order_status` changed (70% word delta).","severity":"risky","descriptionDelta":0.7027027027027026},{"kind":"input_required_added","path":"inputSchema.properties.email","tool":"get_order_status","after":{"type":"string","description":"e-mail zákazníka použitý v objednávce"},"detail":"New required field `email` on `get_order_status`; requests without it will fail.","severity":"breaking"}],"published_at":"2026-09-21T18:21:16.082Z"}]