- GET [/instances/$INSTANCE]/private/products/$PRODUCT_ID#
This is used to obtain detailed information about a product in the inventory.
Required permission:
products-readResponse:
- 200 OK:
The backend has successfully returned the inventory. Returns a ProductDetailResponse.
- 404 Not found:
The product (ID) is unknown to the backend.
Details:
interface ProductDetailResponse { // Human-readable product name. // Since API version **v20**. product_name: string; // Human-readable product description. description: string; // Map from IETF BCP 47 language tags to localized descriptions. description_i18n: { [lang_tag: string]: string }; // Unit in which the product is measured (liters, kilograms, packages, etc.). unit: string; // Does the backend allow fractional quantities for this unit? unit_allow_fraction: boolean; // Maximum fractional precision (0-6) enforced for inventory operations. unit_precision_level: Integer; // Categories into which the product belongs. // Since API version **v16**. categories: Integer[]; // Price tiers for this product. The first entry represents the base price and MUST include // applicable taxes. Zero implies the product is not sold separately or that the price is not // fixed, and must be supplied by the front-end. unit_price: Amount[]; // Legacy price field kept for compatibility. // Deprecated since **v25**; // equal to the first element of unit_price. price: Amount; // An optional base64-encoded product image. image: ImageDataUrl; // A list of taxes paid by the merchant for one unit of this product. // Optional since **v15**. taxes?: Tax[]; // True if the price(s) given are a net prices, false if they are // gross prices. // Since protocol **vTAXES**. price_is_net: boolean; // Legacy integer stock counter kept for compatibility. -1 indicates unlimited stock. total_stock: Integer; // Stock expressed using "<integer>[.<fraction>]" syntax with up to six fractional digits. // Use "-1" for unlimited stock. unit_total_stock: DecimalQuantity; // Number of units of the product that have already been sold. total_sold: Integer; // Number of units of the product that were lost (spoiled, stolen, etc.). total_lost: Integer; // Identifies where the product is in stock. // Optional since **v15**. address?: Location; // Identifies when we expect the next restocking to happen. next_restock?: Timestamp; // Minimum age buyer must have (in years). minimum_age?: Integer; // Product group the product belongs to. Missing means default. // Since **v25**. product_group_id?: Integer; // Money pot revenue on the product should be accounted in. // Missing means no money pot (revenue accounted // in money pot of the overall order or not at all). // Since **v25**. money_pot_id?: Integer; }