---
title: Bidirectional Content Hub integration
slug: bidirectional-contenthub-integration
abstract: The OrderCloud and Content Hub integration enables efficient product data management across content and commerce systems.
content_type: concept
audience: \[architect, developer]
---
# Bidirectional Content Hub integration

The OrderCloud and Content Hub integration enables efficient product data management across content and commerce systems.

## OrderCloud to Content Hub integration

### Use cases

1. Data import scenarios:
   - Importing external product data into OrderCloud
   - Existing OrderCloud marketplace transitioning to Content Hub
   - Maintaining commerce and visibility in OrderCloud
   - Managing content and images in Content Hub

2. Implementation requirements:
   - Configure integration before data import
   - Use [EntitySync](https://doc.sitecore.com/ordercloud/en/developers/platform/entity-synchronization.html) for existing data
   - Ensure proper system configuration

### Integration functionality

The system creates Content Hub product shells when:

- New products are created in OrderCloud
- Product details are updated (ID, Name, Description)

### Configuration steps

1. Create [DeliveryConfiguration](https://api-docs.sitecore.com/ordercloud/delivery-configurations/deliveryconfigurations.create):

```json
{
  "ID": "contenthub",
  "Name": "ContentHub",
  "Enabled": true,
  "DeliveryTargets": {
    "ContentHub": {
      "ApiKey": "{Your Content Hub API Key}",
      "Endpoint": "{The Base URL of your Content Hub instance}",
      "TargetSchemaName": "{Schema name that products should be created to. e.g. M.PCM.Product}",
      "ConfigData": {
        "Mapper": {
          "ID": {
            "Property": "{The name of your Content Hub unique ID field}",
            "DefaultCulture": null
          },
          "Name": {
            "Property": "{The name of your Content Hub Name field}",
            "DefaultCulture": null
          },
          "Description": {
            "Property": "{The name of your Content Hub Description field}",
            "DefaultCulture": null
          }
        }
      }
    }
  }
}
```

1. Create [ProductSynchronization](https://api-docs.sitecore.com/ordercloud/product-synchronization/productsyncs.save):

```json
{
  "SyncProductChanged": true,
  "DeliveryConfigID": "{the ID of your DeliveryConfiguration}"
}
```

## Content Hub to OrderCloud integration

### Integration capabilities

The system enables:

- Automatic product creation in OrderCloud
- Property synchronization
- Asset management integration
- Commerce functionality for Content Hub entities

### Property mapping

1. Core properties:
   - Unique ID field
   - Name field
   - Description field

2. Additional mappings:
   - Flat properties to Product.xp
   - Asset Public Links to Product.xp.Images
   - URL variations (Original, Thumbnail, Preview)

## Configuration implementation

### OrderCloud setup

1. API Client configuration:
   - Create descriptive client name
   - Add ClientSecret
   - Enable AllowAllSellers
   - Configure default context user
   - Assign ProductAdmin security profile
   - Note ClientID and ClientSecret
   - Record BaseURL for region/environment

### Content Hub setup

1. Schema identification:
   - Select target product schema
   - Identify unique field requirement
   - Configure new unique field if needed

2. API key creation:
   - Navigate to Users settings
   - Create/select API User
   - Generate new token
   - Save token securely
   - Configure user permissions

### Action configuration

1. Basic setup:
   - Create descriptive name
   - Select API Call type
   - Configure POST method
   - Set appropriate endpoint

2. Regional endpoints:

| Endpoint | Region |
| ---------- | --------- |
| [https://uswest-integrations.ordercloud.io/api/v1/productsync/contenthub](https://uswest-integrations.ordercloud.io/) | US West |
| [https://westeurope-integrations.ordercloud.io/api/v1/productsync/contenthub](https://westeurope-integrations.ordercloud.io/) | Europe West |
| [https://useast-integrations.ordercloud.io/api/v1/productsync/contenthub](https://useast-integrations.ordercloud.io/) | US East |
| [https://japaneast-integrations.ordercloud.io/api/v1/productsync/contenthub](https://japaneast-integrations.ordercloud.io/) | Japan East |
| [https://australiaeast-integrations.ordercloud.io/api/v1/productsync/contenthub](https://australiaeast-integrations.ordercloud.io/) | Australia East |

1. Value configuration:

| Key | Description |
| ----- | ------------- |
| ClientID | Integration ClientID |
| ClientSecret | Integration ClientSecret |
| Endpoint | OrderCloud region/environment API URL |
| SyncSchemaName | Target schema name |
| BaseUrl | Content Hub API base URL |
| ApiKey | API User token |
| DefaultCulture | Optional multi-language culture code |
| Map_ID | Unique property mapping |
| Map_Name | Name property mapping |
| Map_Description | Description property mapping |
| Map_Assets | Asset relationship mapping |
| Map_xp | Experimental property mapping |

### Trigger configuration

1. Basic setup:
   - Create descriptive name
   - Enable creation/modification/deletion
   - Set background execution
   - Configure schema triggers

2. Image synchronization:
   - Configure image property
   - Set up M.Asset triggers
   - Configure M.PublicLink triggers

![ ](https://doc.sitecore.com/api/markdown-image/ordercloud/en/developers/platform/images/ffc04422a66240358055c823ce9443ce.png)

## Troubleshooting

Common configuration issues:

1. Trigger conditions:
   - Top-level condition must be "any"
   - Verify condition hierarchy

2. Multi-language setup:
   - Confirm DefaultCulture configuration
   - Check ProductShortDescription settings

3. ID mapping:
   - Verify unique member property
   - Consider creating OrderCloudID field

4. Asset synchronization:
   - Check API Key permissions
   - Configure elevated access rights
   - Consider Superuser permissions

## Related reading

- [Order checkout integration event](https://doc.sitecore.com/ordercloud/en/developers/platform/order-checkout.html)
- [Pre-built checkout integrations in .NET](https://doc.sitecore.com/ordercloud/en/developers/platform/prebuilt-checkout-integrations-in-dotnet.html)
- [Calculating promotion discounts](https://doc.sitecore.com/ordercloud/en/developers/platform/custom-promotion-discounts.html)

