介紹連結

什麼是連結?

RapidAPI 包含多個 API 資源,可讓您建立適用於旅客的端對端預訂體驗。 這表示,您將依序使用這些資源來建立完整的交易,例如購物價格檢查預訂管理預訂

RapidAPI 採用名為「 Link」的強大工具,以簡化這些多步驟交易。

Link」會參考相關資源,以做為引導開發人員找出下一個相關必備 API 資源的指南,進而協助他們順暢完成交易。

只要在 Rapid SDK 中運用來自先前作業的連結,開發人員就能順暢建立和執行新的作業、略過一般設定流程,並大幅提高效率。

Information

注意

這項功能適用於 rapid-sdk v4.3.0 和以上版本。

為什麼要使用連結?

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」的更多範例,請參閱使用範例部分。

這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!