Skip to content

πŸ“¦ ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API CDEK.

License

Notifications You must be signed in to change notification settings

chipslays/cdek-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PHP CDEK API v2

πŸ“¦ ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ 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

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ авторизация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ $_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 (ΠΎΠ½ΠΈ описаны Π½ΠΈΠΆΠ΅), послС Ρ‡Π΅Π³ΠΎ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ срок.

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.

About

πŸ“¦ ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API CDEK.

Topics

Resources

License

Stars

Watchers

Forks

Languages