Пакетный прием

Ваши каналы данных позволяют сделать ваш ресторан, услуги и меню доступными в сквозном заказе.

В этом документе описывается, как разместить песочницу и производственные запасы, а также использовать пакетный прием для обновления запасов в сквозном заказе.

Среды подачи данных

Для разработки интеграции доступны три среды подачи данных:

Кормовая среда Описание Пакетный прием
Песочница Тестовая среда для разработки вашего канала. Необходимый
Производство Производственная среда для вашего инвентаря, которую вы хотите запустить. Необходимый

Хостинг каналов данных

Чтобы компания Ordering End-to-End могла обрабатывать каналы данных песочницы и производства путем пакетного приема, вам необходимо разместить файлы каналов данных в Google Cloud Storage, Amazon S3 или HTTPS с картой сайта.

Мы рекомендуем размещать каналы данных для песочницы и производственной среды отдельно. Этот подход позволяет вам выполнять разработку и тестирование в среде песочницы перед развертыванием изменений в рабочей среде.

Например, если вы используете Google Cloud Storage в качестве варианта хостинга, у вас будут следующие пути:

  • Фид песочницы: gs://foorestaurant-google-feed-sandbox/
  • Производственный фид: gs://foorestaurant-google-feed-prod/

Чтобы разместить свой инвентарь, выполните следующие действия:

  1. Создайте файлы каналов данных.
  2. Выберите хостинговое решение.
  3. Размещайте свои каналы данных.
  4. Убедитесь, что файлы каналов данных регулярно обновляются. Фиды производственных данных должны обновляться ежедневно.

Подробные сведения о том, как создать фид ресурсов, см. в документации по сущностям Restaurant , Service и Menu , а также в разделе Создание фида данных .

Рекомендации по файлам фидов данных

Каждый файл, который может содержать несколько объектов, не должен превышать 200 МБ. Объекты верхнего уровня Restaurant , Service и Menu вместе со своими дочерними объектами не должны превышать 4 МБ вместе.

Выберите хостинговое решение

В следующей таблице перечислены варианты размещения ваших каналов данных и то, как эти хосты работают со сквозным заказом:

Амазонка S3 Облачное хранилище Google HTTPS с картой сайта
Учетные данные и доступ

Предоставьте Google следующую информацию:

  • Идентификатор ключа доступа
  • Секретный ключ доступа
  • Пути к каталогам рабочей среды и песочницы S3, а также файлу marker.txt . Путь должен начинаться с s3:// .

Корзина S3 должна включать следующую информацию:

  • Файлы подачи для вашего инвентаря.
  • marker.txt , который содержит метку времени, используемую для выборки.

Пример файла marker.txt : 2018-12-03T08:30:42.694Z

Предоставьте Google пути к каталогам корзин рабочей среды и песочницы, а также файлу marker.txt . Пути должны начинаться с gs:// .

Добавьте сервисный аккаунт, предоставленный вашим консультантом Google, в качестве читателя вашего сегмента Google Cloud Storage.

Дополнительную информацию о том, как контролировать доступ к Google Cloud Storage (GCS), см. в разделе Консоль Google Cloud Platform: настройка разрешений сегмента .

Сегмент GCS должен включать следующую информацию:

  • Файлы подачи для вашего инвентаря.
  • marker.txt , который содержит метку времени, используемую для выборки.

Пример файла marker.txt : 2018-12-03T08:30:42.694Z

Предоставьте Google следующую информацию:

  • Учетные данные для вашей базовой аутентификации.
  • Путь к вашей рабочей карте сайта и карте сайта песочницы. Путь должен начинаться с https:// .
  • Протокол: вы должны сделать файлы каналов доступными через HTTPS, а не HTTP.
  • Безопасность. Google настоятельно рекомендует защищать файлы размещенных каналов с помощью базовой аутентификации.
Как Google узнает, какие файлы необходимо загрузить Список каталогов всех файлов в корзине. Список каталогов всех файлов в корзине. Отдельные URL-адреса файлов, перечисленных в карте сайта .
Как Google узнает, что файлы готовы к загрузке После завершения создания каналов данных обновите файл marker.txt , указав последнюю временную метку. После завершения создания каналов данных обновите файл marker.txt , указав последнюю временную метку. После завершения создания фидов данных обновите заголовок ответа last-modified в файле sitemap.xml , указав последнюю временную метку.
Ограничения файлов

Максимальное количество файлов: 100 000.

В вашей корзине Amazon S3 должно быть менее 100 000 файлов.

Максимальное количество файлов: 100 000.

В вашем хранилище Google Cloud Storage должно быть менее 100 000 файлов.

Максимальное количество файлов: 100 000.

Количество путей к файлам в XML-файле карты сайта должно быть меньше 100 000.

Подключите каналы данных для пакетного приема

После того как вы разместите свои каналы, вам необходимо подключить их к своему проекту в Центре действий . Первоначальная настройка производственных каналов выполняется на странице «Задачи адаптации» . В дальнейшем конфигурацию производственных и изолированных каналов может быть обновлена ​​на странице Конфигурация > Каналы в любое время любым пользователем портала с административной ролью. Среда песочницы используется для целей разработки и тестирования, а рабочие каналы отображаются пользователям.

