자동 생성된 번역입니다.

서명 생성 및 요청 URL 생성

서명 생성 및 요청 URL 구성에 대한 체크리스트:

항목소스참고
비밀 키 / 개인 키공유할 사람: Expedia Group.비밀 키는 서명을 생성하는 데 사용되는 36자 길이의 영숫자 문자열입니다. 이는 .과 관련이 있습니다 partnerId.
예시: 6f437404-261d-4beb-a7fc-43b92f694831.
참고: 비밀 키는 안전한 장소에 보관하고, 서명을 생성할 때 server-side 에서만 사용하십시오. URL을 구성할 때 이를 매개변수로 전달해서는 안 됩니다.
도메인파트너 도메인귀하의 웹사이트의 도메인 요소입니다.
엔드포인트/xsell-redirect-pwa?당사의 엔드포인트는 case-sensitive, 이므로, 모든 매개변수 이름은 본 문서에 표시된 대로 정확히 표기해야 합니다.

Step-by-step 안내서

1단계: 숙박 시설 결과 페이지로 연결되는 딥링크 요청 URL을 생성합니다.

예시에서 익스피디아 도메인 대신 파트너 도메인을 사용하여 숙박 시설 결과 페이지로 연결되는 딥링크 요청 URL을 생성하십시오. 딥링크 가이드에 따라 검색 매개변수와 추적 코드를 형식화하십시오.

요청 URL 매개변수

매개변수유형필수 항목설명샘플 값
partnerIdStringY제공처: Expedia Group.partnername-POS-Ext-Flight-Conf-EmailDL
urlStringY딥링크 가이드에 따라 파트너 도메인, 검색 매개변수 및 추적 코드를 사용하여 호텔 검색 결과 페이지용 딥링크 요청 URL을 생성하세요. 추적 코드(mdpcid)가 포함되어 있는지 확인하고, 출력 매개변수의 값이 올바르게 설정되어 있는지 확인하십시오. URL-encoded.
>> 딥링크 가이드 읽기
url = https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3FMDPCID%3DExpedia-IE.DPS.en_IE.confemail.attachDL.Flight%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult-Room1%3D3%26NumChild-Room1%3D2%26Room1-Child1Age%3D9%26Room1-Child2Age%3D6
outboundEndDateTimeISO 8601 표준을 따르는 날짜의 문자열 표현.Y목적지에 도착하는 여행 일자와 시간을 지정하십시오. 여기에는 ISO 8601 표준에 따른 날짜, 시간 및 시간대만 포함되어야 합니다.

이 매개변수 값은 인코딩되어야 합니다.
2025-10-30T20%3A12%3A17.928020Z
originTla문자열 (3글자)Y여행 출발지의 ‘ IATA ’ 공항 코드를 지정하십시오.LAS
returnStartDateTimeISO 8601 표준을 따르는 날짜의 문자열 표현.왕복 여행 시에만 필요합니다목적지에서 출발하는 귀국 일자와 시간을 지정하십시오. ISO 8601 표준에 따라 날짜, 시간 및 시간대만 포함될 수 있습니다.

이 매개변수 값은 인코딩되어야 합니다.
2025-11-10T20%3A12%3A17.928020Z
destinationTla문자열 (3글자)Y여행 목적지의 ‘ IATA ’ 공항 코드를 입력하십시오.JFK
bookingDateTimeISO 8601 표준을 따르는 날짜의 문자열 표현.Y예약된 일자와 시간을 지정해 주세요. ISO 8601 표준에 따라 날짜, 시간 및 시간대만 포함될 수 있습니다.

이 매개변수 값은 인코딩되어야 합니다.
2025-07-25T20%3A12%3A17.928020Z
bookingStatusString별도로 안내가 없는 경우, 예약이 확정된 것으로 간주합니다.이 매개변수에 허용되는 값은 다음과 같습니다: confirmed, pending또는 failed
참고: 할인 요율은 bookingStatus가 confirmed일 때만 적용됩니다.
confirmed
attachDL부울Y할인된 부착 요율을 적용하려면 이 값을 true로 설정하십시오.true
signatureStringY파트너가 다음에서 제공한 비밀 키를 기반으로 server-side 을 생성했습니다. Expedia Group. 이 문자열의 길이는 정확히 27자입니다. 결과로 나온 바이너리 서명을 인코딩합니다.BcND1F7KElTyGtyUHeXHd2JJLFs

참고: 요청 매개변수는 대소문자를 구분합니다. 대소문자를 잘못 입력하면 오류가 발생합니다.

딥링크 요청 URL:

https://expedia.com/go/hotel/search/Destination/2025-12-22/2025-12-25?MDPCID=Expedia-IE.DPS.en_IE.confemail.attachDL.Flight&CityName=ORD&SortBy=distance&NumRoom=1&NumAdult-Room1=3&NumChild-Room1=2&Room1-Child1Age=9&Room1-Child2Age=6

2단계: #을 사용하여 딥링크 URL을 인코딩합니다.UTF-8

