Skip to content

Haravan — Products ​

List products — haravan.list_products ​

List or find products by SKU, barcode, vendor, type or collection.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
skustringnoExact SKU.
barcodestringnoExact barcode.
vendorstringnoVendor or brand.
handlestringnoURL handle.
product_typestringnoProduct type.
collection_idintegernoOnly products in this collection. Min 1.
since_idintegernoOnly products after this id. Min 1.
fieldsstringnoComma-separated fields to return.
pageintegernoPage number, from 1. Min 1.
limitintegernoItems per page (1-50, default 50). Min 1. Max 50.

Extra fields: ignored.

Output

FieldTypeDescription
productsarray of objectProducts.
products[].idintegerProduct id.
products[].titlestringProduct name.
products[].handlestringURL handle, generated from the title.
products[].body_htmlstring | nullDescription, HTML.
products[].vendorstring | nullBrand or vendor.
products[].product_typestring | nullProduct type.
products[].tagsstring | nullComma-separated tags.
products[].published_atstring | nullWhen the product was published (ISO 8601); null when unpublished.
products[].published_scopestring | nullWhere it is published: web (Online Store), pos (Point of Sale) or global (both).
products[].template_suffixstring | nullSuffix of the Liquid template of the page.
products[].only_hide_from_listbooleanHidden from search and listing pages.
products[].not_allow_promotionbooleanPromotions and coupons do not apply.
products[].optionsarray of objectProduct options, e.g. Size and Color (up to 3).
products[].options[].idintegerOption id.
products[].options[].product_idintegerProduct the option belongs to.
products[].options[].namestringOption name, e.g. Size or Color.
products[].options[].positionintegerPosition among the product's options.
products[].variantsarray of objectVariants of the product.
products[].variants[].idintegerVariant id.
products[].variants[].product_idintegerProduct the variant belongs to.
products[].variants[].titlestringVariant name, e.g. 'Đen / S'.
products[].variants[].skustring | nullStock keeping unit.
products[].variants[].barcodestring | nullBarcode, UPC or ISBN.
products[].variants[].pricenumberPrice, VND.
products[].variants[].compare_at_pricenumber | nullPrice before discount, VND.
products[].variants[].gramsnumberWeight in grams.
products[].variants[].option1string | nullValue of option 1, e.g. color.
products[].variants[].option2string | nullValue of option 2, e.g. size; may be empty.
products[].variants[].option3string | nullValue of option 3; may be empty.
products[].variants[].positionintegerPosition among the product's variants.
products[].variants[].image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
products[].variants[].inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
products[].variants[].inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
products[].variants[].inventory_quantityintegerItems in stock.
products[].variants[].fulfillment_servicestring | nullFulfillment service; null.
products[].variants[].requires_shippingbooleanWhether the customer needs a shipping address.
products[].variants[].taxablebooleanWhether tax is charged.
products[].variants[].created_atstringWhen it was created (ISO 8601).
products[].variants[].updated_atstringWhen it was last updated (ISO 8601).
products[].imagesarray of objectImages of the product.
products[].images[].idintegerImage id.
products[].images[].product_idintegerProduct the image belongs to.
products[].images[].positionintegerOrder among the product's images; 1 is the main image.
products[].images[].srcstringURL of the image.
products[].images[].filenamestringFile name of the image; not sent by every endpoint.
products[].images[].variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
products[].images[].created_atstringWhen it was created (ISO 8601).
products[].images[].updated_atstringWhen it was last updated (ISO 8601).
products[].created_atstringWhen it was created (ISO 8601).
products[].updated_atstringWhen it was last updated (ISO 8601).

Get product — haravan.get_product ​

Get one product with its variants, prices, SKUs and images.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.

Extra fields: ignored.

Output

