📦 Минималистичный HTTP-клиент для работы с API CDEK.
Данная библиотека не предоставляет описание методов API, это простой HTTP-клиент который содержит метод авторизации (получение токена) и методы запроса к API.
Вы должны иметь всегда под рукой документацию от СДЕК для сверки с необходимыми методами.
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
, вы можете задать параметры конструктора client_id
, client_secret
и endpoint
например в .env файле приложения.
# .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 (они описаны ниже), после чего кэшируется на указанный в ответе срок.
Возвращает действующий токен.
$token = $client->getToken();
Возвращает объект коллекции (см. документацию по работе с Laravel коллекцией).
# https://api-docs.cdek.ru/36982648.html
$client->api('get', 'deliverypoints', [
'size' => 10,
]);
Выполнить GET-запрос к API.
Возвращает объект коллекции (см. документацию по работе с Laravel коллекцией).
# https://api-docs.cdek.ru/36982648.html
$client->get('deliverypoints', [
'size' => 10,
]);
Выполнить POST-запрос к API.
Возвращает объект коллекции (см. документацию по работе с Laravel коллекцией).
$client->post(..., [...]);
Выполнить PATCH-запрос к API.
Возвращает объект коллекции (см. документацию по работе с Laravel коллекцией).
$client->patch(..., [...]);
Выполнить DELETE-запрос к API.
Возвращает объект коллекции (см. документацию по работе с Laravel коллекцией).
$client->delete(..., [...]);
MIT.