List of products related API requests

getProducts

Retrieve your product database.

In addition to product card fields, you can have API to return:

  • inventory quantities (set getStockInfo = 1);
  • costs and purchase prices (set getFIFOCost = 1);
  • price list prices in a particular store (set getPriceListPrices = 1);
  • recipes for assembly and bundle products (set getRecipes = 1);
  • package options (set getPackageInfo = 1);
  • replacement products (set getReplacementProducts = 1);
  • related products (set getRelatedProducts = 1);
  • product parameters (set getParameters = 1);
  • quantities of packaging materials that the product contains (set getPackagingMaterials = 1);
  • product files (manuals, specifications) (set getRelatedFiles = 1);
  • beverage containers (set getContainerInfo = 1);
  • detailed list of variations for a matrix product (set getMatrixVariations = 1).
To add or edit a product, use saveProduct. To retrieve inventory quantities ONLY, or to synchronize that data, use getProductStock. To retrieve only price list prices, use getProductPrices.

Services are also considered a special kind of products — non-stock products.


getProductGroups

Returns a HIERARCHICAL array of product groups.

Groups are a way of categorizing your product database, and several API calls support filtering by group.

Products can additionally be organized into categories (getProductCategories, hierarchical), brands (getBrands, a flat list), and priority groups (getProductPriorityGroups, a flat list)


getProductCategories

Retrieve the list of product categories.

Categories are a way of categorizing your product database, and several API calls support filtering by category.

Products can additionally be organized into groups (getProductGroups, hierarchical), brands (getBrands, a flat list) and priority groups (getProductPriorityGroups, a flat list).


getProductPriorityGroups

Returns an array of product priority groups.

Priority groups are a way of categorizing your product database, and several API calls support filtering by priority group.

Products can additionally be organized into groups (getProductGroups, hierarchical), categories (getProductCategories, hierarchical), and brands (getBrands, a flat list).


getProductUnits

Returns an array of product possible units.


getProductPrices

Retrieve a product's net sales price in a certain location, or net sales price for a specific customer — according to any price lists that apply.

You can query prices for a single product (by supplying parameter productID) or multiple products at a time (by supplying parameter productIDs).

If you do not want a price for a specific customer or location, but just need to know which price lists contain a specific item, see getProductPricesInPriceLists.


getProductCostForSpecificAmount

Get FIFO unit cost for a specific amount of specific items you are planning to subtract from inventory.

API inspects all the batches that are currently in stock, calculates (according to FIFO rules) how many items should be discounted from which batch (starting with the oldest ones), and returns the weighted average cost of the resulting lot.

This API call is useful when you plan to make an inventory transaction (eg. a sale, transfer or inventory writeoff), but want to know the exact total cost of the items before actually making the transaction.

You need to specify amount, because each batch may have a different cost. The amount that you require may have to be pulled from one or multiple batches, depending on how many items are left in each batch.

Please contact Erply support if you plan to use this API call. Your account may need updates or customizations to be applied.


getProductStock

Retrieve your ERPLY inventory — quantities on hand, reserved amounts, Reorder Points and Restock Levels, FIFO costs, and most recent purchase prices.

By default, API returns all products that have a non-zero inventory quantity in the warehouse you specified. In other words, items with a zero inventory quantity are skipped.

However, if you use input parameters "changedSince" (all quantities that have changed since last synchronization), or "getProductsWithReorderPointDefined" / "getProductsWithRestockLevelDefined", API will also return items with zero inventory quantity.

To retrieve only a list of reserved inventory quantities, see getReservedStock.

If parameter warehouseID is not set, then API call will return the combined information of all warehouses.


saveProduct

Create or update a product.


saveProductGroup

Create or update a product group.


saveProductCategory

Create or update a product category.


saveProductPicture

Attach a new picture to a product, or replace an existing picture.

To retrieve a list of images attached to a product, call getProducts and see the element "images". To remove a picture, use deleteProductPicture.


saveMatrixDimension

Create a matrix dimension, or add values to an existing dimension.

If you want to remove any values from the dimension, use the removeItemsFromMatrixDimension API call.


deleteProduct

Delete a product. Products that have any number of transactions associated with them (sales, purchases or inventory) cannot be deleted; API returns error 1063. Instead, we always recommend to archive the product — setting its status to "ARCHIVED".

In ERPLY backend, deleting products is no longer possible; clicking the "X" button always archives a product.


deleteProductGroup

Delete a product group. Note that products belonging to this group, as well as subgroups, will NOT be deleted or recategorized.


deleteProductPicture

Delete a product picture.