HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Exporting your catalog to Product Recommendations

This topic describes how to export your catalog to Optimizely Product Recommendations

To provide accurate and valuable recommendations for Optimizely Product Recommendations, export your catalog to the Optimizely Product Recommendations engine on a regular basis. You should schedule the export job to run every 24 hours.

For products to be exported, they must have the following information. If a product is missing any of the information in the list, the export ignores the product.

  • instock
  • have prices (and that they are valid and not out of date)
  • published
  • products have variants

📘

Note

You can change the export behavior with a custom implementation of the ICatalogItemFilter and ICatalogFeedJob interfaces.

You can also attach a log for the appropriate namespace for debugging.

<logger name="EPiServer.Personalization.Commerce " additivity="false">
      <level value="Info " />
    </logger>

To export a catalog, start your site, enter admin mode, and launch the Export Product Feed scheduled job. If the job finishes with a successful status, your catalog was successfully exported.

The scheduled job has two parts:

  • Serialize the catalog to XML, compress it, and store it as a blob.
  • Notify Optimizely Product Recommendations that a new catalog is available.

To notify Optimizely Product Recommendations that a new catalog export is available, the scheduled job calls the Optimizely Product Recommendations REST API (via HTTPS) and passes a callback address and an authorization token. When the Product Recommendations engine has the resources to handle downloading the catalog, it calls the specified callback method and passes the token. If the callback method determines that the passed token is valid, the download is allowed.

The callback address is formulated using SiteDefinition.SiteUrl as the host and a static path. It is recommended that the SiteUrl be set to use the HTTPS protocol.

395395

Incremental export of the catalog feed

Personalization Commerce version 3.2.7 introduces a scheduled job that exports added/updated products only: Export Catalog Feed Incrementally. This job keeps Optimizely personalization up-to-date with product changes without exporting the entire catalog. Because the job exports fewer products, it runs more quickly and provides better performance than the full Export Catalog Feed job. But, the incremental job does not replace the Full Export Catalog Feed job because it does not include the deletion of products nor edits to asset or inventory information.

By default, a maximum of 10,000 products are processed when the Export Catalog Feed Incrementally job runs. You can increase the maximum number of products via the second setting below.

Export Catalog Feed Incrementally job settings

These web.config settings let you modify the Export Catalog Feed Incrementally scheduled job.

SettingDescription
episerver:commerce.EnableEventDrivenCatalogFeedIndicates if Optimizely Commerce tracks catalog changes for export via the Export Catalog Feed Incrementally scheduled job.
The default setting is false. If false, the job does not run.
episerver:commerce.MaxEntryProcessForIncrementalCatalogFeedThe maximum number of products to be processed when the scheduled job is executed. The default setting is 10,000.

What’s Next
Did this page help you?