Skip to main content

Product catalog

The product catalog will be what the customers of an EVA power commerce application will interact a lot with. EVA has a lot of flexibility in how to configure the product catalog. The details of how to import a product catalog and administer it is out of scope for application development purposes. There are however different types of products we need to be aware of:

  • stock products (type: 1)
  • configurable products (type: 16384)
  • service products (type: 16 or 64)
  • product bundles (type: 2048)

A stock product is a physical object that can be shipped.

A configurable product will lead to a stock product after certain choices have been made (size, color, etc).

A service product is an experience that needs to be paid for like for instance a massage.

A product bundle is a collection of products sold together with the ability to choose variants. As an example a PC could be a bundle where you choose different components for cpu, memory, etc.

Adding a product to an order#

Depending on the type of product you will have to use a different set of services to add them to an order.

  • stock: AddProductToOrder
  • configurable products: AddProductToOrder once you've drilled down to a stock product
  • service products: AddServiceProductToOrder
  • product bundels: AddBundleProductToOrder

Finding products#

The SearchProducts service is the main driver for finding the various types of products. A filter based on the product_types property will be used to focus on a specific type. This property is a bitfield that can be used to set multiple values at ones.

As an example search for service products can be done with the following payload:

{  Filters:  {    product_types: {      Values: [        16,        64      ]    }  }}

Product availability#

Another important factor when browsing a product catalog is if a product is in stock. Either in a certain store or in a central warehouse for delivery orders. Over time various services have come and gone to check availability but these days there is only one: GetProductAvailability. A request to this service can be done for a specific OrganizationUnitID (store) and can be find tunes using the Options. Please check the current typings for all available options (pickup, delivery, etc).