Skip to main content
Topsort.php ist ein PHP Software Development Kit für die Auktions- und Ereignisverfolgung-APIs von Topsort.
Mindestanforderungen: PHP 7.3 und Composer.

Installation

Installieren Sie mit Composer:
Oder fügen Sie zu Ihrer composer.json hinzu:

Ausführen einer Auktion

create_auction erhält die Anzahl der Slots, die Produkt-IDs, deren Quality Scores, eine Kategorie-ID, eine Suchanfrage und die opaqueUserId des Käufers, in dieser Reihenfolge. Übergeben Sie null für die Argumente, die Sie nicht verwenden.
Für eine Banner-Auktion verwenden Sie create_banner_auction:

Ereignismeldung

Melden Sie einen Render, wenn Ihr Server einen Gewinner in die Seite einfügt, und eine Impression, wenn dieser Gewinner für den Käufer sichtbar wird. Senden Sie für einen Käufer bei jeder Auktion und jedem Ereignis dieselbe opaqueUserId, zum Beispiel eine ID, die Sie in einem Cookie oder in Ihrer Login-Sitzung speichern. Eine neue ID pro Ereignis verhindert die Attribution. Das SDK erzeugt keine eigene ID: Die report_*-Methoden werfen eine Topsort\InvalidEventException, wenn sie fehlt oder leer ist, bevor etwas gesendet wird. Jede report_*-Methode gibt ein Promise zurück, und es wird nichts gesendet, bis Sie ->wait() darauf aufrufen. wait() blockiert, bis Topsort antwortet. Melden Sie Ereignisse daher nach Möglichkeit erst, nachdem die Antwort an den Käufer gesendet wurde, zum Beispiel nach fastcgi_finish_request().
Wenn die Seite auch analytics.js lädt, meldet diese Bibliothek bereits Renders, Impressionen und Klicks für jedes Element mit data-ts-resolved-bid. Melden Sie diese Ereignisse nicht zusätzlich mit dem SDK.

Renders

Ein Render erfasst, dass eine gesponserte Anzeige in die Seite eingefügt wurde, unabhängig davon, ob sie jemals sichtbar wird. Renders gibt es nur für gesponserte Anzeigen, daher erhält report_render die resolvedBidId als erstes Argument und es gibt kein entity-Feld.

Impressionen

Eine Impression erfasst, dass eine Anzeige oder ein Produkt für den Käufer sichtbar wurde. Ihr Server kann das nicht sehen. Melden Sie sie daher aus der Anfrage, die Ihr Frontend sendet, wenn das Element in den Viewport gelangt. report_impressions erhält eine Impression pro Aufruf.

Klicks

Ein Klick erfasst, dass der Käufer auf eine Anzeige oder ein Produkt geklickt hat.
Für organische Ergebnisse senden Sie bei Impressionen und Klicks "entity" => ["type" => "product", "id" => "<product id>"] anstelle von resolvedBidId.

Käufe

Ein Kauf erfasst die Produkte, die der Käufer gekauft hat. Topsort ordnet ihn den Anzeigen zu, mit denen der Käufer interagiert hat.
Jedes Ereignis akzeptiert außerdem eine id, die das SDK erzeugt, wenn Sie sie weglassen, und ein occurredAt vom Typ DateTime, standardmäßig die aktuelle Zeit. Alle Ereignisfelder finden Sie in der API-Referenz für Ereignisse.

Fehlerbehandlung

Alle Fehler des SDK erweitern Topsort\TopsortException, daher behandelt ein einziges catch sie alle:
  • Topsort\InvalidEventException wird vom report_*-Aufruf selbst geworfen, wenn das Ereignis ungültig ist, bevor etwas gesendet wird. Lassen Sie den Aufruf im try, nicht nur das ->wait().
  • Topsort\TopsortException wird von ->wait() geworfen, wenn die API die Anfrage ablehnt oder nicht erreichbar ist. Bei einem API-Fehler enthält die Meldung den Antworttext, zum Beispiel Event creation failed: Content: {"errors":[...]}.
Für die vollständige Dokumentation besuchen Sie das GitHub-Repository.