In diesem Dokument werden einige Best Practices für die Verwendung der CSS API beschrieben. Die Empfehlungen auf dieser Seite sind für die Verwendung der API nicht zwingend erforderlich, können aber helfen, einige der beabsichtigten Verwendungszwecke zu verdeutlichen.
Umgebung einrichten
Folgen Sie der Anleitung in der Kurzanleitung, um Ihre Entwicklungsumgebung einzurichten.
- Nutzer- und Berechtigungs-JSON-Datei in der Google Cloud Console generieren
- CSS API in der Google Cloud Console aktivieren
- Fügen Sie diesen Nutzer mit Administratorberechtigungen Ihrem Preisvergleichsportal-Konto (Preisvergleichsportal-Gruppe oder ‑Domain) hinzu.
- Prüfen Sie, ob Sie den richtigen OAuth-Bereich verwenden:
https://www.googleapis.com/auth/content
Clientbibliotheken sind jetzt in den Standard-Repositories für die meisten Programmiersprachen verfügbar. Eine Liste der Clientbibliotheken finden Sie auf der Seite Clientbibliotheken.
Korrekte IDs verwenden
Verwenden Sie die richtigen IDs mit den richtigen API-Endpunkten:
- CSS API (
css.googleapis.com
): Verwenden Sie die CSS-Domain-ID, wenn Sie mit Preisvergleichsportal-Produkten interagieren (z.B.accounts/{cssDomainId}/cssProductInputs:insert
). - Merchant API (
merchantapi.googleapis.com
): Verwenden Sie die Merchant API für Standardhändlerprodukte.
Wenn Sie diese verwechseln, führt das zu Fehlern. Weitere Informationen finden Sie in der Übersicht über die CSS API.
Gute Methoden für den Einstieg
Wir empfehlen, mit den folgenden Methoden zu testen:
ListChildAccounts
ListChildAccounts ist ein schreibgeschützter Aufruf, mit dem alle Ihre Preisvergleichsportal-Domains (wenn er für eine Preisvergleichsportal-Gruppe aufgerufen wird) oder Ihre Händler (wenn er für eine Preisvergleichsportal-Domain aufgerufen wird) aufgeführt werden. Sie ist daher eine gute Methode, um zu prüfen, ob alles richtig eingerichtet ist.
Produkt einfügen/auflisten/aktualisieren/löschen
Wenn Sie wissen, dass die API selbst funktioniert, versuchen Sie, ein Produkt hinzuzufügen. Verwenden Sie ein raw_provided_id
, das Sie sich merken können.
- Fügen Sie ein Testprodukt mit InsertCssProductInput ein. Beispielcode ist verfügbar, falls Sie Hilfe bei der Auswahl der zu sendenden Attributen benötigen.
- Listen Sie alle Ihre Produkte mit ListCssProducts auf. Es kann einige Zeit dauern, bis ein Produkt nach dem Einfügen angezeigt wird. Wenn Sie es nicht sehen, versuchen Sie es nach einigen Sekunden noch einmal.
- Aktualisieren Sie ein einzelnes Produkt mit UpdateCssProductInput und Ihrer
cssproductinput.name
. Sie müssen nur die Attribute senden, die aktualisiert werden sollen. Beispielcode - Löschen Sie das Testprodukt mit DeleteCssProductInput.
Sie müssen die
raw_provided_id
verwenden.
Leistung mit Async verbessern
Die CSS API ist für parallele Aufrufe konzipiert. Die Leistung einzelner Vorgänge kann langsam sein, ist aber viel schneller, wenn derselbe Vorgang mehrmals parallel aufgerufen wird. Am besten nutzen Sie dafür die asynchrone Funktion Ihrer Programmiersprache.
Beispiele aus einigen Programmiersprachen:
- Verwenden Sie für Java insertCssProductInputCallable().futureCall().
- Verwenden Sie für Python CssProductInputsServiceAsyncClient.
- Für C# verwenden Sie InsertCssProductInputAsync.
Suchen Sie nach der asynchronen Funktion Ihrer Programmiersprache und verwenden Sie sie, um mehrere Produkte gleichzeitig einzufügen. Sie müssen sich keine Sorgen machen, dass unsere Systeme überlastet werden – dafür sind die Kontingentlimits da.
Weitere Informationen finden Sie auf unserer Seite zur Leistung.
Nutzlasten validieren
So vermeiden Sie häufige Fehler:
- Offizielle Dokumentation lesen:Sehen Sie immer in der aktuellen CSS API-Referenz nach, um Informationen zu Felddefinitionen, Enums, Datentypen und zur Nutzlaststruktur zu erhalten.
- Beispiel-Nutzlasten prüfen:Vergleichen Sie Ihre Nutzlasten mit den bereitgestellten Codebeispielen, um Abweichungen zu erkennen.
- Datentypen:Achten Sie darauf, dass Sie die richtigen Datentypen (z.B. Strings, Objekte, Arrays) verwenden, wie in der Dokumentation angegeben.
- Schrittweise testen:Beginnen Sie mit minimalen gültigen Nutzlasten, um die grundlegende Verbindung zu bestätigen, und fügen Sie nach und nach weitere Attribute hinzu.
Produkt aktualisieren
Sobald ein Produkt hochgeladen wurde, verbleibt es in unserem System, bis es aktualisiert, gelöscht oder abgelaufen ist.
- Sie können das gesamte Produkt aktualisieren, indem Sie die
InsertCssProductInput
-Anfrage mit derselbenraw_provided_id
wie beim ersten Mal noch einmal senden. Derzeit müssen Sie die vollständigen Produktdaten senden, auch wenn sich nur einige Attribute (möglicherweise nur Preis/Verfügbarkeit) geändert haben. - Sie können Teile eines Produkts mit der PATCH-Methode
UpdateCssProductInput
aktualisieren. Dazu geben Sie den Produktnamen und einen JSON-Text an, der die Daten enthält, die Sie für das Produkt aktualisieren möchten. Im Gegensatz zuInsertCssProductInput
, bei dem alle anwendbaren Felder angegeben werden müssen, müssen Sie beiUpdateCssProductInput
nur die Felder angeben, die Sie ändern möchten. - Sie können ein Produkt löschen, indem Sie
DeleteCssProductInput
mit demselbenraw_provided_id
aufrufen. - Produkte laufen etwa einen Monat nach dem letzten Update automatisch ab.
Kontinuierlicher Betriebsmodus
Ein kontinuierlicher Betriebsmodus könnte so aussehen:
- Verwenden Sie Ihre eigenen internen IDs als
raw_provided_id
. - Laden Sie alle Produkte regelmäßig, z. B. wöchentlich, noch einmal hoch. So wird verhindert, dass aktive Produkte ablaufen.
- Aktualisieren Sie einzelne Produkte, sobald Sie die geänderten Daten von Ihren Händlern erhalten.
- Wenn Sie nicht sofort auf Änderungen reagieren können, sollten Sie alle geänderten Produkte regelmäßig (vielleicht stündlich) suchen und nur diese Produkte noch einmal hochladen.
- Für Produkte, die nicht mehr verfügbar sind, können Sie entweder den Löschaufruf verwenden oder die Anzahl der verfügbaren Angebote auf 0 setzen.
- Senden Sie uns nicht häufig unveränderte Produkte. Diese Aufrufe würden auf Ihr API-Kontingent angerechnet. Eine wöchentliche Aktualisierung ist ausreichend.
Auswahl des Hauptangebots
Das Hauptangebot muss nicht unbedingt das Top- oder das günstigste Angebot auf Ihrer Website sein, es muss aber gut sichtbar präsentiert werden. Das kann hilfreich sein, wenn sich Ihr Top-Angebot schnell ändert. In diesem Fall können Sie ein anderes, stabileres Angebot auswählen.
Dieses Dokument regelmäßig überprüfen
Wir haben Feedback dazu erhalten, wie wir diese API verbessern können, und arbeiten daran, einige dieser Verbesserungen umzusetzen. Diese Seite wird aktualisiert, sobald neue Funktionen verfügbar sind, die die Verwendung der CSS API vereinfachen.