FieldTypeDescription
productobjectThe product.
product.idintegerProduct id.
product.titlestringProduct name.
product.handlestringURL handle, generated from the title.
product.body_htmlstring | nullDescription, HTML.
product.vendorstring | nullBrand or vendor.
product.product_typestring | nullProduct type.
product.tagsstring | nullComma-separated tags.
product.published_atstring | nullWhen the product was published (ISO 8601); null when unpublished.
product.published_scopestring | nullWhere it is published: web (Online Store), pos (Point of Sale) or global (both).
product.template_suffixstring | nullSuffix of the Liquid template of the page.
product.only_hide_from_listbooleanHidden from search and listing pages.
product.not_allow_promotionbooleanPromotions and coupons do not apply.
product.optionsarray of objectProduct options, e.g. Size and Color (up to 3).
product.options[].idintegerOption id.
product.options[].product_idintegerProduct the option belongs to.
product.options[].namestringOption name, e.g. Size or Color.
product.options[].positionintegerPosition among the product's options.
product.variantsarray of objectVariants of the product.
product.variants[].idintegerVariant id.
product.variants[].product_idintegerProduct the variant belongs to.
product.variants[].titlestringVariant name, e.g. 'Đen / S'.
product.variants[].skustring | nullStock keeping unit.
product.variants[].barcodestring | nullBarcode, UPC or ISBN.
product.variants[].pricenumberPrice, VND.
product.variants[].compare_at_pricenumber | nullPrice before discount, VND.
product.variants[].gramsnumberWeight in grams.
product.variants[].option1string | nullValue of option 1, e.g. color.
product.variants[].option2string | nullValue of option 2, e.g. size; may be empty.
product.variants[].option3string | nullValue of option 3; may be empty.
product.variants[].positionintegerPosition among the product's variants.
product.variants[].image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
product.variants[].inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
product.variants[].inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
product.variants[].inventory_quantityintegerItems in stock.
product.variants[].fulfillment_servicestring | nullFulfillment service; null.
product.variants[].requires_shippingbooleanWhether the customer needs a shipping address.
product.variants[].taxablebooleanWhether tax is charged.
product.variants[].created_atstringWhen it was created (ISO 8601).
product.variants[].updated_atstringWhen it was last updated (ISO 8601).
product.imagesarray of objectImages of the product.
product.images[].idintegerImage id.
product.images[].product_idintegerProduct the image belongs to.
product.images[].positionintegerOrder among the product's images; 1 is the main image.
product.images[].srcstringURL of the image.
product.images[].filenamestringFile name of the image; not sent by every endpoint.
product.images[].variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
product.images[].created_atstringWhen it was created (ISO 8601).
product.images[].updated_atstringWhen it was last updated (ISO 8601).
product.created_atstringWhen it was created (ISO 8601).
product.updated_atstringWhen it was last updated (ISO 8601).

Create product — haravan.create_product ​

Create a product with its variants and images.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
productobjectyesThe product. Other Haravan product fields are also accepted.
product.titlestringyesProduct name.
product.body_htmlstringnoDescription, HTML.
product.vendorstringnoBrand or vendor.
product.product_typestringnoProduct type.
product.tagsstringnoComma-separated tags.
product.publishedbooleannoVisible on the store.
product.variantsarray of objectnoVariants: sku, price, option1..3.
product.variants[].titlestringnoVariant name, e.g. 'Đỏ / M'.
product.variants[].skustringnoStock keeping unit.
product.variants[].barcodestringnoBarcode.
product.variants[].pricenumbernoPrice, VND.
product.variants[].compare_at_pricenumbernoPrice before discount, VND.
product.variants[].option1stringnoValue of option 1, e.g. color.
product.variants[].option2stringnoValue of option 2, e.g. size.
product.variants[].option3stringnoValue of option 3.
product.variants[].weightnumbernoWeight in grams.
product.imagesarray of objectnoImages: {src} with an https URL.

Extra fields: ignored.

Output

