Developer Hub
これは自動生成された翻訳です。

先行入力 ホワイトラベル旅行プラットフォーム向けAPI

旅行者が検索している際に、提案を表示する

Typehead(GET /suggestions)は、地域、関連する場所、利用可能な宿泊施設に基づいて、旅行者に提案型の検索体験を提供できる新しいAPIエンドポイントです。このエンドポイントは、部分検索文字列およびユーザーが入力したリクエストパラメータに基づいて、候補の一覧を返します。アカウントに 先行入力 を追加するには、アカウントマネージャー までご連絡ください。

仕組み

先行入力APIは、言語予測ツールです。オートコンプリートやオートサジェストと呼ばれることもあります。検索ボックスに入力された一部の情報に基づいて、地域、場所、または物件のリストを返します。ユーザーが検索ボックスに入力すると、先行入力APIは、都市、地域、施設、または郵便番号の情報に基づいて、最大10件の結果を返し始めます。お客様は一覧から候補を選択して検索を開始することも、入力を続けて自動提案された結果を絞り込むこともできます。

たとえば、「Memp」で始まる検索を行うと、米国テネシー州メンフィスに関連する地区、駅、空港などがいくつか候補として表示され、その後に米国ミズーリ州メンフィスが表示されます。

開始ガイド

APIについて詳しく知りたい場合は、アカウントマネージャー、テクニカル アカウントマネージャー(TAM)、またはパートナー・ソリューション・マネージャー(PSM)にご連絡ください。彼らはアクセス承認を申請し、承認されれば、契約内容を修正して 先行入力 を追加することになります。お客様の組織で 先行入力 が有効化されると、TAMまたはPSMが必要な開発作業についてサポートいたします。

公開要件 :

認証とアクセス

バージョン3に登録済みのパートナー様は、APIエンドポイントを通じて 先行入力APIをリクエストすることができます。承認され次第、APIを正常にご利用いただくために必要な権限を持つ新しいプロフィールを作成いたします。

承認を設定する

先行入力APIの認証には、アクセスキーが必要です。認証ヘッダーを使用して、APIキーを指定し、EPSゲートウェイを呼び出してアクセスキーを取得します。次に、アクセスキーを認証ヘッダーとして渡し、Typeahead API エンドポイントを呼び出します。

例:APIキーをbase64形式でエンコードする

var api_key = postman.getEnvironmentVariable("api_key");
var shared_secret= postman.getEnvironmentVariable("shared_secret");
var base64Hash = CryptoJS.enc.Utf8.parse(api_key + ":" + shared_secret);
var base64 = CryptoJS.enc.Base64.stringify(base64Hash);
postman.setEnvironmentVariable("base64",base64);

不透明なアクセストークンを取得する

先行入力APIを使用するには、不透明なアクセストークン(ユーザーやリソースに関する情報が一切含まれていないもの)が必要です。

サンプルリクエスト

POST – https://api.ean.com/identity/oauth2/v3/token 

Header: 
Key: ‘Authorization’ 
Value: ‘Basic {base64}’

回答例

{ 

    "access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU", 
    "token_type": "bearer", 
    "expires_in": 1800, 
    "scope": "demand-solutions.demand-api-wrappers-playground.all" 

}

オートコンプリートのリクエストを行う

リクエストヘッダーとクエリパラメータに、いくつかの必須情報を含める必要があります。レスポンスの堅牢性を高めるために、オプションのクエリパラメータを含めることもできます。

リクエストヘッダー

必須

  • Accept: クライアントが受け取りたい応答形式を指定します。この値は である必要がありますapplication/json
  • Accept-Encoding: クライアントが返信として受け取りたいレスポンスのエンコーディングを指定します。この値は である必要がありますgzip
  • User-Agent: お客様のリクエストに含まれるヘッダー文字列で、貴社の統合システムによって取得されたものです。アプリケーションを構築する場合は、User-Agent の値を.に設定する必要があります{app name}/{app version}。例えば、TravelNow/3.30.112 などです。

クエリパラメータ

