HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback

Optimizely Customized Commerce provides two interfaces related to prices:

  • IPriceService. Used for read-only prices.

  • PriceDetailService. Used for editing prices.

See examples in the following how to get (list), save, and delete prices.

## List prices

Use IPriceDetailService.List() in the following examples to get price details for a catalog entry. If it is a variant or package, this method returns its own price. If it is a product or a bundle, this method returns prices for its child variants. There are overloads of List() which support filtering and paging, as exemplified below.

### List all prices

Use IPriceDetailService.List(ContentReference) to get price details for an entry.

### List price with paging

Use IPriceDetailService.List(ContentReference, int, int , int) to get price details for an entry with paging.

### List price with PriceFilter

Use IPriceDetailService.List(ContentReference, MarketId, PriceFilter, int, int , int) to get price details for an entry with filtering and paging.

## Save prices

Use IPriceDetailService.Save(IEnumerable<IPriceDetailService>) to add/edit price details. Commerce also provides an extension for IPriceDetailService.Save(IPriceDetailService) to add/edit only one price.

## Delete prices

Use IPriceDetailService.Delete(IEnumerable<long>) to delete price details. You also can use the IPriceDetailService.Delete(long) extension to delete a specific price detail.

The example below illustrates how to delete all prices for an entry.