Contents

GET [/instances/$INSTANCE]/private/pos#

This is used to return the point-of-sale (POS) configuration with full details on all items in the inventory.

Endpoint was introduced in protocol v15.

Required permission: products-read

Response:

200 OK:

The backend has successfully returned the inventory. Returns a FullInventoryDetailsResponse.

404 Not found:

The backend has does not know about the instance.

Details:

interface FullInventoryDetailsResponse {

  // List of products that are present in the inventory.
  products: MerchantPosProductDetail[];

  // List of categories in the inventory.
  categories: MerchantCategory[];

}
interface MerchantPosProductDetail {

  // A unique numeric ID of the product
  product_serial: Integer;

  // A merchant-internal unique identifier for the product.
  product_id: string;

  // Human-readable product name.
  // Since API version **v20**.
  product_name: string;

  // A list of category IDs this product belongs to.
  // Typically, a product only belongs to one category, but more than one is supported.
  categories: Integer[];

  // 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;

  // 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; 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.
  taxes?: Tax[];

  // 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: string;

  // Minimum age buyer must have (in years).
  minimum_age?: Integer;

}
interface MerchantCategory {
  // A unique numeric ID of the category
  id: Integer;

  // The name of the category. This will be shown to users and used in the order summary.
  name: string;

  // Map from IETF BCP 47 language tags to localized names
  name_i18n?: { [lang_tag: string]: string };
}