사용 사례
Google Maps Booking API에서는 두 가지 메서드를 제공하며, 이는 프로그래매틱 방식으로 각 판매자에 대한 다양한 통합 또는 지역 서비스 광고 있습니다.
Merchant Status API의 사용 사례:
- 기존 고객 관계 관리 도구를 강화하여 Google에 인벤토리가 표시되는 방식을 고객에게 알릴 수 있습니다.
- 대시보드를 구축하여 인벤토리 상태와 도움이 됩니다.
- 광고 항목의 일치 및 예약 가능 상태를 프로그래매틱 방식으로 가져올 수 있습니다. 잘못된 정보를 수정하여 데이터 품질을 개선하세요.
판매자 상태에는 어떤 정보가 포함되어 있나요?
이 MerchantStatus에는 다음 정보가 포함됩니다.
- 판매자 인벤토리 상태: 예약 및 대기자 명단 판매자에게 모두 적용됩니다.
- 판매자 일치 상태: 일치하는 비즈니스 정보에 대한 세부정보를 포함합니다.
- 대상 Google 지역 서비스 광고만 해당) 일치하는 판매자 서비스 제공업체: 고객 ID 및 서비스 카테고리가 포함됩니다
- Google에 판매자가 표시되는 방식을 보여주는 URL입니다.
단일 판매자 상태 조회
단일 판매자의 상태를 가져오려면 inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status
다음은 Python 코드 샘플입니다 (다른 언어로 예시 참조). 여기에서 확인)
from google.auth.transport.requests import AuthorizedSession from google.oauth2 import service_account credentials = service_account.Credentials.from_service_account_file( './your_key.json') scoped_credentials = credentials.with_scopes( ['https://www.googleapis.com/auth/mapsbooking']) authed_session = AuthorizedSession(scoped_credentials) response = authed_session.get('https://partnerdev-mapsbooking.googleapis.com' + '/v1alpha/inventory/partners/123456789/merchants/001/status')
예시 MerchantStatus 응답은 다음과 같습니다.
{ "name": "partners/123456789/merchants/001/status", "merchantName": "Foo Bar Restaurant", "inputGeoInfo": { "unstructured_address": "123 Foo Bar Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true } "geoMatch": { "name": "Foo Bar Restaurant", "formattedAddress": "123 Foo Bar St, Mountain View, CA 94043", "placeId": "ChIAAAAAAAAABBBBBBBB" }, "directUrls": [ { "type": "BOOKING", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa" }, { "type": "WAITLIST", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb" } ] }
판매자 상태 일괄 가져오기
모든 판매자 또는 판매자 그룹의 상태를 가져올 수 있습니다. 특정 인벤토리/일치 조건을 만족하는 경우 inventory.partners.merchants.status.list. 예를 들어, 이 호출을 통해 일치하지 않는 모든 판매자를 유효하고 미래 날짜 예약으로 가져옵니다. 인벤토리:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED
샘플 응답은 다음과 같습니다.
{ "merchantStatuses": [ { "name": "partners/123456789/merchants/002/status", "merchantName": "Bar Foo Restaurant", "inputGeoInfo": { "unstructured_address": "234 Bar Foo Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": {}, }, ... { "name": "partners/123456789/merchants/080/status", "merchantName": "Baz Restaurant", "inputGeoInfo": { "unstructured_address": "345 Baz Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true }, }, ], "nextPageToken": "AAABBBB" }
이 대답에는 50개의
MerchantStatus: 필터링 조건을 충족하고
merchant_id
입니다. 응답에는 페이지 토큰(
다음 페이지를 쿼리해야 합니다.
참고: 필터링 조건은 모든 제품에서 일관되어야 합니다. 있습니다.
권장사항
판매자 상태는 대부분의 경우 자주 변경되지 않으므로 검색 결과를 캐시하고 정기적으로 (예: 새 쿼리를 통해 가져올 수 있습니다. Actions Center에서 초당 요청 수가 과도하게 많은 것으로 판단될 경우 쿼리를 실행할 수 있습니다.