simplesquid / vend-sdk
为 Vend POS 定制的非官方 PHP SDK
Requires
- php: ^7.3
- ext-json: *
- guzzlehttp/guzzle: ^6.3
- nesbot/carbon: ^2.23
- spatie/data-transfer-object: ~1.11.0
Requires (Dev)
- filp/whoops: ^2.5
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.2
- symfony/var-dumper: ^4.3
- dev-main
- 1.x-dev
- v0.5.21
- v0.5.20
- v0.5.19
- v0.5.18
- v0.5.17
- v0.5.16
- v0.5.15
- v0.5.14
- v0.5.13
- v0.5.12
- v0.5.11
- v0.5.10
- v0.5.9
- v0.5.8
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.17
- v0.4.16
- v0.4.15
- v0.4.14
- v0.4.13
- v0.4.12
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-analysis-vQG0Gl
- dev-analysis-XaZjjV
This package is auto-updated.
Last update: 2024-09-09 14:57:24 UTC
README
一个非官方的 PHP SDK,用于 Vend POS API。
安装
您可以通过 composer 安装此包
composer require simplesquid/vend-sdk
设置
要设置,获取 SDK 实例并设置所需的用户代理和设置
$vend = Vend::getInstance(); /* Optional configuration. */ $vend->userAgent('Vend SDK') ->requestTimeout(2) ->confirmationTimeout(30);
建议您将客户端对象作为单例使用,但对此没有明确限制。
使用
这概述了一个典型的指令序列,但不是 SDK 所有功能的完整列表。请查阅代码以获取更高级的使用方法。还建议您阅读 Vend API 文档。
或者,您可以在我们的 Laravel Vend SDK 包 中查看一个工作的授权实现。
授权
您有两种方式可以使用 Vend API 进行授权,个人访问令牌或 OAuth 2.0。
个人访问令牌
当使用个人访问令牌时,只需像这样设置 Vend 客户端
$vend->domainPrefix($domain_prefix) ->personalAccessToken($access_token);
OAuth 2.0
使用 OAuth 标识设置 Vend 客户端
$vend->clientId($client_id) ->clientSecret($client_secret) ->redirectUri($redirect);
初始授权过程
将用户发送到由 OAuth 生成的 OAuth URL
$vend->getAuthorisationUrl($previous_url);
使用 OAuth 流程返回的域名前缀和授权码
/** @var \SimpleSquid\Vend\Resources\OneDotZero\Token */ $token = $vend->domainPrefix($domain_prefix) ->oAuthAuthorisationCode($code);
请确保您存储返回的 Token 对象和域名前缀。
后续设置过程
一旦您收到初始授权,您可以使用授权过程中收到的 Token 对象设置 Vend 客户端
$vend->authorisationToken($token);
如果请求抛出 \SimpleSquid\Vend\Exceptions\TokenExpiredException
,您可以像这样刷新令牌
/** @var \SimpleSquid\Vend\Resources\OneDotZero\Token */ $token = $vend->refreshOAuthAuthorisationToken();
同样,请确保您存储返回的 Token 对象。
请求
要查看所有可用的请求,请查看位于 Actions
文件夹中的 traits。例如,可以使用以下请求管理产品
/** * List products. * Returns a paginated list of products. * * @param int|null $page_size The maximum number of items to be returned in the response. * @param int|null $after The lower limit for the version numbers to be included in the response. * @param int|null $before The upper limit for the version numbers to be included in the response. * @param bool|null $deleted Indicates whether deleted items should be included in the response. * * @return \SimpleSquid\Vend\Resources\TwoDotZero\ProductCollection */ $products = $vend->product->get($page_size, $after, $before, $deleted);
/** * Get a single product. * Returns a single product object with a given ID. * * @param string $id Valid product ID. * * @return \SimpleSquid\Vend\Resources\TwoDotZero\Product */ $product = $vend->product->find($id);
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献指南。
安全
如果您发现任何安全相关的问题,请通过电子邮件 security@simplesquid.co.za 而不是使用问题跟踪器。
鸣谢
包骨架基于 spatie/skeleton-php。
关于我们
SimpleSquid 是一家位于南非开普敦的小型网页开发和设计公司。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。