인코딩된 딥링크 URL:

https%3A%2F%2Fexpedia.com%2Fgo%2Fhotel%2Fsearch%2FDestination%2F2025-12-22%2F2025-12-25%3FMDPCID%3DExpedia-IE.DPS.en_IE.confemail.attachDL.Flight%26CityName%3DORD%26SortBy%3Ddistance%26NumRoom%3D1%26NumAdult-Room1%3D3%26NumChild-Room1%3D2%26Room1-Child1Age%3D9%26Room1-Child2Age%3D6

3단계: 연결률을 활성화하기 위해 필요한 모든 매개변수를 추가합니다.

outboundEndDateTime(인코딩됨) + originTLA + returnStartDateTime (인코딩됨) + destinationTLA + bookingDateTime (인코딩됨) + partnerid +attachDL

4단계: 서명 생성을 위한 URL 구성 (도메인은 포함하지 마세요)

endpoint+ 인코딩된 딥링크 url + outboundEndDateTime (인코딩됨) + originTLA + returnStartDateTime (인코딩됨) + destinationTLA + bookingDateTime (인코딩됨) + partnerid +attachDL

예

/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

참고: ‘ Expedia ’을 귀사의 브랜드명으로 대체하십시오.

5단계: 요청서에 서명하기/서명 생성하기

4단계에서 얻은 문자열(URL)은 다음에서 공유하는 비밀 키/개인 키를 사용하여 HMAC-SHA1 알고리즘으로 서명해야 합니다. Expedia Group. 대부분의 암호화 라이브러리에서 생성된 서명은 이진 형식일 수 있으므로, 키를 원래의 이진 형식으로 디코딩해야 할 수도 있습니다.

RFC 2104에 정의된 이 암호 해시 함수는 여러 컴퓨터 언어와 프레임워크를 대상으로 다양한 구현체가 존재합니다. 다음 목록은 사용 가능한 구현 방식 중 일부입니다:

  • Java
  • 자바스크립트
  • C#
  • Python
  • Ruby

6단계: 생성된 바이너리 서명을 인코딩합니다.

수정된 Base64URL을 사용하여 바이너리 서명을 인코딩합니다. 이 방법은 Base64URL 출력의 +및 /문자를 각각 - (하이픈)과 _ (밑줄)로 대체하여 URL을 안전하게 만듭니다(자세한 내용은 RFC 4648 참조). 서명 길이는 정확히 27자여야 합니다.

예

bj01fgT85mUiRmzxxSufSmlGpiI

9Wzh3Er5-ob35Hbxbk1ltyYHex4

FeW_4NNu4ITpGaSt1KZl-vLb9PI

또한, Base64URL로 인코딩된 문자열에서 패딩 = (있는 경우)을 제거해야 한다는 점에 유의해야 합니다.

7단계: 최종 요청 URL 구성하기

다음 요소들을 사용하여 최종 딥링크 URL을 구성하십시오:

domain+ endpoint + 인코딩된 딥링크 url + outboundEndDateTime (인코딩됨) + originTLA + returnStartDateTime (인코딩됨) + destinationTLA + bookingDateTime (인코딩됨) + partnerid + attachDL +signature

예시

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

8단계: 최종 URL을 항공사 post-booking 경로에 삽입합니다.

체크리스트

post-booking 경로(예: 이메일)에 삽입하기 전에 다음 항목을 확인하십시오.

서명

  • Base64URL 형식(16진수가 아님)으로.
  • Base64URL 인코딩으로 변환할 때 정수(문자열이 아님)로 처리됩니다: 필요한 경우 +을 -으로, /을 _으로 변경하십시오. 예를 들어: m6y13j0747-x_h81wEzR9jE1fco=.
  • Base64URL로 인코딩된 문자열에서 패딩 = (있는 경우)을 제거합니다.
  • 정확히 27자입니다.
  • 비밀 키는 클라이언트 측에서 공개적으로 표시되지 않습니다.

매개변수

도메인 및 엔드포인트

  • 정답은 /xsell-redirect-pwa입니다.
  • 최종 요청 URL은 domain + endpoint + 인코딩된 딥링크 url + outboundEndDateTime (인코딩됨) + originTLA + returnStartDateTime (인코딩됨) + destinationTLA + bookingDateTime (인코딩됨) + partnerid + attachDL + signature

테스트

테스트/본격 운영 환경에 배포하기 전에 모듈 연결 상태를 확인하십시오. 이 요청은 인코딩된 딥링크 URL에 포함된 검색 기준에 따라 숙박 시설 결과 페이지로 리디렉션되어야 합니다.

참고: 익스피디아 솔루션은 운영 환경에서만 지원됩니다. pre-production, 에서 테스트를 하려면 pre-production 도메인을 익스피디아의 운영 환경 도메인으로 연결해야 합니다.

이 페이지가 도움이 되었나요?
이 콘텐츠를 어떻게 개선하면 좋을까요?
더 나은 Developer Hub를 만드는 데 도움을 주셔서 감사합니다!