MCP-Server

TATUAT.RO — Tattoo & Piercing Supplies

io.github.estartoken/tatuat-mcp
Commerce & Retail Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches a Romanian tattoo and piercing supply catalog, checks product prices and stock, calculates shipping, and creates checkout links.

browse_category
Răsfoiește o categorie de pe tatuat.ro
Întoarce o pagină de produse dintr-o categorie tatuat.ro (sau din tot catalogul, dacă nu se dă un ID de categorie), cu preț în RON, disponibilitate și link direct la fișa de produs. Folosește acest tool când clientul vrea să vadă ce e disponibil într-o categorie sau vrea produsele cele mai populare/ieftine/scumpe/noi. Pentru un produs anume folosește după aceea get_product cu slug-ul întors aici.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'sort': {'enum': ['for_you', 'popular', 'cheap', 'expensive', 'newest'], 'type': 'string', 'default': 'for_you', 'description': 'Cum se ordoneazÄ\x83 rezultatele: for_you, popular, cheap, expensive, newest. Implicit â\x80\x9efor_you".'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Câte produse sÄ\x83 întoarcÄ\x83, între 1 È\x99i 20. Implicit 10.'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Câte produse se omit de la începutul listei, pentru paginare. Implicit 0.'}, 'category_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'default': None, 'description': 'ID-ul numeric al categoriei ale cÄ\x83rei produse se listeazÄ\x83. Omis sau null = tot catalogul, ca â\x80\x9eToate produsele" din magazin.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['category_id', 'sort', 'offset', 'count', 'products'], 'properties': {'sort': {'enum': ['for_you', 'popular', 'cheap', 'expensive', 'newest'], 'type': 'string', 'description': 'Sortarea efectiv folositÄ\x83 pentru aceastÄ\x83 paginÄ\x83.'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte produse s-au întors în aceastÄ\x83 paginÄ\x83.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Offset-ul efectiv folosit pentru paginare.'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id', 'slug', 'name', 'url', 'price', 'price_before', 'price_from', 'currency', 'in_stock', 'variant_count', 'brand'], 'properties': {'url': {'type': 'string', 'description': 'Adresa fiÈ\x99ei de produs pe tatuat.ro.'}, 'name': {'type': 'string', 'description': 'Numele comercial al produsului, în românÄ\x83.'}, 'slug': {'type': 'string', 'description': 'Identificatorul textual stabil, folosit în URL.'}, 'brand': {'type': ['string', 'null'], 'description': 'Numele brandului, sau null dacÄ\x83 nu e setat.'}, 'price': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul efectiv de platÄ\x83 (preÈ\x9bul redus dacÄ\x83 produsul e la promoÈ\x9bie). La produsele cu variante e preÈ\x9bul CELEI MAI IEFTINE variante â\x80\x94 vezi price_from.'}, 'currency': {'type': 'string', 'const': 'RON', 'description': 'Moneda preÈ\x9bului. Ã\x8entotdeauna RON.'}, 'in_stock': {'type': 'boolean', 'description': 'DacÄ\x83 produsul poate fi comandat acum.'}, 'price_from': {'type': 'boolean', 'description': 'DacÄ\x83 true, `price` e cel mai mic preÈ\x9b dintre variante, nu preÈ\x9bul exact â\x80\x94 anunÈ\x9bÄ\x83-l clientului ca â\x80\x9ede la X RON". DacÄ\x83 false, `price` e preÈ\x9bul exact.'}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Identificatorul numeric stabil al produsului.'}, 'price_before': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul dinainte de reducere, sau null dacÄ\x83 produsul nu e la promoÈ\x9bie.'}, 'variant_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte variante are produsul (0 = produs simplu, fÄ\x83rÄ\x83 variante de ales).'}}, 'additionalProperties': False}, 'description': 'Produsele categoriei, în ordinea sortÄ\x83rii cerute.'}, 'category_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'ID-ul categoriei cerute; null înseamnÄ\x83 tot catalogul.'}}, 'additionalProperties': False}
calculate_shipping
Calculează transportul pe tatuat.ro
Calculează costul de transport, pragul pentru transport gratuit și cadourile atinse la prag pentru un coș tatuat.ro. Dă fie 'lines' (produsele coșului, ca tool-ul să citească prețul real din catalog), fie un 'subtotal' deja cunoscut. Pentru variante cu prețuri diferite, trimite variant_id din get_product. Un produs sau o variantă neconfirmată oprește calculul, fără total parțial. Folosește acest tool când clientul întreabă cât costă transportul sau cât mai trebuie să cumpere pentru livrare gratuită sau cadou.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['quantity'], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Slug-ul produsului, ca cel întors de search_products.'}, 'quantity': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'Câte bucÄ\x83È\x9bi din acest produs sunt în coÈ\x99.'}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Identificatorul numeric al produsului, alternativÄ\x83 la slug.', 'exclusiveMinimum': 0}, 'variant_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID-ul variantei alese, din get_product. Necesar dacÄ\x83 variantele au preÈ\x9buri diferite; omite pentru produse simple.', 'exclusiveMinimum': 0}}, 'description': 'O linie de coÈ\x99: exact unul dintre slug sau product_id, cantitatea È\x99i variant_id pentru varianta aleasÄ\x83.'}, 'maxItems': 50, 'description': "Liniile coÈ\x99ului (maxim 50), ca tool-ul sÄ\x83 calculeze subtotalul din preÈ\x9burile reale ale catalogului. CoÈ\x99 gol = listÄ\x83 vidÄ\x83. FoloseÈ\x99te ori acest câmp, ori 'subtotal', niciodatÄ\x83 ambele."}, 'subtotal': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': "Subtotalul coÈ\x99ului în RON, dacÄ\x83 e deja cunoscut (de exemplu calculat din preÈ\x9burile întoarse de search_products). FoloseÈ\x99te ori acest câmp, ori 'lines', niciodatÄ\x83 ambele."}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subtotal', 'shipping_fee', 'free_shipping', 'amount_to_free_shipping', 'heavy_shipping', 'currency', 'gifts_reached', 'order_restriction', 'next_gift'], 'properties': {'currency': {'type': 'string', 'const': 'RON', 'description': 'Moneda tuturor sumelor. Ã\x8entotdeauna RON.'}, 'subtotal': {'type': 'number', 'description': 'Subtotalul folosit la calcul, în RON.'}, 'next_gift': {'anyOf': [{'type': 'object', 'required': ['name', 'amount_needed'], 'properties': {'name': {'type': 'string', 'description': 'Numele cadoului.'}, 'amount_needed': {'type': 'number', 'description': 'Cât mai trebuie adÄ\x83ugat la coÈ\x99, în RON, ca sÄ\x83 fie atins acest cadou.'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'UrmÄ\x83torul cadou de atins È\x99i cât mai e nevoie, sau null dacÄ\x83 toate cadourile au fost atinse.'}, 'shipping_fee': {'type': 'number', 'description': 'Costul transportului pentru acest coÈ\x99, în RON (0 = gratuit).'}, 'free_shipping': {'type': 'boolean', 'description': 'DacÄ\x83 transportul e gratuit la acest coÈ\x99.'}, 'gifts_reached': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Numele cadourilor pentru care coÈ\x99ul a atins deja pragul.'}, 'heavy_shipping': {'type': 'boolean', 'description': 'DacÄ\x83 tariful de mai sus vine din produse "grele" cu transport propriu, nu din tariful standard.'}, 'order_restriction': {'anyOf': [{'enum': ['hu_only'], 'type': 'string'}, {'type': 'null'}], 'description': 'RestricÈ\x9bia de comandÄ\x83 a coÈ\x99ului, sau null. hu_only = cel puÈ\x9bin un produs din liniile trimise se poate comanda DOAR cu livrare în Ungaria; transportul de mai sus e calculat corect, dar comanda va fi refuzatÄ\x83 la plasare pentru livrare în România. Null când s-a trimis doar `subtotal`, fÄ\x83rÄ\x83 linii â\x80\x94 atunci produsele nu sunt cunoscute aici.'}, 'amount_to_free_shipping': {'type': 'number', 'description': 'Cât mai trebuie adÄ\x83ugat la coÈ\x99, în RON, pentru transport gratuit (0 dacÄ\x83 e deja atins).'}}, 'additionalProperties': False}
create_checkout
Creează link de finalizare comandă pe tatuat.ro
Generează un link semnat către checkout-ul tatuat.ro pentru coșul dat (produse, variante, cantități, opțiuni). Linkul e valabil un timp limitat și NU conține prețuri — prețul final se confirmă pe site. Folosește acest tool când clientul e decis să cumpere; pentru a găsi produse sau prețuri folosește search_products/get_product înainte.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id', 'qty'], 'properties': {'qty': {'type': 'integer', 'maximum': 9999, 'minimum': 1, 'description': 'Cantitatea cerutÄ\x83 din acest produs. Minim 1 â\x80\x94 un coÈ\x99 nu poate avea o cantitate zero sau negativÄ\x83 â\x80\x94 È\x99i maximum 9999.'}, 'options': {'type': 'object', 'default': {}, 'description': 'OpÈ\x9biuni alese pentru produs, ca pereche nume-valoare (ex. {"culoare":"negru"}), dacÄ\x83 produsul are. Cel mult 20 opÈ\x9biuni; numele pânÄ\x83 la 64 caractere, valoarea pânÄ\x83 la 200.', 'propertyNames': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 200}}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Identificatorul numeric stabil al produsului, ca cel întors de search_products.', 'exclusiveMinimum': 0}, 'variant_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None, 'description': 'Varianta aleasÄ\x83 a produsului, sau null dacÄ\x83 produsul nu are variante.'}}}, 'maxItems': 20, 'minItems': 1, 'description': 'CoÈ\x99ul de cumpÄ\x83rat: cel puÈ\x9bin un produs, maximum 20 linii.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['url', 'expires_in_seconds'], 'properties': {'url': {'type': 'string', 'description': 'Link de finalizare a comenzii pe tatuat.ro. PreÈ\x9bul se confirmÄ\x83 pe site la finalizare, nu prin acest link.'}, 'expires_in_seconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Cât timp, în secunde, mai e valabil link-ul înainte sÄ\x83 trebuiascÄ\x83 generat din nou.'}}, 'additionalProperties': False}
get_product
Fișa unui produs de pe tatuat.ro
Întoarce fișa completă a unui produs de pe tatuat.ro după slug: nume, descriere, preț efectiv în RON (cu prețul dinainte de reducere dacă e cazul), disponibilitate, link direct la fișă, brand și variantele cu preț și stoc propriu. Folosește slug-ul întors de search_products. Dacă slug-ul nu corespunde unui produs activ, found este false — nu e o eroare.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Slug-ul produsului, exact cel întors de search_products sau cel din URL-ul fiÈ\x99ei (ex. â\x80\x9eace-cartus-0-30-rl"), fÄ\x83rÄ\x83 prefixul /product/.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['found', 'product', 'order_restriction'], 'properties': {'found': {'type': 'boolean', 'description': 'DacÄ\x83 slug-ul corespunde unui produs activ pe tatuat.ro. false â\x89\xa0 eroare.'}, 'product': {'anyOf': [{'type': 'object', 'required': ['product_id', 'slug', 'name', 'description', 'url', 'price', 'price_before', 'price_from', 'currency', 'in_stock', 'variant_count', 'brand', 'sku', 'variants'], 'properties': {'sku': {'type': ['string', 'null'], 'description': 'Codul SKU al produsului, sau null dacÄ\x83 nu e setat.'}, 'url': {'type': 'string', 'description': 'Adresa fiÈ\x99ei de produs pe tatuat.ro.'}, 'name': {'type': 'string', 'description': 'Numele comercial al produsului, în românÄ\x83.'}, 'slug': {'type': 'string', 'description': 'Identificatorul textual stabil, folosit în URL.'}, 'brand': {'type': ['string', 'null'], 'description': 'Numele brandului, sau null dacÄ\x83 nu e setat.'}, 'price': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul efectiv de platÄ\x83 (preÈ\x9bul redus dacÄ\x83 produsul e la promoÈ\x9bie). La produsele cu variante e preÈ\x9bul CELEI MAI IEFTINE variante â\x80\x94 vezi price_from È\x99i lista `variants`.'}, 'currency': {'type': 'string', 'const': 'RON', 'description': 'Moneda preÈ\x9bului. Ã\x8entotdeauna RON.'}, 'in_stock': {'type': 'boolean', 'description': 'DacÄ\x83 produsul poate fi comandat acum.'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'required': ['variant_id', 'name', 'sku', 'price', 'in_stock', 'is_default'], 'properties': {'sku': {'type': ['string', 'null'], 'description': 'Codul SKU al variantei, sau null dacÄ\x83 nu e setat.'}, 'name': {'type': 'string', 'description': 'Numele variantei (ex. mÄ\x83rime, capacitate, culoare).'}, 'price': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul efectiv al variantei (preÈ\x9bul redus dacÄ\x83 are o reducere realÄ\x83).'}, 'in_stock': {'type': 'boolean', 'description': 'DacÄ\x83 aceastÄ\x83 variantÄ\x83 poate fi comandatÄ\x83 acum.'}, 'is_default': {'type': 'boolean', 'description': 'DacÄ\x83 e varianta selectatÄ\x83 implicit pe fiÈ\x99a produsului de pe tatuat.ro.'}, 'variant_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Identificatorul numeric al variantei.'}}, 'additionalProperties': False}, 'description': 'Variantele produsului, cu preÈ\x9b È\x99i stoc propriu; listÄ\x83 vidÄ\x83 dacÄ\x83 produsul e simplu.'}, 'price_from': {'type': 'boolean', 'description': 'DacÄ\x83 true, `price` e cel mai mic preÈ\x9b dintre variante, nu preÈ\x9bul exact â\x80\x94 anunÈ\x9bÄ\x83-l clientului ca â\x80\x9ede la X RON" È\x99i foloseÈ\x99te `variants` pentru preÈ\x9bul variantei alese. DacÄ\x83 false, `price` e preÈ\x9bul exact.'}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Identificatorul numeric stabil al produsului.'}, 'description': {'type': 'string', 'description': 'Descrierea produsului, curÄ\x83È\x9batÄ\x83 de HTML È\x99i trunchiatÄ\x83 la maximum 500 de caractere, la graniÈ\x9bÄ\x83 de cuvânt.'}, 'price_before': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul dinainte de reducere, sau null dacÄ\x83 produsul nu e la promoÈ\x9bie.'}, 'variant_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte variante are produsul (0 = produs simplu, fÄ\x83rÄ\x83 variante de ales).'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'FiÈ\x99a produsului, sau null dacÄ\x83 slug-ul nu corespunde niciunui produs activ.'}, 'order_restriction': {'anyOf': [{'enum': ['hu_only'], 'type': 'string'}, {'type': 'null'}], 'description': 'RestricÈ\x9bia de comandÄ\x83 a produsului, sau null dacÄ\x83 n-are niciuna (È\x99i la found: false). hu_only = se poate comanda DOAR cu livrare în Ungaria; o comandÄ\x83 cu livrare în România va fi refuzatÄ\x83 la plasare.'}}, 'additionalProperties': False}
get_stock
Verifică stocul unui produs pe tatuat.ro
Verifică disponibilitatea reală a unui produs (sau al unei variante a lui, ex. o mărime) pentru o cantitate cerută de client, folosind slug-ul întors de search_products. Întoarce una din patru stări — disponibil integral acum, parțial disponibil cu rest pe precomandă, precomandă integrală (stoc 0), sau cantitate la plafonul maxim comandabil — plus un text pe care îl poți spune clientului fără să inventezi o cifră.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9999, 'minimum': 1, 'description': 'Câte bucÄ\x83È\x9bi vrea clientul sÄ\x83 comande. Implicit 1, maximum 9999.'}, 'slug': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Identificatorul textual (slug) al produsului, ca cel întors de search_products sau din URL-ul /product/<slug>.'}, 'variant_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'ID-ul variantei (ex. mÄ\x83rimea acului) al cÄ\x83rei stoc se verificÄ\x83. Omite pentru produsele fÄ\x83rÄ\x83 variante â\x80\x94 sau ca sÄ\x83 se verifice varianta implicitÄ\x83 a produsului.', 'exclusiveMinimum': 0}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug', 'product_id', 'product_name', 'variant_id', 'variant_name', 'url', 'requested_qty', 'state', 'available_now', 'backorder_qty', 'max_orderable', 'order_restriction'], 'properties': {'url': {'type': 'string', 'description': 'Adresa fiÈ\x99ei de produs pe tatuat.ro.'}, 'slug': {'type': 'string', 'description': 'Slug-ul produsului verificat.'}, 'state': {'enum': ['in_stock', 'partial', 'preorder', 'max'], 'type': 'string', 'description': 'Starea de stoc: in_stock = toatÄ\x83 cantitatea cerutÄ\x83 e disponibilÄ\x83 acum; partial = doar o parte e disponibilÄ\x83 acum, restul intrÄ\x83 pe precomandÄ\x83; preorder = stoc 0, toatÄ\x83 cantitatea intrÄ\x83 pe precomandÄ\x83; max = cantitatea cerutÄ\x83 atinge exact plafonul maxim comandabil pe aceastÄ\x83 linie.'}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Identificatorul numeric stabil al produsului.'}, 'variant_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}], 'description': 'ID-ul variantei verificate, sau null dacÄ\x83 produsul nu are variante.'}, 'product_name': {'type': 'string', 'description': 'Numele comercial al produsului.'}, 'variant_name': {'type': ['string', 'null'], 'description': 'Numele variantei verificate (ex. mÄ\x83rimea), sau null dacÄ\x83 produsul nu are variante.'}, 'available_now': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte bucÄ\x83È\x9bi din cantitatea cerutÄ\x83 se pot onora chiar acum, din stocul curent.'}, 'backorder_qty': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte bucÄ\x83È\x9bi din cantitatea cerutÄ\x83 ar intra pe precomandÄ\x83 (0 dacÄ\x83 tot e disponibil acum).'}, 'max_orderable': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Cantitatea maximÄ\x83 comandabilÄ\x83 acum pe aceastÄ\x83 linie de produs (plafon de linie).'}, 'requested_qty': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Cantitatea cerutÄ\x83 în input.'}, 'order_restriction': {'anyOf': [{'enum': ['hu_only'], 'type': 'string'}, {'type': 'null'}], 'description': 'RestricÈ\x9bia de comandÄ\x83 a produsului, sau null dacÄ\x83 n-are niciuna. hu_only = se poate comanda DOAR cu livrare în Ungaria; o comandÄ\x83 cu livrare în România va fi refuzatÄ\x83 la plasare, oricât stoc ar exista.'}}, 'additionalProperties': False}
search_products
Caută produse pe tatuat.ro
Caută în catalogul tatuat.ro după nume, brand sau tip de produs și întoarce produse cu preț în RON, disponibilitate și link direct la fișa de produs. Folosește acest tool când clientul întreabă dacă un produs există, cât costă sau ce opțiuni sunt disponibile. Pentru detaliile unui produs anume, folosește după aceea get_product cu slug-ul întors aici.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Câte rezultate sÄ\x83 întoarcÄ\x83, între 1 È\x99i 20. Implicit 10.'}, 'query': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Ce cautÄ\x83 clientul, în cuvintele lui: nume de produs, brand, sau tip de produs (ex. â\x80\x9eace 0.30 RL", â\x80\x9emaÈ\x99inÄ\x83 rotativÄ\x83", â\x80\x9etuÈ\x99 negru"). Minim douÄ\x83 caractere ca sÄ\x83 se facÄ\x83 efectiv o cÄ\x83utare.'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query', 'count', 'products'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte produse s-au gÄ\x83sit, maximum limita cerutÄ\x83.'}, 'query': {'type': 'string', 'description': 'Interogarea folositÄ\x83 efectiv, dupÄ\x83 curÄ\x83È\x9bare.'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id', 'slug', 'name', 'url', 'price', 'price_before', 'price_from', 'currency', 'in_stock', 'variant_count', 'brand'], 'properties': {'url': {'type': 'string', 'description': 'Adresa fiÈ\x99ei de produs pe tatuat.ro.'}, 'name': {'type': 'string', 'description': 'Numele comercial al produsului, în românÄ\x83.'}, 'slug': {'type': 'string', 'description': 'Identificatorul textual stabil, folosit în URL.'}, 'brand': {'type': ['string', 'null'], 'description': 'Numele brandului, sau null dacÄ\x83 nu e setat.'}, 'price': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul efectiv de platÄ\x83 (preÈ\x9bul redus dacÄ\x83 produsul e la promoÈ\x9bie). La produsele cu variante e preÈ\x9bul CELEI MAI IEFTINE variante â\x80\x94 vezi price_from.'}, 'currency': {'type': 'string', 'const': 'RON', 'description': 'Moneda preÈ\x9bului. Ã\x8entotdeauna RON.'}, 'in_stock': {'type': 'boolean', 'description': 'DacÄ\x83 produsul poate fi comandat acum.'}, 'price_from': {'type': 'boolean', 'description': 'DacÄ\x83 true, `price` e cel mai mic preÈ\x9b dintre variante, nu preÈ\x9bul exact â\x80\x94 anunÈ\x9bÄ\x83-l clientului ca â\x80\x9ede la X RON". DacÄ\x83 false, `price` e preÈ\x9bul exact.'}, 'product_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Identificatorul numeric stabil al produsului.'}, 'price_before': {'type': ['number', 'null'], 'description': 'PreÈ\x9bul dinainte de reducere, sau null dacÄ\x83 produsul nu e la promoÈ\x9bie.'}, 'variant_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Câte variante are produsul (0 = produs simplu, fÄ\x83rÄ\x83 variante de ales).'}}, 'additionalProperties': False}, 'description': 'Produsele gÄ\x83site, în ordinea de relevanÈ\x9bÄ\x83 a magazinului.'}}, 'additionalProperties': False}
Hinzugefügt
create_checkout
2. October 2026 02:40
Hinzugefügt
get_product
2. October 2026 02:40
Hinzugefügt
browse_category
2. October 2026 02:40
Hinzugefügt
get_stock
2. October 2026 02:40
Hinzugefügt
calculate_shipping
2. October 2026 02:40
Hinzugefügt
search_products
2. October 2026 02:40