Serveur MCP

Suorigo Konfigurátor

cz.suorigo.konfigurator/server
Commerce et retail Design et création Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Supports custom printed apparel purchases by listing products, creating designs, calculating quotes, finding pickup points, creating and managing orders, and providing payment links.

cancel_order
Stornuje NEZAPLACENOU objednávku, která ještě není ve výrobě — stejně jako tlačítko na stránce stavu (zákazník dostane e-mail o stornu, otevřená platba kartou se zavře). Zaplacenou objednávku stornovat nejde (napiš na potisk@suorigo.cz). Jen se statusToken a jen na výslovný pokyn zákazníka.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['statusToken'], 'properties': {'statusToken': {'type': 'string', 'description': 'statusToken z create_order (poslední část statusUrl) — plný přístup'}}}
create_design
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).
Schéma d’entrée
{'type': 'object', 'required': ['product', 'layers'], 'properties': {'layers': {'type': 'array', 'items': {'type': 'object'}, 'description': "vrstvy: {type:'image'|'text', side:'front'|'back'|'sideLeft'|'sideRight', x,y,width,height v % 0–100, rotation?, src? (https URL nebo data:URL obrázku), text?, fontFamily?, fontSize?, fill?}"}, 'colorId': {'type': 'string'}, 'product': {'type': 'string'}, 'previewBackDataUrl': {'type': 'string'}, 'previewFrontDataUrl': {'type': 'string'}}}
create_order
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.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['items', 'customer', 'shippingId', 'consent'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['product', 'size', 'quantity'], 'properties': {'size': {'type': 'string', 'description': 'velikost z katalogu, např. M'}, 'layers': {'type': 'array', 'items': {'type': 'object'}, 'description': 'vrstvy z create_design (určují příplatek za potisk)'}, 'colorId': {'type': 'string'}, 'product': {'type': 'string', 'description': 'id nebo slug produktu z list_products'}, 'quantity': {'type': 'integer', 'minimum': 1}, 'colorName': {'type': 'string', 'description': 'název barvy'}, 'printMethod': {'type': 'string'}}}, 'description': 'položky objednávky (každá velikost/barva zvlášť)'}, 'notes': {'type': 'string', 'maxLength': 1000, 'description': 'vzkaz zákazníka k objednávce (co má dílna vědět); uloží se k zakázce jako poznámka od zákazníka, delší text se ořízne'}, 'consent': {'type': 'boolean', 'description': 'souhlas zákazníka s obchodními podmínkami (https://suorigo.cz/obchodni-podminky), musí být true'}, 'customer': {'type': 'object', 'required': ['email', 'name'], 'properties': {'dic': {'type': 'string'}, 'ico': {'type': 'string'}, 'name': {'type': 'string'}, 'email': {'type': 'string'}, 'phone': {'type': 'string'}, 'address': {'type': 'string'}, 'billingZip': {'type': 'string'}, 'billingCity': {'type': 'string'}, 'companyName': {'type': 'string'}, 'deliveryZip': {'type': 'string'}, 'deliveryCity': {'type': 'string'}, 'billingStreet': {'type': 'string'}, 'billingCountry': {'type': 'string'}, 'deliveryStreet': {'type': 'string'}}, 'description': 'zákazník: email (povinné, skutečná doména s poštou), name (povinné — jméno A příjmení, jde na daňový doklad), phone?, address? (doručovací adresa jedním řádkem u doručení na adresu) nebo deliveryStreet/deliveryCity/deliveryZip, firma: companyName?, ico? (doplní se z ARES), dic?, fakturační adresa billingStreet/billingCity/billingZip/billingCountry (nad 10 000 Kč bez IČO povinná)'}, 'promoCode': {'type': 'string', 'description': 'slevový kód; neplatný kód = chyba (nikdy tiše plná cena)'}, 'shippingId': {'enum': ['zasilkovna', 'balikovna', 'ppl-vydejni', 'dpd-vydejni', 'ppl', 'dpd', 'osobni'], 'type': 'string', 'description': 'doprava: zasilkovna (výdejní místo / Z-BOX, 89 Kč), balikovna (69 Kč), ppl-vydejni (79 Kč), dpd-vydejni (89 Kč), ppl / dpd (na adresu, 129 Kč); od 1 500 Kč zdarma; osobni (Šitbořice) jen se slevovým kódem, který ho odemyká'}, 'paymentMethod': {'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)'}, 'pickupPointId': {'type': 'string', 'description': 'id výdejního místa z find_pickup_points (povinné u dopravy na výdejní místo)'}, 'idempotencyKey': {'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, u karty tentýž platební odkaz), stejný klíč s jiným obsahem = 409'}, 'deliverySpeedId': {'enum': ['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), d30 = do měsíce −10 %; nedostupný termín = 400 s důvodem (quote_order ukáže dostupnost)'}, 'pickupPointName': {'type': 'string', 'description': 'název výdejního místa (volitelné, doplní se samo)'}}}
find_pickup_points
Vyhledá výdejní místa dopravce podle města, PSČ, ulice nebo názvu (Zásilkovna vč. Z-BOXů, Balíkovna, PPL ParcelShop, DPD Pickup). Vrácené `id` patří do create_order.pickupPointId.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['shippingId', 'query'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'počet výsledků (výchozí 10)'}, 'query': {'type': 'string', 'description': 'město, PSČ, ulice nebo název (min. 2 znaky), např. „Brno Lidická“ nebo „60200“'}, 'shippingId': {'enum': ['zasilkovna', 'balikovna', 'ppl-vydejni', 'dpd-vydejni'], 'type': 'string'}}}
get_order_status
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.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'email': {'type': 'string', 'description': 'e-mail zákazníka z objednávky — jen spolu s orderNumber'}, 'orderNumber': {'type': 'string', 'description': 'číslo objednávky (9 číslic) — jen spolu s e-mailem'}, 'statusToken': {'type': 'string', 'description': 'statusToken z create_order (poslední část statusUrl) — plný přístup'}}}
get_payment_link
Vrátí odkaz na zaplacení existující objednávky kartou (paymentUrl na Stripe) — když zákazník odkaz ztratil nebo vypršel (platí ~24 h). Stejná cesta jako tlačítko „Dokončit platbu kartou“ na webu: otevřenou platbu znovu použije, zaplacenou jen potvrdí, rozpracované ověření v bance nechá doběhnout. Jen pro objednávky kartou (převod má platební údaje v create_order). Autorizace: statusToken → vrátí paymentUrl; orderNumber + email → odkaz NEvrací, pošle ho zákazníkovi na e-mail z objednávky (max 1× / 15 min, 3× / den).
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'email': {'type': 'string', 'description': 'e-mail zákazníka z objednávky — jen spolu s orderNumber'}, 'orderNumber': {'type': 'string', 'description': 'číslo objednávky (9 číslic) — jen spolu s e-mailem'}, 'statusToken': {'type': 'string', 'description': 'statusToken z create_order (poslední část statusUrl) — plný přístup'}}}
get_quote
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.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['product'], 'properties': {'sizes': {'type': 'object', 'description': 'mapování velikost→počet, např. {"M":10,"L":5}'}, 'product': {'type': 'string'}, 'quantity': {'type': 'number'}, 'promoCode': {'type': 'string'}, 'printedSides': {'type': 'number', 'description': 'počet potištěných stran 0–4'}, 'printSideHeightsCm': {'type': 'array', 'items': {'type': 'number'}, 'description': 'výška motivu v cm na každé potištěné straně'}}}
list_products
Vrátí katalog triček/mikin Suorigo (barvy, velikosti, ceny vč. množstevních slev) nebo jeden produkt podle id/slug.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'product': {'type': 'string', 'description': 'id nebo slug konkrétního produktu (volitelné)'}}}
lookup_company
Dohledá firmu podle IČO v ARES (název, DIČ, sídlo) — pro nákup na firmu. Vrací pole ve tvaru create_order.customer (companyName, ico, dic, billingStreet…).
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['ico'], 'properties': {'ico': {'type': 'string', 'description': 'IČO (7–8 číslic)'}}}
quote_order
Přesná cena celé objednávky PŘED založením — stejný výpočet jako create_order (položky, doprava vč. dopravy zdarma od 1 500 Kč, kupón, termín výroby). Vrací totalVat, rozpis, dostupné termíny (deliverySpeeds), ceny dopravy a v `requirements` co ještě chybí k objednání. Nic neukládá.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['product', 'size', 'quantity'], 'properties': {'size': {'type': 'string', 'description': 'velikost z katalogu, např. M'}, 'layers': {'type': 'array', 'items': {'type': 'object'}, 'description': 'vrstvy z create_design (určují příplatek za potisk)'}, 'colorId': {'type': 'string'}, 'product': {'type': 'string', 'description': 'id nebo slug produktu z list_products'}, 'quantity': {'type': 'integer', 'minimum': 1}, 'colorName': {'type': 'string', 'description': 'název barvy'}, 'printMethod': {'type': 'string'}}}, 'description': 'položky objednávky (každá velikost/barva zvlášť)'}, 'customer': {'type': 'object', 'description': 'volitelné: email (kvůli limitu kupónu), name, ico, adresy — jen pro kontrolu requirements'}, 'promoCode': {'type': 'string', 'description': 'slevový kód; neplatný kód = chyba (nikdy tiše plná cena)'}, 'shippingId': {'enum': ['zasilkovna', 'balikovna', 'ppl-vydejni', 'dpd-vydejni', 'ppl', 'dpd', 'osobni'], 'type': 'string', 'description': 'doprava: zasilkovna (výdejní místo / Z-BOX, 89 Kč), balikovna (69 Kč), ppl-vydejni (79 Kč), dpd-vydejni (89 Kč), ppl / dpd (na adresu, 129 Kč); od 1 500 Kč zdarma; osobni (Šitbořice) jen se slevovým kódem, který ho odemyká'}, 'pickupPointId': {'type': 'string', 'description': 'id výdejního místa z find_pickup_points (povinné u dopravy na výdejní místo)'}, 'deliverySpeedId': {'enum': ['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), d30 = do měsíce −10 %; nedostupný termín = 400 s důvodem (quote_order ukáže dostupnost)'}, 'pickupPointName': {'type': 'string', 'description': 'název výdejního místa (volitelné, doplní se samo)'}}}
Modifié
create_order
1 October 2026 02:43
Modifié
quote_order
1 October 2026 02:43
Ajouté
cancel_order
25 September 2026 02:50
Modifié
get_order_status
25 September 2026 02:50
Ajouté
get_payment_link
25 September 2026 02:50
Modifié
create_order
25 September 2026 02:50
Ajouté
lookup_company
25 September 2026 02:50
Ajouté
find_pickup_points
25 September 2026 02:50
Ajouté
quote_order
25 September 2026 02:50
Modifié
create_design
25 September 2026 02:50
Modifié
get_quote
25 September 2026 02:50
Modifié
get_order_status
23 September 2026 02:41
Modifié
create_order
23 September 2026 02:41
Ajouté
get_order_status
17 September 2026 12:38
Ajouté
create_order
17 September 2026 12:38
Ajouté
create_design
17 September 2026 12:38
Ajouté
get_quote
17 September 2026 12:38
Ajouté
list_products
17 September 2026 12:38