ホワイトレーベルテンプレート用 先行入力API
旅行者が検索する際の提案
Typehead (GET /suggestions
) は新しいAPIエンドポイントで、地理的な地域、関連する場所、利用可能な物件に基づいた提案型の検索体験を旅行者に提供することができます。このエンドポイントは部分的な検索文字列と入力されたリクエストパラメータに基づいて提案のリストを返します。アカウントマネージャーに連絡して、#glsr_dcdgbdgzをアカウントに追加してください。
仕組み
先行入力APIは言語予測ツールで、オートコンプリートやオートサジェストと呼ばれることもあります。検索ボックスに入力された部分的な情報に基づいて、地域、場所、またはプロパティのリストを返します。ユーザーが検索ボックスに入力すると、先行入力APIは都市、地域、施設、または郵便番号の情報を使用して最大10件の結果を返し始めます。お客様は一覧から候補を選択して検索を開始することも、入力を続けて自動提案された結果を絞り込むこともできます。
例えば、「Memp」で始まる検索では、米国テネシー州メンフィスに関連する近隣地域、駅、空港など、いくつかの地理的オプションが表示され、その後に米国ミズーリ州メンフィスが表示されます。
ローンチガイド
APIについては、アカウントマネージャー、テクニカルアカウントマネージャー(TAM)、またはパートナーソリューションマネージャー(PSM)にお問い合わせください。アクセス承認が要求され、承認されれば、先行入力を含むように契約内容が修正されます。あなたの組織で先行入力が有効になると、TAMまたはPSMが必要な開発をサポートします。
公開要件 :
- 認証には、opaque access token processを採用し、使用する必要があります。
- アクセストークンは、それを要求したのと同じ回線IDまたはAPIキーによってのみ使用することができます。
- アクセストークンの有効期間は 25 分間です。
- 新しいアクセストークンのリクエストは、そのスケジュールで一貫して更新され、あまり頻繁に更新されないように構築されるべきです。
- リクエストに使う言語とテキストは必須パラメータとなります。ホワイトレーベルテンプレートの対応言語はをご覧ください。
認証とアクセス
先行入力APIは、バージョン3にオンボードされたパートナーがAPIエンドポイントでリクエストできます。承認されると、APIを正常に使用するために必要な権限を持つ新しいプロファイルが作成されます。
認可の確立
先行入力APIの認証にはアクセスキーが必要です。認可ヘッダーを使用して、アクセスキーを取得するためにEPSゲートウェイを呼び出すためのapikeyを提供します。次に、アクセスキーを認証ヘッダーとして渡し、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フォーマットのサブセットとして、レスポンスに必要な言語を指定します。ISO639-1 alpha 2言語コードとISO3166-1 alpha 2国コードのみを使用してください。w3.org (例えば、language=en-US
)。サポート言語一覧 をご覧ください。text
クエリする入力文字列。150文字が上限です (例:text=Springfie
)。feature
提案結果の計算方法を変更します。値にはhierarchy
、nearby_airport
、postal_code
があります。line_of_business
:このパラメータは検索ヒューリスティックを提供し、有効な値は、応答がより適切であることを保証します。使用可能なオプションについては、以下の許容値の表を参照してください。
省略可
type
ユーザーが探している場所を表します。このパラメータは、異なる値(例えば、type=AIRPORT&type=CITY
)で複数回指定することができます。指定がない場合、デフォルトではすべてのタイプが含まれます。使用可能なオプションについては、以下の許容値の表を参照してください。region_id
: 指定された地域を持つプロパティに結果をフィルタリングします。origin
: クエリーテキストが目的地ではなく、オリジンであるかどうかを指定します。デフォルトの検索では、目的地のみが検索されます。package_type
: ユーザーが指定したパッケージタイプでフィルタリングします。使用可能なオプションについては、以下の許容値の表を参照してください。limit
: レスポンスによって返される提案の最大数を指定します。この値は1から10の間でなければなりません(例えば、limit=5
)。このパラメータが指定されない場合、デフォルト値は10です。
許容値
type | line_of_business | package_type |
---|---|---|
airport | properties (デフォルト) | flight_property |
city | flights | flight_property_car |
multi_city_vicinity | packages | flight_car |
neighborhood | cars | property_car |
point_of_interest | activities | |
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 または別のテストソフトウェアを使用して、例とスキーマ定義が実際の出力とどのように比較されるかを理解します。