輸入提示 API 快速應用程式介面
在旅客搜尋時提供建議
Typehead (GET /suggestions) 是全新推出的 API 端點,讓您能根據地理區域、相關地點及可用房源,為旅客提供具啟發性的搜尋體驗。此端點會根據使用者輸入的局部搜尋字串及任何請求參數,返回建議清單。請聯絡您的帳戶經理,將輸入提示添加至您的帳戶。
運作方式
輸入提示 API 是一款語言預測工具——有時也被稱為自動完成或自動建議功能。根據使用者在搜尋框中輸入的部分資訊,此功能會返回區域、地點或屬性的清單。當使用者在搜尋框中輸入文字時,輸入提示 API 將開始根據城市、地區、旅宿或郵遞區號資訊,最多返回 10 項結果。旅客可從此清單中選擇項目以啟動搜尋,或繼續輸入文字以進一步精煉自動建議的結果。
例如,以「Memp」開頭的搜尋將顯示多個地理選項,包括與美國田納西州曼菲斯市相關的社區、火車站、機場等,緊接著是美國密蘇里州曼菲斯市。
啟動指南
您需要聯絡您的帳戶經理或 Partner Connect 代表,以瞭解 API 相關資訊。他們將申請存取權限核准,若您獲得批准,將修改您的協議以納入輸入提示。一旦為貴組織啟用輸入提示,Partner Connect 代表將協助您完成任何必要的開發工作。
啟動需求:
- 您必須採用並使用中的不透明存取憑證驗證流程:
- 存取憑證僅能由請求該憑證的相同電路 ID 或 API 金鑰使用。
- 存取權杖僅能存在 25 分鐘。
- 新存取憑證的請求應設計為按該時程表進行一致性更新,且更新頻率不宜過高。
- 語言與請求的文本為必填參數。請參閱列出的 Rapid 支援語言清單。
授權與存取
Rapid 輸入提示 API 現已開放給使用 Rapid 版本 3 的合作夥伴,可透過 API 端點進行請求。一旦核准,您現有的個人資料將具備成功使用 API 所必需的權限。有關如何授權您的輸入提示 API 的詳細資訊,請參閱OAuth 2.0 授權 頁面。
自動完成請求
您需要在請求標頭和查詢參數中包含一些必要資訊。為使回應更為穩健,您亦可加入可選查詢參數。
要求標頭
必填
Accept指定客戶端希望接收的回應格式。此值必須為application/json.Accept-Encoding指定客戶端希望接收的回應編碼。此值必須為gzip.User-Agent:由您的整合系統擷取自客戶請求的標頭字串。若您正在建置應用程式,則User-Agent的值應設定為{app name}/{app version}。例如,TravelNow/3.30.112。
查詢參數
必填
language指定回應所需語言,採用 BCP47 格式的子集,僅使用以連字號連接的雙碼組合,包含 two-digit 語言代碼與國家代碼。僅使用 ISO639-1 兩位字母語言代碼及 ISO3166-1 兩位字母國家代碼,詳見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 共享相同的錯誤代碼。所有這些代碼的詳細說明,請參閱我們的常見錯誤回應 頁面。
與其他 Rapid API 進行互動
當終端使用者在搜尋欄輸入文字時,輸入提示 API 會根據搜尋指定的type 參數,擷取區域資訊 (區域 ID、名稱、座標等) 或旅宿相關資料。API 隨後將該資訊顯示為自動完成清單中的結果。
當使用者從自動完成清單中選取區域時,系統會呼叫區域 API 以取得該區域周邊的旅宿清單。使用該搜尋結果返回的旅宿識別碼呼叫商店 API,取得庫存狀態,並將房源顯示於清單中。
若使用者從自動完成清單中選取旅宿,購物 API 將產生詳細頁面,顯示庫存狀態及旅宿的內容資訊。
API 詳細資料
在這個頁面上探索相關端點的定義,然後使用 API Explorer 或其他測試軟體,了解範例和結構描述定義與實際輸出的比較。
其他資源
無論您想測試所有 Rapid API 終端點,還是下載其 OpenAPI 規格或我們的 Postman 集合,我們都能滿足您的需求。