Skip to main content

Publishes a catalog

POST 

/catalogs/:catalog_id/releases

Publishes a catalog. You must publish a catalog before you can retrieve that catalog in an organization or store. The hierarchies, live products, and prices associated with a published catalog are in read-only mode. If you make a change to these resources, for example, a change to your price book or hierarchies, you need to republish the catalog.

You can get a catalog release to retrieve a published catalog. Currently, published catalogs are limited to the current release and two releases prior to the current release.

You can see the differences between the last 2 consecutive catalog releases. This is useful if want to understand how your products have changed in your catalog, ensuring your site search integration is kept up-to-date.

Once a catalog release has completed publishing, the delta relationship links to the delta document.

The delta links are signed and only valid for 1 hour. Re-reading a catalog release, for example, using Getting a release of a catalog returns a fresh a link.

You can use the is_full_delta attribute returned from the get a release of a catalog endpoint to determine if you need to refresh the data in your company system before injecting fresh data in a delta link. The is_full_delta attribute tells you if this is a full publish of the catalog. Using a search service as an example, if the is_full_delta attribute is true, you should remove all data about that catalog from the search service before injecting fresh data from the delta file. If the is_full_delta attribute is false, then data from the previous catalog overlays the existing data in the delta file. To publish a catalog and inject fresh data in a delta link, set export_full_delta to true.

If a previous catalog publish date is greater than 90 days, then a full catalog publish is automatically performed. If you publish your catalogs infrequently, Commerce may perform a full publish when you are expecting a delta publish.

caution

Generating a full delta is resource intensive and slows down the publishing process and so should only be performed in certain circumstances, for example, when initializing an integration with a service like Algolia.

The is_full_delta attribute is always true the first time a catalog is published. The information is stored in a collection of json documents in a compressed file. You can either manually check the file or, for example, use them to automatically update another company system you may have.

  • Delta files are only available for 30 days.
  • Delta files are removed when a catalog release is deleted.

Each document has a delta_type with one of the following values, depending on whether a product has been deleted, updated or created in a catalog release.

  • delete describes products deleted from this release of a catalog.
  • createupdate describes products updated in this release of a catalog.

Multi-Store Management Solutions

In a multi-store management solution.

  • You can create organization catalogs. Your organization catalogs are available for your stores to use.
  • Your stores can create their own catalogs.
  • Your stores can create catalogs that have a combination of organization products and store products.

If you are publishing a catalog in a store that contains resources from an organization, in Commerce Manager, you must enable the Include Organization Resources in Catalog Publishes checkbox.

  1. Go to SYSTEM > Store Settings.
  2. Click General Settings.
  3. Select PXM from the list.
  4. Select the Include Organization Resources in Catalog Publishes checkbox.

Request

Path Parameters

    catalog_id stringrequired

    The catalog ID.

Body

Options for catalog release publishing

    data object
    export_full_delta boolean

    Set to true if you want to export all the data from a catalog release in a delta link. The is_full_delta attribute is returned from the get a release of a catalog endpoint. The is_full_delta attribute tells you if the delta file contains the full content of a catalog release. You can use the is_full_delta to determine if you need to refresh the data in your company system before publishing a catalog release with fresh data in a delta link. Using a search service as an example, if the is_full_delta attribute is true, you should remove all data about that catalog from the search service before publishing a catalog release and injecting fresh data from the delta file. If the is_full_delta attribute is false, then data from the previous catalog overlays the existing data in the delta file. The is_full_delta attribute is always true the first time a catalog is published.

    include_organization_resources booleannullable

    If you are publishing a catalog in a store that contains resources from an organization, you must set this to true and you must enable the Include Organization Resources in Catalog Publishes checkbox in Commerce Manager. See Multi-Store Management Solutions.

Responses

Publishes a catalog release with the following attributes.

Schema
    data object

    A catalog release represents a collection of hierarchical product data, price books and catalogs rules.

    id string

    A unique identifier for the catalog release.

    attributes object
    name string

    The name of a release.

    published_at date-timenullable

    The date and time a release was published.

    catalog_id string

    A unique identifier for the catalog.

    description string

    A description of the catalog release.

    hierarchies object[]

    An array of hierarchy IDs associated with the release.

  • Array [
  • id string

    The unique identifier of a hierarchy.

    label string

    A label for a hierarchy.

    name string

    The name of a hierarchy.

  • ]
  • relationships object

    Relationships are established between different catalog entities. For example, products, hierarchies, price books, and catalog rules are related to a catalog, as they are associated with it.

    delta object

    A URL to a delta document that describes the changes between catalog releases.

    links object

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    products object

    A URL to all products included in a catalog release.

    links object

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    hierarchies object

    A URL to all hierarchies included in a catalog release.

    links objectrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    related stringrequired

    A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.

    type string

    This represents the type of object being returned. Always catalog-release.

    meta object

    A release's metadata.

    created_at date-time

    The date and time a release is created.

    started_at date-timenullable

    The date and time a release is available for use. In other words, the date and time the status of a catalog release changes to PUBLISHED, rather than IN PROGRESS.

    updated_at date-timenullable

    The date and time a release is updated.

    release_status string

    Possible values: [PENDING, IN_PROGRESS, FAILED, PUBLISHED]

    The status of the current release.

    language string

    Your storefront's preferred language code and locale.

    is_full_publish boolean

    Indicates that a full publish was performed (either because this is the first time a catalog has been published or because of a change that occurred, for example, adding/removing a price book or hierarchy). When determining whether delta data needs to be refreshed, ignore this attribute and always use the is_full_delta attribute.

    is_full_delta boolean

    Indicates whether the release delta file contains the full content of a catalog release. Using a search service as an example, if the is_full_delta attribute is true, you should remove all data about that catalog release from the search service before injecting fresh data from the delta file. If the is_full_delta attribute is false, then data from the previous catalog release overlays the existing data in the delta file. The is_full_delta attribute is always true the first time a catalog is published.

    total_products int64nullable

    The total number of products displayed in a catalog release.

    total_nodes int64nullable

    The total number of hierarchy nodes displayed in a catalog release.

    percent_completed int32nullable

    An integer that represents the progress of a catalog publish. The attribute starts at 0 and reaches 100 when publishing is complete.

    owner stringnullable

    Possible values: [store, organization]

    The owner of the resource, can be either organization or store.

    links object

    Links allow you to move between requests.

    self urinullable

    Single entities use a self parameter with a link the specific resource.

    first urinullable

    Always the first page.

    last urinullable

    This is null if there is only one page.

    prev urinullable

    This is null if there is only one page.

    next urinullable

    This is null if there is only one page.

Loading...