FieldTypeDescription
productobjectThe product.
product.idintegerProduct id.
product.titlestringProduct name.
product.handlestringURL handle, generated from the title.
product.body_htmlstring | nullDescription, HTML.
product.vendorstring | nullBrand or vendor.
product.product_typestring | nullProduct type.
product.tagsstring | nullComma-separated tags.
product.published_atstring | nullWhen the product was published (ISO 8601); null when unpublished.
product.published_scopestring | nullWhere it is published: web (Online Store), pos (Point of Sale) or global (both).
product.template_suffixstring | nullSuffix of the Liquid template of the page.
product.only_hide_from_listbooleanHidden from search and listing pages.
product.not_allow_promotionbooleanPromotions and coupons do not apply.
product.optionsarray of objectProduct options, e.g. Size and Color (up to 3).
product.options[].idintegerOption id.
product.options[].product_idintegerProduct the option belongs to.
product.options[].namestringOption name, e.g. Size or Color.
product.options[].positionintegerPosition among the product's options.
product.variantsarray of objectVariants of the product.
product.variants[].idintegerVariant id.
product.variants[].product_idintegerProduct the variant belongs to.
product.variants[].titlestringVariant name, e.g. 'Đen / S'.
product.variants[].skustring | nullStock keeping unit.
product.variants[].barcodestring | nullBarcode, UPC or ISBN.
product.variants[].pricenumberPrice, VND.
product.variants[].compare_at_pricenumber | nullPrice before discount, VND.
product.variants[].gramsnumberWeight in grams.
product.variants[].option1string | nullValue of option 1, e.g. color.
product.variants[].option2string | nullValue of option 2, e.g. size; may be empty.
product.variants[].option3string | nullValue of option 3; may be empty.
product.variants[].positionintegerPosition among the product's variants.
product.variants[].image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
product.variants[].inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
product.variants[].inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
product.variants[].inventory_quantityintegerItems in stock.
product.variants[].fulfillment_servicestring | nullFulfillment service; null.
product.variants[].requires_shippingbooleanWhether the customer needs a shipping address.
product.variants[].taxablebooleanWhether tax is charged.
product.variants[].created_atstringWhen it was created (ISO 8601).
product.variants[].updated_atstringWhen it was last updated (ISO 8601).
product.imagesarray of objectImages of the product.
product.images[].idintegerImage id.
product.images[].product_idintegerProduct the image belongs to.
product.images[].positionintegerOrder among the product's images; 1 is the main image.
product.images[].srcstringURL of the image.
product.images[].filenamestringFile name of the image; not sent by every endpoint.
product.images[].variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
product.images[].created_atstringWhen it was created (ISO 8601).
product.images[].updated_atstringWhen it was last updated (ISO 8601).
product.created_atstringWhen it was created (ISO 8601).
product.updated_atstringWhen it was last updated (ISO 8601).

Update product — haravan.update_product ​

Update a product's name, description, vendor, type, tags or visibility.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesyescom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
productobjectyesFields to change.
product.titlestringnoProduct name.
product.body_htmlstringnoDescription, HTML.
product.vendorstringnoBrand or vendor.
product.product_typestringnoProduct type.
product.tagsstringnoComma-separated tags.
product.publishedbooleannoVisible on the store.
product.variantsarray of objectnoVariants: sku, price, option1..3.
product.variants[].titlestringnoVariant name, e.g. 'Đỏ / M'.
product.variants[].skustringnoStock keeping unit.
product.variants[].barcodestringnoBarcode.
product.variants[].pricenumbernoPrice, VND.
product.variants[].compare_at_pricenumbernoPrice before discount, VND.
product.variants[].option1stringnoValue of option 1, e.g. color.
product.variants[].option2stringnoValue of option 2, e.g. size.
product.variants[].option3stringnoValue of option 3.
product.variants[].weightnumbernoWeight in grams.
product.imagesarray of objectnoImages: {src} with an https URL.

Extra fields: ignored.

Output

