CalculatorEntity: CDEK shipping calculation in Joomla

WT CDEK library - Documentation
Category: Libraries

CalculatorEntity in WT CDEK for Joomla covers shipping rates and delivery price calculation. This reference explains its purpose, parameters and PHP examples for Joomla extensions.

CalculatorEntity calculates shipping prices and delivery times before an order is created.

Access the entity through the Cdek facade:

$calculator = $cdek->calculator();

getAllTariffs()

Signature

public function getAllTariffs(): array

REST API

  • GET /v2/calculator/alltariffs

Purpose

Returns tariff codes available under your CDEK contract. Joomla caches the result.

Parameters

No parameters.

Returns

The API response's tariff_codes array, or an empty array on an API error.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();
$tariffs = $cdek->calculator()->getAllTariffs();

calculateTariff()

Signature

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

REST API

  • POST /v2/calculator/tariff

Purpose

Calculates the price and delivery time for one tariff.

Parameters

Required: tariff_code, from_location, to_location, packages, and packages[].weight. Optional services contains additional services.

Returns

API response, typically including delivery_sum, period_min, period_max, total_sum, services and currency.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->calculator()->calculateTariff([
    'tariff_code'   => 136,
    'from_location' => ['code' => 44],
    'to_location'   => ['code' => 270],
    'packages'      => [
        [
            'weight' => 1000,
            'length' => 10,
            'width'  => 10,
            'height' => 10,
        ],
    ],
]);

calculateTariffList()

Signature

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

REST API

  • POST /v2/calculator/tarifflist

Purpose

Calculates available tariffs for a route and package parameters.

Parameters

Required: from_location, to_location, packages, packages[].weight. Do not supply a tariff_code to select a single tariff.

Returns

An array of tariffs matching the request.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->calculator()->calculateTariffList([
    'from_location' => ['code' => 44],
    'to_location'   => ['code' => 270],
    'packages'      => [
        [
            'weight' => 1500,
            'length' => 20,
            'width'  => 15,
            'height' => 10,
        ],
    ],
]);

tariffAndService()

Signature

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

REST API

  • POST /v2/calculator/tariffAndService

Purpose

Calculates tariffs including additional services such as insurance or packaging.

Parameters

Required route and packages with weight. Optional services is an array, e.g. ['code' => 'INSURANCE', 'parameter' => 1000].

Returns

API response with tariffs and services included in the calculation.

Example

<?php

declare(strict_types=1);

use Webtolk\Cdekapi\Cdek;

defined('_JEXEC') or die;

$cdek = new Cdek();

$result = $cdek->calculator()->tariffAndService([
    'from_location' => ['code' => 44],
    'to_location'   => ['code' => 270],
    'packages'      => [
        [
            'weight' => 1000,
            'length' => 20,
            'width'  => 20,
            'height' => 20,
        ],
    ],
    'services'      => [
        [
            'code'      => 'INSURANCE',
            'parameter' => 5000,
        ],
    ],
]);

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