slevomat / 商品API库
斯莱沃玛特商品API PHP库
2.0.0
2021-02-02 14:20 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.4.1 || ^7.0.1
Requires (Dev)
- phing/phing: ^2.16.3
- php-coveralls/php-coveralls: ~2.4
- php-parallel-lint/php-parallel-lint: ~1.2
- phpstan/phpstan: ^0.12.54
- phpstan/phpstan-phpunit: ^0.12.16
- phpstan/phpstan-strict-rules: ^0.12.4
- phpunit/phpunit: ^8.5.14 || ^9.3.7
- slevomat/coding-standard: ^6.3.10
This package is auto-updated.
Last update: 2024-08-29 04:00:21 UTC
README
此库用于实现合作伙伴 -> 斯莱沃玛特之间的通信。
库需要PHP 7.4或更高版本,并假定使用Composer工具。
安装库
composer require slevomat/zbozi-api-library
使用库
在仓库中存在一个名为examples.php
的文件,其中包含示例用法。API通过\SlevomatZboziApi\ZboziApiClient
对象上的方法调用。
可以通过工厂最简单地创建对象
$client = \SlevomatZboziApi\ZboziApiClientFactory::create($partnerToken, $apiSecret, $apiUrl, $timeout, $logger); // logger a timeout jsou nepovinné
在调用客户端方法时,会调用斯莱沃玛特API。例如:
$expectedDeliveryDate = $client->markGettingReadyForPickup($orderId);
错误状态
调用API时可能会出现多种错误。抛出以下异常
\SlevomatZboziApi\Request\ConnectionErrorException
- 无法连接到API,请重试请求
如果成功连接到API,库可能会抛出以下错误(所有错误都是\SlevomatZboziApi\Request\InvalidRequestException
类型的)
\SlevomatZboziApi\Request\InvalidCredentialsException
- 无效的登录凭证\SlevomatZboziApi\Request\OrderNotFoundException
- 找不到订单\SlevomatZboziApi\Request\OrderItemNotFoundException
- 订单中不存在该商品\SlevomatZboziApi\Request\InvalidStatusChangeException
- 订单无法切换到不允许的状态\SlevomatZboziApi\Request\InvalidCancelException
- 无效的取消操作 - 取消的商品数量超过了实际数量\SlevomatZboziApi\Request\OtherRequestErrorException
- 其他错误\SlevomatZboziApi\Request\OrderNotExportedException
- 订单尚未导出到合作伙伴API - 无法通过API对其进行操作
所有InvalidRequestException
异常都有getMessages()
方法,该方法用于获取服务器返回的错误信息。
对于这些错误,在重复尝试之前需要修复发送的请求。如果发送相同的请求,则可能会遇到相同的错误。
库中的所有异常都实现了SlevomatZboziApi\ZboziApiException
接口,如果不需要对每个错误状态进行特殊处理,可以捕获此类型。
请求日志记录
库支持可选的请求日志记录。要实现日志记录,请使用接口\SlevomatZboziApi\ZboziApiLogger
。
仓库中有一个名为ExampleLogger.php
的示例logger,它直接将请求信息打印出来。