paulchiu / yaspa
另一个Shopify PHP API
0.1.0
2017-10-27 20:37 UTC
Requires
- php: >=7.1
- guzzlehttp/guzzle: ~6.3
Requires (Dev)
- phpunit/phpunit: ~6.2
- symfony/var-dumper: ^4.0@dev
This package is not auto-updated.
Last update: 2024-09-29 04:25:59 UTC
README
安装
请勿安装此库。它目前正在积极开发中,并且绝对不稳定。
目的
大多数Shopify API似乎只是Guzzle的薄包装,使事情稍微方便一些,但仍然感觉像是在与REST API交互。
本项目目标是更进一步,提供类似于SDK的功能,其中库通过PHP提供所有功能,而开发者无需过多考虑REST API。
示例
以下示例显示了API如何进行CRUD操作。对于完整文档,请参阅Yaspa Gitbook。
请注意,所有示例都使用私有认证。
创建私有认证凭证
凭证存储在POPO(Plain Old PHP Object)模型中。
所有其他示例都假定存在以下代码。
use Yaspa\Authentication\Factory\ApiCredentials; use Yaspa\Factory; $credentials = Factory::make(ApiCredentials::class) ->makePrivate( 'my-shop', '4ac0000000000000000000000000035f', '59c0000000000000000000000000007f' );
创建客户
use Yaspa\AdminApi\Customer\Builders\CreateNewCustomerRequest; use Yaspa\AdminApi\Customer\CustomerService; use Yaspa\AdminApi\Customer\Models\Customer; use Yaspa\Factory; // Prepare creation request $customer = (new Customer()) ->setFirstName('Steve') ->setLastName('Lastnameson') ->setEmail(uniqid('steve-').'@example.com') ->setTags(['foo', 'bar']) ->setVerifiedEmail(true) ->setAcceptsMarketing(true); $request = Factory::make(CreateNewCustomerRequest::class) ->withCredentials($credentials) ->withCustomer($customer); // Create new customer, $newCustomer is a Customer model $service = Factory::make(CustomerService::class); $newCustomer = $service->createNewCustomer($request); var_dump($newCustomer);
获取过去7天内创建的所有客户
use Yaspa\AdminApi\Customer\Builders\GetCustomersRequest; use Yaspa\AdminApi\Customer\CustomerService; use Yaspa\Factory; // Create request $request = Factory::make(GetCustomersRequest::class) ->withCredentials($credentials) ->withCreatedAtMin(new DateTime('-7 days')); // Get customers, $customers is an iterator $service = Factory::make(CustomerService::class); $customers = $service->getCustomers($request); // Loop through customers, each $customer is a Customer model // paging is automated foreach ($customers as $index => $customer) { var_dump($customer); }
更新客户
use Yaspa\AdminApi\Customer\Builders\ModifyExistingCustomerRequest; use Yaspa\AdminApi\Customer\CustomerService; use Yaspa\Factory; // Create request $customerUpdates = (new Customer()) ->setId(6820000675) ->setFirstName('Alice') $request = Factory::make(ModifyExistingCustomerRequest::class) ->withCredentials($credentials) ->withCustomer($customerUpdates); // Modify an existing customer, $modifiedCustomer is a Customer model $service = Factory::make(CustomerService::class); $modifiedCustomer = $service->modifyExistingCustomer($request); var_dump($modifiedCustomer);
删除客户
use Yaspa\AdminApi\Customer\CustomerService; use Yaspa\Factory; // Delete an existing customer $service = Factory::make(CustomerService::class); $service->deleteCustomerById($credentials, 6820000675);
文档
对于完整文档,请参阅https://paulchiu.gitbooks.io/yaspa/content/
路线图
有关项目路线图和待办事项,请参阅问题10。