라이브 데모

호텔 공급사 연동

Hotelbeds API 연동: 콘텐츠, 매핑, 실시간 예약

Hotelbeds API 연동은 하나가 아니라 두 가지 작업입니다. 먼저 호텔 콘텐츠를 다운로드해 저장하고, 그다음 실시간 요금으로 예약합니다. PHPTRAVELS는 고객님의 Hotelbeds 계약과 키로 호텔 모듈 안에서 두 작업을 모두 처리합니다.

  • Content API 동기화
  • Booking API 흐름
  • BOOKABLE 및 RECHECK 요금
  • 호텔 매핑

Hotelbeds API의 구성 방식

Hotelbeds API 연동: 한쪽은 콘텐츠, 다른 쪽은 예약

Hotelbeds는 호텔 API를 둘로 나눕니다. Content API는 설명, 이미지, 시설, 식사 유형, 객실 같은 정적 데이터를 반환합니다. Booking API는 실시간 객실과 요금을 반환하고 예약을 받습니다. 가운데 단계를 선택하면 어떤 호출을 사용하는지 볼 수 있습니다.

Content API

정적 데이터, 고객님 쪽에 저장
  • 호텔 목록hotels · from=1&to=1000포트폴리오의 모든 호텔을 요청당 최대 1,000개씩 페이지 단위로 받습니다.
  • 시설, 식사 유형, 객실facilities · boards · roomsBooking API 코드를 고객이 이해할 수 있는 문구로 바꿔 주는 코드 테이블입니다.
  • 이미지photos.hotelbeds.com/giata/부분 이미지 경로를 Hotelbeds 사진 호스트와 결합해 필요한 크기로 사용합니다.
  • 일일 변경분lastUpdateTime첫 로드 이후에는 lastUpdateTime을 포함한 하루 한 번의 요청으로 변경된 내용만 받습니다.

요청 흐름

Booking API

실시간, 고객별 호출
  • 객실 조회POST /hotels호텔 코드, 날짜, 인원에 맞는 객실, 식사, 요금, 취소 수수료를 반환합니다.
  • 요금 재확인POST /checkratesRECHECK로 표시된 요금의 최신 가격과 조건, 업셀 옵션을 반환합니다.
  • 예약POST /bookings예약자와 투숙객 이름으로 선택한 rateKey를 확정하고 예약 번호를 반환합니다.
  • 취소DELETE /bookings · simulate취소를 시뮬레이션해 수수료를 보여 주거나 실제로 예약을 취소합니다.
샘플 화면입니다. 호출은 developer.hotelbeds.com 문서 기준이며, 흐름은 PHPTRAVELS의 사용 방식입니다.

실패하는 Hotelbeds 프로젝트 대부분은 이 두 부분을 섞어 버립니다. 고객 검색 중에 Content API를 호출하면 느리고, Hotelbeds가 경고하듯 인증 정보가 차단될 수 있습니다. 반대로 저장된 코드 없이 실시간 검색하면 이미지나 시설을 보여 줄 수 없습니다. PHPTRAVELS는 둘을 분리합니다. 콘텐츠는 백그라운드에서 동기화하고, 고객이 기다리는 동안에는 객실 조회, 요금 재확인, 예약 호출만 실행합니다.

공급사 자체, 상품, 계정 개설 방법이 궁금하시다면 Hotelbeds 공급사 소개을 읽어 보세요. 이 페이지는 기술 연동을 다룹니다.

요금 유형

결제 과정을 바꾸는 네 가지 요금 필드

모든 Hotelbeds 요금에는 바로 예약할 수 있는지, 어떤 가격을 표시할 수 있는지, 누가 대금을 받는지를 결정하는 속성이 있습니다. 엔진이 모든 결과에서 읽어야 하는 항목은 다음과 같습니다.

필드첫 번째 경우두 번째 경우PHPTRAVELS의 처리

바로 예약 또는 재확인

rateType
BOOKABLE

요금이 최신입니다. 추가 호출 없이 예약할 수 있습니다.

RECHECK

최신 가격과 조건을 받으려면 먼저 요금 재확인을 호출해야 합니다.

RECHECK 요금은 결제 단계 전에 재확인하고, 변경 사항이 있으면 고객에게 보여 줍니다.

넷 또는 커미션

net · sellingRate
net

넷 모델: 요금이 넷 가격이므로 직접 마진을 더합니다.

sellingRate

커미션 모델: 커미션이 이미 sellingRate에 포함되어 있으며, 그 가격이 최종 가격입니다.

넷 요금에는 마크업 규칙을 적용하고, 커미션 요금은 sellingRate로 판매합니다.

