Batchaufnahme

Mit Ihren Datenfeeds können Sie Ihr Restaurant, Ihre Dienstleistungen und Ihre Speisekarte in der Bestellplattform verfügbar machen.

In diesem Dokument wird beschrieben, wie Sie Ihr Sandbox- und Produktionsinventar hosten und Ihr Inventar in der End-to-End-Bestellung mithilfe der Batchaufnahme aktualisieren.

Datenfeed-Umgebungen

Für die Entwicklung der Integration stehen drei Datenfeed-Umgebungen zur Verfügung:

Feedumgebung Beschreibung Batchaufnahme
Sandbox Die Testumgebung für die Feedentwicklung. Erforderlich
Produktion Die Produktionsumgebung für das Inventar, das Sie veröffentlichen möchten. Erforderlich

Datenfeeds hosten

Damit die End-to-End-Bestellung Ihre Sandbox- und Produktionsdatenfeeds per Batch-Aufnahme verarbeiten kann, müssen Sie Ihre Datenfeeddateien in Google Cloud Storage, Amazon S3 oder HTTPS mit einer Sitemap hosten.

Wir empfehlen, die Datenfeeds für Ihre Sandbox- und Produktionsumgebungen getrennt zu hosten. So können Sie die Entwicklung und Tests in Ihrer Sandbox-Feedumgebung durchführen, bevor Sie die Änderungen in der Produktionsumgebung bereitstellen.

Wenn Sie beispielsweise Google Cloud Storage als Hostingoption verwenden, haben Sie folgende Pfade:

  • Sandbox-Feed: gs://foorestaurant-google-feed-sandbox/
  • Produktionsfeed: gs://foorestaurant-google-feed-prod/

So hosten Sie Ihr Inventar:

  1. Erstellen Sie Ihre Datenfeeddateien.
  2. Wählen Sie eine Hosting-Lösung aus.
  3. Hosten Sie Ihre Datenfeeds.
  4. Achten Sie darauf, dass Ihre Datenfeeddateien regelmäßig aktualisiert werden. Produktionsdatenfeeds müssen täglich aktualisiert werden.

Weitere Informationen zum Erstellen eines Inventarfeeds finden Sie in der Dokumentation zu den Entitäten Restaurant, Service und Menu sowie im Abschnitt Datenfeed erstellen.

Richtlinien für Datenfeeddateien

Jede Datei, die mehrere Entitäten enthalten kann, darf 200 MB nicht überschreiten. Die übergeordneten Entitäten Restaurant, Service und Menu sowie ihre untergeordneten Entitäten dürfen insgesamt nicht mehr als 4 MB groß sein.

Hostinglösung auswählen

In der folgenden Tabelle sind die Optionen für das Hosting Ihrer Datenfeeds und die Funktionsweise dieser Hosts mit der End-to-End-Bestellung aufgeführt:

Amazon S3 Google Cloud Storage HTTPS mit einer Sitemap
Anmeldedaten und Zugriff

Stellen Sie Google die folgenden Informationen zur Verfügung:

  • Zugriffsschlüssel-ID
  • Geheimer Zugriffsschlüssel
  • Die Pfade zu den S3-Verzeichnissen und der marker.txt-Datei in der Produktions- und Sandboxumgebung. Der Pfad muss mit s3:// beginnen.

Der S3-Bucket muss die folgenden Informationen enthalten:

  • Feeddateien für Ihr Inventar
  • marker.txt, das einen Zeitstempel enthält, der für das Abrufen verwendet wird.

marker.txt-Beispieldatei: 2018-12-03T08:30:42.694Z

Geben Sie Google die Pfade zu den Produktions- und Sandbox-Bucket-Verzeichnissen und zur marker.txt-Datei an. Die Pfade müssen mit gs:// beginnen.

Fügen Sie das von Ihrem Google-Berater bereitgestellte Dienstkonto als Leser Ihres Google Cloud Storage-Buckets hinzu.

Weitere Informationen zum Steuern des Zugriffs für Google Cloud Storage (GCS) finden Sie unter Google Cloud Platform Console: Bucket-Berechtigungen festlegen.

Der GCS-Bucket muss die folgenden Informationen enthalten:

  • Feeddateien für Ihr Inventar
  • marker.txt, das einen Zeitstempel enthält, der für das Abrufen verwendet wird.

marker.txt-Beispieldatei: 2018-12-03T08:30:42.694Z

