cdek-php / api
用于操作CDEK API的最简HTTP客户端。
1.0.1
2024-03-14 10:42 UTC
Requires
- php: >=8.0
- guzzlehttp/guzzle: ^7.8
- illuminate/collections: ^10
- symfony/cache: ^6.4
Requires (Dev)
- symfony/var-dumper: ^6.4
README
📦 用于操作CDEK API的最简HTTP客户端。
开始前
该库不提供API方法描述,它是一个简单的HTTP客户端,包含授权(获取令牌)和API查询方法。
您应始终准备CDEK文档以核对所需方法。
安装
composer require cdek-php/api
示例
您可以在examples文件夹中找到库的示例使用。
文档
授权
测试环境
use Cdek\Client; $client = new Client('EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI', 'PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG');
您可以在此示例中找到示例测试授权。
生产环境
use Cdek\Client; use Cdek\Enums\Endpoint; $client = new Client('client-id', 'client-secret', Endpoint::PROD);
默认使用测试环境,要开始在生产环境工作,需要传递参数endpoint
,其值为Cdek\Enums\Endpoint::PROD
。
使用$_ENV
进行授权
库支持使用$_ENV
进行授权,您可以在应用程序的.env文件中设置构造函数的参数client_id
、client_secret
和endpoint
。
# .env CDEK_API_CLIENT_ID=EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI CDEK_API_CLIENT_SECRET=PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG CDEK_API_ENDPOINT=dev # dev - тестовая среда, prod - боевая среда
// cdek.php use Cdek\Client; $client = new Client; // без client_id, client_secret и endpoint
您可以在此示例中找到使用环境的授权示例。
令牌
每次向API发送请求时都会生成令牌(下面将描述),然后根据响应中的指定时间进行缓存。
getToken(): string
返回有效的令牌。
$token = $client->getToken();
API请求
api(string $method, string $endpoint, array $parameters = []): Collection
返回对象集合(《请参阅Laravel集合文档》)。
# https://api-docs.cdek.ru/36982648.html $client->api('get', 'deliverypoints', [ 'size' => 10, ]);
get(string $endpoint, array $parameters = []): Collection
执行GET请求到API。
返回对象集合(《请参阅Laravel集合文档》)。
# https://api-docs.cdek.ru/36982648.html $client->get('deliverypoints', [ 'size' => 10, ]);
post(string $endpoint, array $parameters = []): Collection
执行POST请求到API。
返回对象集合(《请参阅Laravel集合文档》)。
$client->post(..., [...]);
patch(string $endpoint, array $parameters = []): Collection
执行PATCH请求到API。
返回对象集合(《请参阅Laravel集合文档》)。
$client->patch(..., [...]);
delete(string $endpoint, array $parameters = []): Collection
执行DELETE请求到API。
返回对象集合(《请参阅Laravel集合文档》)。
$client->delete(..., [...]);
许可证
MIT.