get_product_details
Get full details and current stock for one Okun Koneosa product.
Args: product_id: The numeric product id returned by search_catalog.
Returns: JSON with the full product record: id, name, name_raw, sku, ean, brand, category, full description (not truncated), price_gross, price_net, vat_percent, currency, unit, weight_kg, product_url, image_url, plus a freshly checked in_stock / stock_quantity.
Notes: - Stock is read at call time from a separate availability endpoint, so it is more current than the value returned by search_catalog. - Returns {"error": "product_not_found"} for unknown or unpublished ids. Products that are out of stock are unpublished, so a previously valid id can stop resolving. - To let the user buy, pass product_url, or build a cart link with create_cart_link.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Product ID from search_catalog |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID — pass to get_product_details or create_cart_link | |
| ean | No | EAN/GTIN barcode, when known | |
| sku | No | Ordering number used by the shop | |
| name | Yes | Readable product name | |
| unit | No | Selling unit, e.g. 'kpl' | |
| brand | No | Manufacturer | |
| category | No | ||
| currency | No | EUR | |
| in_stock | Yes | ||
| name_raw | No | Supplier's own spelling, often ALL CAPS | |
| image_url | No | Null for most products — photography is still being collected | |
| price_net | Yes | Price excl. VAT | |
| weight_kg | No | ||
| disclaimer | Yes | ||
| description | No | Full description, not truncated | |
| price_gross | Yes | Price incl. Finnish VAT 25.5% | |
| product_url | Yes | Public product page | |
| vat_percent | No | ||
| stock_checked | Yes | True if stock was re-read from the availability endpoint | |
| stock_quantity | Yes | Units available right now | |
| description_truncated | No | True if description was cut — use get_product_details |