This is an auto-generated translation

Construindo a URL da solicitação

A URL de solicitação — a URL que retornará os resultados de um módulo de anexação — consiste em um domínio, um endpoint, parâmetros de solicitação e um parâmetro de assinatura. Este exemplo mostra um voo confirmado para LAX para 2 adultos, com partida em 2 de janeiro de 2023 e retorno 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 anexação. Alguns parâmetros são opcionais em uma solicitação, mas outros 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 string fornecido pela Expedia que é usado para identificar sua organização nos parâmetros da solicitação.partnername_hotel_conf_overlaySim
bookingStatusValor de texto que especifica o status da reserva, o qual determina se as tarifas adicionais podem ser aplicadas; se o status da reserva for pendente ou falhou, nenhuma tarifa adicional será aplicada.confirmadoSim
bookingDateTimeValor de texto que especifica a data da reserva; inclui data, hora e fuso horário no formato ISO 8601</a>2024-08-29T05:54:02

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

Valor codificado: 2024-08-29T05%3A54%3A02
Sim
returnStartDateTimeValor de texto que especifica a partida do destino; inclui data, hora e fuso horário no formato ISO 8601 Nota: Se não for especificado, a duração padrão da viagem é de 7 dias.2024-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 os detalhes completos da localização aqui.en_USSim
currencyCodeSequência fornecida pela Expedia que indica a moeda em que a reserva foi feita.US$Sim
destinationTLASequência de 3 caracteres que indica o código do aeroporto da Associação Internacional de Transporte Aéreo (IATA) (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 exigido
latitude e longitudeValor decimal com até 12 casas decimais que especifica as coordenadas do destino da viagem Observação: o 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 exigido
signatureValor de string alfanumérico de 27 caracteres que você irá 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 a quantidade de adultos na reserva; mínimo 1.2
numOfChildrenNúmero inteiro que especifica a quantidade de crianças na reserva.3
childAgesComma-delimited Matriz de inteiros que especifica as idades de quaisquer crianças na reserva; necessária apenas se numOfChildrenfor passado5,4,2Sim, se numOfChildrenfor passado

Incluímos alguns cenários para ajudar você a entender os valores tanto para viagens simples quanto para viagens mais complexas.

|

One-way exemplo de viagem

Para uma viagem one-way, você não inclui o returnStartDateTimecomo parte do parâmetro de resultado. O prazo 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 os seguintes:

  • 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 Round-trip

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

  • 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

Multi-destination exemplo de viagem

Para viagens com múltiplos destinos, recomendamos o envio dos dados da viagem apenas para o primeiro trecho.

Etapa 1: Chicago a 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 (Opcional)

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

Etapa 3: São Francisco a Chicago (Opcional)
  • 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

Todas as URLs de requisição incluirão o domínio e o endpoint, seguidos pelos parâmetros da requisição, e terminarão com a assinatura gerada com a chave secreta.

Chave secreta

Uma chave secreta é uma sequência alfanumérica compartilhada de forma segura pela Expedia e usada para gerar uma assinatura que verifica a transação. Terá 36 caracteres e está associado a partnerId.

Warning

Observação

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

Domínio, ponto de extremidade e parâmetros de 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.

Passo 1: Construir a string de solicitação

A string de solicitação inclui o endpoint e os parâmetros da solicitação (mas não o domínio). Deverá ficar mais ou menos assim.

/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 o caractere inicial)/) deve ser assinado com um hash-based algoritmo de autenticação de mensagens (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 dessa função hash criptográfica definidas em 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 a versão modificada. Base64 para URLs, que substitui o+ e/ caracteres da saída Base64 com- (hífen) e_ (sublinhado), respectivamente, para torná-lo seguro para URLs (veja RFC 4648 (para informações adicionais). Deverá ficar semelhante a isto:

bj01fgT85mUiRmzxxSufSmlGpiI

É importante notar também que o acolchoamento= (se houver) deve ser removido da string codificada em Base64.

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

Anexe a assinatura da etapa 3 à string na etapa 1 como um parâmetro signature. A assinatura deve sempre ser o último parâmetro da URL da requisiçã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

Passo 5: Adicione o código JavaScript

Você usará o 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 a URL de solicitação, você estará pronto para integrá-la ao código da sua página.

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