Usando links
Visão geral
O Rapid consiste em vários recursos de API usados juntos para criar uma experiência de reserva end-to-end para viajantes . Você usa esses recursos em sequência para criar transações completas, como compras, verificação de preços, reservas e, finalmente, **geranciamento de reservas **.
Para agilizar essas transações de várias etapas, o Rapid usa uma ferramenta poderosa chamada links.
Um link é uma referência a um recurso relacionado, atuando como um guia que direciona os desenvolvedores para o próximo recurso de API Relevante necessário para progredir perfeitamente na transação.
Ao aproveitar os links, os desenvolvedores podem criar e executar novas operações rapidamente, ignorando o processo de configuração típico e melhorando significativamente a eficiência.
Benefícios do uso de links
Um link é uma maneira conveniente de navegar pelas operações Rapid API sem precisar criar manualmente a próxima operação . Os links são definidos na seção links
de cada resposta. Você pode extrair um link da resposta da operação anterior e usá-lo para criar a próxima operação.
Usar um link oferece os seguintes benefícios:
Economia de tempo: você não precisa configurar os parâmetros de solicitação e a operação para criar a próxima operação de maneira manual.
Simplifica o processo: Navegue facilmente pelas operações Rapid API usando o link da operação anterior , sem precisar extrair manualmente as informações necessárias.
Reduz erros: Ao usar um link, você pode evitar erros que podem ocorrer ao criar manualmente a próxima operação .
Como usar um link?
Em uma resposta de operação, procure a seção links
retornada e use o link para construir a próxima operação adequada. Você pode então criar o próximo operation
a partir do link
e executá-lo com o RapidClient
.
Por exemplo, você pode criar um PriceCheckOperationLink
a partir da resposta de uma GetAvailabilityOperation
e usar esse link na criação de uma 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 PriceCheckOperationLink from PropertyAvailability operation (Here, we select the first rate for the first room, then get the PriceCheckOperationLink)
PriceCheckOperationLink 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);
// ...
Outro exemplo seria criar um PostItineraryOperationLink
a partir da resposta de uma PriceCheckOperation
e usar na criação de uma reserva.
// 1. Get the RoomPriceCheck from the previous step
RoomPriceCheck roomPriceCheck = roomPriceCheckResponse.getData(); // from the previous step
// 2a. Extract the Link from the RoomPriceCheck
PostItineraryOperationLink 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();
Para mais exemplos de como usar links, consulte a seção Exemplos de uso .