{"openapi": "3.1.0", "info": {"title": "Mar de Vinhos API Catalog", "description": "REST API for accessing wine catalog, product information, supplier data, and B2B marketplace operations", "version": "1.0.0", "contact": {"name": "Mar de Vinhos LTDA", "email": "contato@mardevinhos.com", "url": "https://mardevinhos.com"}, "license": {"name": "Proprietary", "url": "https://mardevinhos.com/lgpd"}}, "servers": [{"url": "https://qrback.mardevinhos.com/api", "description": "Production API server"}, {"url": "http://localhost:8010/api", "description": "Local development server"}], "paths": {"/products": {"get": {"summary": "List all wine products", "description": "Retrieve the complete wine catalog with filtering options", "tags": ["Catalog"], "parameters": [{"name": "category", "in": "query", "schema": {"type": "string", "enum": ["tintos", "brancos", "roses", "espumantes", "portos", "sobremesa"]}, "description": "Filter by wine category"}, {"name": "search", "in": "query", "schema": {"type": "string"}, "description": "Search by name, producer, or grape variety"}, {"name": "min_price", "in": "query", "schema": {"type": "number"}, "description": "Minimum price filter in BRL"}, {"name": "max_price", "in": "query", "schema": {"type": "number"}, "description": "Maximum price filter in BRL"}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}, "description": "Number of results to return"}, {"name": "offset", "in": "query", "schema": {"type": "integer", "default": 0}, "description": "Pagination offset"}], "responses": {"200": {"description": "List of wine products", "content": {"application/json": {"schema": {"type": "object", "properties": {"items": {"type": "array", "items": {"$ref": "#/components/schemas/WineProduct"}}, "total": {"type": "integer"}, "limit": {"type": "integer"}, "offset": {"type": "integer"}}}}}}}}, "/products/{id}": {"get": {"summary": "Get wine product details", "description": "Retrieve detailed information about a specific wine including tasting notes and pairing suggestions", "tags": ["Catalog"], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}, "description": "Product ID"}], "responses": {"200": {"description": "Wine product details", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/WineProduct"}}}}, "404": {"description": "Product not found"}}}}, "/suppliers": {"get": {"summary": "List wine suppliers", "description": "Retrieve list of wine producers, importers, and distributors", "tags": ["Suppliers"], "responses": {"200": {"description": "List of suppliers", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Supplier"}}}}}}}}, "/health": {"get": {"summary": "Health check", "description": "API health status endpoint", "tags": ["System"], "responses": {"200": {"description": "Service is healthy", "content": {"application/json": {"schema": {"type": "object", "properties": {"status": {"type": "string"}, "timestamp": {"type": "string", "format": "date-time"}}}}}}}}}}, "components": {"schemas": {"WineProduct": {"type": "object", "properties": {"id": {"type": "string", "description": "Unique product identifier"}, "name": {"type": "string", "description": "Wine name"}, "producer": {"type": "string", "description": "Wine producer / winery"}, "country": {"type": "string", "description": "Country of origin"}, "region": {"type": "string", "description": "Wine region"}, "grape_variety": {"type": "string", "description": "Grape variety / uva"}, "wine_type": {"type": "string", "enum": ["red", "white", "rose", "sparkling", "port", "dessert"], "description": "Type of wine"}, "vintage": {"type": "integer", "description": "Vintage year (safra)"}, "price_brl": {"type": "number", "description": "Price in Brazilian Reais"}, "tasting_notes": {"type": "string", "description": "Sommelier tasting notes"}, "pairing_suggestions": {"type": "array", "items": {"type": "string"}, "description": "Food pairing suggestions"}, "image_url": {"type": "string", "format": "uri", "description": "Product image URL"}, "supplier_id": {"type": "string", "description": "Associated supplier ID"}, "category": {"type": "string", "description": "Product category"}, "available": {"type": "boolean", "description": "Availability status"}}, "required": ["id", "name", "producer", "price_brl"]}, "Supplier": {"type": "object", "properties": {"id": {"type": "string"}, "name": {"type": "string", "description": "Supplier company name"}, "type": {"type": "string", "enum": ["producer", "importer", "distributor"], "description": "Supplier type"}, "contact_email": {"type": "string", "format": "email"}, "contact_phone": {"type": "string"}, "location": {"type": "string", "description": "City/Region"}, "country": {"type": "string"}, "website": {"type": "string", "format": "uri"}, "specialties": {"type": "array", "items": {"type": "string"}, "description": "Wine specialties or regions focus"}}, "required": ["id", "name", "type"]}}}}