PHP SDK
Topsort Promoted Listings SDK for PHP
A PHP Software Development Kit for Topsort Promoted Listings APIs.
Installation
The recommended way to install Topsort's SDK for PHP is with Composer. Composer is a dependency management tool for PHP that allows you to declare the dependencies your project needs and installs them into your project. Alternatively you can grab the code directly from Github.
{
"require": {
"topsort/php-sdk": "1.0.1"
}
}
Or with the command line:
composer require topsort/php-sdk
How it works
All operations are driven by our API documentation, so all methods maps directly to the API description.
Usage: Running an auction
Topsort\SDK\SDK::auction
requires three arguments:
- slots: An array describing the product slots that are being auctioned.
- products: An array, with the id's of the participating products.
- session: An array, describing the user on the current session.
<?php
use Topsort\SDK;
$topsort_client = new SDK('my_marketplace', 'my_api_key');
// An array of objects, each describing a product that should participate in
// the auction.
$products = [
[
"productId" => "i8bfHPJaxcAb3",
"quality" => "0.5"
],
[
"productId" => "gDG0HV97ed2s",
"quality" => "0.6"
]
];
// Identifiers describing the consumer's session on the e-commerce site.
$session = [
"sessionId" => "igwq0hEGZ8W56"
];
// The Slots object specifies how many auctions winners should be returned for
// each promotion type. The promotion types depend on the marketplace configuration.
// "listings", "videoAds" and "bannerAds" are common.
$slots = [
"listings" => 1
];
// Run an auction.
$auction_result = $topsort_client->auction($slots, $products, $session)->wait();
// => [
// "slots" => [
// "listings" => [
// "auctionId": "AKFU78",
// "winners": [
// [
// "rank" => 0,
// "productId" => "gDG0HV97ed2s"
// ]
// ]
// ]
// ]
//]
Usage: Reporting click events
Tracks whenever a product, promoted or not, had a click.
Topsort\SDK\SDK::report_click
requires one argument, an array with the following keys:
- session (required): An array describing the user on the current session.
- placement (required): An array describing where the click happened
- productId (required): The product that was clicked.
- auctionId: Required for promoted products. Must be the ID for the auction the product won.
<?php
use Topsort\SDK;
$topsort_client = new SDK('my_marketplace', 'my_api_key');
// session
$session = [
"sessionId" => "igwq0hEGZ8W56"
];
$placement = [
// A marketplace assigned name for a page.
"page" => "/categories/shoes",
// A marketplace defined name for a page part.
"location" => "position_1"
];
// Report the click
$topsort_client->report_click([
"session" => $session,
"placement" => $placement,
"productId" => "gDG0HV97ed2s",
"auctionId" => "AKFU78"
]);
Usage: Reporting impression events
Tracks the product impressions on the site, and if any auction winners were rendered on the site.
Topsort\SDK\SDK::report_impressions
requires one argument, an array with the following keys:
- session (required): An array describing the user on the current session.
- id: The marketplace's ID for the event. If present, it should be unique. Topsort may use this field to de-duplicate events. Also useful for correlating marketplace and Topsort events.
- impressions (required): An array of impression arrays, each containg data from the product rendered
<?php
use Topsort\SDK;
$topsort_client = new SDK('my_marketplace', 'my_api_key');
$session = [
"sessionId" => "igwq0hEGZ8W56"
];
$impressions = [
[
"placement" => [
"page" => "/categories/shoes",
"location" => "position_1"
],
"productId" => "gDG0HV97ed2s",
"auctionId" => "AKFU78",
],
[
"placement" => [
"page" => "/categories/shoes",
"location" => "position_2"
],
"productId" => "i8bfHPJaxcAb3"
]
];
// Report the impressions
$topsort_client->report_impression([
"session" => $session,
"impressions" => $impressions
]);
Usage: Reporting purchases events
Topsort\SDK\SDK::report_purchase
requires one argument, an array with the following keys:
- session (required): An array describing the user on the current session.
- purchasedAt (required): A DateTime, from when the purchase happened.
- currency: (required): The currency used in the purchase.
- items: (required): An array of product data.
<?php
use Topsort\SDK;
$topsort_client = new SDK('my_marketplace', 'my_api_key');
$session = [
"sessionId" => "igwq0hEGZ8W56"
];
$items = [
[
"productId" => "gDG0HV97ed2s",
"auctionId" => "AKFU78",
"quantity" => 2,
"unitPrice" => 10000
]
];
// Report the purchase
$topsort_client->report_purchase([
"session" => $session,
"purchasedAt" => new DateTime(),
"currency" => "USD",
"items" => $items
]);
Updated 6 months ago