Developer Hub
Esta traducción se ha generado automáticamente

Generar la firma y crear la URL de la solicitud

Lista de comprobación para generar la firma y crear la URL de la solicitud:

ConceptoValorNotas
Clave secreta/privadaPara compartirlo con Expedia Group.Una clave secreta es una cadena alfanumérica que comparten de forma segura Expedia Group y que se usa para generar una firma. Será una cadena de 36 caracteres y está asociada a PartnerId.

Por ejemplo: 6f437404-261d-4beb-a7fc-43b92f694831

. Nota:. Debes guardarlo en un lugar seguro y utilizarlo únicamente en server-side para generar la firma. La clave secreta no debería pasarse como parámetro al crear la URL.
DominioDominio asociado
Punto de conexión/xsell-redirect-pwa?Ten en cuenta también que nuestro punto final es case-sensitive, así que todos los nombres de los parámetros deben escribirse exactamente como aparecen en este documento.

Step-by-step guía

Paso 1: Crea la URL de la solicitud de enlace directo a la página de resultados del alojamiento

Crea la URL de la solicitud de enlace directo a la página de resultados del alojamiento utilizando el dominio del socio en lugar del dominio Expedia que aparece en el ejemplo. Configura los parámetros de búsqueda y el código de seguimiento según la guía de enlaces directos.

>> Más información sobre los enlaces directos

URL de la solicitud de enlace directo:

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

Paso 2: Codifica la URL del enlace directo usando UTF-8

URL de enlace directo 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

Paso 3: Añade todos los parámetros necesarios para activar las tasas de conexión

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

Paso 4: Crea la URL para generar la firma (sin incluir el dominio)

Punto final + URL de enlace profundo codificada + outboundEndDateTime (codificada) + originTLA + returnStartDateTime (codificada) + destinationTLA + bookingDateTime (codificada) + PartnerId + attachDL

Ejemplo

/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

Paso 5: Firmar la solicitud/generar la firma

La cadena (URL) obtenida en el paso 4 debe firmarse mediante el algoritmo HMAC-SHA1 utilizando la clave secreta/privada compartida por Expedia Group. En la mayoría de las bibliotecas criptográficas, la firma resultante estará en formato binario, por lo que puede que tengas que decodificar la clave a su formato binario original.

Hay muchas implementaciones de esta función hash criptográfica definida en el RFC 2104 para varios lenguajes de programación y marcos de trabajo. La siguiente lista es una selección de las implementaciones disponibles:

  • Java
  • JavaScript
  • C#
  • Python
  • Ruby

Paso 6: Codifica la firma binaria resultante

Codifica la firma binaria usando Base64 modificado para URL, que sustituye los caracteres « + » y « / » de la salida Base64 por « - » (guión) y « _ » (guión bajo), respectivamente, para que la URL sea segura (consulta el RFC 4648 para obtener más información). Debería quedar algo así:

bj01fgT85mUiRmzxxSufSmlGpiI

Además, es importante tener en cuenta que hay que eliminar el relleno = (si lo hay) de la cadena codificada en base64.

Paso 7: Crear la URL de la solicitud final

Crea la URL del enlace directo final tal y como se muestra a continuación:

Dominio + Punto final + URL de enlace profundo codificada + outboundEndDateTime (codificada) + originTLA + returnStartDateTime (codificada) + destinationTLA + bookingDateTime (codificada) + PartnerId + attachDL + signature

Ejemplo:

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

Paso 8: Inserta la URL final en la ruta « post-booking » de la aerolínea (correo electrónicoe.g. )

Lista de comprobación

Asegúrate de lo siguiente:

  • Firma
    • La firma tiene el formato correcto (Base64), no hexadecimal.
    • La firma se trata como un número entero (no como una cadena) al convertirla a la codificación Base64.
      • Si hace falta, cambia « + » por « - » en la firma (la codificación Base64 debería hacerlo automáticamente): m6y13j0747-x/h81wEzR9jE1fco=
      • Si hace falta, cambia « / » por « _ » en la firma (la codificación Base64 debería hacerlo automáticamente): m6y13j0747-x_h81wEzR9jE1fco=
    • Elimina el relleno « = » (si lo hay) de la cadena codificada en Base64.
    • La firma tiene exactamente 27 caracteres.
    • La clave secreta no es visible públicamente en el lado del cliente; solo debe usarse en el lado del servidor para generar la firma.
  • Parámetros
    • Todos los valores de los parámetros son percent-encoded UTF-8.
    • Se han pasado todos los parámetros necesarios.
  • Dominio y punto final
    • «Endpoint» está bien /xsell-redirect-pwa
  • La URL de la solicitud final debe ser una combinación de dominio + punto final + enlace profundo codificado: URL + outboundEndDateTime (codificado) + originTLA + returnStartDateTime (codificado) + destinationTLA + bookingDateTime (codificado) + PartnerId + attachDL + signature

Pruebas

Comprueba el módulo adjunto antes de la implementación en entorno de pruebas o producción.

Comprueba la URL de la solicitud final:

  • La solicitud te redirigirá a la página de resultados de propiedades según los criterios de búsqueda que figuren en la URL del enlace profundo codificado.

Nota: La solución Expedia solo es compatible con entornos de producción. Los socios que quieran hacer pruebas en un entorno « pre-production » tendrán que redirigir su pre-production a Expedia's production.

¿Te ha resultado útil esta página?
¿Cómo podemos mejorar este contenido?
¡Gracias por ayudarnos a mejorar!