HomeDev guideAPI ReferenceGraphQL
Dev guideUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Customized Commerce + PIM

Install and configure Optimizely Product Information Management for Optimizely Customized Commerce.

With the Optimizely Product Information Management (PIM) integration, you can manage detailed product information in the PIM and sync product data to Optimizely Customized Commerce.

📘

Note

• Commerce dependency: version 14.0.0 and higher.
• EPiServer.Commerce.PIM: version 1.0.0 and higher.
• The current integration is a beta version

About Optimizely PIM

Optimizely Product Information Management (PIM) manages detailed product information such as size, weight, color, and associated images. You can set up the catalog and product data requirements and manage the data acquisition and curation process.

Integration contains a set of scheduled jobs to sync the information with Optimizely Customized Commerce system overview.

Install and configure

Add the PIM integration by installing the EPiServer.Commerce.PIM NuGet package to your Optimizely Commerce site. The integration package contains the EPiServer.Commerce.PIM integration project, including a set of scheduled jobs for data sync.

Configuration settings

After installing the package, add the following configuration settings to the Customized Commerce attribute in the appSettings.json file and define values as described in the following example.

Commerce: {
      "PIMOptions": {
        "Environment": "",
        "AppKey": "",
        "SecretKey": "",
        "NumberOfLookbackDays": "",
        "APIAddress": ""
      }
}

Configuration keys

KeyDescription
EnvironmentValues: Production or Sandbox.
Setting for current site environment.
This must match the setting in PIM > Configure > Settings > Active Publishing Environment.
AppKeyThe application key (instance key) to connect to PIM API.
SecretKeyThe secret key (instance secret ) to connect PIM API.
NumberOfLookbackDaysNumber of days used in Refresh mode to get product records based on the published date. The default value is five days.
APIAddressRoot URL of PIM API endpoint. The default value is <https://pim.insitecloud.net/>

Scheduled jobs

The PIM integration package contains a set of scheduled jobs for managing data synchronization with Customized Commerce. Scheduled jobs are managed from the CMS Admin view.

Synchronize setup data

PIM: Synchronize setup data is set up early in the implementation process by the implementation team. You should run the job at initiation to pull in languages, websites, product relationships, and product custom properties. Run the job from a Sandbox or Production instance, not a partner QA site, and run the job when catalogs, languages, metaclasses, meta-fields, or relationship types (AssociationGroupDefinition) are added or updated.

📘

Note

  • The catalogs in Customized Commerce site will be synced to the PIM as websites. After the PIM: Synchronize setup data job is finished, you can map the PIM category tree to one website (Catalog) to integrate with Customized Commerce. If you select more than one website, an error occurs when you run the PIM: Publish approved products job.
  • The catalog data (categories, products, and variants) synchronization occurs only from PIM to Commerce. So if you try to create catalog data (categories, products, and variants) outside of PIM, it is discarded after you run "PIM: Publish approved products" job.

Publish approved products

The PIM: Publish approved products job runs whenever you want Approved products to be pulled into the active environment of your choice – Sandbox (early in the project) or Production (once live). It pulls in products with the status Approved and then updates the status in the PIM to Published. You can set the job to recur or run it on-demand.

Refresh published products

The PIM: Refresh published products job keeps non-production environments synced with the PIM as needed. It uses the lookback days parameter in the job to pull products with Published status, based on the date last published, into the environment from which you are running the job. You also can use this for development environments. It should typically only be run on demand.

852

Attributes

From EPiServer.Commerce.PIM version 1.0.0: NoSync and Sync can control the integration between the Customized Commerce and PIM instances.

#Attribute nameApplied onDescription
1NoSyncProduct or variant classesIt prevents a template class from being synchronized.
2SyncProperties in a product or variant classSync the property over to PIM. Fields marked with the Sync property will automatically be read-only inside B2C.

If no attribute is to be used, the default behavior is that Product and Variant classes are synced, but the Properties of Product and Variant classes will not be synchronized.

NoSync attribute

Example with a variation template that will not be synced to the PIM.

Sync attribute

Example of 2 properties, FabricType property is being synchronized over, and WebsiteColor will not be synced. The synced FabricType property is required and translatable in the PIM.