---
title: "OrderCloudとの統合"
slug: "integrate-with-ordercloud"
abstract: "組み込みの統合を使ってデータをSitecore Searchに同期する方法OrderCloud。"
---
# OrderCloudとの統合

Sitecore SearchとOrderCloudの統合機能を活用すれば、データがOrderCloudされた後も簡単にSearchに送信できます。組み込みの統合により、商品やカテゴリーデータ、マルチロケーション小売業者向けの店舗データ、その他のあらゆるデータを同期するためのインフラが自動的に構築されます。統合を利用するには、まずドメインを設定し、その後プロダクト同期をトリガーする必要があります。

これにより、OrderCloudの製品可視性と価格ルールがSearchが提供する検索体験に適用されます。

統合はフルシンクやインクリメンタルシンクに使えます。インクリメンタル同期を選択すると、更新された商品のみが同期され、カタログ全体は同期されません。

> !注OrderCloudが提供する標準の製品同期とプロキシ機能がほとんどの商取引ケースを処理しますが、より複雑なシナリオでは自社のプロセッサーホスティングが推奨されます。例えば、[マルチレベル(ストアやグループ)の検索経験](https://doc.sitecore.com/search/en/users/search-user-guide/multilevel-business-operations-for-bopis.html)に関する要件がある場合は、カスタムプロセッサを使うのが良いかもしれません。

このウォークスルーでは、以下の方法を説明します:

:::攻略

1.  [属性テンプレートを選択する](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrate-with-ordercloud.html#select-an-attribute-template)
2.  [(任意)プロパティOrderCloud XP新しい属性を定義する](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrate-with-ordercloud.html#optional-define-new-attributes-for-ordercloud-xp-properties)
3.  [OrderCloudの配信設定を作成する](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrate-with-ordercloud.html#create-an-ordercloud-delivery-configuration)
4.  [プロダクト同期をトリガーしてください](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrate-with-ordercloud.html#trigger-the-product-sync)
5.  [(任意) Searchプロキシを設定する](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrate-with-ordercloud.html#optional-set-up-the-search-proxy):::

> !注**始める前に**
> 
> -   **Marketplace管理者**の役割と**ProductSyncConfigAdmin**および**DeliveryConfigAdmin**の権限でOrderCloudにアクセスできることを確認してください。
>     
> -   **TechAdmin**の役割でSitecore Searchにアクセスできることを確認してください。OrderCloud同期が機能するには、製品エンティティとその属性をSearchに表示する必要があります。
>     

## 属性テンプレートを選択する

検索ドメインを設定するには、属性テンプレートを選択し、OrderCloud同期ターゲットのソースを定義します。APIプッシュコネクターを使って、OrderCloudがSitecore Searchにインクリメンタルアップデートを送信できるようにします。

属性テンプレートを選択するには:

1.  Sitecore Searchでは、メインメニューで**Administration** > **Domain Settings**をクリックします。
    
2.  **General Settings**タブで「**エンティティ**」>**編集**をクリックします。
    
    > !注**General Settings**タブに**エンティティ**が表示されない場合は、[ドメインが複数のエンティティ](https://doc.sitecore.com/search/en/users/search-user-guide/configure-entities.html)に対して有効になっていません。
    
3.  同期したいエンティティ、例えば*Product*をClickします。
    
4.  **Attribute Template**のドロップダウンメニューで、OrderCloudのデータモデルに一致する属性をマッピングするテンプレートを選択してください。
    
    -   製品エンティティについては、 **OrderCloud製品テンプレートv3** テンプレートを選択してください。
    -   その他のエンティティについては、 **Base Attribute Template**を選択します。
5.  [OrderCloudの拡張プロパティ](https://ordercloud.io/knowledge-base/extended-properties)を使ってビジネス固有のプロパティをOrderCloudデータモデルに追加する場合は、それらをSitecore Searchの属性として追加してください。
    
6.  [API Push](https://doc.sitecore.com/search/en/users/search-user-guide/en/configure-api-push.html)型のソースを作成しましょう。
    
7.  Click **Save**。
    

## (任意)プロパティOrderCloud XP新しい属性を定義する

同期されたOrderCloudエンティティのAPI応答で[XPプロパティ](https://ordercloud.io/knowledge-base/extended-properties) を返したり、フィルタリング、ファネスティング、ルール、追加の検索体験に使いたい場合は、Sitecore SearchでそれらのXPプロパティを属性として設定する必要があります。

XPプロパティの新しい属性を設定するには:

1.  メニューバーで**Administration** > **Domain Settings** **\> Attributes**をクリックします。
    
2.  **エンティティ**のドロップダウンメニューで**「製品**」を選択します。
    
3.  Click **Add Attribute**を使い、属性名を小文字で入力し、下線でネストを表現します。
    
    例えば、OrderCloudのxp.Brandという属性は、Sitecore Searchでxp\_brandと名付けられなければなりません。
    
4.  Sitecore Searchで製品のサムネイルを表示するには、OrderCloudに「 xp.ThumbnailImageUrl」というXPプロパティを作成します。
    

## OrderCloudの配信設定を作成する

属性テンプレートを選択しソースを作成してドメインを設定したら、次にOrderCloudの配信設定を作成しなければなりません。

配信構成を作成するには:

1.  OrderCloudにログインして「 **APIコンソール**」をクリックしてください。
    
2.  メインメニューの **統合** セクションで「 **Delivery Configurations**」をクリックしてください。
    
3.  上部のドロップダウンメニューで、POST操作を選択して新しい配達構成を作成します。
    
4.  有効化 **のチェックボックス** を選択してください。
    
5.  **Search Ingestion**セクションで、以下の項目を入力してください:
    
    -   **ドメイン** - あなたのSearchドメインのID。
    -   **ソース** - あなたのSearch source ID。
    -   **エンドポイント** - あなたのSearchソースエンドポイントURL。
    -   **エンティティ** - *商品*を入力してください。
    -   **API Key** - あなたのSearch Source APIキー。
    
    > !注
    > 
    > -   ドメインIDを見つけるには、メニューバーで**Home**をクリックし、ドメイン名にカーソルを合わせてください。
    >     
    > -   ソースID、エンドポイントURL、APIキーを見つけるには、メニューバーで **「Sources**」をクリックし、その後ソースをクリックしてください。 **Source Settings**ページで「 **Source Information**」をクリックします。
    >     
    
6.  Click **Send**。
    
7.  メインメニューの統合セクションで**「****Product Synchronization**」をクリックします。
    
8.  上部のドロップダウンメニューで、商品同期を作成または更新するためのPUT操作を選択してください。
    
9.  **Request Body**で、商品を作成または更新した際に同期する「**Sync Product Changed**」チェックボックスを選択し、削除された際に同期する「**Sync Product Deleted**」チェックボックスを選択してください。
    
10.  **Delivery Config ID**でIDを入力し、「**Send**」をクリックします。
     

このプロセスを他のSitecore Search事業体( *カテゴリ*、*店舗*/*サプライヤー*、*在庫*など)にも繰り返します。エンティティ **同期** エンドポイントを使ってそれぞれ作成します。

## プロダクト同期をトリガーしてください

OrderCloudで接続を設定したら、OrderCloudからSitecore Searchへの同期をトリガーする準備ができます。

> !注カタログやカテゴリーのフル同期を行う前に、セットアップが正しいかを確認するために、単一の製品に対してインクリメンタル同期を行うことをお勧めします。 PATCHクエリを実行して新しい値で商品を更新し、その後インクリメンタル同期を実行することでこれを実現できます。

同期をトリガーするには:

1.  OrderCloudで「 **セルフサービス** 」> **「同期ツール**」をクリックします。
    
    > !注OrderCloud Portalを使っているなら、**マーケットプレイス** > **商品同期**に行ってください。
    
2.  カタログ全体を同期するには、**Catalog ID**フィールドでIDを入力してください。
    
    または、1つのカテゴリのみを同期するには、**カタログ**IDフィールドにIDを入力し、カテゴリ**ID**フィールドでIDを入力してください。
    
3.  「 **私はロボットじゃない** 」チェックボックスを選びます。
    
4.  Click **Submit**。
    
5.  Sitecore Searchではメインメニューで**Content Collection**をクリックします。
    
6.  Click同期エンティティを*Product*。そのページにはOrderCloudの製品が掲載されています。
    
    > !注「 **商品変更を同期** 」や「 **商品を削除した** 同期」オプションを選択した場合、OrderCloudで商品が作成されたり変更されたり削除されたりすると、その変更はSearchに同期されます。
    

Sitecore Searchでは、**Sources**を押すと、インデックス待ちのソースの横に感嘆符が表示されます。インデックス作成は、ソースのサイズによっては完了までに時間がかかる場合があります。

また、**Analytics** **\> Sources** > **Overview**にアクセスして、さまざまな指標に関するすべての情報源の詳細情報を確認できます。特定の情報源の詳細を見るには、情報源リストから選択してください。これにより、ソース、直近の実行の概要、実行されたジョブ数の情報が得られます。特定のジョブの詳細を見るには、グラフまたは **ジョブ実行リスト**から選択してください。

## (任意)Searchプロキシを設定する

Sitecore Searchプロキシを使えば、OrderCloudから正確な商品の可視性と価格情報を得ることができます。また、Searchで必要な別のシステムに保存されたマルチロケーション属性や非OrderCloud属性を同期することも可能です。これは任意のステップです。OrderCloudからデータを同期するのにプロキシは必要ありません。複雑なマーケットプレイスで複数の価格が存在している場合や、商品の可視性が限られている場合のみ使用してください。

プロキシの設定方法:

1.  OrderCloudでは、右上のドロップダウンメニューでMarketplace名を入力し、 **OrderCloud地域** と **Marketplace ID** をメモしてください。
2.  Searchのメニューバーで「 **Sources**」をクリックし、その後ソースをクリックしてください。 **ソースSettings** ページで「 **ソース情報** 」をクリックし、 **SearchインジェスションAPI URL** をメモしてください。
3.  この情報をもとにサポートケースに登録してください。

### 代理を使って正確な商品と価格を返品します

バイヤーフロントエンドからプロキシエンドポイントに提出されるペイロードは、Searchのものと同一ですが、以下に示す追加のordercloudセクションがあります。現在のユーザーの可視性ルールを与えられたフィルターに追加し、適切な価格設定を適用することで、このプロキシはSearchのすべての機能を活用できます。

{
 "context": {
 "page": {
 "uri": "/"
 },
 "user": {
 "uuid": "173929009-e4-05-47-1p-boo1kknmlw-1708358871002"
 }
 },
 "ordercloud": {
 "sellerId": "12345",
 "requiredInventoryLocations": 
 "\*-0044"
  },
 "widget": {
 "items": 
 {
 "rfk\_id": "rfkid\_6",
 "search": {
 "content": {},
 "suggestion": 
 {
 "name": "auto\_suggester",
 "max": 6
 }
 ,
 "limit": 6
 },
 "entity": "product"
 }
 
 }
}

プロキシを呼ぶにはベアラートークンが必要です。有効なOrderCloudユーザートークンでOrderCloudのoauth/userinfoエンドポイントを呼び出すことで取得できます。これにより、プロキシを呼び出す際に使えるユーザーのコンテキスト情報を含むベアラートークンが返されます。

プロキシエンドポイント形式: https://uswest-integrations.ordercloud.io/api/v1/search/{domain}

地域別エンドポイント:

-   アメリカ西部 - https://uswest-integrations.ordercloud.io/
-   ヨーロッパ・ウエスト - https://westeurope-integrations.ordercloud.io/
-   アメリカ東部 - https://useast-integrations.ordercloud.io/
-   日本東部 - https://japaneast-integrations.ordercloud.io/
-   オーストラリア・イースト - https://australiaeast-integrations.ordercloud.io/

正しい商品と価格を正しい購入者に見せたいだけなら、この統合がプロキシ方式でそれを実現します。価格によるソートや製品在庫のカスタムルール(例:埋めやブースト)など追加のユースケースがある場合は、Sitecore Searchのマルチストア/マルチグループ機能も活用する必要があります。