Готовность к обновлениям в реальном времени

Информацию о наличии товаров в вашей системе можно получить из-за новых бронирований, отмен и изменений в расписании у ваших продавцов. 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()