Skip to content
On this page

Product Object

interface Product {
  // Product Identifier
  productId: Number | String,
  // Product Name
  name: String,
  // Product's image URL
  // can be a CDN URL or a local file path
  imageSrc: String,
  // Product's related category or catalog
  catalog: String
  // Product's related brand
  brand: String,
  // Product's variations / options (if any) See #PropertiesInterface below
  Properties: PropertiesInterface
  // Product price 
  price: Number,
  // Product list price, If product is on sale, this is the price before the sale
  listPrice: Number,
  // Product quantity
  quantity: Number,
  // Product description, Should be small enough to fit in the cart dialog
  // If the description is too long, it will be truncated
  description: String,
  // Product VAT rate
  // Your store's vate rate, e.g. 0.19 for 19% VAT
  vatRate: Number
}

Product Properties / Options

interface PropertiesInterface {
  // Property name that is used to display in shopping cart
  // e.g Size, Color
  key: String
  // Property identifier
  keyId: String,
  // this is not implemented yet.
  typ: String,
  // options values, e.g: Small, Large, Medium, ... 
  values: PropertyValuesInterface[]
}

Product Property Values

interface PropertyValuesInterface {
  // Property value identifier
  key: String,
  // Property value name
  value: String,
  // > 0 if this option has a extra cost to the base product price
  extraPrice: Number,
  // Delivery label. If this option is selected, the delivery label 
  // will be displayed in the cart dialog
  // e.g Delivered in 1-2 days or Delivered in 3-5 days
  itemDeliveryTime: String,
  // Variation stock by the manufacturer you can acquire
  stockAmount: Number,
  // Variation stock in your warehouse / office
  realStockAmount: Number,
  // Variation SKU code
  sku: String,
}