Single Product
This method is commonly used for product detail pages.
getProduct
The method returns the product with the given ID/slug. For example, when you make a call to the All Products endpoint you'll see within the response 'ID' and 'Slug', you can pass either one of these through to get that specific products content.
Params:
ID or Slug
Example:
Buddi.getProduct(123);
Events: product:loaded, product:loading-error
Returns
{
id: 1,
name: 'Pink Kush',
brand: {id: 1, name: 'Canna Farms'}, //null if the brand doesn't exist
images: ['https://buddi.io/pink-kush.png'], //returns all product images
strain: 'Blend',
category: 'flower',
category_slug: 'flower', //category slug for URL
subcategory: null,
overall_terpene_percent: 20,
slug: 'canna-farms-pink-kush-flower-1',
terpenes: [{title: 'Alpha-Bisabolol', percent: 1}, ...],
province: 'BC',
dietary_restrictions: ['Vegan', 'Gluten-Free'],
description: 'Description for Pink Kush is here',
extraction_process: null,
growing_method: null,
flavours: ['Chemical'],
city: 'ACADIA VALLEY',
instructions: 'Instructios are here',
ingredients: 'Ingridients are here',
options: [ProductOption, ProductOption, ...]
}
ProductOption
{
ri_id: 123, //retailer inventory ID, use it to add the product option to cart
qty_in_pack: null,
pack_item_weight: null,
display_title: '1.5g',
discounted_price: null, //discounted price - if exists
price: 123,
upc: '675136000165',
variant: null,
weight: 1.5,
in_stock: true,
special_message: {txt: 'Hello there', bg_color: '#fff', txt_color: '#000'}, //null - if doesn't exist
cannabinoids: [{label: 'thc', value: '1.00%'}...]
}