고정 판매가

hotelMandatory
true

hotelMandatory가 true: 반드시 sellingRate로 판매해야 합니다.

false · null

넷 요금에서 false 또는 빈 값: 자체 마진을 설정할 수 있습니다.

호텔이 요구하면 마크업 규칙과 상관없이 표시 가격을 sellingRate로 고정합니다.

고객 결제 시점

paymentType
AT_WEB

예약 시 고객님의 사이트에서 결제합니다.

AT_HOTEL

고객이 호텔에 직접 결제합니다.

요금에 지금 결제 또는 현장 결제 표시를 붙이고 그에 맞게 결제 과정을 연결합니다.

어떤 요금 모델을 받게 되는지는 Hotelbeds 계약에 따라 다릅니다. Hotelbeds에 따르면 담당 영업 매니저가 비즈니스에 맞는 모델을 추천합니다.

호텔 매핑

Hotelbeds 호텔을 이미 판매 중인 호텔과 매칭

직접 계약이나 다른 공급사가 있다면 같은 호텔이 서로 다른 코드로 들어옵니다. 매핑으로 이를 연결하면 고객은 세 개의 중복이 아니라 최저 요금의 호텔 하나를 보게 됩니다.

PHPTRAVELS의 매핑 방식

콘텐츠를 동기화할 때마다 PHPTRAVELS는 이름, 주소, 도시, 좌표로 Hotelbeds 호텔과 고객님의 호텔 목록을 비교합니다. 일치도가 높은 항목은 자동으로 연결됩니다. 애매한 항목은 담당자의 확인을 기다리고, 일치 항목이 없는 호텔은 새 숙소로 가져오거나 무시할 수 있습니다.

매핑된 호텔은 숙소에서 하나의 페이지, 하나의 갤러리, 하나의 리뷰 점수를 공유하며, 각 공급사는 자체 요금과 규칙을 유지합니다. 같은 매핑이 공개 사이트와 B2B 여행 포털에서 모두 사용됩니다.

호텔 매핑
  • Harbour View Hotel리스본48291397%매칭됨
  • Old Town Suites프라하11735492%매칭됨
  • Palm Court Resort두바이66201874%검토
  • Casa Azul Boutique세비야–0%일치 없음
  • Northern Lights Lodge트롬쇠90522766%검토
  • Riverside Apartments부다페스트33076198%매칭됨

가상의 호텔과 코드로 만든 샘플 화면입니다.

Hotelbeds XML 또는 JSON

모든 요청에 서명하고, 테스트는 작게 시작합니다

여전히 Hotelbeds XML로 검색하는 팀이 많지만, 현재 문서에는 JSON 요청이 나와 있습니다. 어느 쪽이든 작업은 같으며, 각 요청에는 두 개의 헤더가 붙습니다.

availability-request.sh (샘플)
 1# X-Signature = SHA256(api key + secret + unix time in seconds) 2TS=$(date +%s) 3SIG=$(printf "%s%s%s" "$API_KEY" "$SECRET" "$TS" | sha256sum | cut -d" " -f1) 4 5curl -X POST https://api.test.hotelbeds.com/hotel-api/1.0/hotels \ 6  -H "Api-key: $API_KEY" \ 7  -H "X-Signature: $SIG" \ 8  -H "Accept: application/json" \ 9  -H "Content-Type: application/json" \10  -d '{11    "stay": { "checkIn": "2026-11-14", "checkOut": "2026-11-17" },12    "occupancies": [{ "rooms": 1, "adults": 2, "children": 0 }],13    "hotels": { "hotel": [482913, 117354] }14  }'1516# hotel codes come from your stored Content API data, never a live content call
Api-keyX-Signatureapi.test.hotelbeds.com
두 개의 헤더
Api-key에는 키를, X-Signature에는 키, 시크릿, 현재 시각(초)의 SHA256 해시를 넣습니다.
테스트 호스트
Hotelbeds에 따르면 테스트 서버는 운영 환경과 같지만, 그곳의 예약은 실제가 아니며 카드도 청구되지 않습니다.
하루 50건 요청
새 키는 하루 50건 요청 한도의 평가 환경으로 시작합니다. 인증을 마치면 한도가 늘어납니다.
실시간 콘텐츠 호출 금지
Hotelbeds는 Content API를 실시간으로 호출하면 인증 정보가 차단될 수 있다고 경고합니다. PHPTRAVELS는 절대 그렇게 하지 않습니다.

콘텐츠 동기화 플래너

호텔 목록에 필요한 Content API 호출 수

