시스템의 인벤토리는 새로운 예약, 취소, 판매자의 일정 변경으로 인해 변동됩니다. 실시간 업데이트 (RTU) API는 이러한 변경사항과 기존 예약에 대한 변경사항을 Google에 알리는 메커니즘입니다.
RTU는 다음과 같은 경우에 필요합니다.
- 사용자가 시스템에서 예약을 취소하여 시간대가 사용 가능해집니다.
- 사용자가 Actions Center를 통해 예약하고 시간대를 더 이상 사용할 수 없는 경우
- Actions Center를 통해 이루어진 예약이 사용자 측에서 취소된 경우 예를 들어 판매자가 직접 취소하는 경우가 있습니다. 이제 원래 시간대를 사용할 수 있으므로 예약 및 이용 가능 여부를 업데이트해야 합니다.
샌드박스 검토로 이동하기 전에 다음 RTU 주요 일정 작업을 완료하세요.
마지막 20개 요청에 14일 동안 오류가 없으면 각 작업이 완료된 것으로 표시되고 녹색으로 바뀝니다. 마일스톤이 녹색으로 유지되도록 계속해서 성공적인 요청을 전송하세요.
API RTU 및 피드
API RTU는 인벤토리 이용 가능 여부 및 예약에 대한 점진적인 변경사항을 Google에 실시간으로 알립니다. RTU 외에도 매일 전체 이용 가능 여부 피드를 전송합니다. 이렇게 하면 Google에서 시스템에 존재하는 가장 정확한 최신 이용 가능 여부 정보를 알 수 있습니다. 전체 피드는 시스템 인벤토리 이용 가능 여부의 최신 상태에 대한 스냅샷 역할을 합니다.
자세한 내용은 다음 리소스를 참조하세요.
API 액세스
Google Cloud 프로젝트는 RTU를 제출하는 방법인 Actions Center의 Maps Booking API에 액세스하는 방법입니다. Google 개발자 콘솔 내에서 Google 계정을 사용하고 온보딩 계획의 설정 마일스톤에 Cloud 프로젝트 번호를 제공해야 합니다. Cloud API를 사용 설정하는 방법에 대한 자세한 내용은 Cloud API 사용 설정을 참고하세요.
RESTful 호출 사용 또는 클라이언트 라이브러리 다운로드
JSON 페이로드를 사용하여 Maps Booking API에 직접 RESTful 호출을 하는 것이 좋습니다. 자세한 내용은 REST API 문서를 참고하세요.
클라이언트 라이브러리를 사용하여 API에 연결할 수도 있습니다.
.언어 | 다운로드 링크 |
---|---|
자바 | 자바 클라이언트 라이브러리 자세한 내용은 Java 클라이언트 안내를 참고하세요. |
Google API 호출의 승인 및 기타 측면을 처리하는 추가 지원 라이브러리를 다운로드할 수 있습니다. 자세한 내용은 코드 샘플을 참고하세요.
탐색 문서 가져오기
Ruby와 같은 일부 클라이언트 라이브러리의 경우 메서드 및 매개변수를 설명하는 API용 디스커버리 문서를 가져와야 합니다.
Discovery 문서를 가져오려면 다음 명령어를 사용합니다.
curl -s -o mapsbooking_rest
https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha
Ruby에서 API에 액세스하는 방법에 관한 자세한 내용은 Ruby API 클라이언트 및 Ruby 인증 라이브러리를 참고하세요.
API에 대해 승인된 호출 실행
API를 호출할 때 위임된 API 호출 준비를 참고하여 비공개 키와 다음 OAuth 범위로 서비스 계정을 승인합니다.
https://www.googleapis.com/auth/mapsbooking
샌드박스 및 프로덕션 엔드포인트
API를 통해 샌드박스와 프로덕션 환경을 모두 호출할 수 있습니다. Google Cloud 프로젝트에서 두 API를 모두 사용 설정해야 합니다. 두 API 모두 동일한 범위를 사용하지만 엔드포인트가 다릅니다.
프로덕션 엔드포인트: https://mapsbooking.googleapis.com/
샌드박스 엔드포인트: https://partnerdev-mapsbooking.googleapis.com/
다음은 엔드포인트를 전환하는 방법의 자바로 작성된 예입니다.
// This block of code is for OAuth and is the same for prod and sandbox.
GoogleCredential
.fromStream(new FileInputStream(...))
.createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking"))
// This block of code sets the endpoint. This is what you'd change to connect to the sandbox.
new GoogleMapsBookingAPI.Builder(...)
.setApplicationName(...)
.setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev.
.build()