Информацию о наличии товаров в вашей системе можно получить из-за новых бронирований, отмен и изменений в расписании у ваших продавцов. API обновления в реальном времени (RTU) — это механизм, позволяющий уведомлять Google об этих изменениях, а также об изменениях в существующих бронированиях.
RTU требуются в следующих случаях:
- Когда пользователь отменяет бронирование в вашей системе, и слот становится доступным.
- Когда пользователь бронирует место через Центр действий, а слот больше не доступен.
- Если бронирование, оформленное через Центр действий, отменено с вашей стороны. Например, отмена была произведена непосредственно продавцом. Вам необходимо обновить бронирование и информацию о наличии мест, поскольку исходный слот теперь доступен.
Прежде чем перейти к проверке в песочнице, выполните следующую контрольную задачу RTU:
Каждая задача считается выполненной и становится зелёной, если последние 20 запросов не содержат ошибок в течение 14 дней. Продолжайте отправлять успешные запросы, чтобы этап оставался зелёным.
API RTU и каналы
API RTU уведомляют Google о постепенных изменениях доступности инвентаря и бронирований в режиме реального времени. Помимо RTU, ежедневно отправляйте полные фиды доступности. Это гарантирует, что Google будет располагать самой точной и актуальной информацией о наличии инвентаря, имеющейся в вашей системе. Полные фиды представляют собой моментальный снимок текущего состояния доступности инвентаря в вашей системе.
Более подробную информацию можно найти в следующих ресурсах:
Доступ к API
Ваш проект Google Cloud — это способ доступа к API бронирования Карт Центра действий, который используется для отправки RTU. Необходимо использовать учётную запись Google в консоли разработчиков Google и указать номер своего облачного проекта на этапе настройки вашего плана подключения. Подробнее о включении облачных API см. в разделе «Включение CloudAPI» .
Используйте RESTful-вызовы или загрузите клиентскую библиотеку
Мы рекомендуем отправлять RESTful-вызовы непосредственно к Maps Booking API с полезными данными JSON. Подробнее см. в документации REST API .
Вы также можете использовать клиентские библиотеки для подключения к API.
Язык | Ссылка для скачивания |
---|---|
Ява | Клиентская библиотека Java . Подробнее см. в инструкциях по клиенту Java. | .
Доступны для загрузки дополнительные библиотеки поддержки , которые обрабатывают авторизацию и другие аспекты вызовов API Google. Подробнее см. в разделе «Примеры кода» .
Получить документ Discovery
Для некоторых клиентских библиотек, таких как Ruby, необходимо получить документ Discovery для API, описывающий его методы и параметры.
Чтобы получить документ Discovery, используйте следующую команду:
curl -s -o mapsbooking_rest
https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha
Дополнительную информацию о том, как получить доступ к API из Ruby, см. в разделах Ruby API Client и Ruby Auth Library .
Выполнять авторизованные вызовы API
При выполнении вызовов API обратитесь к разделу Подготовка к выполнению делегированного вызова API , чтобы авторизовать свою учетную запись службы с помощью своего закрытого ключа и следующей области действия OAuth:
https://www.googleapis.com/auth/mapsbooking
Конечные точки песочницы и производства
Вы можете вызывать обе среды (песочницу и производство) через API. Убедитесь, что оба API включены в вашем проекте Google Cloud. Оба API используют одну и ту же область действия, но имеют разные конечные точки.
Конечная точка производства : https://mapsbooking.googleapis.com/
Конечная точка песочницы : https://partnerdev-mapsbooking.googleapis.com/
Ниже приведен пример переключения конечных точек на Java:
// 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()