FieldTypeDescription
productobjectThe product.
product.idintegerProduct id.
product.titlestringProduct name.
product.handlestringURL handle, generated from the title.
product.body_htmlstring | nullDescription, HTML.
product.vendorstring | nullBrand or vendor.
product.product_typestring | nullProduct type.
product.tagsstring | nullComma-separated tags.
product.published_atstring | nullWhen the product was published (ISO 8601); null when unpublished.
product.published_scopestring | nullWhere it is published: web (Online Store), pos (Point of Sale) or global (both).
product.template_suffixstring | nullSuffix of the Liquid template of the page.
product.only_hide_from_listbooleanHidden from search and listing pages.
product.not_allow_promotionbooleanPromotions and coupons do not apply.
product.optionsarray of objectProduct options, e.g. Size and Color (up to 3).
product.options[].idintegerOption id.
product.options[].product_idintegerProduct the option belongs to.
product.options[].namestringOption name, e.g. Size or Color.
product.options[].positionintegerPosition among the product's options.
product.variantsarray of objectVariants of the product.
product.variants[].idintegerVariant id.
product.variants[].product_idintegerProduct the variant belongs to.
product.variants[].titlestringVariant name, e.g. 'Đen / S'.
product.variants[].skustring | nullStock keeping unit.
product.variants[].barcodestring | nullBarcode, UPC or ISBN.
product.variants[].pricenumberPrice, VND.
product.variants[].compare_at_pricenumber | nullPrice before discount, VND.
product.variants[].gramsnumberWeight in grams.
product.variants[].option1string | nullValue of option 1, e.g. color.
product.variants[].option2string | nullValue of option 2, e.g. size; may be empty.
product.variants[].option3string | nullValue of option 3; may be empty.
product.variants[].positionintegerPosition among the product's variants.
product.variants[].image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
product.variants[].inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
product.variants[].inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
product.variants[].inventory_quantityintegerItems in stock.
product.variants[].fulfillment_servicestring | nullFulfillment service; null.
product.variants[].requires_shippingbooleanWhether the customer needs a shipping address.
product.variants[].taxablebooleanWhether tax is charged.
product.variants[].created_atstringWhen it was created (ISO 8601).
product.variants[].updated_atstringWhen it was last updated (ISO 8601).
product.imagesarray of objectImages of the product.
product.images[].idintegerImage id.
product.images[].product_idintegerProduct the image belongs to.
product.images[].positionintegerOrder among the product's images; 1 is the main image.
product.images[].srcstringURL of the image.
product.images[].filenamestringFile name of the image; not sent by every endpoint.
product.images[].variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
product.images[].created_atstringWhen it was created (ISO 8601).
product.images[].updated_atstringWhen it was last updated (ISO 8601).
product.created_atstringWhen it was created (ISO 8601).
product.updated_atstringWhen it was last updated (ISO 8601).

Delete product — haravan.delete_product ​

Delete a product and all its variants.

Side effectRiskNeeds approvalIdempotentScopes
WRITEhighyesyescom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.

Extra fields: ignored.

Output

Returns an empty object.

Add product tags — haravan.add_product_tags ​

Add tags to a product; existing tags are kept.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
tagsstringyesComma-separated tags, e.g. 'sale,new'.

Extra fields: ignored.

Output

FieldTypeDescription
tagsstring | nullProduct tags after the change.

Remove product tags — haravan.remove_product_tags ​

Remove tags from a product.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesyescom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
tagsstringyesComma-separated tags, e.g. 'sale,new'.

Extra fields: ignored.

Output

FieldTypeDescription
tagsstring | nullProduct tags after the change.

List variants — haravan.list_variants ​

List the variants (sizes, colors) of a product with price and SKU.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
pageintegernoPage number, from 1. Min 1.
limitintegernoItems per page (1-50, default 50). Min 1. Max 50.

Extra fields: ignored.

Output

FieldTypeDescription
variantsarray of objectVariants of the product.
variants[].idintegerVariant id.
variants[].product_idintegerProduct the variant belongs to.
variants[].titlestringVariant name, e.g. 'Đen / S'.
variants[].skustring | nullStock keeping unit.
variants[].barcodestring | nullBarcode, UPC or ISBN.
variants[].pricenumberPrice, VND.
variants[].compare_at_pricenumber | nullPrice before discount, VND.
variants[].gramsnumberWeight in grams.
variants[].option1string | nullValue of option 1, e.g. color.
variants[].option2string | nullValue of option 2, e.g. size; may be empty.
variants[].option3string | nullValue of option 3; may be empty.
variants[].positionintegerPosition among the product's variants.
variants[].image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
variants[].inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
variants[].inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
variants[].inventory_quantityintegerItems in stock.
variants[].fulfillment_servicestring | nullFulfillment service; null.
variants[].requires_shippingbooleanWhether the customer needs a shipping address.
variants[].taxablebooleanWhether tax is charged.
variants[].created_atstringWhen it was created (ISO 8601).
variants[].updated_atstringWhen it was last updated (ISO 8601).

