介紹連結
什麼是連結?
RapidAPI 包含多個 API 資源,可讓您建立適用於旅客的端對端預訂體驗。 這表示,您將依序使用這些資源來建立完整的交易,例如購物、價格檢查、預訂和管理預訂。
RapidAPI 採用名為「 Link
」的強大工具,以簡化這些多步驟交易。
「Link
」會參考相關資源,以做為引導開發人員找出下一個相關必備 API 資源的指南,進而協助他們順暢完成交易。
只要在 Rapid SDK 中運用來自先前作業的連結,開發人員就能順暢建立和執行新的作業、略過一般設定流程,並大幅提高效率。
為什麼要使用連結?
「Link
」可提供便捷的方式,讓您無需手動建立下一個作業,就能瀏覽 Rapid API 作業。您可以從先前的作業回應擷取「Link
」,並使用其建立下一個作業。
連結可透過下列方式提供優勢:
- **節省時間:**無需設定要求參數和作業,藉此手動建立下一個作業。
- **簡化流程:**您可以使用來自先前作業的「
Link
」來輕鬆瀏覽 Rapid API 作業,無需手動擷取所需資訊。 - **減少錯誤:**只要使用「
Link
」,即可避免手動建立下一個作業時可能發生的錯誤。
如何使用連結?
若要取得「Link
」,您需要從先前的「Operation
」回應中加以擷取。 然後,您可以從「Link
」建立下一個「 Operation
」,並使用「RapidClient
」加以執行。
例如,您可以從「GetAvailabilityOperation
」的回應建立「Link
」,並在建立「PriceCheckOperation
」時加以使用:
// 1. Create and execute the GetAvailabilityOperation (The first operation)
GetAvailabilityOperation getAvailabilityOperation = new GetAvailabilityOperation(getAvailabilityOperationParams);
Response<List<Property>> propertiesResponse = rapidClient.execute(getAvailabilityOperation);
// 2a. Select the needed property from the response (Here, we select the first property)
Property property = propertiesResponse.getData().get(0);
// 2b. Make sure the property is an instance of PropertyAvailability
if (!(property instanceof PropertyAvailability)) {
return;
}
PropertyAvailability propertyAvailability = (PropertyAvailability) property;
// 3a. Extract the priceCheck link from PropertyAvailability operation (Here, we select the first rate for the first room, then get the priceCheck link)
Link priceCheckLink = propertyAvailability.getRooms().get(0).getRates().get(0).getBedGroups().entrySet().stream().findFirst().get().getValue().getLinks().getPriceCheck();
// 3b. Create the needed context for the PriceCheckOperation
PriceCheckOperationContext priceCheckOperationContext = PriceCheckOperationContext.builder().customerIp("1.2.3.4").build(); // fill the context as needed
// 4. Create and execute the PriceCheckOperation using the Link
PriceCheckOperation priceCheckOperation = new PriceCheckOperation(priceCheckLink, priceCheckOperationContext);
Response<RoomPriceCheck> roomPriceCheckResponse = rapidClient.execute(priceCheckOperation);
// ...
另一個範例,則是從「PriceCheckOperation
」的回應建立「Link
」,並在建立預訂時加以使用:
// 1. Get the RoomPriceCheck from the previous step
RoomPriceCheck roomPriceCheck = roomPriceCheckResponse.getData(); // from the previous step
// 2a. Extract the Link from the RoomPriceCheck
Link postItineraryLink = roomPriceCheck.getLinks().getBook();
// 2b. Create the needed context for the PostItineraryOperation
PostItineraryOperationContext postItineraryOperationContext = PostItineraryOperationContext.builder().customerIp("1.2.3.4").build(); // fill the context as needed
// 2c. Create the CreateItineraryRequest
CreateItineraryRequest createItineraryRequest = CreateItineraryRequest.builder().build(); // fill the request as needed
// 3. Create and execute the PostItineraryOperation using the Link
PostItineraryOperation postItineraryOperation = new PostItineraryOperation(postItineraryLink, postItineraryOperationContext, createItineraryRequest);
// 4. Execute the PostItineraryOperation
Response<ItineraryCreation> itineraryCreationResponse = rapidClient.execute(postItineraryOperation);
ItineraryCreation itineraryCreation = itineraryCreationResponse.getData();
如需有關如何使用「Link
」的更多範例,請參閱使用範例部分。