HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

Commerce-PIM integration

This topic describes how to install and configure Optimizely PIM (Product Information Management) for Optimizely Commerce Cloud.

This topic describes how to install and configure Optimizely PIM (Product Information Management) for Optimizely Commerce Cloud.
With the Optimizely PIM integration, you can manage detailed product information in PIM, and synchronize product data to 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 and does not support multi-language management.

About Optimizely PIM

Optimizely 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 for synchronization of the information with Optimizely Commerce Cloud system overview.

16851685

Installation and configuration

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 synchronization.

Configuration settings

After installing the package, add the following configuration settings to the 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

Key

Description

Environment

Values: Production or Sandbox.
Setting for current site environment.
This must match the setting in PIM > Configure > Settings > Active Publishing Environment.

AppKey

The application key (instance key) to connect to PIM API.

SecretKey

The secret key (instance secret ) to connect PIM API.

NumberOfLookbackDays

Number of days, used in Refresh mode to get product records based on the published date. Default value is 5 days.

APIAddress

Root URL of PIM API endpoint. Default value is https://pim.insitecloud.net/

Scheduled jobs

The PIM integration package contains a set of scheduled jobs for managing data synchronization with Optimizely 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 new catalogs, languages, metaclasses, metafields or relationship types (AssociationGroupDefinition) are added or updated.

πŸ“˜

Note

β€’ The Catalogs in Commerce site will be synced to PIM as Websites. So, after "PIM: Synchronize setup data" is finished, you can map the PIM category tree to only one Website (Catalog) to integrate with Commerce Cloud. If you select more than one website an error will occur when you run "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 will be discarded after you run "PIM: Publish approved products" job.

Publish approved products

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

Refresh published products

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

852852

Attributes

From EPiServer.Commerce.PIM version 1.0.0, we introduce 2 attributes: NoSync and Sync, that can be used to control the integration between the B2C and PIM instances.

#

Attribute name

Applied on

Description

1

NoSync

Product or variant classes

Prevents a template class to be synchronized.

2

Sync

Properties in a product or variant class

Synchronize the property over to PIM. Fields marked with the Sync property will automatically be read-only inside B2C.

The default behavior if there is no attribute to be used: Product and Variant classes will be synchronized but Properties of Product and Variant classes will not be synchronized.

NoSync attribute

Example with a variation template that will not be synchronized over to PIM.

425425

Sync attribute

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

605605

What’s Next
Did this page help you?