链接介绍
什么是链接?
Rapid API 由多个 API 资源组成,使您能够为旅客创建端到端的预订体验。 这意味着您将依次使用这些资源来建立完整的交易,如选购、价格检查、预订,以及管理预订。
为了简化这些多步骤交易,Rapid API 采用了一个名为 Link
的强大工具。
Link
是对相关资源的引用,可作为向导,引导开发人员访问下一个相关的 API 资源,从而无缝地完成交易。
通过利用 Rapid SDK 之前操作中的链接,开发人员可以快速创建和执行新的操作,无需典型的设置过程,从而显著提高了效率。
为什么要使用链接?
Link
是浏览 Rapid API 操作的便捷方法,无需手动创建下一个操作。您可以从之前操作的响应中提取 Link
,并使用它来创建下一个操作。
借助链接,您可以在以下方面受益:
- **节省时间:**您不必通过设置请求参数和操作来手动创建下一个操作。
- **简化流程:**通过使用之前操作中的
Link
,您可以轻松浏览 Rapid API 操作,无需手动提取所需信息。 - **减少错误:**通过使用
Link
,可以避免手动创建下一个操作时可能出现的错误。
如何使用链接?
要获取 Link
,需要从之前的 Operation
响应中将其提取出来。 然后,可以通过 Operation
创建下一个 Link
,并通过 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
的更多示例,请参阅使用示例部分。