{
    "openapi": "3.1.0",
    "info": {
        "title": "Ucuzabulan API",
        "version": "V100 SLIDER SHARE CATEGORY SEO VERIFIED",
        "description": "REST, GraphQL Lite ve API Gateway uçları için canlı OpenAPI dokümantasyonu."
    },
    "servers": [
        {
            "url": "https://ucuzabulan.com"
        }
    ],
    "paths": {
        "/api/openapi.php": {
            "get": {
                "summary": "OpenAPI spec döner",
                "description": "API şemasını JSON olarak yayınlar.",
                "responses": {
                    "200": {
                        "description": "OpenAPI spec",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/postman.php": {
            "get": {
                "summary": "Postman collection döner",
                "description": "OpenAPI spec’ten türetilmiş Postman Collection v2.1 JSON çıktısı verir.",
                "responses": {
                    "200": {
                        "description": "Postman collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sdk.php": {
            "get": {
                "summary": "API client SDK şablonu döner",
                "description": "lang=typescript, lang=php veya lang=python ile hazır istemci kodu üretir.",
                "parameters": [
                    {
                        "name": "lang",
                        "in": "query",
                        "required": false,
                        "description": "İstemci dili",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "typescript",
                                "php",
                                "python"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SDK metadata",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/search.php": {
            "get": {
                "summary": "Ürün arama",
                "description": "Rewrite, merchandising ve engine failover ile ürün listesi döner.",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "Arama sorgusu",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Kayıt limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 24
                    },
                    {
                        "name": "locale",
                        "in": "query",
                        "required": false,
                        "description": "Dil kodu",
                        "schema": {
                            "type": "string"
                        },
                        "example": "tr"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Arama sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SearchResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/search_suggest.php": {
            "get": {
                "summary": "Autocomplete / suggest",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "Arama sorgusu",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Öneri limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 10
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Suggest listesi",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SuggestResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/product.php": {
            "get": {
                "summary": "Tek ürün",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": false,
                        "description": "Ürün ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "slug",
                        "in": "query",
                        "required": false,
                        "description": "Ürün slug",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "region_code",
                        "in": "query",
                        "required": false,
                        "description": "Bölgesel teklif filtresi (örn: TR34)",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ürün kartı",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProductResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/catalog.php": {
            "get": {
                "summary": "Gruplanmış katalog listesi",
                "description": "Aynı SKU / GTIN / MPN kodlarını tek ürün kartında gruplayarak listeler.",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Arama sorgusu",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Sayfa numarası",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per",
                        "in": "query",
                        "required": false,
                        "description": "Sayfa başına kayıt",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 24
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "Sıralama",
                        "schema": {
                            "type": "string"
                        },
                        "example": "price_asc"
                    },
                    {
                        "name": "min",
                        "in": "query",
                        "required": false,
                        "description": "Minimum fiyat",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "max",
                        "in": "query",
                        "required": false,
                        "description": "Maksimum fiyat",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "description": "Kategori ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "category_slug",
                        "in": "query",
                        "required": false,
                        "description": "Kategori slug",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "brands",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü marka listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "stores",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü mağaza listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "store_ids",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü mağaza ID listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "region_code",
                        "in": "query",
                        "required": false,
                        "description": "Bölgesel teklif filtresi (örn: TR34)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "free_shipping",
                        "in": "query",
                        "required": false,
                        "description": "Sadece ücretsiz kargo",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "coupon",
                        "in": "query",
                        "required": false,
                        "description": "Sadece kuponlu ürünler",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "in_stock",
                        "in": "query",
                        "required": false,
                        "description": "Sadece stokta olanlar",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "sponsored",
                        "in": "query",
                        "required": false,
                        "description": "Sadece sponsorlu ürünler",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Katalog listesi",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/facets.php": {
            "get": {
                "summary": "Katalog facet sayıları",
                "description": "Marka, mağaza, kategori ve flag sayaçlarını döner.",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Arama sorgusu",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "description": "Kategori ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "category_slug",
                        "in": "query",
                        "required": false,
                        "description": "Kategori slug",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "brands",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü marka listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "stores",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü mağaza listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "store_ids",
                        "in": "query",
                        "required": false,
                        "description": "Virgüllü mağaza ID listesi",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "region_code",
                        "in": "query",
                        "required": false,
                        "description": "Bölgesel teklif filtresi (örn: TR34)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "free_shipping",
                        "in": "query",
                        "required": false,
                        "description": "Ücretsiz kargo filtresi",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "coupon",
                        "in": "query",
                        "required": false,
                        "description": "Kupon filtresi",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "in_stock",
                        "in": "query",
                        "required": false,
                        "description": "Stok filtresi",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "sponsored",
                        "in": "query",
                        "required": false,
                        "description": "Sponsor filtresi",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Facet çıktısı",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/offers.php": {
            "get": {
                "summary": "Ürün teklifleri",
                "description": "Ürüne ait aktif teklifleri net toplam fiyata göre sıralı döner.",
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": true,
                        "description": "Ürün ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "Sıralama",
                        "schema": {
                            "type": "string"
                        },
                        "example": "price_asc"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Teklif limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 80
                    },
                    {
                        "name": "sponsored_first",
                        "in": "query",
                        "required": false,
                        "description": "Sponsorlu teklifleri üste al",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "free_shipping",
                        "in": "query",
                        "required": false,
                        "description": "Sadece ücretsiz kargolu teklifler",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "coupon",
                        "in": "query",
                        "required": false,
                        "description": "Sadece kuponlu teklifler",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "in_stock",
                        "in": "query",
                        "required": false,
                        "description": "Sadece stokta teklifler",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "store_id",
                        "in": "query",
                        "required": false,
                        "description": "Tek mağaza filtresi",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "region_code",
                        "in": "query",
                        "required": false,
                        "description": "Bölgesel teklif filtresi (örn: TR34)",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Teklif listesi",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/push_offer.php": {
            "post": {
                "summary": "Tekil mağaza teklif upsert",
                "description": "X-API-KEY ile tek bir offer payload alır; ürün eşleştirme ve offer upsert yapar.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "title",
                                    "url",
                                    "price"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "url": {
                                        "type": "string"
                                    },
                                    "price": {
                                        "type": "number"
                                    },
                                    "gtin": {
                                        "type": "string"
                                    },
                                    "mpn": {
                                        "type": "string"
                                    },
                                    "sku": {
                                        "type": "string"
                                    },
                                    "image_url": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Upsert sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/push_offers.php": {
            "post": {
                "summary": "Toplu mağaza teklif upsert",
                "description": "X-API-KEY ve opsiyonel Idempotency-Key ile batch offer ingest çalıştırır; item bazlı sonuç döner.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "items"
                                ],
                                "properties": {
                                    "dry_run": {
                                        "type": "boolean"
                                    },
                                    "stop_on_error": {
                                        "type": "boolean"
                                    },
                                    "idempotency_key": {
                                        "type": "string"
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Batch upsert sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/price_history.php": {
            "get": {
                "summary": "Fiyat geçmişi",
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": true,
                        "description": "Ürün ID",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "description": "Kaç günlük veri",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 30
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Fiyat geçmişi",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PriceHistoryResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/mobile_bootstrap.php": {
            "get": {
                "summary": "Mobil bootstrap",
                "parameters": [
                    {
                        "name": "banner_limit",
                        "in": "query",
                        "required": false,
                        "description": "Banner limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 6
                    },
                    {
                        "name": "category_limit",
                        "in": "query",
                        "required": false,
                        "description": "Kategori limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 10
                    },
                    {
                        "name": "pick_limit",
                        "in": "query",
                        "required": false,
                        "description": "Öne çıkan ürün limiti",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 12
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Mobil başlangıç payload",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MobileBootstrapResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/mobile_me.php": {
            "get": {
                "summary": "Mobil kullanıcı özeti",
                "description": "Oturumlu kullanıcı bilgisi döner.",
                "responses": {
                    "200": {
                        "description": "Kullanıcı özeti",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/graphql.php": {
            "post": {
                "summary": "GraphQL Lite execute",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "query"
                                ],
                                "properties": {
                                    "query": {
                                        "type": "string"
                                    },
                                    "variables": {
                                        "type": "object",
                                        "additionalProperties": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "GraphQL sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/graphql_persisted.php": {
            "post": {
                "summary": "Persisted GraphQL execute",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "key"
                                ],
                                "properties": {
                                    "key": {
                                        "type": "string"
                                    },
                                    "variables": {
                                        "type": "object",
                                        "additionalProperties": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Persisted GraphQL sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/gateway.php": {
            "post": {
                "summary": "API Gateway dispatch",
                "description": "Tokenlı route bazlı servis erişimi sunar.",
                "security": [
                    {
                        "GatewayBearer": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "route"
                                ],
                                "properties": {
                                    "route": {
                                        "type": "string",
                                        "enum": [
                                            "search.products",
                                            "search.suggest",
                                            "search.explain",
                                            "products.show",
                                            "catalog.products",
                                            "catalog.facets",
                                            "catalog.offers",
                                            "compare.products",
                                            "price.history",
                                            "mobile.bootstrap",
                                            "mobile.me",
                                            "mobile.compare",
                                            "graphql.execute",
                                            "graphql.persisted",
                                            "system.architecture",
                                            "system.architecture.governance",
                                            "system.architecture.resilience",
                                            "system.architecture.control_plane",
                                            "system.architecture.release_orchestrator",
                                            "system.architecture.observability_mesh",
                                            "system.architecture.incident_command",
                                            "system.architecture.recovery_center",
                                            "system.architecture.capacity_planner",
                                            "system.architecture.finops_center",
                                            "system.architecture.unit_economics",
                                            "system.architecture.revenue_quality",
                                            "system.architecture.growth_efficiency",
                                            "system.architecture.demand_intelligence",
                                            "system.architecture.conversion_intelligence",
                                            "system.architecture.retention_intelligence",
                                            "system.architecture.lifetime_value",
                                            "system.architecture.monetization_intelligence",
                                            "system.architecture.pricing_intelligence",
                                            "system.architecture.offer_integrity",
                                            "system.architecture.ranking_intelligence",
                                            "system.architecture.catalog_intelligence",
                                            "system.architecture.search_intelligence",
                                            "system.architecture.recommendation_intelligence",
                                            "system.architecture.trust_intelligence",
                                            "system.architecture.acquisition_intelligence",
                                            "system.architecture.activation_intelligence",
                                            "system.architecture.mobile_commerce_intelligence",
                                            "system.architecture.mobile_activation_hub",
                                            "system.architecture.finance_ops_hardening",
                                            "system.architecture.sponsor_finance_automation",
                                            "system.architecture.sponsor_bid_strategy",
                                            "system.architecture.sponsor_self_service_desk",
                                            "system.architecture.cpa_control_center",
                                            "system.architecture.feed_quality_intelligence",
                                            "system.architecture.feed_remediation_center",
                                            "system.architecture.sponsorship_intelligence",
                                            "system.architecture.seo_content_intelligence",
                                            "system.architecture.fraud_anomaly_command_center",
                                            "system.architecture.loyalty_intelligence",
                                            "system.architecture.localization_intelligence",
                                            "system.architecture.experimentation_intelligence",
                                            "system.architecture.competitive_intelligence"
                                        ]
                                    },
                                    "q": {
                                        "type": "string"
                                    },
                                    "limit": {
                                        "type": "integer"
                                    },
                                    "mode": {
                                        "type": "string",
                                        "enum": [
                                            "failover",
                                            "federated"
                                        ]
                                    },
                                    "slug": {
                                        "type": "string"
                                    },
                                    "id": {
                                        "type": "integer"
                                    },
                                    "ids": {
                                        "oneOf": [
                                            {
                                                "type": "string"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "integer"
                                                }
                                            }
                                        ]
                                    },
                                    "product_id": {
                                        "type": "integer"
                                    },
                                    "page": {
                                        "type": "integer"
                                    },
                                    "per": {
                                        "type": "integer"
                                    },
                                    "sort": {
                                        "type": "string"
                                    },
                                    "min": {
                                        "type": "number"
                                    },
                                    "max": {
                                        "type": "number"
                                    },
                                    "category_id": {
                                        "type": "integer"
                                    },
                                    "category_slug": {
                                        "type": "string"
                                    },
                                    "brands": {
                                        "oneOf": [
                                            {
                                                "type": "string"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        ]
                                    },
                                    "stores": {
                                        "oneOf": [
                                            {
                                                "type": "string"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        ]
                                    },
                                    "store_ids": {
                                        "oneOf": [
                                            {
                                                "type": "string"
                                            },
                                            {
                                                "type": "array",
                                                "items": {
                                                    "type": "integer"
                                                }
                                            }
                                        ]
                                    },
                                    "free_shipping": {
                                        "type": "boolean"
                                    },
                                    "coupon": {
                                        "type": "boolean"
                                    },
                                    "in_stock": {
                                        "type": "boolean"
                                    },
                                    "sponsored": {
                                        "type": "boolean"
                                    },
                                    "sponsored_first": {
                                        "type": "boolean"
                                    },
                                    "store_id": {
                                        "type": "integer"
                                    },
                                    "days": {
                                        "type": "integer"
                                    },
                                    "query": {
                                        "type": "string"
                                    },
                                    "query_key": {
                                        "type": "string"
                                    },
                                    "variables": {
                                        "type": "object",
                                        "additionalProperties": true
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Gateway sonucu",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "GatewayBearer": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "API Token",
                "description": "API Gateway client token değerini Bearer olarak gönder."
            }
        },
        "schemas": {
            "Offer": {
                "type": "object",
                "properties": {
                    "storeName": {
                        "type": "string"
                    },
                    "displayPrice": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "freeShipping": {
                        "type": "boolean"
                    },
                    "sponsored": {
                        "type": "boolean"
                    },
                    "url": {
                        "type": "string"
                    }
                }
            },
            "ProductCard": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "brand": {
                        "type": "string"
                    },
                    "image": {
                        "type": "string"
                    },
                    "displayMinPrice": {
                        "type": "string"
                    },
                    "offerCount": {
                        "type": "integer"
                    },
                    "offers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Offer"
                        }
                    }
                }
            },
            "SearchResponse": {
                "type": "object",
                "properties": {
                    "ok": {
                        "type": "integer"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductCard"
                        }
                    },
                    "meta": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "SuggestResponse": {
                "type": "object",
                "properties": {
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "meta": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "ProductResponse": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "errors": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "PriceHistoryPoint": {
                "type": "object",
                "properties": {
                    "date": {
                        "type": "string"
                    },
                    "price": {
                        "type": "number"
                    },
                    "displayPrice": {
                        "type": "string"
                    }
                }
            },
            "PriceHistoryResponse": {
                "type": "object",
                "properties": {
                    "ok": {
                        "type": "integer"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PriceHistoryPoint"
                        }
                    }
                }
            },
            "MobileBootstrapResponse": {
                "type": "object",
                "properties": {
                    "ok": {
                        "type": "integer"
                    },
                    "context": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "home": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "user": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            }
        }
    },
    "x-ucuzabulan": {
        "gateway_catalog": {
            "search.products": {
                "service": "search",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "q",
                    "limit",
                    "mode"
                ],
                "description": "Genel ürün araması. Rewrite + merchandising + failover veya federated engine orkestrasyonu ile çalışır; semantic ve vector katmanlarını da kullanabilir."
            },
            "search.suggest": {
                "service": "search",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "q",
                    "limit"
                ],
                "description": "Arama kutusu autocomplete / suggest çıktısı döner."
            },
            "search.explain": {
                "service": "search",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "q",
                    "limit",
                    "mode"
                ],
                "description": "Rewrite, DYM ve engine/federation açıklaması döner."
            },
            "products.show": {
                "service": "catalog",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "id|slug"
                ],
                "description": "Tek ürün kartı ve en iyi teklifleri döner."
            },
            "catalog.products": {
                "service": "catalog",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "q",
                    "page",
                    "per",
                    "sort",
                    "min|max",
                    "category_id|category_slug",
                    "brands",
                    "stores|store_ids",
                    "free_shipping",
                    "coupon",
                    "in_stock",
                    "sponsored"
                ],
                "description": "Gruplanmış ürün kataloğu. Aynı SKU/GTIN/MPN kodlarını tek ürün altında toplar."
            },
            "catalog.facets": {
                "service": "catalog",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "q",
                    "category_id|category_slug",
                    "brands",
                    "stores|store_ids",
                    "free_shipping",
                    "coupon",
                    "in_stock",
                    "sponsored"
                ],
                "description": "Marka / mağaza / kategori facet sayılarını döner."
            },
            "catalog.offers": {
                "service": "catalog",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "product_id",
                    "sort",
                    "limit",
                    "sponsored_first",
                    "free_shipping",
                    "coupon",
                    "in_stock",
                    "store_id"
                ],
                "description": "Ürüne ait teklifleri net toplam fiyata göre sıralı döner."
            },
            "compare.products": {
                "service": "catalog",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "ids"
                ],
                "description": "Ürünleri özellik ve en iyi teklif bazında karşılaştırır."
            },
            "price.history": {
                "service": "pricing",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "product_id",
                    "days"
                ],
                "description": "Günlük fiyat geçmişini döner."
            },
            "mobile.bootstrap": {
                "service": "mobile",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "banner_limit",
                    "category_limit",
                    "pick_limit"
                ],
                "description": "Mobil/PWA başlangıç verisini tek çağrıda döner."
            },
            "mobile.me": {
                "service": "mobile",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [],
                "description": "Oturumlu kullanıcı özetini döner."
            },
            "mobile.compare": {
                "service": "mobile",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "ids"
                ],
                "description": "Mobil compare endpointi."
            },
            "graphql.execute": {
                "service": "graphql",
                "methods": [
                    "POST"
                ],
                "params": [
                    "query",
                    "variables"
                ],
                "description": "GraphQL Lite query gateway üzerinden çalıştırılır."
            },
            "graphql.persisted": {
                "service": "graphql",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "query_key",
                    "variables"
                ],
                "description": "Persisted GraphQL query registry üzerinden kısa anahtar ile çalışır."
            },
            "system.architecture": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Enterprise servis topolojisi ve canlı runtime metriklerini döner."
            },
            "system.architecture.governance": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Environment profile, feature flag drift ve release gate verisini döner."
            },
            "system.architecture.resilience": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "SLO, error budget, incident ve circuit/rate-limit sinyallerini döner."
            },
            "system.architecture.control_plane": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Servis kontratlarını, failover policy matrisini ve override sinyallerini döner."
            },
            "system.architecture.release_orchestrator": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Canary / ramp / full rollout kararı, approval state ve rollback readiness görünümünü döner."
            },
            "system.architecture.observability_mesh": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Tracing, centralized logging, alerting ve blind-spot görünümünü döner."
            },
            "system.architecture.incident_command": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Pager, runbook, escalation, on-call ve auto-remediation hazırlığını döner."
            },
            "system.architecture.recovery_center": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Backup, restore, drill ve disaster recovery readiness görünümünü döner."
            },
            "system.architecture.capacity_planner": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Autoscaling, saturation, backlog headroom ve storage pressure görünümünü döner."
            },
            "system.architecture.finops_center": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "FinOps, budget guardrail, rightsizing ve cost-to-serve görünümünü döner."
            },
            "system.architecture.unit_economics": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Gelir, payout, sponsor bağımlılığı ve contribution margin sinyallerini servis bazında döner."
            },
            "system.architecture.revenue_quality": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Recurring revenue, merchant concentration ve attribution coverage sinyallerini servis bazında döner."
            },
            "system.architecture.growth_efficiency": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Organik demand, retained usage, paid dependency ve payback readiness sinyallerini servis bazında döner."
            },
            "system.architecture.demand_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Forecast confidence, trend capture, demand volatility ve signal coverage görünümünü servis bazında döner."
            },
            "system.architecture.conversion_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Click-to-conversion capture, attribution integrity, merchant readiness ve conversion volatility görünümünü servis bazında döner."
            },
            "system.architecture.retention_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Repeat intent, reactivation readiness, notification reach ve churn risk görünümünü servis bazında döner."
            },
            "system.architecture.lifetime_value": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Customer LTV, revenue retention, payback horizon ve value fragility sinyallerini servis bazında döner."
            },
            "system.architecture.monetization_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Sponsor yield, revenue capture, blended RPC ve leakage risk görünümünü servis bazında döner."
            },
            "system.architecture.pricing_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Fiyat rekabeti, feed freshness, volatility control ve pricing leak risk görünümünü servis bazında döner."
            },
            "system.architecture.offer_integrity": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "SKU/GTIN/MPN bütünlüğü, duplicate merge hijyeni, sponsor ayrımı ve katalog completeness görünümünü servis bazında döner."
            },
            "system.architecture.ranking_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "En ucuzdan sıralama, sponsor ayrımı, relevance confidence ve trust alignment görünümünü servis bazında döner."
            },
            "system.architecture.catalog_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Spec depth, compare readiness, media richness ve taxonomy alignment görünümünü servis bazında döner."
            },
            "system.architecture.search_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Autocomplete coverage, facet depth, index freshness ve zero-result guard görünümünü servis bazında döner."
            },
            "system.architecture.recommendation_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Kişiselleştirme coverage, recommendation freshness, affinity graph ve AI advisor readiness görünümünü servis bazında döner."
            },
            "system.architecture.trust_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Merchant verification, verified purchase, fraud guard ve trust signal freshness görünümünü servis bazında döner."
            },
            "system.architecture.acquisition_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "SEO entrypoints, landing freshness, paid efficiency ve attribution coverage görünümünü servis bazında döner."
            },
            "system.architecture.activation_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "First value capture, compare usage, save intent ve alert activation görünümünü servis bazında döner."
            },
            "system.architecture.mobile_commerce_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "QR compare journey, app bridge, alert activation ve repeat scan coverage görünümünü servis bazında döner."
            },
            "system.architecture.mobile_activation_hub": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "PWA install, deep-link success, QR activation ve device funnel coverage görünümünü servis bazında döner."
            },
            "system.architecture.finance_ops_hardening": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Install sonrası sponsor finans operasyonunda preflight, queue health, closeout ve approval readiness görünümünü servis bazında döner."
            },
            "system.architecture.sponsor_finance_automation": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Sponsor finans operasyonunda auto-topup, pacing approval, reconciliation close ve billing integrity görünümünü servis bazında döner."
            },
            "system.architecture.sponsor_bid_strategy": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Merchant self-service sponsor bid strategy, hedef pozisyon, hedef RPC ve apply coverage görünümünü servis bazında döner."
            },
            "system.architecture.sponsor_self_service_desk": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Sponsor self-service desk içinde scenario pack, wallet fit, CPA fit, bulk apply ve guardrail coverage görünümünü servis bazında döner."
            },
            "system.architecture.cpa_control_center": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Merchant postback/pixel kontrolü, signed callback coverage, attribution capture ve payout guard görünümünü servis bazında döner."
            },
            "system.architecture.feed_quality_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Merchant feed field coverage, identifier hygiene, reconciliation readiness ve SLA sağlığını servis bazında döner."
            },
            "system.architecture.feed_remediation_center": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Toplu quarantine remediation, mapping suggestion coverage, SLA breach otomasyonu ve backfill readiness görünümünü servis bazında döner."
            },
            "system.architecture.sponsorship_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Sponsor/CPC/CPA operasyonunda bütçe coverage, bid coverage, pacing, wallet ve billing bütünlüğünü servis bazında döner."
            },
            "system.architecture.seo_content_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Programmatic SEO landing quality, canonical guard, robots/indexability guard ve refresh pipeline görünümünü servis bazında döner."
            },
            "system.architecture.fraud_anomaly_command_center": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Click anomaly, sponsor manipulasyonu, offer outlier ve conversion invalidation yüzeylerini servis bazında döner."
            },
            "system.architecture.loyalty_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Kupon, cashback ve cüzdan sinyallerini birleştiren loyalty intelligence görünümünü servis bazında döner."
            },
            "system.architecture.localization_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Çoklu dil, çoklu para birimi ve bölgesel fiyat kapsamasını localization intelligence görünümünde servis bazında döner."
            },
            "system.architecture.experimentation_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "A/B testing, assignment telemetry ve conversion capture görünümünü experimentation intelligence yüzeyinde servis bazında döner."
            },
            "system.architecture.competitive_intelligence": {
                "service": "platform",
                "methods": [
                    "GET",
                    "POST"
                ],
                "params": [
                    "snapshot",
                    "source"
                ],
                "description": "Mağaza overlap, cheapest win balance, sponsor cannibalization ve undercut pressure görünümünü competitive intelligence yüzeyinde döner."
            }
        }
    }
}