{"title":"Eva Solo Product Data API","version":"2.1.0","description":"Simplified API for querying Eva Solo product data, inventory, sales, purchases, and campaigns","endpoints":{"GET /":"API documentation","GET /health":"Health check status","GET /products":"Search products by identifier (SKU/EAN), text query, with optional inventory","GET /inventory":"Search inventory by identifier (SKU/EAN) or warehouse","GET /sales":"Search sales data by identifier (SKU/EAN) or company","GET /purchase":"Search purchase/procurement data by identifier (SKU/EAN) or company","GET /campaigns":"Search campaign pricing data by identifier, company, campaign, or currency","POST /query":"Execute custom SQL queries (advanced users)","POST /export":"Export query results to Excel (default) or CSV","GET /export/{export_id}/{filename}":"Download exported Excel or CSV file"},"product_search_params":{"identifier":"Search by SKU or EAN (exact match)","q":"Full-text search in product names and descriptions","warehouse_code":"Filter inventory by warehouse code (requires include_inventory=true)","include_inventory":"Include inventory levels (default: false)","limit":"Maximum results to return (default: 5, max: 5)"},"inventory_search_params":{"identifier":"Search by SKU or EAN (searches both fields)","warehouse_code":"Filter by specific warehouse code","limit":"Maximum results to return (default: 5, max: 5)"},"sales_search_params":{"identifier":"Search by SKU or EAN (Item No)","company":"Filter by specific company","start_date":"Start date filter (YYYY-MM-DD) on PostingDate. Omit for all historical data.","end_date":"End date filter (YYYY-MM-DD) on PostingDate. Defaults to today.","limit":"Maximum results to return (default: 5, max: 100)"},"purchase_search_params":{"identifier":"Search by SKU or EAN (Item No)","company":"Filter by specific company","start_date":"Start date filter (YYYY-MM-DD) on OrderDate. Omit for all historical data.","end_date":"End date filter (YYYY-MM-DD) on OrderDate. Defaults to today.","limit":"Maximum results to return (default: 5, max: 100)"},"campaign_search_params":{"identifier":"Search by SKU or EAN (Item No)","company":"Filter by specific company","campaign_no":"Filter by specific campaign number","currency_code":"Filter by currency code (e.g., DKK, EUR, USD)","start_date":"Start date filter (YYYY-MM-DD) — campaigns active on or after this date. Omit for all historical data.","end_date":"End date filter (YYYY-MM-DD) — campaigns active on or before this date. Defaults to today.","limit":"Maximum results to return (default: 5, max: 100)"},"example_requests":[{"description":"Find product by SKU","url":"/products?identifier=887222"},{"description":"Find product by EAN","url":"/products?identifier=5706631068260"},{"description":"Text search for products","url":"/products?q=serving bowl&limit=5"},{"description":"Product with inventory","url":"/products?identifier=887222&include_inventory=true"},{"description":"Inventory for SKU/EAN","url":"/inventory?identifier=887222"},{"description":"Inventory for specific warehouse","url":"/inventory?warehouse_code=1000&limit=5"},{"description":"Sales data for SKU/EAN","url":"/sales?identifier=887222"},{"description":"Sales data for company","url":"/sales?company=Eva Solo&limit=10"},{"description":"Sales in date range","url":"/sales?identifier=887222&start_date=2025-01-01&end_date=2025-12-31"},{"description":"Purchase data for SKU/EAN","url":"/purchase?identifier=887222"},{"description":"Purchase data with next delivery info","url":"/purchase?company=Eva Solo&limit=10"},{"description":"Purchase orders in date range","url":"/purchase?start_date=2025-06-01&end_date=2025-12-31&limit=10"},{"description":"Campaign prices for SKU/EAN","url":"/campaigns?identifier=887222"},{"description":"Campaign prices in specific currency","url":"/campaigns?currency_code=EUR&limit=20"},{"description":"Specific campaign items","url":"/campaigns?campaign_no=CAMP001&limit=50"},{"description":"Active DKK campaigns in 2025","url":"/campaigns?currency_code=DKK&start_date=2025-01-01&end_date=2025-12-31"},{"description":"Custom SQL query","url":"POST /query","body":"{\"query\": \"SELECT * FROM data WHERE \\\"Serie\\\" = 'Nordic Kitchen' LIMIT 5\"}"}]}