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

Cómo crear la URL de la solicitud

La URL de solicitud —la URL que devolverá los resultados de un módulo adjunto— consta de un dominio, un punto final, parámetros de solicitud y un parámetro de firma. Este ejemplo muestra un vuelo confirmado a LAX para dos adultos, con salida el 2 de enero de 2023 y regreso el 12 de enero de 2023, que se reservó el 12 de noviembre 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

Cómo crear parámetros de solicitud

En general, los parámetros de la solicitud incluyen datos sobre la reserva, como el destino y las fechas de inicio y fin del viaje. Esta información se utiliza para generar recomendaciones para el módulo «attach». Algunos parámetros son opcionales en una solicitud, pero otros son imprescindibles para obtener resultados.

Information

Importante

Por motivos de seguridad, asegúrate de que todos los valores de los parámetros sean percent-encoded UTF-8.

Parámetros de solicitud disponibles

ParámetroDescripciónValor de muestraCampo obligatorio
partnerIdValor de cadena proporcionado por Expedia que se utiliza para identificar a tu organización en los parámetros de la solicitudpartnername_hotel_conf_overlay
bookingStatusCadena de caracteres que especifica el estado de la reserva, lo que determina si se pueden aplicar las tarifas asociadas; si el estado de la reserva es «pendiente» o «fallida», no se aplicará ninguna tarifa asociadaconfirmada
bookingDateTimeCadena de caracteres que indica la fecha de la reserva; incluye la fecha, la hora y la zona horaria en Formato ISO 86012024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
outboundEndDateTimeCadena de caracteres que indica la llegada al destino; incluye la fecha, la hora y la zona horaria en formato ISO 86012024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
returnStartDateTimeCadena de caracteres que indica la salida desde el destino; incluye la fecha, la hora y la zona horaria en formato ISO 8601 Nota: Si no se especifica, la duración predeterminada del viaje es de 7 días2024-08-29T05:54:02

Valor codificado: 2024-08-29T05%3A54%3A02
localeCadena de 5 caracteres proporcionada por Expedia que indica el idioma en el que se realizó la reserva.
>> Consulta aquí todos los detalles sobre la configuración regional
en_US
currencyCodeCadena proporcionada por Expedia que indica la moneda en la que se realizó la reservaUSD
destinationTLACadena de 3 caracteres que indica el código de aeropuerto de la Asociación Internacional de Transporte Aéreo (IATA) para el destino

Nota: La URL de la solicitud debe incluir este parámetro (para reservas que incluyan un vuelo) O BIEN latitude y longitude (si no se incluye ningún vuelo)
LAXRequisito condicional
latitude y longitudeValor de tipo flotante con hasta 12 decimales que especifica las coordenadas del destino del viaje Nota: La URL de la solicitud debe incluir este parámetro (si no hay ningún vuelo) O BIEN destinationTLA (para reservas que incluyan un vuelo)latitud=40.7141667
&longitud=-74.0063889
Requisito condicional
signatureUna cadena alfanumérica de 27 caracteres que generarás a partir de una clave secreta que te proporcionamos
BcND1F7KElTyGtyUHeXHd2JJLFs informe
numOfAdultsNúmero entero que indica el número de adultos en la reserva; mínimo 12
numOfChildrenNúmero entero que indica el número de niños que figuran en la reserva3
childAgesComma-delimited matriz de enteros que especifica las edades de los niños que haya en la reserva; solo es obligatorio si se pasa el parámetro « numOfChildren »5,4,2Sí, si se aprueba la ley « numOfChildren »

Hemos incluido algunos ejemplos para que te hagas una idea de los valores, tanto para viajes sencillos como para otros más complicados.

|

One-way ejemplo de viaje

En una consulta de tipo « one-way », no incluyes el « returnStartDateTime » como parte del parámetro «result». Se aplicará el plazo predeterminado de 7 días. Para un viaje directo, one-way, con salida de Chicago el 10 de septiembre de 2024 a las 13:00 y llegada a Las Vegas ese mismo día a las 16:00, los parámetros serían los siguientes:

  • 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

Round-trip ejemplo

Una solicitud de reserva directa en round-trip entre los mismos destinos, con regreso el 14 de septiembre de 2024, incluiría los siguientes datos:

  • 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 ejemplo de viaje

Si se trata de un viaje con varios destinos, te recomendamos que envíes solo los datos del primer tramo.

Etapa 1: De 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 (Fecha y hora de inicio de la 2.ª etapa)

Etapa 2: De Las Vegas a San Francisco (no es obligatorio)

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

Etapa 3: De San Francisco a Chicago (no es obligatorio)
  • 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

Crear la URL de la solicitud

Todas las URL de solicitud incluirán el dominio y el punto final, seguidos de los parámetros de la solicitud, y terminarán con la firma generada con la clave secreta.

Clave secreta

Una clave secreta es una cadena alfanumérica que comparten de forma segura Expedia y que se usa para generar una firma que verifica la transacción. Tendrá 36 caracteres y está asociado al partnerId.

Warning

Nota

Guarda tu clave secreta en un lugar seguro y úsala solo para generar la firma. No pases la clave secreta como parámetro al crear la URL.

Parámetros de dominio, de punto final y de solicitud

La URL de tu solicitud empieza por el dominio. Te recomendamos que mantengas el dominio Expedia en las URL de las solicitudes: protocol-agnostic: y //xsell.expedia.com/. La siguiente parte de la URL es la cadena de solicitud, que está formada por el punto final case-sensitive, /xsell-pwa.js? y los parámetros de solicitud. Recuerda que los parámetros de la solicitud deben ser UTF-8 percent-encoded.

Paso 1: Crea la cadena de solicitud

La cadena de solicitud incluye el punto final y los parámetros de solicitud (pero no el dominio). Debería quedar más o menos así.

/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

Paso 2: Firma la solicitud

La cadena obtenida en el paso 1 (incluido el prefijo « / ») debe firmarse con un hash-based algoritmo de autenticación de mensajes (HMAC-SHA1) utilizando la clave secreta compartida por Expedia. En la mayoría de las bibliotecas criptográficas, la firma resultante estará en formato binario.

Hay muchas implementaciones de esta función hash criptográfica definidas en el RFC 2104 Para lenguajes de programación y marcos de trabajo. Las implementaciones disponibles son las siguientes:

Paso 3: Codifica la firma resultante

Codifica la firma binaria utilizando el Base64 Para las URL, que sustituye los caracteres « + » y « / » de la salida Base64 por « - » (guión) y « _ » (guión bajo), respectivamente, para que sean compatibles con las URL (véase RFC 4648 (para más información). Debería quedar algo así:

bj01fgT85mUiRmzxxSufSmlGpiI

También es importante tener en cuenta que hay que eliminar el relleno = (si lo hay) de la cadena codificada en Base64.

Paso 4: Crea la URL de la solicitud final

Añade la firma del paso 3 a la cadena del paso 1 como parámetro « signature ». La firma siempre debe ser el último parámetro de la URL de la solicitud 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

Añade al principio de la cadena resultante el protocolo (//, http:// o https://) y el dominio (te recomendamos //xsell.expedia.com para las URL de protocol-agnostic ).

//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

Paso 5: Añade el código JavaScript

Tendrás que usar la URL de la solicitud final como el atributo JavaScript src en la página donde debe aparecer el módulo. Por ejemplo:

<<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>>

Una vez que hayas creado la URL de la solicitud, ya estás listo para integrarla en el código de tu página.

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