dominicwatts / onbuysdk
OnBuy PHP SDK
1.3.7
2022-06-22 21:29 UTC
Requires
- php: >=7.1.3
- laminas/laminas-http: 2.12.0
- laminas/laminas-json: ^3.1
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: 9.3.7
- symfony/var-dumper: v4.4.11
README
OnBuy - 英国在线市场 & 亚马逊替代品
用于与OnBuy API交互的非官方PHP SDK
安装说明
composer require dominicwatts/onbuysdk
Composer存档位于
https://packagist.org.cn/packages/dominicwatts/onbuysdk
API文档
https://docs.api.onbuy.com/?version=latest
连接详情
API设置页面可以在您的卖家控制面板中找到。有两个密钥集,即实时密钥和测试密钥。在集成API时,您应使用测试密钥,并在准备上线时切换到实时密钥。
https://seller.onbuy.com/inventory/integrations/onbuy-api/
用法
获取令牌
要连接到任何API方法,您首先需要获取您的临时秘密访问令牌。
require 'vendor/autoload.php'; $config = [ 'consumer_key' => 'test_consumer_key', 'secret_key' => 'test_secret_key' ]; use Xigen\Library\OnBuy\Auth; $auth = new Auth( $config ); $auth->getToken(); // This is your token
The access token is only valid for 15 minutes, after which a new token will need to be requested.
调试
$auth->getResponse()->getBody();
$auth->getResponseArray();
$auth->getExpires();
一般流程
- 加载令牌
- 构建请求
- 执行请求并返回结果
品牌
use Xigen\Library\OnBuy\Brand\Brand; $brand = new Brand($auth->getToken()); $brand->getBrand('keyword', 'asc', 10, 0); $brand->getResponse(); $brand->getBrandById(123); $brand->getResponse();
分类
分类
use Xigen\Library\OnBuy\Category\Category; $category = new Category($auth->getToken()); $category->getCategory([ 'name' => 'test' ]); $category->getResponse(); $category->getCategory([ 'name' => 'test', 'category_type_id' => 1 // department ]); $category->getResponse(); $category->getCategoryById(13490); $category->getResponse();
分类功能
use Xigen\Library\OnBuy\Category\Feature; $categoryFeature = new Feature($auth->getToken()); $categoryFeature->getFeatureById(13490); $categoryFeature->getResponse();
分类技术细节
use Xigen\Library\OnBuy\Category\Technical; $categoryTechnical = new Technical($auth->getToken()); $categoryTechnical->getTechnicalDetailById(13490); $categoryTechnical->getResponse(); $categoryTechnical->getGroupById(13490, 125); $categoryTechnical->getResponse();
分类变体
use Xigen\Library\OnBuy\Category\Variant; $categoryVariant = new Variant($auth->getToken()); $categoryVariant->getVariantId(13490); $categoryVariant->getResponse();
佣金
use Xigen\Library\OnBuy\Commission\Commission; $commission = new Commission($auth->getToken()); $commission->getTier(); $commission->getResponse(); $commission->getTierById(13490, 125); $commission->getResponse();
条件
use Xigen\Library\OnBuy\Condition\Condition; $condition = new Condition($auth->getToken()); $condition->getCondition(); $condition->getResponse();
订单
use Xigen\Library\OnBuy\Order\Order; $order = new Order($auth->getToken()); $order->getOrder( [ 'status' => 'awaiting_dispatch', 'previously_exported' => 0 ], [ 'created' => 'asc' ] ); $order->getResponse(); $order->getOrderById('T9R7V'); $order->getResponse(); $order->dispatchOrder([['order_id' => 'T9R7V']]); $order->getResponse(); $order->dispatchOrder([ [ "order_id" => "T9R7V", "products" => [ "sku" => "EXP-143-33S", "opc" => "PN8JV6", "quantity" => 125 ], "tracking" => [ "tracking_id" => "bar", "supplier_name" => "bar", "number" => "bar", "url" => "https://example.com/path-to-resource/" ] ] ]); $order->getResponse(); $order->cancelOrder([ 'order_id' => 'T9R7V', 'order_cancellation_reason_id' => 1, 'cancel_order_additional_info' => 'Out of stock' ]); $order->getResponse(); $order->refundOrder([ 'order_id' => 'T9R7V', 'order_refund_reason_id' => 1, 'seller_note' => 'Customer Return', 'customer_note' => 'Item return received - Thank you!' ]); $order->getResponse(); $order->getTrackingProviders(); $order->getResponse();
产品
产品
use Xigen\Library\OnBuy\Product\Product; $product = new Product($auth->getToken()); $product->createProduct($insertArray); $product->getResponse(); $product->testCreateProductByBatch($insertArray); $product->getResponse(); $product->updateProduct($updateArray); // single array $product->getResponse(); $product->updateProductByBatch($updateArray); // array of array $product->getResponse(); $product->getProduct([ 'query' => 'test', 'field' => 'name' ]); $product->getResponse();
产品列表
use Xigen\Library\OnBuy\Product\Listing; $listing = new Listing($auth->getToken()); $listing->getListing( ['last_created' => 'asc'], ['sku' => 'test'] ); $listing->getResponse(); $listing->updateListingBySku([ [ "sku" => "EXP-143-33S", "price" => 126.34, "stock" => 125, "boost_marketing_commission" => 14.83 ], [ "sku" => "EXP-143-33L", "price" => 126.34, "stock" => 125, "boost_marketing_commission" => 14.83 ], ]); $listing->getResponse(); $listing->deleteListingBySku([ "EXP-143-33S", "EXP-144-33L" ]); $listing->getResponse(); $listing->createListing( 'P5ZVSFF', [[ "sku" => "EXP-143-33S", "group_sku" => "bar", "boost_marketing_commission" => 2.98 ]] ); $listing->getResponse(); $listing->createListingByBatch( [[ "opc" => "PN8JV6", "condition" => "poor", "price" => 9.99, "stock" => 8, "delivery_weight" => 16, "handling_time" => 125, "free_returns" => "true", "warranty" => 7 ]] ); $listing->getResponse(); $listing->getWinningListing([ "EXP-143-33S", "EXP-144-33L" ]); $listing->getResponse();
队列
use Xigen\Library\OnBuy\Queue\Queue; $queue = new Queue($auth->getToken()); $queue->getQueue([ 'queue_ids' => '123,456', 'status' => 'pending' ]); $queue->getResponse(); $queue->getQueueById(123); $queue->getResponse();
卖家
卖家
use Xigen\Library\OnBuy\Seller\Seller; $seller = new Seller($auth->getToken()); $seller->getSellerById(123); $seller->getResponse();
卖家配送
use Xigen\Library\OnBuy\Seller\Delivery; $sellerDelivery = new Delivery($auth->getToken()); $sellerDelivery->getDelivery(); $sellerDelivery->getResponse();
卖家实体
use Xigen\Library\OnBuy\Seller\Entity; $sellerEntity = new Entity($auth->getToken()); $sellerEntity->getEntity(); $sellerEntity->getResponse(); $sellerEntity->getEntityById(123); $sellerEntity->getResponse();
网站
use Xigen\Library\OnBuy\Site\Site; $site = new Site($auth->getToken()); $site->getSite([ 'name' => 'test' ]); $site->getResponse(); $site->getSiteById(123); $site->getResponse();