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:
- Erstellen Sie Ihre Datenfeeddateien.
- Wählen Sie eine Hosting-Lösung aus.
- Hosten Sie Ihre Datenfeeds.
- 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:
Der S3-Bucket muss die folgenden Informationen enthalten:
|
Geben Sie Google die Pfade zu den Produktions- und Sandbox-Bucket-Verzeichnissen und zur 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:
|
Stellen Sie Google die folgenden Informationen zur Verfügung:
|
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
- Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
-
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.
- Klicken Sie auf Senden.
- 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
- Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
-
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.
- Klicken Sie auf Senden.
- 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.
- Prüfen Sie nach ein bis zwei Stunden, ob Ihre Feeddateien bei der Batchaufnahme abgerufen werden.
Wenn Sie Ihre Datenfeeds mit HTTPS hosten
- Klicken Sie im Aktionscenter auf Konfiguration > Feeds.
-
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.
- Klicken Sie auf Senden.
- 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 aufhttps://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.