codebyzach / cbz-shopify
用于与 Shopify REST & GraphQL API 交互的 PHP 库
Requires
- php: ^7.3
- guzzlehttp/guzzle-services: ^1.2
- laminas/laminas-diactoros: ^2.6
- psr/container: ^2.0
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
Suggests
- dev-master
- 6.6.2
- 6.6.1
- 6.6.0
- 6.5.1
- 6.5.0
- 6.4.0
- 6.3.1
- 6.3.0
- 6.2.1
- 6.2.0
- 6.1.0
- 6.0.0
- 5.5.0
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.0
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.0
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- dev-development
This package is auto-updated.
Last update: 2022-09-22 21:58:33 UTC
README
CbzShopify 是一个基于 Guzzle 的现代 PHP 库,用于 Shopify Admin API。
依赖项
- PHP: ^7.3
- Guzzle 服务: ^1.2
- Laminas Diactoros: ^2.6
安装
CbzShopify 的安装官方支持使用 Composer
composer require 'codebyzach/cbz-shopify'
REST API
CbzShopify 提供了与 Shopify 文档 中定义的 API 方法的一对一映射。自版本 4 以来,它还支持与新的 GraphQL 管理API的基本集成。
私有应用
为了将 CbzShopify 作为私有应用使用,您必须首先实例化客户端
$shopify_client = new ShopifyClient([ 'private_app' => true, 'api_key' => 'YOUR_API_KEY', 'password' => 'YOUR_PASSWORD', 'shop' => 'domain.myshopify.com', 'version' => '2021-07' ]);
请确保始终包含版本号。有关 Shopify 版本信息的更多信息,请参阅 Shopify 版本信息
公共应用
当使用公共应用时,您需要以不同的方式实例化客户端
$shopify_client = new ShopifyClient([ 'private_app' => false, 'api_key' => 'YOUR_API_KEY', // In public app, this is the app ID 'access_token' => 'MERCHANT_TOKEN', 'shop' => 'merchant.myshopify.com', 'version' => '2021-07' ]);
请确保始终包含版本号。有关 Shopify 版本信息的更多信息,请参阅 Shopify 版本信息
使用容器
CbzShopify 还提供了内置的 container-interop 工厂,您可以使用。您必须确保您的容器包含一个名为 "config" 的服务,它是一个包含键 cbz_shopify
的数组,其中包含所需的配置
// myconfig.php return [ 'cbz_shopify' => [ 'private_app' => false, 'api_key' => 'YOUR_API_KEY', // In public app, this is the app ID 'access_token' => 'MERCHANT_TOKEN', 'shop' => 'merchant.myshopify.com', ], ];
如果您正在使用 Zend\ServiceManager 3,您可以使用 Zend\ComponentInstaller 自动将我们的工厂注册到 Zend\ServiceManager 中。
但是,如果您使用的是其他框架或其他容器,您仍然可以手动注册我们的工厂,它们位于 src/Container 文件夹中。
验证请求
CbzShopify 客户端提供了一个简单的方法来验证传入的请求,以确保它通过 RequestValidator
对象来自 Shopify。它需要一个 PSR7 请求和一个共享密钥
use CbzShopify\Exception\InvalidRequestException; use CbzShopify\Validator\RequestValidator; $validator = new RequestValidator(); try { $validator->validateRequest($psr7Request, 'shared_secret'); } catch (InvalidRequestException $exception) { // Request is not valid }
验证 webhook
类似地,您可以使用 WebhookValidator
来验证您的 webhook
use CbzShopify\Exception\InvalidWebhookException; use CbzShopify\Validator\WebhookValidator; $validator = new WebhookValidator(); try { $validator->validateWebhook($psr7Request, 'shared_secret'); } catch (InvalidWebhookException $exception) { // Request is not valid }
验证应用程序请求
最后,您还可以使用 ApplicationProxyRequestValidator
来验证应用程序代理请求
use CbzShopify\Exception\InvalidApplicationProxyRequestException; use CbzShopify\Validator\ApplicationProxyRequestValidator; $validator = new ApplicationProxyRequestValidator(); try { $validator->validateApplicationProxyRequest($psr7Request, 'shared_secret'); } catch { // Request is not valid }
创建授权响应
CbzShopify提供了一种简单的方法来创建一个符合PSR7规范的ResponseInterface
以创建授权响应。
use CbzShopify\OAuth\AuthorizationRedirectResponse; $api_key = 'app_123'; $shop_domain = 'shop_to_authorize.myshopify.com'; $scopes = ['read_orders', 'read_products']; $redirection_uri = 'https://myapp.test.com/oauth/redirect'; $nonce = 'strong_nonce'; $response = new AuthorizationRedirectResponse($api_key, $shop_domain, $scopes, $redirection_uri, $nonce);
虽然需要nonce
参数,但CbzShopify不对如何保存nonce以及Shopify重定向到您的服务器时如何检查nonce做出任何假设。您需要负责安全地保存nonce。
交换代码以获取访问令牌
您可以使用TokenExchanger
类将代码交换为长期有效的访问令牌。
use GuzzleHttp\Client; use CbzShopify\OAuth\TokenExchanger; $api_key = 'app_123'; $shared_secret = 'secret_123'; $shop_domain = 'shop_to_authorize.myshopify.com'; $code = 'code_123'; $token_exchanger = new TokenExchanger(new Client()); $access_token = $token_exchanger->exchangeCodeForToken($api_key, $shared_secret, $shop_domain, $code);
CbzShopify还提供了一个符合container-interop规范的简单工厂,您可以使用CbzShopify\Container\TokenExchangerFactory
将其注册到您选择的容器中。
利用响应
CbzShopify直接返回Shopify响应。但是,默认情况下,Shopify会将响应包装在一个顶级键中。例如,如果您想获取商店信息,Shopify将返回此有效载荷
{ "shop": { "id": 123, "domain": "myshop.myshopify.com" } }
这使用起来有些不方便,因为我们需要这样做
$shop_domain = $shopify_client->getShop()['shop']['domain'];
相反,CbzShopify自动“解包”响应,因此您可以使用更简洁的代码
$shop_domain = $shopify_client->getShop()['domain'];
当阅读Shopify API文档时,确保在利用响应时删除顶级键。
计数
同样,当您使用任何一个count
端点时,CbzShopify将自动从Shopify的响应中提取值,因此您不需要手动访问计数属性
$count = $shopify_client->countOrders(); // $count is already an integer
使用迭代器
对于大多数“列表”端点(如getProducts
、getCollections
...),Shopify允许您每次获取最多250个资源。当使用标准get**
方法时,您需要自己处理分页。
为了方便,CbzShopify允许您高效地遍历所有资源(内部,我们使用生成器)。以下是您如何获取给定商店的所有产品的方法
foreach ($shopify_client->getProductsIterator(['fields' => 'id,title']) as $product) { // Do something with product }
CbzShopify将负责在达到给定页面的末尾时执行额外的请求。
并发执行多个请求
出于优化目的,可能希望并发执行多个请求。为此,CbzShopify客户端允许您利用底层的Guzzle客户端同时执行多个请求。
要这样做,您可以手动创建Guzzle命令,并执行所有命令。CbzShopify将负责对每个请求进行身份验证,并提取响应有效载荷。例如,以下是如何获取商店信息和产品信息的方法
$command1 = $client->getCommand('GetShop', ['fields' => 'id']); $command2 = $client->getCommand('GetProducts', ['fields' => 'id,title']); $results = $client->executeAll([$command1, $command2]); // $results[0] represents the response of $command1, $results[1] represents the response of $command2
如果请求失败,它将包含一个GuzzleHttp\Command\Exception\CommandException
实例。例如,以下是如何遍历所有结果的方法
use GuzzleHttp\Command\Exception\CommandException; foreach ($results as $singleResult) { if ($singleResult instanceof CommandException) { // Get the command that has failed, and eventually retry $command = $singleResult->getCommand(); continue; } // Otherwise, $singleResult is just an array that contains the Shopify data }
GraphQL API
2018年,Shopify推出了一种名为GraphQL Admin API的新API。与REST API相比,这个新API有很多优点。
- 它可以更有效地访问各种Shopify资源(例如,您可以使用单个请求获取一个包含所有产品和变体的收藏集)。
- 它提供了对一些通过REST API未公开的资源访问。
CbzShopify的版本4现在附带了一个基本的GraphQL客户端。尽管如此,它目前尚不支持以下功能:
- 自动分页
- 自动处理Shopify速率限制
为了使用客户端,您必须实例化它。而不是使用ShopifyClient,您必须创建一个CbzShopify\ShopifyGraphQLClient
。如果您使用的是私有应用
$client = new ShopifyGraphQLClient([ 'shop' => 'test.myshopify.com', 'version' => '2021-07', 'private_app' => true, 'password' => 'YOUR PASSWORD' ]);
请确保始终包含版本号。有关 Shopify 版本信息的更多信息,请参阅 Shopify 版本信息
如果您使用的是公开应用
$client = new ShopifyGraphQLClient([ 'shop' => 'test.myshopify.com', 'version' => '2021-07', 'private_app' => false, 'access_token' => 'ACCESS TOKEN' ]);
请确保始终包含版本号。有关 Shopify 版本信息的更多信息,请参阅 Shopify 版本信息
查询
要执行查询,只需将查询作为heredoc输入。例如,这里是一个GraphQL查询,获取前5个集合的标题和id,以及这些集合中的前5个产品(在REST API中这需要多个查询,而所有操作都可以使用GraphQL非常高效地完成)
$request = <<<'EOT' query { collections(first: 5) { edges { node { id title products(first: 5) { edges { node { id title } } } } } } } EOT; $result = $client->request($request);
CbzShopify会自动展开Shopify响应中的顶级data
键,因此您可以这样检索数据
foreach ($result['collections']['edges'] as $collection) { var_dump('Collection title: ' . $collection['node']['title']); foreach ($collection['node']['products']['edges'] as $product) { var_dump('Product title: ' . $product['node']['title']); } }
CbzShopify不会尝试重写GraphQL响应。
变量
CbzShopify也完全支持GraphQL变量。例如,以下是使用GraphQL变量通过ID检索给定产品的方法
$request = <<<'EOT' query getProduct($id: ID!) { product(id: $id) { id title } } EOT; $variables = [ 'id' => 'gid://shopify/Product/827442593835' ]; $result = $client->request($request, $variables); var_dump($result);
变更
同样,CbzShopify支持变更。要这样做,您只需要使用变更查询。以下是一个创建产品的示例
$request = <<<'EOT' mutation createProduct($product: ProductInput!) { productCreate(input: $product) { userErrors { field message } product { id } } } EOT; $variables = [ 'product' => [ 'title' => 'My product' ] ]; $result = $client->request($request, $variables); var_dump($result);
此请求将创建一个新的产品,标题为"My product",并将返回产品的id。
为了更好地处理错误,您应始终在响应中包含userErrors对象。
错误处理
在使用GraphQL请求时,您可以捕获两种类型的错误。
请求错误
这些错误是针对格式不正确的GraphQL请求。您可以使用\CbzShopify\Exception\GraphQLErrorException
异常来捕获它们
try { $result = $client->request($request); } catch (\CbzShopify\Exception\GraphQLErrorException $exception) { var_dump($exception->getErrors()); }
用户错误
这些错误是针对缺少数据(如数据错误、缺少数据等)的请求。您可以使用\CbzShopify\Exception\GraphQLUserErrorException
异常来捕获它们
try { $result = $client->request($request); } catch (\CbzShopify\Exception\GraphQLUserErrorException $exception) { var_dump($exception->getErrors()); }
实现端点
- 遗弃的结账
- 访问范围
- 应用费用
- 应用信用
- 文章
- 资产
- 分配的履行订单
- 余额
- 余额交易
- 博客
- 取消请求
- 承运人服务
- 结账
- 收藏
- 集合
- 集合列表
- 评论
- 国家
- 货币
- 自定义收藏
- 客户
- 客户地址
- 客户保存的搜索
- 废弃的API调用
- 折扣代码
- 争议
- 草稿订单
- 事件
- 履行
- 履行事件
- 履行订单
- 履行请求
- 履行服务
- 礼品卡
- 库存项目
- 库存水平
- 位置
- 移动位置
- 市场活动
- 元字段
- 移动平台应用
- 订单
- 订单风险
- 页面
- 支付
- 支付
- 政策
- 价格规则
- 产品
- 产品图片
- 产品资源反馈
- 产品变体
- 产品列表
- 省
- 定期应用费用
- 重定向
- 退款
- 报告
- 资源反馈
- 脚本标签
- 运输区
- 商店
- 智能收藏
- 商店前端访问令牌
- 付款交易
- 主题
- 交易
- 使用费用
- 用户
- Webhook
- 其他方法
- 迭代方法
遗弃的结账
int countAbandonedCheckouts(array $args = []); array getAbandonedCheckouts(array $args = []);
访问范围
array getAccessScopes(array $args = []);
应用费用
array createApplicationCharge(array $args = []); array getApplicationCharges(array $args = []); array getApplicationCharge(array $args = []);
应用信用
array createApplicationCredit(array $args = []); array getApplicationCredit(array $args = []); array getApplicationCredits(array $args = []);
文章
array getArticles(array $args = []); int countArticles(array $args = []); array getArticle(array $args = []); array createArticle(array $args = []); array updateArticle(array $args = []); array getArticlesAuthors(array $args = []); array getArticlesTags(array $args = []); array deleteArticle(array $args = []);
资产
array getAssets(array $args = []); array getAsset(array $args = []); array createAsset(array $args = []); array updateAsset(array $args = []); array deleteAsset(array $args = []);
分配的履行订单
array getAssignedFulfillmentOrders(array $args = []);
余额
array getBalance(array $args = []);
余额交易
array getBalanceTransactions(array $args = []);
博客
array getBlogs(array $args = []); int countBlogs(array $args = []); array getBlog(array $args = []); array createBlog(array $args = []); array updateBlog(array $args = []); array deleteBlog(array $args = []);
取消请求
array sendCancellationRequest(array $args = []); array acceptCancellationRequest(array $args = []); array rejectCancellationRequest(array $args = []);
承运服务
array createCarrierService(array $args = []); array updateCarrierService(array $args = []); array getCarrierServices(array $args = []); array getCarrierService(array $args = []); array deleteCarrierService(array $args = []);
结账
array createCheckout(array $args = []); array completeCheckout(array $args = []); array getCheckout(array $args = []); array updateCheckout(array $args = []); array getCheckoutShippingRates(array $args = []);
收集
array createCollect(array $args = []); array deleteCollect(array $args = []); array getCollects(array $args = []); int countCollects(array $args = []); array getCollect(array $args = []);
收藏夹
array getCollection(array $args = []); array getCollectionProducts(array $args = []);
收藏夹列表
array getCollectionListings(array $args = []); array getCollectionListingProductIds(array $args = []); array getCollectionListing(array $args = []); array createCollectionListing(array $args = []); array getCollectionListing(array $args = []);
评论
array getComments(array $args = []); int countComments(array $args = []); array getComment(array $args = []); array createComment(array $args = []); array updateComment(array $args = []); array spamComment(array $args = []); array unspamComment(array $args = []); array approveComment(array $args = []); array removeComment(array $args = []); array restoreComment(array $args = []);
国家
array getCountries(array $args = []); int countCountries(array $args = []); array getCountry(array $args = []); array createCountry(array $args = []); array updateCountry(array $args = []); array deleteCountry(array $args = []);
货币
array getCurrencies(array $args = []);
自定义收藏夹
array getCustomCollections(array $args = []); int countCustomCollections(array $args = []); array getCustomCollection(array $args = []); array createCustomCollection(array $args = []); array updateCustomCollection(array $args = []); array deleteCustomCollection(array $args = []);
客户
array getCustomers(array $args = []); array searchCustomers(array $args = []); array getCustomer(array $args = []); array createCustomer(array $args = []); array updateCustomer(array $args = []); array sendCustomerActivationUrl(array $args = []); array sendCustomerInvite(array $args = []); array deleteCustomer(array $args = []); int countCustomers(array $args = []); array getCustomerOrders(array $args = []);
客户地址
array getCustomerAddresses(array $args = []); array getCustomerAddress(array $args = []); array createCustomerAddress(array $args = []); array updateCustomerAddress(array $args = []); array deleteCustomerAddress(array $args = []); array updateCustomerAddresses(array $args = []); array setDefaultCustomerAddress(array $args = []);
客户保存搜索
array getCustomerSavedSearches(array $args = []); int countCustomerSavedSearches(array $args = []); array getCustomerSavedSearch(array $args = []); array getCustomerSavedSearchCustomers(array $args = []); array createCustomerSavedSearch(array $args = []); array updateCustomerSavedSearch(array $args = []); array deleteCustomerSavedSearch(array $args = []);
已弃用API调用
array getDeprecatedApiCalls(array $args = []);
折扣代码
array createDiscountCode(array $args = []); array updateDiscountCode(array $args = []); array getDiscountCodes(array $args = []); array getDiscountCode(array $args = []); array lookupDiscountCode(array $args = []); int countDiscountCodes(array $args = []); array deleteDiscountCode(array $args = []); array createDiscountCodeBatch(array $args = []); array getDiscountCodeBatch(array $args = []); array getDiscountCodeBatchDiscountCodes(array $args = []);
纠纷
array getDisputes(array $args = []); array getDispute(array $args = []);
草稿订单
array createDraftOrder(array $args = []); array updateDraftOrder(array $args = []); array getDraftOrders(array $args = []); array getDraftOrder(array $args = []); int countDraftOrders(array $args = []); array sendDraftOrderInvoice(array $args = []); array deleteDraftOrder(array $args = []); array completeDraftOrder(array $args = []);
事件
array getEvents(array $args = []); array getEvent(array $args = []); int countEvents(array $args = []);
履行
array getFulfillments(array $args = []); array getFulfillmentOrderFulfillments(array $args = []); int countFulfillments(array $args = []); array getFulfullment(array $args = []); array createFulfillment(array $args = []); array createFulfillmentOrderFulfillment(array $args = []); array updateFulfillment(array $args = []); array updateFulfillmentOrderFulfillment(array $args = []); array completeFulfillment(array $args = []); array openFulfillment(array $args = []); array cancelFulfillment(array $args = []); array cancelFulfillmentOrderFulfillment(array $args = []);
履行事件
array getFulfillmentEvents(array $args = []); array getFulfillmentEvent(array $args = []); array createFulfillmentEvent(array $args = []); array deleteFulfillmentEvent(array $args = []);
履行订单
array getFulfillmentOrders(array $args = []); array getFulfillmentOrder(array $args = []); int cancelFulfillmentOrder(array $args = []); array closeFulfillmentOrder(array $args = []); array moveFulfillmentOrder(array $args = []); array openFulfillmentOrder(array $args = []); array rescheduleFulfillmentOrder(array $args = []);
履行请求
array sendFulfillmentRequest(array $args = []); array acceptFulfillmentRequest(array $args = []); array rejectFulfillmentRequest(array $args = []);
履行服务
array getFulfillmentServices(array $args = []); array createFulfillmentService(array $args = []); array getFulfillmentService(array $args = []); array updateFulfillmentService(array $args = []); array deleteFulfillmentService(array $args = []);
礼品卡
array getGiftCards(array $args = []); array getGiftCard(array $args = []); int countGiftCards(array $args = []); array createGiftCard(array $args = []); array updateGiftCard(array $args = []); array disableGiftCard(array $args = []); array searchGiftCards(array $args = [])
库存项目
array getInventoryItems(array $args = []); array getInventoryItem(array $args = []); array updateInventoryItem(array $args = []);
库存水平
array getInventoryLevels(array $args = []); array adjustInventoryLevel(array $args = []); array deleteInventoryLevel(array $args = []); array connectInventoryLevel(array $args = []); array setInventoryLevel(array $args = []);
位置
array getLocations(array $args = []); array getLocation(array $args = []); int countLocations(array $args = []); array getLocationInventoryLevels(array $args = []);
移动位置
array getLocationsForMove(array $args = []);
营销活动
array getMarketingEvents(array $args = []); int countMarketingEvents(array $args = []); array getMarketingEvent(array $args = []); array createMarketingEvent(array $args = []); array updateMarketingEvent(array $args = []); array deleteMarketingEvent(array $args = []); array createMarketingEventEngagements(array $args = []);
元字段
array getArticleMetafields(array $args = []); array getBlogMetafields(array $args = []); array getCollectionMetafields(array $args = []); array getCustomerMetafields(array $args = []); array getDraftOrderMetafields(array $args = []); array getOrderMetafields(array $args = []); array getPageMetafields(array $args = []); array getProductMetafields(array $args = []); array getProductVariantMetafields(array $args = []); array getProductImageMetafields(array $args = []); array getShopMetafields(array $args = []); int countArticleMetafields(array $args = []); int countBlogMetafields(array $args = []); int countCollectionMetafields(array $args = []); int countCustomerMetafields(array $args = []); int countDraftOrderMetafields(array $args = []); int countOrderMetafields(array $args = []); int countPageMetafields(array $args = []); int countProductMetafields(array $args = []); int countProductVariantMetafields(array $args = []); int countProductImageMetafields(array $args = []); int countShopMetafields(array $args = []); array getArticleMetafield(array $args = []); array getBlogMetafield(array $args = []); array getCollectionMetafield(array $args = []); array getCustomerMetafield(array $args = []); array getDraftOrderMetafield(array $args = []); array getOrderMetafield(array $args = []); array getPageMetafield(array $args = []); array getProductMetafield(array $args = []); array getProductVariantMetafield(array $args = []); array getProductImageMetafield(array $args = []); array getShopMetafield(array $args = []); array createArticleMetafield(array $args = []); array createBlogMetafield(array $args = []); array createCollectionMetafield(array $args = []); array createCustomerMetafield(array $args = []); array createDraftOrderMetafield(array $args = []); array createOrderMetafield(array $args = []); array createPageMetafield(array $args = []); array createProductMetafield(array $args = []); array createProductVariantMetafield(array $args = []); array createProductImageMetafield(array $args = []); array createShopMetafield(array $args = []); array updateArticleMetafield(array $args = []); array updateBlogMetafield(array $args = []); array updateCollectionMetafield(array $args = []); array updateCustomerMetafield(array $args = []); array updateDraftOrderMetafield(array $args = []); array updateOrderMetafield(array $args = []); array updatePageMetafield(array $args = []); array updateProductMetafield(array $args = []); array updateProductVariantMetafield(array $args = []); array updateProductImageMetafield(array $args = []); array updateShopMetafield(array $args = []); array deleteArticleMetafield(array $args = []); array deleteBlogMetafield(array $args = []); array deleteCollectionMetafield(array $args = []); array deleteCustomerMetafield(array $args = []); array deleteDraftOrderMetafield(array $args = []); array deleteOrderMetafield(array $args = []); array deletePageMetafield(array $args = []); array deleteProductMetafield(array $args = []); array deleteProductVariantMetafield(array $args = []); array deleteProductImageMetafield(array $args = []);
移动平台应用
array getMobilePlatformApplications(array $args = []); array createMobilePlatformApplication(array $args = []); array getMobilePlatformApplication(array $args = []); array updateMobilePlatformApplication(array $args = []); array deleteMobilePlatformApplication(array $args = []);
订单
array getOrders(array $args = []); array getOrder(array $args = []); int countOrders(array $args = []); array closeOrder(array $args = []); array openOrder(array $args = []); array cancelOrder(array $args = []); array createOrder(array $args = []); array updateOrder(array $args = []); array deleteOrder(array $args = []);
订单风险
array createOrderRisk(array $args = []); array getOrderRisks(array $args = []); array getOrderRisk(array $args = []); array updateOrderRisk(array $args = []); array deleteOrderRisk(array $args = []);
页面
array getPages(array $args = []); int countPages(array $args = []); array getPage(array $args = []); array createPage(array $args = []); array updatePage(array $args = []); array deletePage(array $args = []);
支付
array storeCreditCard(array $args = []); array createPayment(array $args = []); array getPayments(array $args = []); array getPayment(array $args = []); int countPayments(array $args = []);
支付款项
array getPayouts(array $args = []); array getPayout(array $args = []);
政策
array getPolicies(array $args = []);
价格规则
array createPriceRule(array $args = []); array updatePriceRule(array $args = []); array getPriceRules(array $args = []); array getPriceRule(array $args = []); int countPriceRules(array $args = []); array deletePriceRule(array $args = []);
产品
array getProducts(array $args = []); int countProducts(array $args = []); array getProduct(array $args = []); array createProduct(array $args = []); array updateProduct(array $args = []); array deleteProduct(array $args = []);
产品图片
array getProductImages(array $args = []); int countProductImages(array $args = []); array getProductImage(array $args = []); array createProductImage(array $args = []); array updateProductImage(array $args = []); array deleteProductImage(array $args = []);
产品资源反馈
array createProductResourceFeedback(array $args = []); array getProductResourceFeedbacks(array $args = []);
产品变体
array getProductVariants(array $args = []); int countProductVariants(array $args = []); array getProductVariant(array $args = []); array createProductVariant(array $args = []); array updateProductVariant(array $args = []); array deleteProductVariant(array $args = []);
产品列表
array getProductListings(array $args = []); array getProductListingIds(array $args = []); int countProductListings(array $args = []); array getProductListing(array $args = []); array createProductListing(array $args = []); array deleteProductListing(array $args = []);
省份
array getProvinces(array $args = []); int countProvinces(array $args = []); array getProvince(array $args = []); array updateProvince(array $args = []);
周期性应用费用
array createRecurringApplicationCharge(array $args = []); array getRecurringApplicationCharge(array $args = []); array getRecurringApplicationCharges(array $args = []); array deleteRecurringApplicationCharge(array $args = []); array updateRecurringApplicationCharge(array $args = []);
重定向
array getRedirects(array $args = []); int countRedirects(array $args = []); array getRedirect(array $args = []); array createRedirect(array $args = []); array updateRedirect(array $args = []); array deleteRedirect(array $args = []);
退款
array getRefunds(array $args = []); array getRefund(array $args = []); array calculateRefund(array $args = []); array createRefund(array $args = []);
报告
array getReports(array $args = []); array getReport(array $args = []); array createReport(array $args = []); array updateReport(array $args = []); array deleteReport(array $args = []);
资源反馈
createResourceFeedback(array $args = []); getResourceFeedbacks(array $args = []);
脚本标签
array getScriptTags(array $args = []); int countScriptTags(array $args = []); array getScriptTag(array $args = []); array createScriptTag(array $args = []); array updateScriptTag(array $args = []); array deleteScriptTag(array $args = []);
配送区域
array getShippingZones(array $args = []);
商店
array getShop(array $args = []);
智能集合
array getSmartCollections(array $args = []); int countSmartCollections(array $args = []); array getSmartCollection(array $args = []); array createSmartCollection(array $args = []); array updateSmartCollection(array $args = []); array opdateSmartCollectionProductOrdering(array $args = []); array deleteSmartCollection(array $args = []);
StorefrontAccessToken
array createStorefrontAccessToken(array $args = []); array deleteStorefrontAccessToken(array $args = []); array getStorefrontAccessTokens(array $args = []);
TenderTransaction
array getTenderTransactions(array $args = []);
Theme
array getThemes(array $args = []); array getTheme(array $args = []); array createTheme(array $args = []); array updateTheme(array $args = []); array deleteTheme(array $args = []);
Transaction
array getTransactions(array $args = []); int countTransactions(array $args = []); array getTransaction(array $args = []); array createTransaction(array $args = []);
UsageCharge
array createUsageCharge(array $args = []); array getUsageCharge(array $args = []); array getUsageCharges(array $args = []);
User
array getUsers(array $args = []); array getUser(array $args = []); array getCurrentUser(array $args = []);
Webhook
array getWebhooks(array $args = []); int countWebhooks(array $args = []); array getWebhook(array $args = []); array createWebhook(array $args = []); array updateWebhook(array $args = []); array deleteWebhook(array $args = []);
其他方法
array createDelegateAccessToken(array $args = []);
迭代方法
Traversable getAbandonedCheckoutsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getArticlesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getBalanceTransactionsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCollectsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCollectionProductsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCollectionListingProductIdsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCommentsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCustomCollectionsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCustomerAddressesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable searchCustomersIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCustomersIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCustomerSavedSearchesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getDiscountCodesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getDisputesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getDraftOrdersIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getEventsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getFulfillmentsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getGiftCardsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable searchGiftCardsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getInventoryItemsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getInventoryLevelsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getLocationInventoryLevelsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getMarketingEventsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getArticleMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getBlogMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCollectionMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getCustomerMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getDraftOrderMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getOrderMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getPageMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductVariantMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductImageMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getShopMetafieldsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getOrdersIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getOrderRisksIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getPagesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getPayoutsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getPriceRulesIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductListingsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getProductVariantsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getRedirectsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getRefundsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getReportsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getScriptTagsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getSmartCollectionsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getTenderTransactionsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getTransactionsIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getUsersIterator(array $commandArgs = [], array $iteratorArgs = []); Traversable getWebhooksIterator(array $commandArgs = [], array $iteratorArgs = []);