This is an auto-generated translation

Construindo a URL de solicitação

A URL de solicitação — a URL que retornará resultados de um módulo de anexo — consiste em um domínio, um ponto de extremidade, parâmetros de solicitação e um parâmetro de assinatura. Este exemplo mostra um voo confirmado para LAX para 2 adultos, saindo em 2 de janeiro de 2023 e retornando em 12 de janeiro de 2023, reservado em 12 de novembro de 2022.

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTla=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Construindo parâmetros de solicitação

Em geral, os parâmetros da solicitação incluem detalhes sobre a reserva efetuada, como o destino e as datas de início e término da viagem. Essas informações são usadas para gerar recomendações para o módulo de anexo. Alguns parâmetros são opcionais em uma solicitação, mas alguns são necessários para retornar resultados.

Information

Importante

Por segurança, certifique-se de que todos os valores dos parâmetros sejam percent-encoded UTF-8.

Parâmetros de solicitação disponíveis

ParâmetroDescriçãoExemplo do valorObrigatório
partnerIdValor de sequência fornecido pela Expedia que é usado para identificar sua organização nos parâmetros de solicitaçãopartnername_hotel_conf_overlaySim
bookingStatusValor de sequência de caracteres que especifica o status da reserva, que determina se as taxas de anexação podem ser aplicadas; se o status da reserva for pendente ou falhou, nenhuma taxa de anexação será aplicadaconfirmadoSim
bookingDateTimeValor de sequência de caracteres que especifica a data da reserva; inclui data, hora e fuso horário no formato ISO 86012024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
Sim
outboundEndDateTimeValor de sequência de caracteres que especifica a chegada ao destino; inclui data, hora e fuso horário no formato ISO 86012024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
Sim
returnStartDateTimeValor de sequência de caracteres que especifica a partida do destino; inclui data, hora e fuso horário no formato ISO 8601 Observação: se não for especificado, a duração padrão da viagem é de 7 dias2024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
localeSequência de 5 caracteres fornecida pela Expedia que indica o idioma em que a reserva foi feita. Veja todos os detalhes do local aqui.en_USSim
currencyCodeString fornecida pela Expedia que indica a moeda em que a reserva foi feitaUS$Sim
destinationTlaSequência de 3 caracteres que indica o código do aeroporto da Associação Internacional de Transporte Aéreo (IATA) para o destino

Observação: o URL da solicitação deve incluir este parâmetro (para reservas que incluem um voo) OU latitudee longitude (se nenhum voo estiver incluído)
LAXCondicionalmente necessário
latitude e longitudeValor flutuante de até 12 casas decimais que especifica as coordenadas do destino da viagem Observação: a URL da solicitação deve incluir este parâmetro (se nenhum voo estiver incluído) OU destinationTla (para reservas que incluem um voo)latitude=40.7141667
&longitude=-74.0063889
Condicionalmente necessário
signatureValor de string alfanumérica de 27 caracteres que você gerará com base em uma chave secreta que fornecemos Consulte Construindo a URL da solicitação para obter mais informaçõesBcND1F7KElTyGtyUHeXHd2JJLFsSim
numOfAdultsNúmero inteiro que especifica o número de adultos na reserva; mínimo 12
numOfChildrenInteiro especificando o número de crianças na reserva3
childAgesComma-delimited matriz de inteiros especificando as idades de quaisquer crianças na reserva; necessário somente se numOfChildrenfor passado5,4,2Sim, se numOfChildrenfor passado

Incluímos alguns cenários para ajudar você a entender os valores de viagens simples e complicadas.

|

Exemplo de viagem One-way

Para uma viagem one-way, você não inclui returnStartDateTimecomo parte do parâmetro de resultado. O padrão de 7 dias será aplicado. Para uma viagem direta, one-way, saindo de Chicago em 10 de setembro de 2024 às 13h e chegando em Las Vegas no mesmo dia às 16h, os parâmetros seriam assim:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTla: LAS
  • outboundEndDateTime: 2024-09-10T16:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-10T12%3A55%3A00%2B08%3A00&destinationTla=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Exemplo de Round-trip

Uma solicitação de reserva direta round-trip entre os mesmos destinos, retornando em 14 de setembro de 2024, incluiria os parâmetros abaixo:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTla: LAS
  • outboundEndDateTime: 2024-09-10T16:00:00
  • returnStartDateTime: 2024-09-14T18:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-102T12%3A55%3A00%2B08%3A00&returnStartDateTime=2024-09-14T22%3A30%3A00%2B08%3A00&destinationTla=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Exemplo de viagem Multi-destination

Para uma viagem com vários destinos, recomendamos enviar os dados da viagem apenas para o Trecho 1.