必須

  • language: レスポンスで使用する言語を、two-digitの言語コードと国コードをハイフンで区切ったペアのみを使用するBCP47形式のサブセットとして指定します。以下の説明に従い、ISO 639-1 alpha-2言語コードおよびISO 3166-1 alpha-2国コードのみを使用してください。 w3.org (例:language=en-US)。
    >> 対応言語の一覧を表示する
  • text: 検索対象の入力文字列で、文字数は150文字までです(例:text=Springfie)。
  • feature: 提案結果の算出方法を変更します。値には、hierarchynearby_airport、およびpostal_code が含まれます。
  • line_of_business: このパラメータは検索のヒューリスティックを提供するものであり、有効な値を指定することで、より関連性の高い検索結果が得られます。利用可能なオプションについては、以下の「許可される値」の表をご参照ください。

省略可

  • type: ユーザーが探している場所について説明しています。このパラメータは、異なる値を指定して複数回指定することができます(例:type=AIRPORT&type=CITY)。指定がない場合、デフォルト値はairportcitymulti_city_vicinityneighborhoodpoint_of_interest、およびairport_metro_code となります。詳細については、以下の「許可される値」の表をご覧ください。
  • region_id: 指定された地域を持つ物件に結果を絞り込みます。
  • origin: クエリテキストが宛先ではなく発信元であるかどうかを指定します。デフォルトの検索では、目的地のみが検索結果に表示されます。
  • package_type: ユーザーが指定したパッケージの種類で絞り込みを行います。利用可能なオプションについては、以下の「許可される値」の表をご参照ください。
  • limit: レスポンスで返される候補の最大数を指定します。この値は1から10の間でなければなりません(例:limit=5)。このパラメータが指定されていない場合、デフォルト値は10となります。

許容値

typeline_of_businesspackage_type
airportproperties (デフォルト)flight_property
cityflightsflight_property_car
multi_city_vicinitypackagesflight_car
neighborhoodcarsproperty_car
point_of_interestactivities 
airport_metro_code  
multi_region  
train_station  
metro_station  
address  
property  
bus_station  

上記の表に記載されていない値を入力すると、エラーが発生します。

データのご請求

access_tokenを入手したら、GET のリクエストを設定します。

サンプルリクエスト

GET - https://api.ean.com/v3/suggestions?language=en-US&line_of_business=properties&limit=3&text=chicago&type=city&type=neighborhood 

Header : 
Authorization: Bearer {{access_token}}

回答例

[
  {
    "related_id": "4477519",
    "type": "airport",
    "name": "Chicago, IL (ORD-O'Hare Intl.)",
    "name_full": "Chicago, IL, United States of America (ORD-O'Hare Intl.)",
    "name_display": "<B>Chicago</B>, IL, United States of America (ORD-O'Hare Intl.)",
    "country_code": "US",
    "country_code_3": "USA",
    "iata_airport_code": "ORD",
    "iata_airport_metro_code": "CHI",
    "coordinates": {
      "latitude": 41.976977,
      "longitude": -87.90481
    }
  },
  {
    "related_id": "829",
    "type": "city",
    "name": "Chicago",
    "name_full": "Chicago, Illinois, United States of America",
    "name_display": "<B>Chicago</B>, Illinois, United States of America",
    "country_code": "US",
    "country_code_3": "USA",
    "iata_airport_code": "CHI",
    "iata_airport_metro_code": "CHI",
    "coordinates": {
      "latitude": 41.878113,
      "longitude": -87.629799
    }
  },
  {
    "related_id": "6350699",
    "type": "neighborhood",
    "name": "Downtown Chicago",
    "name_full": "Downtown Chicago, Chicago, Illinois, United States of America",
    "name_display": "Downtown <B>Chicago</B>, <B>Chicago</B>, Illinois, United States of America",
    "country_code": "US",
    "country_code_3": "USA",
    "iata_airport_code": "CHI",
    "iata_airport_metro_code": "CHI",
    "coordinates": {
      "latitude": 41.885969845574834,
      "longitude": -87.62933540465228
    }
  }
]

API の詳細

このページで関連エンドポイント定義を調べてから、API Explorer または別のテストソフトウェアを使用して、例とスキーマ定義が実際の出力とどのように比較されるかを理解します。


このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。