topsort/sdk

Topsort通信库

3.0.1 2024-08-21 12:44 UTC

README

A PHP软件开发套件,用于与Topsort生态系统中的端点交互。

安装

推荐使用Composer安装Topsort的PHP SDK。Composer是PHP的依赖管理工具,允许您声明项目所需的依赖项并将它们安装到项目中。

{
  "require": {
    "topsort/sdk": "3.0.1"
  }
}

或者使用命令行

composer require topsort/sdk

工作原理

所有操作都由我们的OpenAPI文档驱动,因此所有方法都直接映射到API描述。

用法:运行拍卖

Topsort\SDK\SDK::auction需要三个参数

  • slots:一个数组,描述正在拍卖的产品槽位。
  • products:一个数组,包含参与产品的ID。
  • session:一个数组,描述当前会话的用户。
<?php
use Topsort\SDK;

$topsort_client = new SDK("my_api_key");

// An array of product IDs, each describing a product that should participate in
// the auction.
$products = [
    "i8bfHPJaxcAb3",
    "gDG0HV97ed2s"
];

// The Slots number specifies how many auctions winners should be returned for
// the auction.
$slots = 1;

// Run an auction.
$auction_result = $topsort_client->create_auction($slots, $products)->wait();

// => [
// "results" => [
//    [
//      "resultType" => "listings",
//      "winners" => [
//         [
//            "rank" => 1,
//            "type" => "product",
//            "id" => "gDG0HV97ed2s",
//            "resovedBidId" => "AKFU78"
//         ]
//      ]
//    ]
//  ]
//]

用法:报告点击事件

跟踪产品(是否推广)何时被点击。

Topsort\SDK\SDK::report_click需要一个参数,一个具有以下键的数组

  • entity:对于未推广产品是必需的。必须是点击的产品ID。
  • resolvedBidId:对于推广产品是必需的。必须是产品赢得的拍卖的ID。
  • placement:可选。一个描述产品在网站上的位置的数组。
  • id:可选。市场的ID,用于事件。如果有,它应该是唯一的。Topsort可能使用此字段来去重事件。
  • opaqueUserId:可选。市场的用户ID。默认值为存储在cookie中的随机UUID。
  • occurredAt:可选。DateTime,表示点击发生的时间。默认为当前时间。
<?php

use Topsort\SDK;

$topsort_client = new SDK('my_api_key');

$placement = [
  // A marketplace assigned name for a page.
  "path" => "/categories/shoes",
];

// Report the click
$topsort_client->report_click([
  "placement" => $placement,
  "resolvedBidId" => "AKFU78",
]);

用法:报告展示事件

跟踪网站上的产品展示,以及是否有任何拍卖赢家在网站上显示。

Topsort\SDK\SDK::report_impressions需要一个参数,一个具有以下键的数组

  • entity:对于未推广产品是必需的。必须是渲染的产品ID。
  • resolvedBidId:对于推广产品是必需的。必须是产品赢得的拍卖的ID。
  • placement:可选。一个描述产品在网站上的位置的数组。
  • id:可选。市场的ID,用于事件。如果有,它应该是唯一的。Topsort可能使用此字段来去重事件。
  • opaqueUserId:可选。市场的用户ID。默认值为存储在cookie中的随机UUID。
  • occurredAt:可选。DateTime,表示展示发生的时间。默认为当前时间。
<?php

use Topsort\SDK;

$topsort_client = new SDK('my_marketplace', 'my_api_key');

$impression = [
  "placement" => [
    "path" => "/categories/shoes",
  ],
  "resolvedBidId" => "AKFU78",
];

// Report the impressions
$topsort_client->report_impression($impression);

用法:报告购买事件

Topsort\SDK\SDK::report_purchase需要一个参数,一个具有以下键的数组

  • items:产品数据数组。
  • opaqueUserId:可选。市场的用户ID。默认值为存储在cookie中的随机UUID。
  • occurredAt:可选。DateTime,表示购买发生的时间。默认为当前时间。
<?php

use Topsort\SDK;

$topsort_client = new SDK('my_api_key');

$items = [
  [
    "productId" => "gDG0HV97ed2s",
    "quantity" => 2,
    "unitPrice" => 10000,
  ]
];

// Report the purchase
$topsort_client->report_purchase([
  "occurredAt" => new DateTime(),
  "items" => $items,
]);