Если вы размещаете свои каналы данных на Amazon S3

  1. В Центре действий выберите Конфигурация > Ленты .
  2. Нажмите «Изменить» и заполните форму «Обновить ленту» :

    • Способ доставки корма: установите Amazon S3 .
    • Файл маркера: укажите URL-адрес файла marker.txt .
    • Файлы данных. Укажите URL-адрес корзины S3, содержащей каналы данных.
    • Идентификатор доступа: введите идентификатор ключа доступа IAM с разрешениями на чтение из ресурсов S3.
    • Ключ доступа: введите секретный ключ доступа IAM с разрешениями на чтение из ресурсов S3.
  3. Нажмите «Отправить» .
  4. Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.

Если вы размещаете свои каналы данных в Google Cloud Storage

  1. В Центре действий выберите Конфигурация > Ленты .
  2. Нажмите «Изменить» и заполните форму «Обновить ленту» :

    • Способ доставки фида: выберите Google Cloud Storage .
    • Файл маркера: укажите URL-адрес файла marker.txt .
    • Файлы данных. Укажите URL-адрес сегмента GCS, содержащего каналы данных.
  3. Нажмите «Отправить» .
  4. Для доступа к вашему сегменту GCS создается сервисный аккаунт. Имя учетной записи можно найти в разделе «Конфигурация» > «Каналы» после завершения задач регистрации. Этой учетной записи службы требуется роль «Читатель устаревших объектов хранилища». Эту роль можно предоставить сервисному аккаунту на странице IAM консоли Google Cloud .
  5. Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.

Если вы размещаете свои каналы данных по протоколу HTTPS

  1. В Центре действий выберите Конфигурация > Ленты .
  2. Нажмите «Изменить» и заполните форму «Обновить ленту» :

    • Метод доставки фида: установите HTTPS .
    • Файл карты сайта: укажите URL-адрес файла sitemap.xml .
    • Имя пользователя: введите учетные данные пользователя для доступа к серверу HTTPS.
    • Пароль: введите пароль для доступа к HTTPS-серверу.
  3. Нажмите «Отправить» .
  4. Через один-два часа проверьте, загружаются ли файлы фида при пакетном приеме.

Примеры путей

В следующей таблице приведены примеры путей для каждого варианта хостинга:

Амазонка S3 Облачное хранилище Google HTTPS с картой сайта
Путь s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Маркерный файл s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt Непригодный

Карты сайта для HTTPS-хостинга

При определении файлов Sitemap используйте следующие рекомендации:

  • Ссылки в вашей карте сайта должны указывать на сами файлы.
  • Если ваша карта сайта содержит ссылки на поставщика облачных услуг вместо вашего собственного доменного имени, убедитесь, что начало URL-адресов, например https://www.yourcloudprovider.com/your_id , стабильно и уникально для вашего пакетного задания.
  • Будьте осторожны и не загружайте частичные файлы Sitemap (например, в случае частичной загрузки данных). В результате Google будет импортировать только файлы из карты сайта, что приведет к снижению уровня вашего инвентаря и может привести к блокировке приема вашего канала.
  • Убедитесь, что пути к файлам, указанным в карте сайта, не изменились. Например, сегодня у вас нет ссылки на карту сайта https://www.yourcloudprovider.com/your_id/10000.json , а завтра — https://www.yourcloudprovider.com/your_id/20000.json .
Пример карты сайта

Вот пример файла sitemap.xml , который обслуживает файлы фида данных:

Пример 1. Объекты сгруппированы по продавцам (рекомендуется).

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Пример 2: Сущности, сгруппированные по типам.

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/menu.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/service.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Обновите фиды данных

После подключения ваших фидов данных Google проверяет наличие обновлений один раз в час, но мы принимаем все фиды данных только в том случае, если файлы marker.txt или sitemap.xml были изменены. Мы ожидаем, что вы будете обновлять свои каналы данных один раз в день, чтобы предотвратить устаревшие ресурсы.

Чтобы указать, что каналы данных были изменены и готовы к пакетному приему, обновите поле метаданных last-modified объекта в файле marker.txt (для GCP и S3) или заголовок last-modified ответа в файле sitemap.xml . Google использует эти значения, чтобы определить, насколько свежи данные.

Во время приема пакетного канала

  • Будут вставлены новые объекты, которые не существуют в вашем текущем инвентаре сквозного заказа и не имеют ошибок.
  • Объекты, уже присутствующие в инвентаре, которые не имеют никаких ошибок при приеме и либо имеют dateModified более позднюю, чем их текущая запись, либо, в случае отсутствия dateModified время начала приема фида более позднее, чем текущая запись, они будут обновлены, иначе они будут помечены как устаревшие.
  • Объекты, которые были частью предыдущего фида и больше не включены в обрабатываемый пакетный фид, будут удалены при условии, что в фиде нет ошибок на уровне файлов.

Временную метку или заголовок ответа last-modified необходимо обновлять только после того, как все файлы канала данных будут созданы и обновлены. Ограничьте запуск пакетных заданий, обновляющих каналы данных, только один раз в день. Альтернативно, между каждым пакетным заданием должен быть перерыв не менее трех часов. Если вы не выполните эти действия, Google может получить устаревшие файлы.