Stellen Sie Google die folgenden Informationen zur Verfügung:

  • Anmeldedaten für die Basisauthentifizierung
  • Der Pfad zu den Sitemap-Pfads für die Produktion und die Sandbox. Der Pfad muss mit https:// beginnen.
  • Protokoll: Sie müssen Ihre Feeddateien über HTTPS und nicht über HTTP verfügbar machen.
  • Sicherheit: Google empfiehlt dringend, Ihre gehosteten Feeddateien mit der Basisauthentifizierung zu schützen.
Woher weiß Google, welche Dateien abgerufen werden müssen? Verzeichnisliste aller Dateien im Bucket. Verzeichnisliste aller Dateien im Bucket. Einzelne URLs von Dateien, die in der Sitemap aufgeführt sind.
So erkennt Google, dass Dateien abgerufen werden können Nachdem Sie Ihre Datenfeeds generiert haben, aktualisieren Sie die Datei marker.txt mit dem aktuellen Zeitstempel. Nachdem Sie Ihre Datenfeeds generiert haben, aktualisieren Sie die Datei marker.txt mit dem aktuellen Zeitstempel. Nachdem Sie Ihre Datenfeeds generiert haben, aktualisieren Sie den Antwortheader last-modified Ihres sitemap.xml mit dem aktuellen Zeitstempel.
Dateilimits

Maximale Anzahl von Dateien: 100.000.

Ihr Amazon S3-Bucket darf insgesamt weniger als 100.000 Dateien enthalten.

Maximale Anzahl von Dateien: 100.000.

Ihr Google Cloud Storage-Bucket darf insgesamt weniger als 100.000 Dateien enthalten.

Maximale Anzahl von Dateien: 100.000.

Die Anzahl der Dateipfade in Ihrer Sitemap-XML-Datei darf 100.000 nicht überschreiten.

Datenfeeds für die Batchaufnahme verknüpfen

Nachdem Sie Ihre Feeds gehostet haben, müssen Sie sie im Actions Center mit Ihrem Projekt verknüpfen. Die Erstkonfiguration von Produktionsfeeds erfolgt auf der Seite Onboarding-Aufgaben. Später kann die Konfiguration der Produktions- und Sandbox-Feeds jederzeit von Portalnutzern mit einer Administratorrolle auf der Seite Konfiguration > Feeds aktualisiert werden. Die Sandbox-Umgebung wird zu Entwicklungs- und Testzwecken verwendet, während die Produktionsfeeds den Nutzern angezeigt werden.

Wenn Sie Ihre Datenfeeds mit Amazon S3 hosten

  1. Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode:Wählen Sie Amazon S3 aus.
    • Markierungsdatei:Geben Sie die URL der marker.txt-Datei an.
    • Dateien:Geben Sie die URL zum S3-Bucket an, der die Datenfeeds enthält.
    • Zugriffs-ID:Geben Sie die Zugriffsschlüssel-ID für IAM mit Berechtigungen zum Lesen von S3-Ressourcen ein.
    • Zugriffsschlüssel:Geben Sie den geheimen Zugriffsschlüssel für IAM mit Berechtigungen zum Lesen von S3-Ressourcen ein.
  3. Klicken Sie auf Senden.
  4. Prüfen Sie nach ein bis zwei Stunden, ob Ihre Feeddateien bei der Batchaufnahme abgerufen werden.

Wenn Sie Ihre Datenfeeds mit Google Cloud Storage hosten

  1. Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode:Legen Sie Google Cloud Storage fest.
    • Markierungsdatei:Geben Sie die URL der marker.txt-Datei an.
    • Dateien:Geben Sie die URL zum GCS-Bucket an, der die Datenfeeds enthält.
  3. Klicken Sie auf Senden.
  4. Es wird ein Dienstkonto für den Zugriff auf Ihren GCS-Bucket erstellt. Sie finden den Kontonamen unter Konfiguration > Feeds, nachdem die Onboarding-Aufgaben abgeschlossen sind. Dieses Dienstkonto benötigt die Rolle „Storage Legacy Object Reader“. Diese Rolle kann dem Dienstkonto auf der IAM-Seite der Google Cloud Console zugewiesen werden.
  5. Prüfen Sie nach ein bis zwei Stunden, ob Ihre Feeddateien bei der Batchaufnahme abgerufen werden.

