---
title: "SearchおよびRecommendation APIの呼び出し"
slug: "calling-the-search-and-recommendation-api"
abstract: "Send POST SitecoreのSearchと推薦へのリクエストAPI JSONを使います。正確な結果を得るために、ドメインID、ウィジェットID、エンティティ、ロケール、ユーザーIDを含めてください。"
---
# SearchおよびRecommendation APIの呼び出し

Sitecore Searchでは、Searchおよび推奨APIを使用する際にHTTPSプロトコルが必要です。APIはJSON形式のリクエストを受け付けます。

## API URLと方法

API URLはSitecore SearchのDeveloper Resourcesセクションの**API Access**タブで入手できます。

POSTメソッドを使ってSearchおよびRecommendation APIにリクエストを送信してください。

## 認証

Sitecore Search REST APIにアクセスするには [認証](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrating-using-rest-apis/api-authentication-and-authorization.html "API authentication and authorization") が必要です。リクエストヘッダーにAPIキーまたはアクセストークンを使います。

## 必須対象

APIにリクエストを送信する際、応答を得るために以下のオブジェクトを含める必要があります:

-   rfk.domainId - リクエストのヘッダーに追加して、リクエストを行いたいドメインを指定します。
-   widget.items.rfkd\_id - このキーを追加して、呼び出したいウィジェットの rfkid を指定します。
-   widget.items.entity - このキーを追加して、このリクエストで使用したいエンティティを指定します。
-   context.locale - マルチロケーションドメインがある場合は、このオブジェクトを追加して結果に使用する国と言語を指定します。

## 推奨対象

APIにリクエストを送信する際は、以下のオブジェクトを追加することを推奨します。

-   context.user.uuid\- ページを訪れる訪問者の匿名の一意識別子。このオブジェクトを追加することで、訪問者に関連性の高い検索結果Sitecore Search提供できます。UUIDを通過しなければ、その特定の訪問者に合わせた検索結果ではありません。UUIDの生成方法を学びたい方は、「[UUIDを使ってサイト訪問者を追跡する](https://doc.sitecore.com/search/ja/developers/search-developer-guide/integrating-using-rest-apis/using-a-uuid-to-track-site-visitors.html "Using a UUID to track site visitors")」をご覧ください。

> !注もしカスタムUUIDが上記の形式に従わない場合は、カスタムの自由形式IDがSearchリクエストでcontext.user.uuidではなく、context.user.user\_idで渡されることを確認してください。

## サンプルリクエスト

以下は、キーワードフレーズ「 **クラウドコンピューティング**」のコンテンツを取得するためのSearch and Recommendation APIへのサンプルPOST requestです。

{
 "widget": {
 "items": 
 {
 "rfk\_id": "rfkid\_7",
 "entity": "content",
 "search": {
 "content": {},
 "query": {
 "keyphrase": "cloud computing"
 }
 }
 }
 
 },
 "context": {
 "locale": {
 "country": "us",
 "language": "en"
 }
 "user": {
 	 "uuid": "string" //or "user\_id": "string" if your uuid does not follow the example here (https://doc.sitecore.com/search/en/developers/search-developer-guide/using-a-uuid-to-track-site-visitors.html)"uuid": "string"
 }
 }
}

## エラーコード

以下の表は、APIキーやアクセストークンでSitecore Search APIを呼び出す際に起こりうる一般的なエラーを一覧にしています。

表1。エラーコード

ステータスコード

エラー

可能な原因

解決

401 無許可

{"メッセージ":"Unauthorized"}

アクセストークンが欠落、無効、不形、または期限切れです。Authorizationヘッダーが欠落している可能性があります。

有効なAPIキーまたはベアラートークンを送信しているか確認してください。トークンが期限切れの場合は、新しいアクセストークンを生成してください。

\---

\---

\---

\---

403 禁断

禁止された応答

認証情報は要求されたAPIにアクセスする権限を持っていません。これは、必要なスコープがAPIキーやトークンに割り当てられていない場合に発生することがあります。現在、一部のスコープ関連の問題では403ではなく401の応答が返されます。

APIキーに必要なスコープが含まれているか確認し、必要に応じて新しいアクセストークンを生成してください。

404ドメインが見つかりません

domain\_id\_not\_found

リクエスト内のドメインIDは存在せず、別の環境に属していません。

ターゲット環境に適したドメインIDとエンドポイントを使用していることを確認してください。

429 リクエストが多すぎる

料金制限を超えた

短期間であまりにも多くのリクエストが送られてしまいました。

リクエスト量を減らし、組織の再試行ポリシーに従って再試行しましょう。

5xxサーバーエラー

内部サーバーエラーまたはサービス利用不可

一時的なサービス問題が発生しました。

組織の再試行ポリシーに従って再度リクエストを試みてください。問題が続く場合はSitecoreサポートに連絡してください。