magdv / cargo-php-api-client
Cargomart.ru API 客户端
1.6.0
2024-07-26 07:42 UTC
Requires
- php: ^8.2
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.3
- psr/simple-cache: ^1.0
- vimeo/psalm: 5.0
Suggests
- psr/simple-cache: Используется для хранения сессий
This package is auto-updated.
Last update: 2024-09-26 08:02:48 UTC
README
Cargomart.ru API 客户端.
示例
use Cargomart\ApiClient\Authentication\LoginPasswordAuthentication; use Cargomart\ApiClient\Authentication\PsrCacheSessionStorage; use Cargomart\ApiClient\Authentication\StorageWrapperAuthentication; use Cargomart\ApiClient\Client; use Cargomart\ApiClient\Entity\Order\Requests\OrderCreateRequest; use GuzzleHttp\Client as GuzzleClient; $guzzle = new GuzzleClient(['base_uri' => 'https://cargomart.ru']); $client = new Client( $guzzle, new StorageWrapperAuthentication( new LoginPasswordAuthentication('login', 'password'), new PsrCacheSessionStorage($cache) ) ); $listReq = $client->apiV2()->order()->get(); // подготовка GET api/v2/order $rsp = $listReq ->qFilterBelong('all') ->qFilterStatus([3,4]) ->do() ; // исполнение GET api/v2/order?filter[belong]=all&filter[status][]=3&filter[status][]=4 var_export($rsp->data->order); $rsp = $listReq // Установка заголовка. ->xModifyFromEventHeader((int)$rsp->headers['X-Last-Event-Num'] - 10) ->do() ; var_export($rsp->data->order); $data = new OrderCreateRequest(); $data->isGeneralPartner = true; $data->kind = 'ftl'; // Пост запрос с телом-объектом. $rsp = $client->apiV2()->order()->post()->do($data); var_export($rsp->status); var_export($rsp->message[0]->title);
开发
提交前
vendor/bin/php-cs-fixer fix .
vendor/bin/psalm
vendor/bin/phpunit
待办事项
- 发送文件的多部分/form-data 请求
- 已弃用参数、标签以及其他按方案的备注
- 按方案验证参数格式
- 调试模式
- 移除 Guzzle 的推荐,绑定到 PSR