Wenn Sie Ihre Datenfeeds mit HTTPS hosten

  1. Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode:Legen Sie HTTPS fest.
    • Sitemap-Datei:Geben Sie die URL der sitemap.xml-Datei an.
    • Nutzername:Geben Sie die Anmeldedaten für den Nutzernamen ein, um auf den HTTPS-Server zuzugreifen.
    • Passwort:Geben Sie das Passwort für den Zugriff auf den HTTPS-Server ein.
  3. Klicken Sie auf Senden.
  4. Prüfen Sie nach ein bis zwei Stunden, ob Ihre Feeddateien bei der Batchaufnahme abgerufen werden.

Beispielpfade

In der folgenden Tabelle finden Sie Beispielpfade für jede der Hostingoptionen:

Amazon S3 Google Cloud Storage HTTPS mit einer Sitemap
Pfad s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Markierungsdatei s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt Nicht zutreffend

Sitemaps für HTTPS-Hosting

Beachten Sie beim Definieren von Sitemaps die folgenden Richtlinien:

  • Links in Ihrer Sitemap müssen auf die Dateien selbst verweisen.
  • Wenn Ihre Sitemap Verweise auf einen Cloud-Anbieter anstelle Ihres eigenen Domainnamens enthält, muss der Anfang der URLs, z. B. https://www.yourcloudprovider.com/your_id, stabil und für Ihren Batchjob eindeutig sein.
  • Laden Sie keine teilweisen Sitemaps hoch, z. B. im Falle eines teilweisen Datenuploads. Andernfalls werden von Google nur die Dateien in der Sitemap aufgenommen. Das führt zu einem Rückgang Ihres Inventars und kann dazu führen, dass die Feedaufnahme blockiert wird.
  • Achten Sie darauf, dass sich die Pfade zu den Dateien, auf die in der Sitemap verwiesen wird, nicht ändern. Verweisen Sie in Ihrer Sitemap beispielsweise nicht heute auf https://www.yourcloudprovider.com/your_id/10000.json und morgen auf https://www.yourcloudprovider.com/your_id/20000.json.
Beispiel für eine Sitemap

Hier sehen Sie eine Beispieldatei für sitemap.xml, die Datenfeeddateien bereitstellt:

Beispiel 1: Entitäten nach Händlern gruppiert (empfohlen)

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>

Beispiel 2: Entitäten nach Typen gruppiert

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>

Datenfeeds aktualisieren

Nachdem Ihre Datenfeeds verbunden sind, sucht Google einmal pro Stunde nach Updates. Wir nehmen jedoch nur alle Datenfeeds auf, wenn die marker.txt- oder sitemap.xml-Dateien geändert wurden. Wir empfehlen, Ihre Datenfeeds einmal täglich zu aktualisieren, um veraltete Daten zu vermeiden.

Wenn Sie angeben möchten, dass die Datenfeeds geändert wurden und für die Batchaufnahme bereit sind, aktualisieren Sie das last-modified-Objektmetadatenfeld der marker.txt-Datei (für GCP und S3) oder den last-modified-Antwortheader der sitemap.xml-Datei. Anhand dieser Werte wird ermittelt, wie aktuell ein Datenfeed ist.

Während der Batchfeed aufgenommen wird,

  • Neue Entitäten, die in Ihrem aktuellen End-to-End-Inventar für Bestellungen nicht vorhanden sind und keine Fehler aufweisen, werden eingefügt.
  • Entitäten, die bereits im Inventar vorhanden sind, bei denen bei der Aufnahme keine Fehler aufgetreten sind und die entweder ein dateModified haben, das aktueller ist als der aktuelle Eintrag, oder bei denen der Startzeitpunkt der Feedaufnahme aktueller ist als der aktuelle Eintrag. Sie werden aktualisiert, andernfalls werden sie als veraltet gekennzeichnet.dateModified
  • Entitäten, die Teil eines vorherigen Feeds waren, aber nicht mehr im verarbeiteten Batchfeed enthalten sind, werden gelöscht, sofern im Feed keine Fehler auf Dateiebene auftreten.

Der Zeitstempel oder die last-modified-Antwortheader müssen erst aktualisiert werden, nachdem alle Datenfeeddateien generiert und aktualisiert wurden. Begrenzen Sie die Ausführung der Batchjobs, mit denen Ihre Datenfeeds aktualisiert werden, auf einmal pro Tag. Alternativ können Sie zwischen den einzelnen Batchjobs eine Pause von mindestens drei Stunden einlegen. Andernfalls werden von Google möglicherweise veraltete Dateien abgerufen.