# SCHALL & RAUCH | HANF - FACHMARKT > Online shop with AI Shopping API. Use the endpoints below to search products, manage carts, and prepare checkout. ## API Base URL https://www.schall-rauch.at/ai/v1 ## Endpoints ### Products - GET https://www.schall-rauch.at/ai/v1/products?q={query}&category={id}&sort={sort}&page={p}&limit={n}&lang={iso} Search products. Sort options: relevance, price_asc, price_desc, name_asc, name_desc. Returns: products array with id, name, sku, price, images, url. - GET https://www.schall-rauch.at/ai/v1/products/{id}?lang={iso} Full product detail including variants, reviews, attributes, related products, categories. - GET https://www.schall-rauch.at/ai/v1/products/compare?ids={id1},{id2}&lang={iso} Compare 2-5 products side by side with attribute matrix. ### Categories - GET https://www.schall-rauch.at/ai/v1/categories?lang={iso} All categories as hierarchical tree. - GET https://www.schall-rauch.at/ai/v1/categories/{id}?lang={iso} Category detail with products. ### Cart - POST https://www.schall-rauch.at/ai/v1/cart Create empty cart. Returns: {"token": "...64-char hex..."} - GET https://www.schall-rauch.at/ai/v1/cart/{token} View cart contents, items, subtotal. - POST https://www.schall-rauch.at/ai/v1/cart/{token}/add Add product. Body: {"product_id": 123, "quantity": 1} - DELETE https://www.schall-rauch.at/ai/v1/cart/{token}/items/{index} Remove item by index. - PATCH https://www.schall-rauch.at/ai/v1/cart/{token}/items/{index} Update quantity. Body: {"quantity": 2} ### Checkout - GET https://www.schall-rauch.at/ai/v1/shipping-methods?country={ISO} Available shipping methods for a country (e.g. AT, DE). - POST https://www.schall-rauch.at/ai/v1/cart/{token}/checkout Prepare checkout. Returns a checkout_url the customer opens in their browser to complete payment. Body: {"customer": {"first_name": "...", "last_name": "...", "email": "...", "street": "Musterstraße 1", "zip": "1010", "city": "Wien", "country": "AT"}, "shipping_method_id": 8} IMPORTANT: All customer fields are MANDATORY. You MUST ask the user for their full name, email address, street address (with house number), zip code, city, and country BEFORE calling this endpoint. The API will reject the request if any field is missing. Never guess or omit these fields. ### Shop Info - GET https://www.schall-rauch.at/ai/v1/shop-info Shop name, currency, languages, capabilities. ## Important Notes - All prices in EUR, VAT included - Language parameter: lang=ger (German) or lang=eng (English) - Cart tokens are 64-character hex strings returned by POST /cart - Checkout URL is one-time use — the customer clicks it to pay - No authentication required - ALWAYS ask the user for their shipping address and email before preparing checkout — these are required fields