用于操作CDEK API的最简HTTP客户端。

1.0.1 2024-03-14 10:42 UTC

This package is auto-updated.

Last update: 2024-09-18 05:00:35 UTC


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_idclient_secretendpoint

# .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.