Szenario
Der Kategoriebereich muss Paginierung unterstützen und 3 Produkte pro Seite anzeigen. Wenn möglich, wird das erste Produkt auf jeder Seite ein gesponsertes Produkt sein. Die Produkte auf dieser Kategorieseite haben folgende Struktur:resolvedBidId ist null, wenn das Produkt nicht beworben wird, und enthält eine String-ID, wenn es beworben wird.
Unser Ziel ist es, den Pseudocode für einen Endpoint zu haben, der Listen solcher Produkte erstellen könnte.
1. Abfrage Ihrer organischen Ergebnisse
Der erste Schritt besteht darin, Ihre organischen Ergebnisse abzufragen. Die Produkte, die für eine bestimmte Seite und Kategorie angezeigt werden sollten. Der Code dafür könnte so aussehen:Shoes ausführen, und es sind 3 oder mehr Produkte in dieser Kategorie verfügbar. Dieser Code würde dann etwa Folgendes ausgeben:
resolvedBidId-Feld haben. Fügen wir es hinzu.
2. Durchführung einer Auktion
In unserem Szenario möchten wir eine Auktion für einen einzelnen Slot durchführen:Sie wissen nicht, wie man eine Auktion für eine Kategorie durchführt? Siehe diese
Beispiele.
products zurück.
3. Abfrage der Produktdaten für Gewinner
Nun, wenn es Gewinner gibt. Wir müssen die Produktdaten für sie abfragen.resolvedBidId hinzufügen, um diese Daten zu vervollständigen. Aber diesmal sollten wir sie nicht auf null setzen, da wir jetzt mit beworbenen Produkten arbeiten.
Wenn wir annehmen, dass queryProductsByIds Produkte in der gleichen Reihenfolge wie die bereitgestellten ids zurückgibt, können wir die Auktions-IDs wie folgt hinzufügen:
Warum ist diese Auktions-ID erforderlich? Die Auktions-ID ist unerlässlich, damit Topsort
Ereignisse Auktionen und Kampagnen zuordnen kann.
4. Zusammenführung
Wir möchten die beworbenen Produkte am Anfang der Liste anzeigen. Um dies zu erreichen, müssen wir diepromoProducts am Anfang der products hinzufügen.
Dies kann jedoch dazu führen, dass products mehr Elemente hat als unsere vorgesehene Seitengröße von 3. Wir müssen es also auf diese Seitengröße zuschneiden.