Developer Hub
This is an auto-generated translation

Gere a assinatura e construa a URL da solicitação.

Lista de verificação para gerar a assinatura e construir a URL da solicitação:

ItemValorObservações
Chave secreta/privadaPara ser compartilhado por Expedia Group.Uma chave secreta é uma sequência alfanumérica compartilhada de forma segura por Expedia Group e usada para gerar uma assinatura. Será uma sequência de 36 caracteres e estará associada ao PartnerId.

Por exemplo 6f437404-261d-4beb-a7fc-43b92f694831

Nota: Deve ser mantido em local seguro e usado apenas no server-side para gerar a assinatura. A chave secreta não deve ser passada como parâmetro durante a construção da URL.
DomínioDomínio do parceiro
Ponto de extremidade/xsell-redirect-pwa?Observe também que nosso endpoint é case-sensitive, portanto, todos os nomes de parâmetros devem ser escritos exatamente como mostrado neste documento.

Guia Step-by-step

Passo 1: Construa a URL de solicitação de link direto para a página de resultados propriedade

Construa a URL de solicitação de link direto para a página de resultados propriedade usando o domínio do parceiro em vez do domínio da Expedia no exemplo. Formate os parâmetros de pesquisa e o código de rastreamento conforme o guia de deeplink aqui .

URL de solicitação de deeplink:

https://expedia.com/go/hotel/search/Destination/2025-12-22/2025-12-25?mdpcid=Expedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel&CityName=ORD&SortBy=distance&NumRoom=1&NumAdult1=3&NumChild1=2&Rm1child1age=9&Rm1child2age=6

Etapa 2: Codifique o URL do deeplink usando UTF-8

URL de deeplink codificada:

https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3Fmdpcid%3DExpedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult1%3D3%26NumChild1%3D2%26Rm1child1age%3D9%26Rm1child2age%3D6

Etapa 3: Adicione todos os parâmetros necessários para habilitar as taxas de conexão.

outboundEndDateTime(codificado) + originTLA + returnStartDateTime (codificado) + destinationTLA + bookingDateTime (codificado) + PartnerId +attachDL

Etapa 4: Construir URL para geração de assinatura (não incluir domínio)

Endpoint + URL de Deeplink codificada + outboundEndDateTime (codificada) + originTLA + returnStartDateTime (codificada) + destinationTLA + bookingDateTime (codificada) + PartnerId +attachDL

Exemplo

/xsell-redirect-pwa?url=https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3Fmdpcid%3DExpedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult1%3D3%26NumChild1%3D2%26Rm1child1age%3D9%26Rm1child2age%3D6&outboundEndDateTime=2025-10-30T20%3A12%3A17.928020Z&destinationTLA=LAS&returnStartDateTime=2025-11-10T20%3A12%3A17.928020Z&originTLA=JFK&bookingDateTime=2025-07-25T20%3A12%3A17.928020Z&attachDL=true&PartnerId=new-pwa-xsell-testing-airnz

Etapa 5: Assinar a solicitação/gerar a assinatura

A string (URL) obtida na Etapa 4 deve ser assinada usando o algoritmo HMAC-SHA1 com a chave secreta/privada compartilhada por Expedia Group. Na maioria das bibliotecas criptográficas, a assinatura resultante estará em formato binário, podendo ser necessário decodificar a chave para seu formato binário original.

Existem diversas implementações dessa função hash criptográfica definidas na RFC 2104 para várias linguagens e frameworks de computador. A lista a seguir é um subconjunto das implementações disponíveis:

  • Java
  • JavaScript
  • C#
  • Python
  • Ruby

Etapa 6: Codifique a assinatura binária resultante

Codifique a assinatura binária usando Base64 modificado para URLs, que substitui os caracteres +e /da saída Base64 por - (hífen) e _ (sublinhado), respectivamente, para tornar a URL segura (consulte RFC 4648 para obter informações adicionais). Deverá ficar semelhante a isto:

bj01fgT85mUiRmzxxSufSmlGpiI

Além disso, é importante observar que o preenchimento = (se houver) deve ser removido da string codificada em base64.

Etapa 7: Construindo a URL de solicitação final

Construa a URL final do deeplink conforme mostrado abaixo:

Domínio + Endpoint + URL de Deeplink Codificado + outboundEndDateTime (codificado) + originTLA + returnStartDateTime (codificado) + destinationTLA + bookingDateTime (codificado) + PartnerId + attachDL +signature

Exemplo:

https://www.expedia.com/xsell-redirect-pwa?url=https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3Fmdpcid%3DExpedia-IE.DPS.Expedia.ExtFlightEmail-Xsell_CTA.Hotel%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult1%3D3%26NumChild1%3D2%26Rm1child1age%3D9%26Rm1child2age%3D6&outboundEndDateTime=2025-10-30T20%3A12%3A17.928020Z&destinationTLA=LAS&returnStartDateTime=2025-11-10T20%3A12%3A17.928020Z&originTLA=JFK&bookingDateTime=2025-07-25T20%3A12%3A17.928020Z&attachDL=true&PartnerId=new-pwa-xsell-testing-airnz&signature=3WQjtTHsSCRxrogs3xhY7edWfgE

Passo 8: Incorpore o URL final no caminho post-booking da companhia aérea (e.g.email)

Lista de verificação

Por favor, certifique-se do seguinte:

  • Assinatura
    • A assinatura está no formato correto (Base64), não em hexadecimal.
    • A assinatura é tratada como um número inteiro (e não como uma string) ao ser convertida para a codificação Base64.
      • Substitua +por -na assinatura, se necessário (a codificação Base64 deve fazer isso automaticamente):m6y13j0747-x/h81wEzR9jE1fco=
      • Substitua /por _na assinatura, se necessário (a codificação Base64 deve fazer isso automaticamente):m6y13j0747-x_h81wEzR9jE1fco=
    • Remova o preenchimento = (se houver) da string codificada em Base64.
    • A assinatura tem exatamente 27 caracteres.
    • A chave secreta não é visível publicamente no lado do cliente; ela deve ser usada apenas no lado do servidor para gerar a assinatura.
  • Parâmetros
    • Todos os valores dos parâmetros são percent-encoded UTF-8.
    • Todos os parâmetros necessários foram passados.
  • Domínio e ponto final
    • O endpoint está correto /xsell-redirect-pwa
  • A URL da solicitação final deve ser uma combinação de Domínio + Endpoint + Deeplink codificado URL + outboundEndDateTime (codificado) + originTLA + returnStartDateTime (codificado) + destinationTLA + bookingDateTime (codificado) + PartnerId + attachDL +signature

Testes

Verifique se o módulo está anexado antes da implantação em ambiente de teste/produção.

Verifique o URL da solicitação final:

  • A solicitação será redirecionada para a página de resultados propriedade com base nos critérios de pesquisa no URL de link direto codificado.

Nota: A solução Expedia suporta apenas um ambiente de produção. Os parceiros que desejarem realizar testes em um ambiente pre-production precisarão direcionar seus pre-production para o ambiente de produção da Expedia.

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