Developer Hub
자동 생성된 번역입니다.

서명 생성 및 요청 URL 생성

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

항목참고
비밀 키/개인 키공유할 사람: Expedia Group.비밀 키는 Expedia Group 간에 안전하게 공유되며 서명을 생성하는 데 사용되는 영숫자 문자열입니다. 길이가 36자짜리 문자열이며, 이는 .와 연관되어 있습니다 PartnerId.

예를 들어, 6f437404-261d-4beb-a7fc-43b92f694831

참고: 이 파일은 안전한 장소에 보관해야 하며, 서명을 생성할 때 server-side 에서만 사용해야 합니다. 비밀 키 는 URL 생성 시 매개변수로 전달되어서는 안 됩니다().
도메인파트너 도메인
엔드포인트/xsell-redirect-pwa?또한, 당사의 엔드포인트는 case-sensitive 이므로 모든 매개변수 이름은 본 문서에 표시된 대로 정확히 표기해야 합니다.

Step-by-step 안내서

1단계: 숙박 시설 결과 페이지로 연결되는 딥링크 요청 URL 생성하기

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

>> 딥링크에 대해 알아보기

딥링크 요청 URL:

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

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

인코딩된 딥링크 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

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

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

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

엔드포인트 + 인코딩된 딥링크 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

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

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

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

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

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

URL용 수정된 Base64를 사용하여 바이너리 서명을 인코딩합니다. 이 방식은 Base64 출력에서 +/문자를 각각 - (하이픈)과 _ (언더스코어)로 대체하여 URL을 안전하게 만듭니다(자세한 내용은 RFC 4648 참조). 다음과 비슷하게 보일 것입니다:

bj01fgT85mUiRmzxxSufSmlGpiI

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

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

아래와 같이 최종 딥링크 URL을 구성하십시오:

도메인 + 엔드포인트 + 인코딩된 딥링크 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 경로(e.g. 이메일)에 삽입합니다.

체크리스트

다음 사항을 확인해 주시기 바랍니다:

  • 서명
    • 서명 형식이 16진수가 아닌 올바른 형식(Base64)입니다.
    • Base64 인코딩으로 변환할 때 서명은 문자열이 아닌 정수로 처리됩니다.
      • 필요한 경우 서명에서 +-으로 바꾸십시오(Base64 인코딩을 통해 자동으로 처리될 것입니다): m6y13j0747-x/h81wEzR9jE1fco=
      • 필요한 경우 서명에서 /_로 바꾸십시오(Base64 인코딩을 통해 자동으로 처리되어야 합니다): m6y13j0747-x_h81wEzR9jE1fco=
    • Base64로 인코딩된 문자열에서 패딩 = (있는 경우)을 제거합니다.
    • 서명의 길이는 정확히 27자입니다.
    • 비밀 키는 클라이언트 측에서는 공개되지 않으며, 서명을 생성할 때 서버 측에서만 사용되어야 합니다.
  • 매개변수
    • 모든 매개변수 값은 percent-encoded UTF-8.
    • 필요한 모든 매개변수가 전달되었습니다.
  • 도메인 및 엔드포인트
    • Endpoint가 맞습니다 /xsell-redirect-pwa
  • 최종 요청 URL은 도메인 + 엔드포인트 + 인코딩된 딥링크의 조합이어야 합니다.URL + outboundEndDateTime (인코딩됨) + originTLA + returnStartDateTime (인코딩됨) + destinationTLA + bookingDateTime (인코딩됨) + PartnerId + attachDL + signature

테스트

테스트/본격 운영 환경에 배포하기 전에 모듈 연결 상태를 확인하십시오.

최종 요청 URL을 확인하십시오:

  • 이 요청은 인코딩된 딥링크 URL에 포함된 검색 기준에 따라 숙박 시설 결과 페이지로 리디렉션됩니다.

참고: 익스피디아 솔루션은 운영 환경에서만 지원됩니다. pre-production 에서 테스트를 진행하고자 하는 파트너는 pre-production 을 익스피디아의 운영 환경으로 연결해야 합니다.

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