Get variant — haravan.get_variant ​

Get one variant with price, SKU, barcode and stock quantity.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
variant_idintegeryesVariant id. Min 1.

Extra fields: ignored.

Output

FieldTypeDescription
variantobjectThe variant.
variant.idintegerVariant id.
variant.product_idintegerProduct the variant belongs to.
variant.titlestringVariant name, e.g. 'Đen / S'.
variant.skustring | nullStock keeping unit.
variant.barcodestring | nullBarcode, UPC or ISBN.
variant.pricenumberPrice, VND.
variant.compare_at_pricenumber | nullPrice before discount, VND.
variant.gramsnumberWeight in grams.
variant.option1string | nullValue of option 1, e.g. color.
variant.option2string | nullValue of option 2, e.g. size; may be empty.
variant.option3string | nullValue of option 3; may be empty.
variant.positionintegerPosition among the product's variants.
variant.image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
variant.inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
variant.inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
variant.inventory_quantityintegerItems in stock.
variant.fulfillment_servicestring | nullFulfillment service; null.
variant.requires_shippingbooleanWhether the customer needs a shipping address.
variant.taxablebooleanWhether tax is charged.
variant.created_atstringWhen it was created (ISO 8601).
variant.updated_atstringWhen it was last updated (ISO 8601).

Create variant — haravan.create_variant ​

Add a variant (e.g. a new size or color) to a product.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
variantobjectyesThe variant.
variant.titlestringnoVariant name, e.g. 'Đỏ / M'.
variant.skustringnoStock keeping unit.
variant.barcodestringnoBarcode.
variant.pricenumbernoPrice, VND.
variant.compare_at_pricenumbernoPrice before discount, VND.
variant.option1stringnoValue of option 1, e.g. color.
variant.option2stringnoValue of option 2, e.g. size.
variant.option3stringnoValue of option 3.
variant.weightnumbernoWeight in grams.

Extra fields: ignored.

Output

FieldTypeDescription
variantobjectThe variant.
variant.idintegerVariant id.
variant.product_idintegerProduct the variant belongs to.
variant.titlestringVariant name, e.g. 'Đen / S'.
variant.skustring | nullStock keeping unit.
variant.barcodestring | nullBarcode, UPC or ISBN.
variant.pricenumberPrice, VND.
variant.compare_at_pricenumber | nullPrice before discount, VND.
variant.gramsnumberWeight in grams.
variant.option1string | nullValue of option 1, e.g. color.
variant.option2string | nullValue of option 2, e.g. size; may be empty.
variant.option3string | nullValue of option 3; may be empty.
variant.positionintegerPosition among the product's variants.
variant.image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
variant.inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
variant.inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
variant.inventory_quantityintegerItems in stock.
variant.fulfillment_servicestring | nullFulfillment service; null.
variant.requires_shippingbooleanWhether the customer needs a shipping address.
variant.taxablebooleanWhether tax is charged.
variant.created_atstringWhen it was created (ISO 8601).
variant.updated_atstringWhen it was last updated (ISO 8601).

Update variant — haravan.update_variant ​

Change a variant's price, SKU, barcode, options or weight.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesyescom.write_products

Input

FieldTypeRequiredDescription
variant_idintegeryesVariant id. Min 1.
variantobjectyesFields to change.
variant.titlestringnoVariant name, e.g. 'Đỏ / M'.
variant.skustringnoStock keeping unit.
variant.barcodestringnoBarcode.
variant.pricenumbernoPrice, VND.
variant.compare_at_pricenumbernoPrice before discount, VND.
variant.option1stringnoValue of option 1, e.g. color.
variant.option2stringnoValue of option 2, e.g. size.
variant.option3stringnoValue of option 3.
variant.weightnumbernoWeight in grams.

