Sitecore OrderCloud Documentation

docs

Portal login

Product Synchronization

Published by Marc Bednar on July 26, 2023

Overview

OrderCloud allows you to synchronize your catalog content with any system of your choosing using one of the pre-defined delivery mechanism that best suits your needs.  When products are created, updated or deleted, you will be notified of these changes via any of the following Delivery Configurations:

  • SearchIngestion for out-of-the-box integration with Sitecore Search

  • An Http(s) endpoint

  • An EventHub instance

  • A Kafka instance

Add a Connection to OrderCloud

  1. You must have an OrderCloud production marketplace.

  2. You must create a DeliveryConfiguration that enables one of the delivery mechanisms.

  3. You must enable ProductSync using the API described later in this document.

Sitecore Discover 2 Proxy

You should use the Sitecore Discover 2 Proxy when you are required to have the OrderCloud product visibility and pricing rules applied. In a simple B2C implementation you can use Sitecore Discover 2 API directly.

The proxy takes the ‘userinfo’ bearer token obtained via the “oauth/userinfo” route in OrderCloud. The returned token provides all of the context information to the proxy.

Currently, you need to make a request for the OrderCloud team to setup your Discover 2 APIKeys in the proxy on your behalf. This process will eventually become self-serviced.

The payload to be submitted to the proxy is identical to the one of Discover 2 as well as the returned payload, therefore you can take advantage of all the features available in Discover. The proxy simply appends the visibility rules of the current user to the given filters and applies the proper pricing.

Example API payload:

{
  "ordercloud": {
    "RequiredInventoryLocations":["address1"],
    "SellerId": "12345"
  },
  "context": {
    "page": {
      "uri": "/search"
    }
  },
  "widget": {
    "items": [
      {
        "entity": "product",
        "rfk_id": "rfkid_7",
        "search": {
          "content": {},
          "filter": {
            "type": "or",
            "filters": [
              {
                "name": "id",
                "type": "eq",
                "value": "BoulderXMid"
              },
              {
                "name": "allsupplierscansell",
                "type": "eq",
                "value": false
              }
            ]
          }
        }
      }
    ]
  }
}

RequiredInventoryLocations supports simple wildcards. If your inventory locations IDs have a format similar to this: <productId>_<addressId>_inv". You can specify "*-<addressId>_inv". This is convenient when fulfilling product list pages.

The following is a list of SearchProxy endpoint by region:

Endpoint

Region

https://uswest-integrations.ordercloud.io

US West

https://westeurope-integrations.ordercloud.io

Europe West

https://useast-integrations.ordercloud.io

US East

https://japaneast-integrations.ordercloud.io

Japan East

https://australiaeast-integrations.ordercloud.io

Australia East

The format of the search URL is: {Endpoint}/api/v1/search/{domain}

New Properties

ProductSyncConfig

{ 
  "SyncProductChanged": true | false, 
  "SyncProductDeleted": true | false, 
  "DeliveryConfigID": ""
}

New Endpoints

  • GET /integrations/ProductSync

  • PUT /integrations/ProductSync

  • PATCH /integrations/ProductSync

  • DELETE /integrations/ProductSync

For more in formation, see Product Sync API Reference


Still have questions?
Ask in our Community Channel

Content Powered By
Sitecore Logo

© Copyright 2024, Sitecore OrderCloud®. All rights reserved.

Contact Us
Privacy Policy
Sitecore