printcart/php-printcart-sdk

Printcart API 的 PHP SDK

v1.1 2022-05-20 08:43 UTC

This package is auto-updated.

Last update: 2024-09-20 15:05:58 UTC


README

PHPPrintcart 是 Printcart API 的简单 SDK 实现。它帮助以面向对象的方式访问 API。

安装

使用 Composer 安装

composer require printcart/php-printcart-sdk

要求

PHPPrintcart 使用 Guzzle 扩展来处理 HTTP 请求。因此,您需要安装并启用 guzzlehttp 扩展。

但是,如果您更喜欢使用其他任何可用的包库来处理 HTTP 请求,您可以通过修改 PHPPrintcart\GuzzleRequest 类中的每个 get()post()put()delete() 方法中的一行代码来实现。

如何获取商店的永久访问令牌?

有一个 AuthHelper 类可以帮助您使用 oAuth 从商店获取永久访问令牌。

$config = array(
    'Username' => 'pcsia_b9a7d6fa332b74bdd073cabbac0e6ee539ed3b361aca0c2f7b9bbfe683430cce',
    'Password' => 'pcsup_02be5f225e8ddb1ff1569cf4bac0c9346c60928394902ab2f193fcd5bfc2657d'
);

PHPPrintcart\PrintcartSDK::config($config);

获取 PrintcartSDK 对象

$printcart = new PHPPrintcart\PrintcartSDK;

您可以在实例化对象时提供配置参数(如果您还没有通过调用 config() 方法进行配置)

$printcart = new PHPPrintcart\PrintcartSDK($config);
现在,您可以通过调用对象中的资源以面向对象的方式执行 get()post()put()put_batch()delete()delete_batch()。所有资源都命名为与 Printcart API 参考中相同。(见下方的资源映射。)

如果请求成功,所有请求都返回一个数组(可以是一个单一的资源数组或多个资源的数组)。当不需要结果时(例如 DELETE 请求),将返回一个空数组。

  • 获取所有产品列表(GET 请求)
$products = $printcart->Product->get();
  • 获取产品总数(GET 请求)
$products = $printcart->Product->count();
  • 通过 ID 获取任何特定产品(GET 请求)
$productID = '1b665d2f-5a29-3e03-8698-01e4dc603fa9';
$product = $printcart->Product($productID)->get();
  • 创建新产品(POST 请求)
$product = array(
    "name" => "T-shirt",
    "dynamic_side" => 1,
    "viewport_width" => 50.5,
    "viewport_height" => 50.5,
    "scale" => 50.5,
    "dpi" => 100,
    "dimension_unit" => "inch",
    "status" => "publish",
    "enable_design" => 1,
    "max_file_upload" => 50,
    "min_jpg_dpi" => 10,
    "allowed_file_types" => [
        "jpg",
        "pdf",
        "png"
    ]
);

$printcart->Product()->post($product);

注意,您不需要将数据数组包装在资源键中(在这种情况下是 order),这是 Printcart API 期望的语法。这将由 SDK 自动处理。

  • 更新产品(PUT 请求)
$updateInfo = array(
    "name" => "T-shirt update",
);

$printcart->Product($productID)->put($updateInfo);
  • 更新多个产品(PUT 请求)
$updateInfo = array(
    'products' => [
        [
            "id" => "0dcccd18-18e1-4fbf-b26b-234944746ee9",
            "name" => 'T-shirt update'
        ],
        [
            "id" => "41fec099-789e-444e-81d5-a29078f175b6",
            "name" => "Bag update"
        ],
    ]
);

$printcart->Product()->put_batch($updateInfo);
  • 删除产品(DELETE 请求)
$printcart->Product($productID)->delete();
  • 删除多个产品(DELETE 请求)
$array = array(
    'products' => [
        [
            "id" => "0dcccd18-18e1-4fbf-b26b-234944746ee9",
        ],
        [
            "id" => "41fec099-789e-444e-81d5-a29078f175b6",
        ],
    ]
);

$printcart->Product()->delete_batch($array);
  • 删除 Webhook(DELETE 请求)
$webHookID = 12345678;

$printcart->Webhook($webHookID)->delete();

子资源可以以嵌套方式使用。

在尝试获取任何子资源时,您必须提供父资源的 ID。

  • 例如,获取产品的设计(GET 请求)
$productID = '1b665d2f-5a29-3e03-8698-01e4dc603fa9';
$productDesigns = $printcart->Product($productID)->Design->get();

参考

付费支持

您可以为使用 PHPPrintcart SDK 设置您的项目而雇佣此 SDK 的作者。

在我的网站上雇佣