Extra fields: ignored.

Output

FieldTypeDescription
variantobjectThe variant.
variant.idintegerVariant id.
variant.product_idintegerProduct the variant belongs to.
variant.titlestringVariant name, e.g. 'Đen / S'.
variant.skustring | nullStock keeping unit.
variant.barcodestring | nullBarcode, UPC or ISBN.
variant.pricenumberPrice, VND.
variant.compare_at_pricenumber | nullPrice before discount, VND.
variant.gramsnumberWeight in grams.
variant.option1string | nullValue of option 1, e.g. color.
variant.option2string | nullValue of option 2, e.g. size; may be empty.
variant.option3string | nullValue of option 3; may be empty.
variant.positionintegerPosition among the product's variants.
variant.image_idinteger | nullId of one of the product's images. The reference says string; its sample replies show an integer or null, which this follows.
variant.inventory_managementstring | null'haravan' when Haravan tracks stock for this variant, else null.
variant.inventory_policystring'deny' blocks orders when out of stock; 'continue' allows them.
variant.inventory_quantityintegerItems in stock.
variant.fulfillment_servicestring | nullFulfillment service; null.
variant.requires_shippingbooleanWhether the customer needs a shipping address.
variant.taxablebooleanWhether tax is charged.
variant.created_atstringWhen it was created (ISO 8601).
variant.updated_atstringWhen it was last updated (ISO 8601).

Delete variant — haravan.delete_variant ​

Delete one variant of a product.

Side effectRiskNeeds approvalIdempotentScopes
WRITEhighyesyescom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
variant_idintegeryesVariant id. Min 1.

Extra fields: ignored.

Output

Returns an empty object.

List product images — haravan.list_product_images ​

List the images of a product.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.

Extra fields: ignored.

Output

FieldTypeDescription
imagesarray of objectImages of the product.
images[].idintegerImage id.
images[].product_idintegerProduct the image belongs to.
images[].positionintegerOrder among the product's images; 1 is the main image.
images[].srcstringURL of the image.
images[].filenamestringFile name of the image; not sent by every endpoint.
images[].variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
images[].created_atstringWhen it was created (ISO 8601).
images[].updated_atstringWhen it was last updated (ISO 8601).

Add product image — haravan.add_product_image ​

Add an image to a product from a public https URL.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
imageobjectyesThe image.
image.srcstringyesPublic https URL of the image. Pattern: ^https://.
image.positionintegernoOrder among the images, from 1.
image.variant_idsarray of integernoVariants that show this image.

Extra fields: ignored.

Output

FieldTypeDescription
imageobjectThe image that was added.
image.idintegerImage id.
image.product_idintegerProduct the image belongs to.
image.positionintegerOrder among the product's images; 1 is the main image.
image.srcstringURL of the image.
image.filenamestringFile name of the image; not sent by every endpoint.
image.variant_idsarray of integer | nullIds of the variants that show this image; null in the single-image reference sample.
image.created_atstringWhen it was created (ISO 8601).
image.updated_atstringWhen it was last updated (ISO 8601).

Delete product image — haravan.delete_product_image ​

Delete one image of a product.

Side effectRiskNeeds approvalIdempotentScopes
WRITEhighyesyescom.write_products

Input

FieldTypeRequiredDescription
product_idintegeryesHaravan product id. Min 1.
image_idintegeryesProduct image id. Min 1.

Extra fields: ignored.

Output

Returns an empty object.

List collections — haravan.list_custom_collections ​

List manual product collections, optionally those holding one product.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
product_idintegernoOnly collections holding this product. Min 1.
titlestringnoExact collection name.
pageintegernoPage number, from 1. Min 1.
limitintegernoItems per page (1-50, default 50). Min 1. Max 50.

Extra fields: ignored.

Output