Hotelbeds에 따르면 호텔 목록은 최대 1,000개씩 페이지로 제공되며, 첫 로드 이후에는 하루 한 번의 lastUpdateTime 요청으로 변경분만 받습니다. 숫자를 입력해 동기화를 계획하세요.

첫 전체 로드 요청 수
20
일일 업데이트당 요청 수
3
평가 한도로 한 번 로드하는 데 걸리는 일수
1

호텔 목록 기준 추정치입니다. 코드 테이블과 이미지로 호출이 조금 더 늘어납니다. 평가 한도는 하루 50건이므로 먼저 목적지 한 곳으로 테스트하세요.

운영 전환 체크리스트

운영 환경으로 전환하기 전에 준비할 사항

Hotelbeds는 대시보드를 통해 평가에서 인증, 그리고 운영 키 단계로 안내합니다. Hotelbeds API 연동이 먼저 갖춰야 할 항목과 PHPTRAVELS의 처리 방식은 다음과 같습니다.

  • 관리자 화면에 평가 키 추가, 테스트 호스트 선택
  • Content API를 데이터베이스에 동기화하고 일일 업데이트 예약
  • 호텔을 자체 목록에 매핑하고 애매한 매칭 검토
  • RECHECK 요금은 결제 전에 요금 재확인 진행
  • hotelMandatory가 true이면 sellingRate 준수
  • 고객 결제 전에 요금 안내와 취소 수수료 표시
  • 바우처에 Hotelbeds 예약 번호와 요금 안내 표시
  • 취소를 먼저 시뮬레이션한 뒤 확정하고 수수료 기록

인증 절차와 운영 접근 권한은 계약과 시장에 따라 Hotelbeds가 정합니다.

비용

엔진은 1회 라이선스, Hotelbeds와는 직접 계약

PHPTRAVELS는 소스 코드가 포함된 1회성 라이선스입니다. Hotelbeds는 고객님과 Hotelbeds 사이의 별도 계약이므로 넷 요금과 키는 고객님 소유입니다.

스타트업
일회성 라이선스
1회성 라이선스
에이전시
일회성 라이선스
1회성 라이선스
엔터프라이즈
일회성 라이선스
1회성 라이선스

Hotelbeds는 함께 운영할 수 있는 여러 호텔 공급원 중 하나입니다. 여행 API 개요에서 RateHawk와 함께 쓰는 방식을 보거나, XML 공급사 목록에서 공급사를 비교해 보세요.

FAQ

Hotelbeds API 연동 관련 질문

개발자와 여행사가 Hotelbeds를 연결하기 전에 자주 묻는 질문입니다.

영업팀 문의

두 부분입니다. 하나는 Content API로 호텔, 이미지, 시설, 식사 유형, 객실을 데이터베이스에 저장하는 백그라운드 동기화이고, 다른 하나는 Booking API로 객실 조회, 요금 재확인, 예약, 취소를 처리하는 실시간 흐름입니다. PHPTRAVELS는 호텔 모듈에서 둘 다 실행합니다.

여전히 Hotelbeds XML이라고 부르지만, 현재 Hotelbeds 문서에는 JSON 요청과 응답이 나와 있습니다. 어느 쪽이든 작업은 같으며, 형식 처리는 PHPTRAVELS가 대신합니다.

BOOKABLE 요금은 이미 최신이므로 바로 예약할 수 있습니다. RECHECK 요금은 먼저 요금 재확인을 호출해야 하며, 현재 가격과 조건이 반환됩니다. PHPTRAVELS는 결제 단계 전에 이 호출을 실행합니다.

느리고, Hotelbeds는 Content API를 실시간으로 사용하면 인증 정보가 차단될 수 있다고 경고합니다. 콘텐츠는 페이지 단위로 다운로드해 저장하고 lastUpdateTime으로 하루 한 번 업데이트해야 하며, PHPTRAVELS가 바로 그렇게 동작합니다.

네. Hotelbeds에 가입하고 계약을 체결한 뒤 자체 API 키와 시크릿을 받습니다. 새 키는 인증을 완료할 때까지 하루 50건 요청의 평가 환경에서 작동합니다.

네. 호텔 매핑이 여러 공급원의 같은 숙소를 연결하므로 고객은 최저 요금의 호텔 하나를 보고, 각 공급원은 자체 마크업과 규칙을 유지합니다.

PHPTRAVELS 요금제는 부터 시작하며, 소스 코드가 포함된 1회성 라이선스입니다. Hotelbeds 계약은 별도로 Hotelbeds와 직접 체결합니다. 가격 페이지를 확인하시거나 영업팀에 견적을 요청하세요.