链接介绍

什么是链接?

Rapid API 由多个 API 资源组成,使您能够为旅客创建端到端的预订体验。 这意味着您将依次使用这些资源来建立完整的交易,如选购价格检查预订,以及管理预订

为了简化这些多步骤交易,Rapid API 采用了一个名为 Link 的强大工具。

Link 是对相关资源的引用,可作为向导,引导开发人员访问下一个相关的 API 资源,从而无缝地完成交易。

通过利用 Rapid SDK 之前操作中的链接,开发人员可以快速创建和执行新的操作,无需典型的设置过程,从而显著提高了效率。

Information

注意

该功能可以在 rapid-sdk v4.3.0 及更高版本中使用。

为什么要使用链接?

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 的更多示例,请参阅使用示例部分。

您觉得这个页面有用吗?
我们该如何改进这些内容?
感谢您帮助我们改进!