appoly / shopwired-php-sdk
用于与 ShopWired 交互的 PHP Sdk
0.0.10
2020-09-23 04:04 UTC
Requires
- guzzlehttp/guzzle: ^6.5 || ^7.0
This package is auto-updated.
Last update: 2024-09-19 23:41:56 UTC
README
用于与 ShopWired 交互的 PHP 库 - https://www.shopwired.co.uk/
用法
安装
composer require appoly/shopwired-php-sdk
身份验证
如果使用 .env
来处理环境变量,请添加
SHOPWIRED_API_KEY=xxxxxxxx
SHOPWIRED_SECRET=xxxxxxx
如果不使用
import Appoly\ShopWiredPHPSDK\ShopWiredClient;
...
ShopWiredClient::setCredentials($api_key, $secret);
让我们做点什么
获取所有产品
import Appoly\ShopWiredPHPSDK\Models\Products\Products;
...
$products = Products::all()
文档
类和方法完全基于 API 中可用的端点: https://help.shopwired.co.uk/api/introduction/api-home
每个类将具有(最多)以下可用的函数
Product::all($options = []);
Product::get($id);
Product::count($options = []);
Product::update($id, $data);
Product::create($data);
Product::delete($id)
节流(默认启用)
注意:这可能会导致线程阻塞
(https://help.shopwired.co.uk/api/introduction/api-rate-limiting)
我们使用漏桶算法作为控制器。
漏桶算法允许对 API 进行不频繁的突发调用,并允许您的 APP 随着时间的推移继续进行无限数量的调用。
桶的大小是 40,在任何给定时间内都不能超过这个数值。泄漏率是每秒 2 个调用,这些调用不断地清空桶。
如果您的 APP 平均每秒 2 个调用,那么它永远不会触发 429 过多请求错误。
只要您的桶里有空间,API 调用将几乎瞬间处理。您可以在不超出泄漏率的情况下快速突发 API 调用,只要您的平均调用率不超过每秒 2 个调用。
此包默认将根据此算法和这些参数限制您的请求。这使用 sleep
来计时请求,当达到限制时,意味着线程可能会运行缓慢。
要求
节流需要 redis,以在不同的会话之间实施限制。
禁用
警告:禁用节流可能会导致请求因 429 过多请求
而失败。
要禁用节流,请使用
ShopWiredThrottle::disable();