printcart / php-printcart-sdk
Printcart API 的 PHP SDK
v1.1
2022-05-20 08:43 UTC
Requires
- php: >=7.0.0
- ext-json: *
- guzzlehttp/guzzle: ^6.5.0
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 的作者。