OrdersEntity: CDEK orders with PHP API in Joomla

WT CDEK library - Documentation
Category: Libraries

OrdersEntity in WT CDEK for Joomla covers order creation, updates and customer returns. This reference explains its purpose, parameters and PHP examples for Joomla extensions.

OrdersEntity creates, reads, updates and deletes orders, registers client returns and refusals, and retrieves related courier requests.

Access the entity through the Cdek facade:

$orders = $cdek->orders();

createOrder()

Signature

public function createOrder(array $request_options): array

REST API

  • POST /v2/orders

Purpose

Creates a CDEK order.

Parameters

Required by the library: tariff_code, recipient, packages, recipient.name, packages[].number, packages[].weight. If recipient.phones is supplied, each phone must have number. CDEK performs the remaining business validation.

Returns

Asynchronous API response with request UUID and order creation status.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->createOrder([
    'type'          => 1,
    'number'        => 'ORDER-10001',
    'tariff_code'   => 136,
    'recipient'     => [
        'name'   => 'Иван Иванов',
        'phones' => [
            ['number' => '+79990000000'],
        ],
    ],
    'from_location' => ['code' => 44],
    'to_location'   => ['code' => 270],
    'packages'      => [
        [
            'number' => '1',
            'weight' => 1000,
        ],
    ],
]);

getOrderInfo()

Signature

public function getOrderInfo(?string $uuid = '', ?string $cdek_number = '', ?string $im_number = ''): array

REST API

  • GET /v2/orders/{uuid}
  • GET /v2/orders?cdek_number=...
  • GET /v2/orders?im_number=...

Purpose

Retrieves an existing order.

Parameters

Supply at least one of $uuid, $cdek_number, $im_number. UUID uses GET /v2/orders/{uuid}; other identifiers use cdek_number or im_number query parameters.

Returns

Order details and statuses.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$order = $cdek->orders()->getOrderInfo('', '1234567890');

updateOrder()

Signature

public function updateOrder(array $request_options = []): array

REST API

  • PATCH /v2/orders

Purpose

Updates an order while its current status permits changes.

Parameters

Required: type, recipient, and either uuid or cdek_number.

Returns

API response array.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->updateOrder([
    'uuid'      => '11111111-1111-1111-1111-111111111111',
    'type'      => 1,
    'recipient' => [
        'name' => 'Петр Петров',
    ],
]);

getIntakes()

Signature

public function getIntakes(string $order_uuid): array

REST API

  • GET /v2/orders/{orderUuid}/intakes

Purpose

Retrieves courier collection requests associated with an order.

Parameters

$order_uuid: order UUID.

Returns

Related collection requests.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->getIntakes('11111111-1111-1111-1111-111111111111');

deleteOrder()

Signature

public function deleteOrder(string $uuid): array

REST API

  • DELETE /v2/orders/{uuid}

Purpose

Deletes an order if its status permits deletion.

Parameters

$uuid: order UUID.

Returns

API response array.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->deleteOrder('11111111-1111-1111-1111-111111111111');

clientReturn()

Signature

public function clientReturn(string $uuid, array $request_options = []): array

REST API

  • POST /v2/orders/{uuid}/clientReturn

Purpose

Registers a client return for a store order.

Parameters

$uuid: original order UUID; required return tariff_code in request_options.

Returns

API response array.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->clientReturn(
    '11111111-1111-1111-1111-111111111111',
    [
        'tariff_code' => 136,
    ]
);

refuse()

Signature

public function refuse(string $uuid): array

REST API

  • POST /v2/orders/{uuid}/refusal

Purpose

Registers an order refusal followed by return.

Parameters

$uuid: order UUID.

Returns

API response array.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->orders()->refuse('11111111-1111-1111-1111-111111111111');

Overview and getting started

WT CDEK 1.4.0 source code on GitHub

WebTolk Joomla Extensions

113 Extensions
12 Categories
587 Versions released
920737 Downloads