codebyzach/cbz-shopify

此包已被放弃,不再维护。未建议替代包。

用于与 Shopify REST & GraphQL API 交互的 PHP 库

6.6.2 2021-08-15 21:05 UTC

README

Latest Release Shopify Admin API

CbzShopify 是一个基于 Guzzle 的现代 PHP 库,用于 Shopify Admin API

依赖项

安装

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

使用迭代器

对于大多数“列表”端点(如getProductsgetCollections...),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());
}

实现端点

遗弃的结账

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 = []);