Expedia Rapid API 연동
Expedia API 연동: Rapid API, 예약 흐름, 운영 전환
OTA, 여행사, 여행 스타트업이 Expedia Group에 연결하는 데 필요한 모든 것: 어떤 Expedia API가 비즈니스에 맞는지, Rapid 예약 흐름과 서명이 어떻게 작동하는지, 출시 심사에서 무엇을 확인하는지, 비용은 얼마인지, 그리고 호텔 흐름이 이미 구축된 PHPTRAVELS로 어떻게 운영을 시작하는지 알려 드립니다.
- Rapid Lodging API
- API key와 SHA-512 서명
- 샌드박스와 테스트 예약
- 출시 심사와 운영 전환
Expedia Group API
내 비즈니스에 맞는 Expedia API는
Expedia Group은 판매사, 제휴사, 호텔, 여행사를 위해 각각 별도의 API 프로그램을 운영합니다. 먼저 한 가지 질문으로 고르세요. 여행자는 어디에서 결제하나요?
- 수요 측
Rapid API
주력 분야- 대상
- 자체 브랜드로 여행 상품을 판매하는 OTA, 여행사, 여행 앱, 로열티 프로그램.
- 제공 내용
- Expedia 실시간 인벤토리와 검색, 요금 확인, 예약, 변경, 취소까지 이어지는 전체 예약 경로.
- 여행자의 예약 위치
- 자사 웹사이트나 앱의 자체 결제 화면에서.
- PHPTRAVELS 활용
- 호텔 흐름이 숙박 모듈에 내장되어 있어 설정, 매핑, 인증만 하면 됩니다.
- 제휴 측
Travel Redirect API
- 대상
- 추천으로 수수료를 받는 콘텐츠 사이트, 여행 블로그, 메타서치형 페이지.
- 제공 내용
- 자사 페이지에 표시할 숙박 및 항공 목록과 선택한 Expedia 브랜드로 연결되는 링크.
- 여행자의 예약 위치
- 리디렉션 후 Expedia, Hotels.com 또는 Vrbo에서.
- PHPTRAVELS 활용
- PHPTRAVELS 사이트에서 목록과 링크로 활용할 수 있으며, 예약은 자사 사이트에서 이루어지지 않습니다.
- 공급 측
공급 및 커넥티비티 API
- 대상
- 호텔, 숙박 관리 시스템(PMS), 채널 매니저.
- 제공 내용
- 요금, 객실 현황, 판매 제한을 Expedia로 전송하고 Expedia가 받은 예약을 가져옵니다.
- 여행자의 예약 위치
- Expedia에서. 예약은 숙소가 받습니다.
- PHPTRAVELS 활용
- 엑스트라넷이나 채널 매니저를 통해 Expedia에서 판매하는 호텔용입니다.
- 여행사
Expedia TAAP
- 대상
- 고객을 위해 예약하고 수수료를 받는 여행사.
- 제공 내용
- 에이전트 요금과 수수료 추적 기능을 갖춘 Expedia 에이전트 포털.
- 여행자의 예약 위치
- TAAP 포털에서 에이전트가 예약.
- PHPTRAVELS 활용
- 에이전트는 TAAP 예약을 백오피스에 기록할 수 있으며, API 방식은 Rapid입니다.
신청량이 많아 Expedia가 Travel Redirect API 신규 신청 접수를 일시 중단했습니다.
Rapid API 상품
- Rapid Lodging APIPHPTRAVELS에 내장
- Rapid Car API맞춤 연동
- Rapid Flight API맞춤 연동
- Rapid Activities API맞춤 연동
Rapid 예약 흐름
Expedia 호텔 예약이 호출 단계별로 진행되는 방식
Rapid Lodging 예약은 정해진 순서를 따릅니다. 단계를 선택하면 해당 호출, PHPTRAVELS의 처리 방식, 인증 시 주의할 점을 볼 수 있습니다.
Rapid 호출
GET /v3/properties/content- PHPTRAVELS의 처리
- 숙소 이름, 주소, 이미지, 편의시설, 객실 유형, 정책을 호텔 페이지로 가져오고 일정에 따라 갱신합니다.
- 주의할 점
- 전체 카탈로그는 숙소 콘텐츠 파일로, 업데이트는 콘텐츠 API로 받으세요. 검색 응답에서 콘텐츠를 추출하면 안 됩니다.
Rapid 호출
GET /v3/properties/availability- PHPTRAVELS의 처리
- 날짜, 투숙 인원, 숙소 ID로 검색한 뒤 객실별 요금, 세금 및 수수료, 취소 정책을 표시합니다.
- 주의할 점
- 결제 전에 세금과 수수료를 포함한 총액을 표시하고, 모든 요청에 여행자의 IP와 세션 헤더를 보내세요.
Rapid 호출
GET {price_check link}- PHPTRAVELS의 처리
- 결제 직전에 선택한 요금의 요금 확인 링크를 호출하고, 요금이 일치할 때만 진행합니다.
- 주의할 점
- 요금이 바뀌었거나 매진되면 결제를 중단하고 새로운 선택지를 제시해야 하며, 이전 요금으로 결제해서는 안 됩니다.
Rapid 호출
POST /v3/itineraries- PHPTRAVELS의 처리
- 투숙객 정보와 결제로 일정을 생성하고, Expedia 일정 ID를 저장한 뒤 바우처를 발송합니다.
- 주의할 점
- 홀드 가능한 요금은 2단계 방식을 지원합니다. 결제 없이 객실을 홀드한 뒤 재개해 예약을 완료합니다.
Rapid 호출
GET /v3/itineraries/{itinerary_id}- PHPTRAVELS의 처리
- 일정을 다시 읽어 관리자 화면에서 날짜, 객실, 요금, 확인 번호, 상태를 확인합니다.
- 주의할 점
- 타임아웃 후에는 먼저 조회하고 일정이 없을 때만 재시도해 중복 예약을 막습니다.
Rapid 호출
DELETE /v3/itineraries/{id}/rooms/{room_id}- PHPTRAVELS의 처리
- 요금 정책에 따라 관리자 화면과 고객 계정에서 변경과 취소를 처리합니다.
- 주의할 점
- 위약금은 요금의 취소 정책에 따르며, 확정 전에 여행자에게 보여 줘야 합니다.
Rapid 호출
POST https://your-site/webhooks/expedia- PHPTRAVELS의 처리
- 설치 환경의 URL에서 일정 변경 웹훅 이벤트를 받아 예약을 업데이트합니다.
- 주의할 점
- 웹훅에는 빠르게 응답하고, 상태는 Expedia의 기록을 기준으로 삼으세요.
호출 경로는 Rapid v3 문서 기준입니다. 항상 최신 Expedia Group Developer Hub를 확인하세요.
API key와 서명
Expedia Rapid API 인증 방식
모든 Rapid 요청에는 API key와 서명이 담긴 인증 헤더가 포함됩니다. 서명은 API key, 공유 시크릿, 현재 UNIX 타임스탬프(초)를 SHA-512로 해시한 값입니다.
- 5분 허용 범위
- 타임스탬프는 Expedia 서버 시간과 5분 이내여야 하며, 해시에 사용한 값과 헤더의 값이 일치해야 합니다.
- 시크릿은 서버에만 보관
- 공유 시크릿은 비밀번호와 같습니다. PHPTRAVELS는 이를 서버 설정에 보관하며 브라우저나 앱에 두지 않습니다.
- 테스트 엔드포인트
- 샌드박스 호출은 test.ean.com으로 전송되며 실제 예약이나 카드 결제가 발생하지 않습니다. 테스트 헤더로 매진이나 요금 변경 같은 결과를 재현할 수 있습니다.
- EAN이라고 표시되는 이유
- EAN은 이 프로그램의 이전 이름인 Expedia Affiliate Network의 약자로, 헤더 방식과 엔드포인트에 그 이름이 남아 있습니다.
1// keys come from the server config, never from the browser 2$key = getenv('EXPEDIA_API_KEY'); 3$secret = getenv('EXPEDIA_SHARED_SECRET'); 4$ts = time(); // UNIX seconds, within 5 minutes of Expedia 5 6$signature = hash('sha512', $key . $secret . $ts); 7 8$headers = [ 9 "Authorization: EAN APIKey=$key,Signature=$signature,timestamp=$ts",10 'Accept: application/json',11 'Accept-Encoding: gzip',12 'Customer-Ip: ' . $travellerIp,13];1415// sandbox: https://test.ean.com · live: https://api.ean.com
구현 가이드
Expedia API 연동 단계별 안내
파트너 신청부터 첫 실제 예약까지. 각 단계마다 담당자를 표시했습니다.
- 01
Expedia Group 파트너 신청
Expedia Group 파트너 솔루션을 통해 회사, 도메인, 비즈니스 모델을 제출해 신청합니다. 거래 조건은 지역과 물량에 따라 Expedia와 협의합니다.
고객사Expedia - 02
API key와 공유 시크릿 수령
승인되면 Rapid 자격 증명과 Developer Hub 문서 접근 권한을 받습니다.
Expedia - 03
Expedia 커넥터 설정
PHPTRAVELS 관리자에 자격 증명을 입력하고, 콘텐츠를 가져오고, 마크업과 통화를 설정한 뒤, 객실과 정책을 호텔 페이지에 매핑합니다.
PHPTRAVELS고객사 - 04
테스트 예약 진행
테스트 엔드포인트에서 예약하며 객실 매진, 요금 변경, 타임아웃, 오류 코드를 재현해 모든 경우가 처리될 때까지 확인합니다.
PHPTRAVELS고객사 - 05
출시 심사 통과
Expedia는 출시 요건에 따라 사이트를 심사하고, 운영 전환 전에 PCI 준수 증명서(AOC)를 요청합니다.
Expedia고객사 - 06
운영 환경으로 전환하고 판매 시작
운영 자격 증명을 관리자에 입력하면 실제 예약이 시작되며, 지원 대응을 위해 공급사 로그는 계속 켜 둡니다.
고객사PHPTRAVELS
기간과 대안
Expedia 인벤토리를 판매하는 네 가지 방법
Rapid로 처음부터 구축하면 완전한 통제권을 얻지만 수개월의 개발이 필요합니다. 기성 예약 엔진, 제휴 리디렉션, 에이전트 포털은 각각 다른 장단점이 있습니다.
| 방식 | 출시까지 기간 | 자사 사이트 결제 | 유지보수 주체 | 적합한 대상 |
|---|---|---|---|---|
| Rapid로 자체 개발 | 출시까지 기간수개월: 검색, 결제, 관리자, 인증을 처음부터 구축 | 자사 사이트 결제예 | 유지보수 주체자체 개발자가 Expedia API가 바뀔 때마다 대응 | 적합한 대상자체 엔지니어링 팀을 갖춘 대형 OTA |
| 기성 예약 엔진(PHPTRAVELS)PHPTRAVELS | 출시까지 기간수주: 호텔 흐름이 이미 있어 시간은 설정과 Expedia 심사에 쓰입니다 | 자사 사이트 결제예 | 유지보수 주체엔진 업데이트로 유지되며 전체 소스 코드는 고객사가 보유 | 적합한 대상자체 브랜드와 결제를 빠르게 갖추려는 여행사와 스타트업 |
| 제휴 리디렉션 | 출시까지 기간Expedia가 신청을 승인하면 며칠 | 자사 사이트 결제아니요 | 유지보수 주체예약 경로는 Expedia가 운영 | 적합한 대상추천 수수료를 받는 콘텐츠 사이트와 블로그 |
| 에이전트 포털(TAAP) | 출시까지 기간개발 불필요: 에이전트가 Expedia 포털에서 예약 | 자사 사이트 결제아니요 | 유지보수 주체Expedia | 적합한 대상고객 여행을 한 건씩 예약하는 에이전트 |
출시 요건
운영 전환 전에 Expedia가 확인하는 사항
심사는 호출 성공 여부뿐 아니라 사이트가 어떻게 동작하는지도 봅니다. 이미 구현된 항목에 체크하세요. PHPTRAVELS는 표준 호텔 흐름에서 모든 항목을 지원합니다.
비용
Expedia API 연동 비용은 얼마인가요?
Expedia는 API 접근 가격표를 공개하지 않으며, Expedia와 합의한 조건에 따라 예약에서 수익을 얻습니다. 자체 비용은 소프트웨어, 호스팅, 컴플라이언스입니다.
Expedia 접근
Expedia와 협의: 계약, 지역, 물량에 따라 예약에 대한 수수료 또는 마진.
예약 엔진
PHPTRAVELS는 부터 시작하는 일회성 라이선스로 전체 소스 코드가 포함되며, 예약당 월 사용료가 없습니다.
호스팅
자체 서버 또는 당사의 관리형 호스팅. Expedia 커넥터는 고객사의 설치 환경 안에서 실행됩니다.
결제와 PCI
결제 게이트웨이와 카드 데이터에 대한 PCI 준수가 필요하며, Expedia는 출시 시 이를 증명하도록 요청합니다.
Expedia는 Rapid API 접근에 공개된 요금을 부과하지 않습니다. 승인된 파트너십이 필요하며, Expedia와 합의한 조건에 따라 수수료나 마진으로 수익을 얻습니다. 비용은 예약 소프트웨어, 호스팅, PCI 준수입니다.
Expedia Group 파트너 솔루션을 통해 파트너로 신청하세요. 승인 후 Rapid용 API key와 공유 시크릿을 받으며, 출시 심사 전에 샌드박스에서 구축하고 테스트할 수 있습니다.
Rapid는 자체 브랜드로 여행 상품을 판매하기 위한 Expedia Group의 REST 및 JSON API입니다. 숙박, 렌터카, 항공, 액티비티를 다루며 검색, 요금 확인, 예약, 관리 호출을 제공합니다.
EAN(Expedia Affiliate Network)은 Expedia 파트너 프로그램의 이전 이름입니다. Rapid는 현재의 API이며, EAN이라는 이름은 인증 헤더와 엔드포인트 주소에 남아 있습니다.
여행자가 자사 웹사이트나 앱에서 예약해야 한다면 Rapid를 사용하세요. 에이전트가 Expedia 포털에서 고객 여행을 예약하고 수수료를 받는다면 TAAP를 사용하세요.
네. 테스트 엔드포인트로 보낸 요청은 실제 예약이나 카드 결제를 만들지 않으며, 테스트 헤더로 객실 매진이나 요금 변경 같은 결과를 재현할 수 있습니다.
처음부터 구축하면 수개월이 걸립니다. PHPTRAVELS는 호텔 흐름이 이미 있으므로, 시간은 설정, 콘텐츠 매핑, 그리고 Expedia가 일정을 잡는 출시 심사에 쓰입니다.
Expedia 호텔 흐름은 숙박 모듈에 내장되어 있습니다. Rapid 렌터카, 항공, 액티비티는 렌터카, 항공, 투어 모듈 위에 맞춤 연동으로 추가할 수 있습니다.