Etapa 1: Chicago para Las Vegas

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTla: LAS
  • outboundEndDateTime: 2024-09-10T16:17:00
  • returnStartDateTime: 2024-09-12T13:27:00 (Data e hora de início da etapa 2)

Etapa 2: Las Vegas a São Francisco (não obrigatório)

  • origin: LAS
  • destinationTla: SFO
  • StartDateTime: 2024-09-12T13:27:00
  • outboundEndDateTime: 2024-09-15T16:10:00

Etapa 3: São Francisco para Chicago (não obrigatório)
  • origin: SFO
  • destinationTla: ORD
  • StartDateTime: 2024-09-15T16:15:00
  • outboundEndDateTime: 2024-09-19T20:22:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-09-10T11%3A05%3A00&outboundEndDateTime=2024-09-10T16%3A17%3A00&origin=ORD&destinationTla=LAS&outboundStartDateTime=2024-09-12T13%3A27%3A00&outboundEndDateTime=2024-09-12T16%3A10%3A00&origin=LAS&destinationTla=SFO&outboundStartDateTime=2024-09-14T16%3A15%3A00&outboundEndDateTime=2024-09-14T20%3A22%3A00&origin=SFO&destinationTla=ORD&bookingDateTime=2024-09-01T05:54:02

Construindo a URL da solicitação

Todos os URLs de solicitação incluirão o domínio e o ponto de extremidade seguidos pelos parâmetros de solicitação e terminarão com a assinatura gerada com a chave secreta.

Chave secreta

Uma chave secreta é uma sequência alfanumérica compartilhada com segurança pela Expedia e usada para gerar uma assinatura que verifica a transação. Ele terá 36 caracteres e está associado ao partnerId.

Warning

Observação

Mantenha sua chave secreta em um local seguro e use-a apenas para gerar a assinatura. Não passe o segredo como parâmetro durante a construção da URL.

Parâmetros de domínio, ponto de extremidade e solicitação

O URL da sua solicitação começa com o domínio. Recomendamos que você mantenha o domínio Expedia para URLs de solicitação protocol-agnostic://xsell.expedia.com/. A próxima seção da URL é a string de solicitação, que consiste no endpoint case-sensitive/xsell-pwa.js? e os parâmetros da solicitação. Lembre-se de que os parâmetros da solicitação devem ser UTF-8 percent-encoded.

Etapa 1: construir a sequência de solicitação

A sequência de solicitação inclui o ponto de extremidade e os parâmetros da solicitação (mas não o domínio). Deveria ficar algo parecido com isto.

/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTla=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed

Etapa 2: Assine a solicitação

A sequência obtida na Etapa 1 (incluindo a sequência principal/) deve ser assinado com um Algoritmo de autenticação de mensagem hash-based (HMAC-SHA1) usando a chave secreta compartilhada pela Expedia. Na maioria das bibliotecas criptográficas, a assinatura resultante estará em formato binário.

Existem muitas implementações desta função hash criptográfica definidas no RFC 2104 para linguagens e estruturas de computador. As implementações disponíveis incluem:

Etapa 3: Codifique a assinatura resultante

Codifique a assinatura binária usando o modificado Base64 para URLs, que substitui o+ e/ caracteres da saída Base64 com- (hífen) e_ (sublinhado), respectivamente, para torná-lo seguro para URL (consulte RFC 4648 para obter informações adicionais). Deve ficar parecido com isso:

bj01fgT85mUiRmzxxSufSmlGpiI

Também é importante observar que o preenchimento= (se houver) deve ser removido da string codificada em Base64.

Etapa 4: Crie a URL de solicitação final

Anexe a assinatura da etapa 3 à sequência da etapa 1 como um parâmetro signature. A assinatura deve ser sempre o último parâmetro da URL de solicitação final.

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTla=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Adicione o protocolo (// OU http:// OU https://) e o domínio (recomendamos //xsell.expedia.com para URLs protocol-agnostic) à string resultante.

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-10-22T11%3A55%3A00%2B08%3A00&outboundEndDateTime=2024-10-22T13%3A55%3A00%2B08%3A00&returnStartDateTime=2024-10-30T20%3A30%3A00%2B08%3A00&returnEndDateTime=2024-10-30T22%3A30%3A00%2B08%3A00&destinationTla=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Etapa 5: adicione o código JavaScript

Você usará a URL da solicitação final como o atributo JavaScript src na página onde o módulo deve aparecer. Por exemplo:

<<script src="//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTla=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI"></script>>

Depois de criar o URL de solicitação, você estará pronto para integrá-lo ao código da sua página.

Esta página foi útil?
Como podemos melhorar esse conteúdo?
Agradecemos por nos ajudar a melhorar.