dolibarr 19.0.4
Products Class Reference
Inheritance diagram for Products:
Collaboration diagram for Products:

Public Member Functions

 __construct ()
 Constructor.
 
 get ($id, $includestockdata=0, $includesubproducts=false, $includeparentid=false, $includetrans=false)
 Get properties of a product object by id.
 
 getByRef ($ref, $includestockdata=0, $includesubproducts=false, $includeparentid=false, $includetrans=false)
 Get properties of a product object by ref.
 
 getByRefExt ($ref_ext, $includestockdata=0, $includesubproducts=false, $includeparentid=false, $includetrans=false)
 Get properties of a product object by ref_ext.
 
 getByBarcode ($barcode, $includestockdata=0, $includesubproducts=false, $includeparentid=false, $includetrans=false)
 Get properties of a product object by barcode.
 
 index ($sortfield="t.ref", $sortorder='ASC', $limit=100, $page=0, $mode=0, $category=0, $sqlfilters='', $ids_only=false, $variant_filter=0, $pagination_data=false, $includestockdata=0, $properties='')
 List products.
 
 post ($request_data=null)
 Create product object.
 
 put ($id, $request_data=null)
 Update product.
 
 delete ($id)
 Delete product.
 
 getSubproducts ($id)
 Get the list of subproducts of the product.
 
 addSubproducts ($id, $subproduct_id, $qty, $incdec=1)
 Add subproduct.
 
 delSubproducts ($id, $subproduct_id)
 Remove subproduct.
 
 getCategories ($id, $sortfield="s.rowid", $sortorder='ASC', $limit=0, $page=0)
 Get categories for a product.
 
 getCustomerPricesPerSegment ($id)
 Get prices per segment for a product.
 
 getCustomerPricesPerCustomer ($id, $thirdparty_id='')
 Get prices per customer for a product.
 
 getCustomerPricesPerQuantity ($id)
 Get prices per quantity for a product.
 
 addPurchasePrice ($id, $qty, $buyprice, $price_base_type, $fourn_id, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delivery_time_days=0, $supplier_reputation='', $localtaxes_array=array(), $newdefaultvatcode='', $multicurrency_buyprice=0, $multicurrency_price_base_type='HT', $multicurrency_tx=1, $multicurrency_code='', $desc_fourn='', $barcode='', $fk_barcode_type=null)
 Add/Update purchase prices for a product.
 
 deletePurchasePrice ($id, $priceid)
 Delete purchase price for a product.
 
 getSupplierProducts ($sortfield="t.ref", $sortorder='ASC', $limit=100, $page=0, $mode=0, $category=0, $supplier=0, $sqlfilters='')
 Get a list of all purchase prices of products.
 
 getPurchasePrices ($id, $ref='', $ref_ext='', $barcode='')
 Get purchase prices for a product.
 
 getAttributes ($sortfield="t.ref", $sortorder='ASC', $limit=100, $page=0, $sqlfilters='', $properties='')
 Get attributes.
 
 getAttributeById ($id)
 Get attribute by ID.
 
 getAttributesByRef ($ref)
 Get attributes by ref.
 
 getAttributesByRefExt ($ref_ext)
 Get attributes by ref_ext.
 
 addAttributes ($ref, $label, $ref_ext='')
 Add attributes.
 
 putAttributes ($id, $request_data=null)
 Update attributes by id.
 
 deleteAttributes ($id)
 Delete attributes by id.
 
 getAttributeValueById ($id)
 Get attribute value by id.
 
 getAttributeValueByRef ($id, $ref)
 Get attribute value by ref.
 
 deleteAttributeValueByRef ($id, $ref)
 Delete attribute value by ref.
 
 getAttributeValues ($id)
 Get all values for an attribute id.
 
 getAttributeValuesByRef ($ref)
 Get all values for an attribute ref.
 
 addAttributeValue ($id, $ref, $value)
 Add attribute value.
 
 putAttributeValue ($id, $request_data)
 Update attribute value.
 
 deleteAttributeValueById ($id)
 Delete attribute value by id.
 
 getVariants ($id, $includestock=0)
 Get product variants.
 
 getVariantsByProdRef ($ref)
 Get product variants by Product ref.
 
 addVariant ($id, $weight_impact, $price_impact, $price_impact_is_percent, $features, $reference='', $ref_ext='')
 Add variant.
 
 addVariantByProductRef ($ref, $weight_impact, $price_impact, $price_impact_is_percent, $features)
 Add variant by product ref.
 
 putVariant ($id, $request_data=null)
 Put product variants.
 
 deleteVariant ($id)
 Delete product variants.
 
 getStock ($id, $selected_warehouse_id=null)
 Get stock data for the product id given.
 