FieldTypeDescription
custom_collectionsarray of objectManual collections.
custom_collections[].idintegerCollection id.
custom_collections[].titlestringCollection name.
custom_collections[].handlestringURL handle.
custom_collections[].body_htmlstring | nullDescription, HTML.
custom_collections[].imageobject | nullImage of the collection; null when it has none. The reference types it as a string; its sample reply shows an object with src and created_at, which this follows.
custom_collections[].image.srcstring | nullURL of the image.
custom_collections[].image.created_atstring | nullWhen the image was added (ISO 8601).
custom_collections[].published_atstring | nullWhen it was published (ISO 8601); null when unpublished.
custom_collections[].published_scopestring | nullSales channels where it is visible, e.g. web or global.
custom_collections[].sort_orderstringHow products are ordered: alpha-asc, alpha-desc, best-selling, created, created-desc, manual, price-asc or price-desc. Sample replies also show underscore spellings such as alpha_asc.
custom_collections[].template_suffixstring | nullSuffix of the Liquid template of the page.
custom_collections[].products_countintegerNumber of products; only some replies include it.
custom_collections[].updated_atstringWhen it was last updated (ISO 8601).
custom_collections[].publishedbooleanWhether the collection is visible.

Create collection — haravan.create_custom_collection ​

Create a manual product collection.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
custom_collectionobjectyesThe collection.
custom_collection.titlestringyesCollection name.
custom_collection.body_htmlstringnoDescription, HTML.
custom_collection.publishedbooleannoVisible on the store.

Extra fields: ignored.

Output

FieldTypeDescription
custom_collectionobjectThe collection.
custom_collection.idintegerCollection id.
custom_collection.titlestringCollection name.
custom_collection.handlestringURL handle.
custom_collection.body_htmlstring | nullDescription, HTML.
custom_collection.imageobject | nullImage of the collection; null when it has none. The reference types it as a string; its sample reply shows an object with src and created_at, which this follows.
custom_collection.image.srcstring | nullURL of the image.
custom_collection.image.created_atstring | nullWhen the image was added (ISO 8601).
custom_collection.published_atstring | nullWhen it was published (ISO 8601); null when unpublished.
custom_collection.published_scopestring | nullSales channels where it is visible, e.g. web or global.
custom_collection.sort_orderstringHow products are ordered: alpha-asc, alpha-desc, best-selling, created, created-desc, manual, price-asc or price-desc. Sample replies also show underscore spellings such as alpha_asc.
custom_collection.template_suffixstring | nullSuffix of the Liquid template of the page.
custom_collection.products_countintegerNumber of products; only some replies include it.
custom_collection.updated_atstringWhen it was last updated (ISO 8601).
custom_collection.publishedbooleanWhether the collection is visible.

Update collection — haravan.update_custom_collection ​

Rename or change the description or visibility of a collection.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesyescom.write_products

Input

FieldTypeRequiredDescription
collection_idintegeryesCustom collection id. Min 1.
custom_collectionobjectyesFields to change.
custom_collection.titlestringnoCollection name.
custom_collection.body_htmlstringnoDescription, HTML.
custom_collection.publishedbooleannoVisible on the store.

Extra fields: ignored.

Output

FieldTypeDescription
custom_collectionobjectThe collection.
custom_collection.idintegerCollection id.
custom_collection.titlestringCollection name.
custom_collection.handlestringURL handle.
custom_collection.body_htmlstring | nullDescription, HTML.
custom_collection.imageobject | nullImage of the collection; null when it has none. The reference types it as a string; its sample reply shows an object with src and created_at, which this follows.
custom_collection.image.srcstring | nullURL of the image.
custom_collection.image.created_atstring | nullWhen the image was added (ISO 8601).
custom_collection.published_atstring | nullWhen it was published (ISO 8601); null when unpublished.
custom_collection.published_scopestring | nullSales channels where it is visible, e.g. web or global.
custom_collection.sort_orderstringHow products are ordered: alpha-asc, alpha-desc, best-selling, created, created-desc, manual, price-asc or price-desc. Sample replies also show underscore spellings such as alpha_asc.
custom_collection.template_suffixstring | nullSuffix of the Liquid template of the page.
custom_collection.products_countintegerNumber of products; only some replies include it.
custom_collection.updated_atstringWhen it was last updated (ISO 8601).
custom_collection.publishedbooleanWhether the collection is visible.

Delete collection — haravan.delete_custom_collection ​

Delete a manual collection; its products are kept.

Side effectRiskNeeds approvalIdempotentScopes
WRITEhighyesyescom.write_products

Input

FieldTypeRequiredDescription
collection_idintegeryesCustom collection id. Min 1.

Extra fields: ignored.

Output

Returns an empty object.

List smart collections — haravan.list_smart_collections ​

List rule-based collections, optionally those holding one product.

Side effectRiskNeeds approvalIdempotentScopes
NONElownoyescom.read_products

Input

FieldTypeRequiredDescription
product_idintegernoOnly collections holding this product. Min 1.
titlestringnoExact collection name.
pageintegernoPage number, from 1. Min 1.
limitintegernoItems per page (1-50, default 50). Min 1. Max 50.

Extra fields: ignored.

Output

FieldTypeDescription
smart_collectionsarray of objectRule-based collections.
smart_collections[].idintegerCollection id.
smart_collections[].titlestringCollection name.
smart_collections[].handlestringURL handle.
smart_collections[].body_htmlstring | nullDescription, HTML.
smart_collections[].imageobject | nullImage of the collection; null when it has none. The reference types it as a string; its sample reply shows an object with src and created_at, which this follows.
smart_collections[].image.srcstring | nullURL of the image.
smart_collections[].image.created_atstring | nullWhen the image was added (ISO 8601).
smart_collections[].published_atstring | nullWhen it was published (ISO 8601); null when unpublished.
smart_collections[].published_scopestring | nullSales channels where it is visible, e.g. web or global.
smart_collections[].sort_orderstringHow products are ordered: alpha-asc, alpha-desc, best-selling, created, created-desc, manual, price-asc or price-desc. Sample replies also show underscore spellings such as alpha_asc.
smart_collections[].template_suffixstring | nullSuffix of the Liquid template of the page.
smart_collections[].products_countintegerNumber of products; only some replies include it.
smart_collections[].updated_atstringWhen it was last updated (ISO 8601).
smart_collections[].disjunctivebooleanFalse: a product must match all rules. True: matching one rule is enough.
smart_collections[].rulesarray of objectRules that decide which products belong. The reference describes this as a string; its sample replies show a list, which this follows.
smart_collections[].rules[].columnstringWhat is compared: title, type, vendor, tag, variant_price, variant_compare_at_price, variant_weight, variant_inventory or variant_title.
smart_collections[].rules[].relationstringHow: equals, greater_than, less_than, starts_with, ends_with or contains.
smart_collections[].rules[].conditionstringThe value to compare with.

Add product to collection — haravan.add_product_to_collection ​

Put a product into a manual collection.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesnocom.write_products

Input

FieldTypeRequiredDescription
collectobjectyesProduct and collection.
collect.product_idintegeryesProduct id.
collect.collection_idintegeryesCustom collection id.

Extra fields: ignored.

Output

FieldTypeDescription
collectobjectThe link; its id removes it later.
collect.idintegerCollect (link) id.
collect.collection_idintegerCustom collection id.
collect.product_idintegerProduct id.
collect.positionintegerPosition of the product in a manually sorted collection. The reference says string and counts from 1; its sample replies show an integer, and the collects list sample shows 0 for the first product, which this follows.
collect.sort_valuestringPosition padded with zeros so it sorts as text.
collect.featuredbooleanWhether the product is featured in the collection.
collect.created_atstring | nullWhen it was created (ISO 8601); may be null.
collect.updated_atstring | nullWhen it was last updated (ISO 8601); may be null.

Remove product from collection — haravan.remove_product_from_collection ​

Remove a product from a manual collection by the link (collect) id.

Side effectRiskNeeds approvalIdempotentScopes
WRITEmediumyesyescom.write_products

Input

FieldTypeRequiredDescription
collect_idintegeryesCollect (link) id. Min 1.

Extra fields: ignored.

Output

Returns an empty object.