Rapid用 先行入力API
旅行者が検索する際の提案
Typehead (GET /suggestions
) は新しいAPIエンドポイントで、地理的な地域、関連する場所、利用可能な物件に基づいた提案型の検索体験を旅行者に提供することができます。このエンドポイントは部分的な検索文字列と入力されたリクエストパラメータに基づいて提案のリストを返します。アカウントマネージャーに連絡して、#glsr_dcdgbdgzをアカウントに追加してください。
仕組み
先行入力APIは言語予測ツールで、オートコンプリートやオートサジェストと呼ばれることもあります。検索ボックスに入力された部分的な情報に基づいて、地域、場所、またはプロパティのリストを返します。ユーザーが検索ボックスに入力すると、施設APIは都市、地域、施設、または郵便番号の情報を使用して最大10件の結果を返し始めます。お客様は一覧から候補を選択して検索を開始することも、入力を続けて自動提案された結果を絞り込むこともできます。
例えば、「Memp」で始まる検索では、米国テネシー州メンフィスに関連する近隣地域、駅、空港など、いくつかの地理的オプションが表示され、その後に米国ミズーリ州メンフィスが表示されます。
ローンチガイド
APIについては、アカウントマネージャーまたはPartner Connectの担当者にお問い合わせください。アクセス承認が要求され、承認されれば、先行入力を含むように契約内容が修正されます。お客様の組織で先行入力が有効になると、パートナーコネクトの担当者が必要な開発をサポートします。
公開要件 :
- 認証には、opaque access token processを採用し、使用する必要があります。
- アクセストークンは、それを要求したのと同じ回線IDまたはAPIキーによってのみ使用することができます。
- アクセストークンの有効期間は 25 分間です。
- 新しいアクセストークンのリクエストは、そのスケジュールで一貫して更新され、あまり頻繁に更新されないように構築されるべきです。
- リクエストに使う言語とテキストは必須パラメータとなります。Rapidのサポート言語一覧を参照してください。
認証とアクセス
Rapid先行入力APIは、現在Rapidバージョン3をご利用のパートナー様であれば、APIエンドポイントでリクエスト可能です。承認されると、既存のプロフィールはAPIを正常に使用するために必要な権限を持つようになります。
認可の確立
先行入力APIの認証は他のRapid 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
)。Rapidのサポート言語一覧 を参照してください。text
クエリする入力文字列。150文字が上限です (例:text=Springfie
)。
省略可
type
ユーザーが探している場所を表します。このパラメータは、異なる値(例えば、type=AIRPORT&type=CITY
)で複数回指定することができます。指定がない場合、デフォルトではすべてのタイプが含まれます。使用可能なオプションについては、以下の許容値の表を参照してください。line_of_business
:このパラメータは検索ヒューリスティックを提供し、有効な値は、応答がより適切であることを保証します。このパラメータはオプションですが、省略すると検索結果に影響する可能性があるため、デフォルトをproperties
に設定しています。使用可能なオプションについては、以下の許容値の表を参照してください。package_type
: ユーザーが指定したパッケージタイプでフィルタリングします。使用可能なオプションについては、以下の許容値の表を参照してください。feature
提案結果の計算方法を変更します。値にはhierarchy
、nearby_airport
、postal_code
があります。region_id
: 指定された地域を持つプロパティに結果をフィルタリングします。origin
: クエリーテキストが目的地ではなく、オリジンであるかどうかを指定します。デフォルトの検索では、目的地のみが検索されます。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は、他のRapid APIと共通のエラーコードを共有しています。これらのコードはすべて、Common error responses のページで詳しく説明しています。
他のRapid APIとの相互作用
エンドユーザーが検索バーにテキストを入力すると、先行入力APIは、検索で指定されたtype
に応じて、地域(地域ID、名前、座標など)または#glsr_dcdggfgbaz情報を引き出します。APIはその情報をオートコンプリートリストに結果として表示します。
ユーザーがオートコンプリートリストから地域を選択すると、Region APIが呼び出され、その地域を囲む施設リストが取得されます。その検索から返された施設IDを使ってShop APIを呼び出し、空室状況を取得し、物件をリストに表示します。
ユーザーがオートコンプリートリストから施設を選択すると、ショッピングAPIは在庫情報と施設の内容を含む詳細ページを生成します。
API の詳細
このページで関連エンドポイント定義を調べてから、API Explorer または別のテストソフトウェアを使用して、例とスキーマ定義が実際の出力とどのように比較されるかを理解します。
その他のリソース
Rapid APIのすべてのエンドポイントを試してみたい方も、OpenAPI仕様やPostmanコレクションをダウンロードしたい方も、必要なものが揃っています。