- Public Member Functions inherited from DolibarrApi
 __construct ($db, $cachedir='', $refreshCache=false)
 Constructor.
 

Protected Member Functions

 _cleanObjectDatas ($object)
 Clean sensible object datas.
 
- Protected Member Functions inherited from DolibarrApi
 _checkValForAPI ($field, $value, $object)
 Check and convert a string depending on its type/name.
 
 _filterObjectProperties ($object, $properties)
 Filter properties that will be returned on object.
 
 _checkFilters ($sqlfilters, &$error='')
 Return if a $sqlfilters parameter is valid Function no more used.
 

Private Member Functions

 _validate ($data)
 Validate fields before create or update object.
 
 _fetch ($id, $ref='', $ref_ext='', $barcode='', $includestockdata=0, $includesubproducts=false, $includeparentid=false, $includeifobjectisused=false, $includetrans=false)
 Get properties of 1 product object.
 

Additional Inherited Members

- Static Protected Member Functions inherited from DolibarrApi
static _checkAccessToResource ($resource, $resource_id=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid')
 Check access by user to a given resource.
 
static _forge_criteria_callback ($matches)
 Function to forge a SQL criteria from a Generic filter string.
 

Detailed Description

Definition at line 35 of file api_products.class.php.

Member Function Documentation

◆ _cleanObjectDatas()

Products::_cleanObjectDatas ( $object)
protected

Clean sensible object datas.

Parameters
Object$objectObject to clean
Returns
Object Object with cleaned properties

Reimplemented from DolibarrApi.

Definition at line 1949 of file api_products.class.php.

Referenced by getAttributes(), getPurchasePrices(), getSupplierProducts(), and index().

◆ _fetch()

Products::_fetch ( $id,
$ref = '',
$ref_ext = '',
$barcode = '',
$includestockdata = 0,
$includesubproducts = false,
$includeparentid = false,
$includeifobjectisused = false,
$includetrans = false )
private

Get properties of 1 product object.

Return an array with product information.

Parameters
int$idID of product
string$refRef of element
string$ref_extRef ext of element
string$barcodeBarcode of element
int$includestockdataLoad also information about stock (slower)
bool$includesubproductsLoad information about subproducts (if product is a virtual product)
bool$includeparentidLoad also ID of parent product (if product is a variant of a parent product)
bool$includeifobjectisusedCheck if product object is used and set property 'is_object_used' with result.
bool$includetransLoad also the translations of product label and description
Returns
array|mixed Data without useless information
Exceptions
RestException401
RestException403
RestException404

Definition at line 2047 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

Referenced by get(), getByBarcode(), getByRef(), and getByRefExt().

◆ _validate()

Products::_validate ( $data)
private

Validate fields before create or update object.

Parameters
array$dataDatas to validate
Returns
array
Exceptions
RestException

Definition at line 2016 of file api_products.class.php.

Referenced by post().

◆ addAttributes()

Products::addAttributes ( $ref,
$label,
$ref_ext = '' )

Add attributes.

Parameters
string$refReference of Attribute
string$labelLabel of Attribute
string$ref_extReference of Attribute
Returns
int
Exceptions
RestException500 System error
RestException401

@url POST attributes

Definition at line 1233 of file api_products.class.php.

◆ addAttributeValue()

Products::addAttributeValue ( $id,
$ref,
$value )

Add attribute value.

Parameters
int$idID of Attribute
string$refReference of Attribute value
string$valueValue of Attribute value
Returns
int
Exceptions
RestException500 System error
RestException401

@url POST attributes/{id}/values

Definition at line 1545 of file api_products.class.php.

◆ addPurchasePrice()

Products::addPurchasePrice ( $id,
$qty,
$buyprice,
$price_base_type,
$fourn_id,
$availability,
$ref_fourn,
$tva_tx,
$charges = 0,
$remise_percent = 0,
$remise = 0,
$newnpr = 0,
$delivery_time_days = 0,
$supplier_reputation = '',
$localtaxes_array = array(),
$newdefaultvatcode = '',
$multicurrency_buyprice = 0,
$multicurrency_price_base_type = 'HT',
$multicurrency_tx = 1,
$multicurrency_code = '',
$desc_fourn = '',
$barcode = '',
$fk_barcode_type = null )

Add/Update purchase prices for a product.

Parameters
int$idID of Product
float$qtyMin quantity for which price is valid
float$buypricePurchase price for the quantity min
string$price_base_typeHT or TTC
int$fourn_idSupplier ID
int$availabilityProduct availability
string$ref_fournSupplier ref
float$tva_txNew VAT Rate (For example 8.5. Should not be a string)
string$chargescosts affering to product
float$remise_percentDiscount regarding qty (percent)
float$remiseDiscount regarding qty (amount)
int$newnprSet NPR or not
int$delivery_time_daysDelay in days for delivery (max). May be '' if not defined.
string$supplier_reputationReputation with this product to the defined supplier (empty, FAVORITE, DONOTORDER)
array$localtaxes_arrayArray with localtaxes info array('0'=>type1,'1'=>rate1,'2'=>type2,'3'=>rate2) (loaded by getLocalTaxesFromRate(vatrate, 0, ...) function).
string$newdefaultvatcodeDefault vat code
float$multicurrency_buypricePurchase price for the quantity min in currency
string$multicurrency_price_base_typeHT or TTC in currency
float$multicurrency_txRate currency
string$multicurrency_codeCurrency code
string$desc_fournCustom description for product_fourn_price
string$barcodeBarcode
int$fk_barcode_typeBarcode type
Returns
int
Exceptions
RestException500 System error
RestException401

@url POST {id}/purchase_prices

Definition at line 768 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource(), and sanitizeVal().

◆ addSubproducts()

Products::addSubproducts ( $id,
$subproduct_id,
$qty,
$incdec = 1 )

Add subproduct.

Link a product/service to a parent product/service

Parameters
int$idId of parent product/service
int$subproduct_idId of child product/service
int$qtyQuantity
int$incdec1=Increase/decrease stock of child when parent stock increase/decrease
Returns
int
Exceptions
RestException
RestException401
RestException404

@url POST {id}/subproducts/add

Definition at line 530 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ addVariant()

Products::addVariant ( $id,
$weight_impact,
$price_impact,
$price_impact_is_percent,
$features,
$reference = '',
$ref_ext = '' )

Add variant.

"features" is a list of attributes pairs id_attribute=>id_value. Example: array(id_color=>id_Blue, id_size=>id_small, id_option=>id_val_a, ...)

Parameters
int$idID of Product
float$weight_impactWeight impact of variant
float$price_impactPrice impact of variant
bool$price_impact_is_percentPrice impact in percent (true or false)
array$featuresList of attributes pairs id_attribute->id_value. Example: array(id_color=>id_Blue, id_size=>id_small, id_option=>id_val_a, ...)
string$referenceCustomized reference of variant
string$ref_extExternal reference of variant
Returns
int
Exceptions
RestException500 System error
RestException401
RestException404

@url POST {id}/variants

Definition at line 1736 of file api_products.class.php.

References price2num().

◆ addVariantByProductRef()

Products::addVariantByProductRef ( $ref,
$weight_impact,
$price_impact,
$price_impact_is_percent,
$features )

Add variant by product ref.

"features" is a list of attributes pairs id_attribute=>id_value. Example: array(id_color=>id_Blue, id_size=>id_small, id_option=>id_val_a, ...)

Parameters
string$refRef of Product
float$weight_impactWeight impact of variant
float$price_impactPrice impact of variant
bool$price_impact_is_percentPrice impact in percent (true or false)
array$featuresList of attributes pairs id_attribute->id_value. Example: array(id_color=>id_Blue, id_size=>id_small, id_option=>id_val_a, ...)
Returns
int
Exceptions
RestException500 System error
RestException401
RestException404

@url POST ref/{ref}/variants

Definition at line 1793 of file api_products.class.php.

References price2num().

◆ delete()

Products::delete ( $id)

Delete product.

Parameters
int$idProduct ID
Returns
array

Definition at line 447 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ deleteAttributes()

Products::deleteAttributes ( $id)

Delete attributes by id.

Parameters
int$idID of Attribute
Returns
int Result of deletion
Exceptions
RestException500 System error
RestException401

@url DELETE attributes/{id}

Definition at line 1317 of file api_products.class.php.

◆ deleteAttributeValueById()

Products::deleteAttributeValueById ( $id)

Delete attribute value by id.

Parameters
int$idID of Attribute value
Returns
int
Exceptions
RestException500 System error
RestException401

@url DELETE attributes/values/{id}

Definition at line 1630 of file api_products.class.php.

◆ deleteAttributeValueByRef()

Products::deleteAttributeValueByRef ( $id,
$ref )

Delete attribute value by ref.

Parameters
int$idID of Attribute
string$refRef of Attribute value
Returns
int
Exceptions
RestException401

@url DELETE attributes/{id}/values/ref/{ref}

Definition at line 1429 of file api_products.class.php.

References getEntity().

◆ deletePurchasePrice()

Products::deletePurchasePrice ( $id,
$priceid )

Delete purchase price for a product.

Parameters
int$idProduct ID
int$priceidpurchase price ID

@url DELETE {id}/purchase_prices/{priceid}

Returns
int
Exceptions
RestException401
RestException404

Definition at line 826 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ deleteVariant()

Products::deleteVariant ( $id)

Delete product variants.

Parameters
int$idID of Variant
Returns
int Result of deletion
Exceptions
RestException500 System error
RestException401

@url DELETE variants/{id}

Definition at line 1887 of file api_products.class.php.

◆ delSubproducts()

Products::delSubproducts ( $id,
$subproduct_id )

Remove subproduct.

Unlink a product/service from a parent product/service

Parameters
int$idId of parent product/service
int$subproduct_idId of child product/service
Returns
int
Exceptions
RestException401
RestException404

@url DELETE {id}/subproducts/remove/{subproduct_id}

Definition at line 560 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ get()

Products::get ( $id,
$includestockdata = 0,
$includesubproducts = false,
$includeparentid = false,
$includetrans = false )

Get properties of a product object by id.

Return an array with product information.

Parameters
int$idID of product
int$includestockdataLoad also information about stock (slower)
bool$includesubproductsLoad information about subproducts
bool$includeparentidLoad also ID of parent product (if product is a variant of a parent product)
bool$includetransLoad also the translations of product label and description
Returns
array|mixed Data without useless information
Exceptions
RestException401
RestException403
RestException404

Definition at line 83 of file api_products.class.php.

References _fetch().

◆ getAttributeById()

Products::getAttributeById ( $id)

Get attribute by ID.

Parameters
int$idID of Attribute
Returns
Object Object with cleaned properties
Exceptions
RestException401
RestException404

@url GET attributes/{id}

Definition at line 1088 of file api_products.class.php.

◆ getAttributes()

Products::getAttributes ( $sortfield = "t.ref",
$sortorder = 'ASC',
$limit = 100,
$page = 0,
$sqlfilters = '',
$properties = '' )

Get attributes.

Parameters
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
string$sqlfiltersOther criteria to filter answers separated by a comma. Syntax example "(t.ref:like:color)"
string$propertiesRestrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
Returns
array
Exceptions
RestException401
RestException404
RestException503

@url GET attributes

Definition at line 1026 of file api_products.class.php.

References _cleanObjectDatas(), DolibarrApi\_filterObjectProperties(), and forgeSQLFromUniversalSearchCriteria().

◆ getAttributesByRef()

Products::getAttributesByRef ( $ref)

Get attributes by ref.

Parameters
string$refReference of Attribute
Returns
array
Exceptions
RestException401
RestException404

@url GET attributes/ref/{ref}

Definition at line 1131 of file api_products.class.php.

References getEntity().

◆ getAttributesByRefExt()

Products::getAttributesByRefExt ( $ref_ext)

Get attributes by ref_ext.

Parameters
string$ref_extExternal reference of Attribute
Returns
array
Exceptions
RestException500 System error
RestException401

@url GET attributes/ref_ext/{ref_ext}

Definition at line 1181 of file api_products.class.php.

References getEntity().

◆ getAttributeValueById()

Products::getAttributeValueById ( $id)

Get attribute value by id.

Parameters
int$idID of Attribute value
Returns
array
Exceptions
RestException500 System error
RestException401

@url GET attributes/values/{id}

Definition at line 1345 of file api_products.class.php.

References getEntity().

◆ getAttributeValueByRef()

Products::getAttributeValueByRef ( $id,
$ref )

Get attribute value by ref.

Parameters
int$idID of Attribute value
string$refRef of Attribute value
Returns
array
Exceptions
RestException500 System error
RestException401

@url GET attributes/{id}/values/ref/{ref}

Definition at line 1386 of file api_products.class.php.

References getEntity().

◆ getAttributeValues()

Products::getAttributeValues ( $id)

Get all values for an attribute id.

Parameters
int$idID of an Attribute
Returns
array
Exceptions
RestException401
RestException500 System error

@url GET attributes/{id}/values

Definition at line 1472 of file api_products.class.php.

◆ getAttributeValuesByRef()

Products::getAttributeValuesByRef ( $ref)

Get all values for an attribute ref.

Parameters
string$refRef of an Attribute
Returns
array
Exceptions
RestException401

@url GET attributes/ref/{ref}/values

Definition at line 1503 of file api_products.class.php.

◆ getByBarcode()

Products::getByBarcode ( $barcode,
$includestockdata = 0,
$includesubproducts = false,
$includeparentid = false,
$includetrans = false )

Get properties of a product object by barcode.

Return an array with product information.

Parameters
string$barcodeBarcode of element
int$includestockdataLoad also information about stock (slower)
bool$includesubproductsLoad information about subproducts
bool$includeparentidLoad also ID of parent product (if product is a variant of a parent product)
bool$includetransLoad also the translations of product label and description
Returns
array|mixed Data without useless information

@url GET barcode/{barcode}

Exceptions
RestException401
RestException403
RestException404

Definition at line 155 of file api_products.class.php.

References _fetch().

◆ getByRef()

Products::getByRef ( $ref,
$includestockdata = 0,
$includesubproducts = false,
$includeparentid = false,
$includetrans = false )

Get properties of a product object by ref.

Return an array with product information.

Parameters
string$refRef of element
int$includestockdataLoad also information about stock (slower)
bool$includesubproductsLoad information about subproducts
bool$includeparentidLoad also ID of parent product (if product is a variant of a parent product)
bool$includetransLoad also the translations of product label and description
Returns
array|mixed Data without useless information

@url GET ref/{ref}

Exceptions
RestException401
RestException403
RestException404

Definition at line 107 of file api_products.class.php.

References _fetch().

◆ getByRefExt()

Products::getByRefExt ( $ref_ext,
$includestockdata = 0,
$includesubproducts = false,
$includeparentid = false,
$includetrans = false )

Get properties of a product object by ref_ext.

Return an array with product information.

Parameters
string$ref_extRef_ext of element
int$includestockdataLoad also information about stock (slower)
bool$includesubproductsLoad information about subproducts
bool$includeparentidLoad also ID of parent product (if product is a variant of a parent product)
bool$includetransLoad also the translations of product label and description
Returns
array|mixed Data without useless information

@url GET ref_ext/{ref_ext}

Exceptions
RestException401
RestException403
RestException404

Definition at line 131 of file api_products.class.php.

References _fetch().

◆ getCategories()

Products::getCategories ( $id,
$sortfield = "s.rowid",
$sortorder = 'ASC',
$limit = 0,
$page = 0 )

Get categories for a product.

Parameters
int$idID of product
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
Returns
mixed

@url GET {id}/categories

Definition at line 591 of file api_products.class.php.

◆ getCustomerPricesPerCustomer()

Products::getCustomerPricesPerCustomer ( $id,
$thirdparty_id = '' )

Get prices per customer for a product.

Parameters
int$idID of product
string$thirdparty_idThirdparty id to filter orders of (example '1') {@pattern /^[0-9,]*$/i}
Returns
mixed

@url GET {id}/selling_multiprices/per_customer

Definition at line 659 of file api_products.class.php.

References getDolGlobalString().

◆ getCustomerPricesPerQuantity()

Products::getCustomerPricesPerQuantity ( $id)

Get prices per quantity for a product.

Parameters
int$idID of product
Returns
mixed

@url GET {id}/selling_multiprices/per_quantity

Definition at line 708 of file api_products.class.php.

References getDolGlobalString().

◆ getCustomerPricesPerSegment()

Products::getCustomerPricesPerSegment ( $id)

Get prices per segment for a product.

Parameters
int$idID of product
Returns
mixed

@url GET {id}/selling_multiprices/per_segment

Definition at line 617 of file api_products.class.php.

References getDolGlobalString().

◆ getPurchasePrices()

Products::getPurchasePrices ( $id,
$ref = '',
$ref_ext = '',
$barcode = '' )

Get purchase prices for a product.

Return an array with product information. TODO implement getting a product by ref or by $ref_ext

Parameters
int$idID of product
string$refRef of element
string$ref_extRef ext of element
string$barcodeBarcode of element
Returns
array|mixed Data without useless information

@url GET {id}/purchase_prices

Exceptions
RestException401
RestException403
RestException404

Definition at line 972 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource(), and _cleanObjectDatas().

◆ getStock()

Products::getStock ( $id,
$selected_warehouse_id = null )

Get stock data for the product id given.

Optionaly with $selected_warehouse_id parameter user can get stock of specific warehouse

Parameters
int$idID of Product
int$selected_warehouse_idID of warehouse
Returns
array
Exceptions
RestException500 System error
RestException401
RestException404

@url GET {id}/stock

Definition at line 1916 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ getSubproducts()

Products::getSubproducts ( $id)

Get the list of subproducts of the product.

Parameters
int$idId of parent product/service
Returns
array
Exceptions
RestException
RestException401
RestException404

@url GET {id}/subproducts

Definition at line 492 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource().

◆ getSupplierProducts()

Products::getSupplierProducts ( $sortfield = "t.ref",
$sortorder = 'ASC',
$limit = 100,
$page = 0,
$mode = 0,
$category = 0,
$supplier = 0,
$sqlfilters = '' )

Get a list of all purchase prices of products.

Parameters
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
int$modeUse this param to filter list (0 for all, 1 for only product, 2 for only service)
int$categoryUse this param to filter list by category of product
int$supplierUse this param to filter list by supplier
string$sqlfiltersOther criteria to filter answers separated by a comma. Syntax example "(t.tobuy:=:0) and (t.tosell:=:1)"
Returns
array Array of product objects

@url GET purchase_prices

Definition at line 863 of file api_products.class.php.

References _cleanObjectDatas(), and forgeSQLFromUniversalSearchCriteria().

◆ getVariants()

Products::getVariants ( $id,
$includestock = 0 )

Get product variants.

Parameters
int$idID of Product
int$includestockDefault value 0. If parameter is set to 1 the response will contain stock data of each variant
Returns
array
Exceptions
RestException500 System error
RestException401

@url GET {id}/variants

Definition at line 1657 of file api_products.class.php.

◆ getVariantsByProdRef()

Products::getVariantsByProdRef ( $ref)

Get product variants by Product ref.

Parameters
string$refRef of Product
Returns
array
Exceptions
RestException500 System error
RestException401

@url GET ref/{ref}/variants

Definition at line 1693 of file api_products.class.php.

◆ index()

Products::index ( $sortfield = "t.ref",
$sortorder = 'ASC',
$limit = 100,
$page = 0,
$mode = 0,
$category = 0,
$sqlfilters = '',
$ids_only = false,
$variant_filter = 0,
$pagination_data = false,
$includestockdata = 0,
$properties = '' )

List products.

Get a list of products

Parameters
string$sortfieldSort field
string$sortorderSort order
int$limitLimit for list
int$pagePage number
int$modeUse this param to filter list (0 for all, 1 for only product, 2 for only service)
int$categoryUse this param to filter list by category
string$sqlfiltersOther criteria to filter answers separated by a comma. Syntax example "(t.tobuy:=:0) and (t.tosell:=:1)"
bool$ids_onlyReturn only IDs of product instead of all properties (faster, above all if list is long)
int$variant_filterUse this param to filter list (0 = all, 1=products without variants, 2=parent of variants, 3=variants only)
bool$pagination_dataIf this parameter is set to true the response will include pagination data. Default value is false. Page starts from 0
int$includestockdataLoad also information about stock (slower)
string$propertiesRestrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names
Returns
array Array of product objects

Definition at line 179 of file api_products.class.php.

References _cleanObjectDatas(), DolibarrApi\_filterObjectProperties(), and forgeSQLFromUniversalSearchCriteria().

◆ post()

Products::post ( $request_data = null)

Create product object.

Parameters
array$request_dataRequest data
Returns
int ID of product

Definition at line 307 of file api_products.class.php.

References _validate().

◆ put()

Products::put ( $id,
$request_data = null )

Update product.

Price will be updated by this API only if option is set on "One price per product". See other APIs for other price modes.

Parameters
int$idId of product to update
array$request_dataDatas
Returns
int
Exceptions
RestException401
RestException404

Definition at line 342 of file api_products.class.php.

References DolibarrApi\_checkAccessToResource(), dol_clone(), and getDolGlobalString().

◆ putAttributes()

Products::putAttributes ( $id,
$request_data = null )

Update attributes by id.

Parameters
int$idID of Attribute
array$request_dataDatas
Returns
Object Object with cleaned properties
Exceptions
RestException
RestException401
RestException404

@url PUT attributes/{id}

Definition at line 1265 of file api_products.class.php.

◆ putAttributeValue()

Products::putAttributeValue ( $id,
$request_data )

Update attribute value.

Parameters
int$idID of Attribute
array$request_dataDatas
Returns
Object Object with cleaned properties
Exceptions
RestException401
RestException500 System error

@url PUT attributes/values/{id}

Definition at line 1578 of file api_products.class.php.

◆ putVariant()

Products::putVariant ( $id,
$request_data = null )

Put product variants.

Parameters
int$idID of Variant
array$request_dataDatas
Returns
int
Exceptions
RestException500 System error
RestException401

@url PUT variants/{id}

Definition at line 1847 of file api_products.class.php.


The documentation for this class was generated from the following file: