Варианты использования
API бронирования Google Карт предоставляет два метода, которые можно использовать для программного получения статуса отдельных продавцов для различных интеграций Центра действий или инвентаря рекламы местных услуг .
Варианты использования API статуса продавца:
- Улучшите существующие инструменты управления взаимоотношениями с клиентами, чтобы продемонстрировать своим клиентам, как их инвентарь отображается на платформе Центра действий.
- Создайте панель управления для отслеживания состояния запасов и статуса соответствия ваших продавцов.
- Программно извлекайте статусы соответствия и бронирования у ваших продавцов и исправляйте любую неверную информацию для повышения качества данных.
Что содержит статус торговца?
MerchantStatus содержит следующую информацию:
- Статус инвентаря продавца: применяется как к продавцам, осуществляющим бронирование, так и к продавцам, осуществляющим лист ожидания.
- Статус сопоставления продавца: включает сведения о сопоставленном бизнес-листинге
- Только для рекламы местных услуг Google ) Поставщик соответствующих услуг продавца: включает идентификатор клиента и категории услуг.
- URL-адреса, демонстрирующие, как продавец отображается через «Забронировать через Google».
Поиск статуса отдельного торговца
Статус отдельного продавца можно получить с помощью 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 . Ответ также содержит токен страницы (если это не последняя страница) для запроса следующей страницы.
Обратите внимание: условия фильтрации должны быть одинаковыми на всех страницах.
Лучшие практики
Поскольку статусы продавцов в большинстве случаев меняются нечасто, рекомендуется кэшировать полученные результаты и периодически (например, каждые несколько часов) извлекать их с помощью новых запросов. Центр действий может ограничить количество запросов, если количество запросов в секунду окажется слишком высоким.