OrdersEntity: CDEK orders with PHP API in Joomla
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');