Update prices without publishing

By default, when you create or modify product prices, the changes you make must be published before they take effect. You can optionally configure Oracle Commerce to make price changes directly on the storefront without publishing.

Publishing price changes works well for many merchants, particularly those that change their prices relatively infrequently. Some merchants, however, have a large number of products and change their prices frequently, in some cases updating prices several times a day. For these merchants, Oracle Commerce provides the ability to make price changes available on the storefront immediately, bypassing the publishing process.

To enable this feature, you use the updateDirectPriceEdit endpoint. For example:

PUT /ccadmin/v1/merchant/directPriceEdit  HTTP 1.1
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "enable": true
}

Note that if your stores have any unpublished price-related changes, you must publish them before attempting to set enable to true, or the call will fail.

Use direct price editing

When direct price editing is enabled, if you create or modify a product (in the administration interface, using an endpoint, or through an import process), price changes you make are available on the storefront without publishing; they do not appear in the list of changes that are returned by REST endpoints or appear in the Publishing page of the administration interface. Other product changes, however, must still be published. As a result, prices may exist on your production system before the associated products do. These prices will be applied to the products when they are published.

When you publish changes, Oracle Commerce initiates an indexing operation so the search index is updated to reflect the changes. With direct price editing, though, prices on the production server can be changed without publishing, which means prices in the index may become out of date. To ensure the index is kept up to date, enabling direct price editing also sets up a schedule to perform incremental indexing every 15 minutes. However, if you have already used the setSearchPartialSchedule endpoint in the Search Data and Indexing API to set up a different incremental indexing schedule, then that schedule will remain in place instead.

Disable direct price editing

You can disable direct price editing by using the updateDirectPriceEdit endpoint to set the enable property back to false. Doing this initiates publishing of all pending changes.

Note, however, that you should decide which mode makes sense for your stores, and continue to use it unless your business needs change. The feature is not designed to be turned on and off frequently. Disabling direct price editing may cause a considerable delay, because Oracle Commerce must then synchronize your publishing server with the prices on your production server.

Disabling direct price editing also cancels the incremental indexing schedule that was set up when direct price editing was enabled. However, if you used the setSearchPartialSchedule endpoint to create a different incremental indexing schedule, disabling direct price editing does not cancel that schedule.