PHPackages                             yooogi/dellinsdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yooogi/dellinsdk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

yooogi/dellinsdk
================

PHP SDK для Деловых Линий

0.1.4(1y ago)257MITPHPPHP &gt;=8.1

Since Jan 10Pushed 1y ago1 watchersCompare

[ Source](https://github.com/potapov-denis/DellinSDK)[ Packagist](https://packagist.org/packages/yooogi/dellinsdk)[ RSS](/packages/yooogi-dellinsdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (4)Versions (7)Used By (0)

PHP SDK для Деловых Линий
=========================

[](#php-sdk-для-деловых-линий)

[![alt text](https://camo.githubusercontent.com/7c802423c0e0eaa4a2e80bb16e399f052de06eb8e17e4e56ac49bd1632302716/68747470733a2f2f6170702e64656c6c696e2d6d732e796f6f6f67692e72752f696d672f64656c6c696e5f73646b2e706e67)](https://camo.githubusercontent.com/7c802423c0e0eaa4a2e80bb16e399f052de06eb8e17e4e56ac49bd1632302716/68747470733a2f2f6170702e64656c6c696e2d6d732e796f6f6f67692e72752f696d672f64656c6c696e5f73646b2e706e67)

Installation
============

[](#installation)

```
composer require yooogi/dellinsdk
```

Configuration
=============

[](#configuration)

```
require_once '../vendor/autoload.php';

use GuzzleHttp\Client;
use Yooogi\DellinSDK\DellinClient;

$client = new Client();
$dellin = new DellinClient('YOUR_APP_KEY', $client);
```

PHP 8.1 or newer is required

PSR-18 Client is required

Auth
====

[](#auth)

You can use existing Auth session id:

```
$auth = new AuthResponse('YOUR_SESSION_ID');
```

Or get new Auth session id from Dellin:

```
$authRequest = AuthRequest::create('YOUR_DELLIN_ACCOUNT', 'YOUR_DELLIN_PASSWORD');
$auth = $dellin->authorization->auth($authRequest);
echo $auth->getSessionId();
```

To use some methods with Auth:

```
$sessionInfoRequest = SessionInfoRequest::create('YOUR_SESSION_ID')
    ->withAuth($auth);
$sessionInfoResponse = $dellin->authorization->info($sessionInfoRequest);
```

Examples:
=========

[](#examples)

Calculation:
------------

[](#calculation)

```
/* Погрузочные работы */
$handling = Handling::create(false, null, null);

/* Время */
$time = Time::create('10:00', '23:00', '11:00', '12:00', false);

/* Требуемые условия погрузки */
$requirements = RequirementsCollection::create();
$requirements[] = TransportRequirements::UNCOVER;

/* Адрес */
$address = Address::create(AddressType::SEARCH, 'Москва, Малая Тульская 2/1 корп 2 кв 355');

/* Информация по месту отправителя */
$derival = DerivalArrival::create($date, TransportType::ADDRESS)
    ->setProduceDate($date)
    ->setTime($time)
    ->setRequirements($requirements)
    ->setAddress($address);

/* Информация по месту получателя */
$arrival = DerivalArrival::create($date, TransportType::TERMINAL)
    ->setTerminalId(6)
    ->setTime($time);

/* Упаковка */
$packages = PackageCollection::create([PackageType::BUBBLE]);
$packages->addPackage(PackageType::CRATE);
$packages->setQuantity(PackageType::BUBBLE, 1);

/* Груз */
$cargoItem = CargoItem::create(130, 0.1, 0.1, 0.2, 4000);
$cargos = CargoItemsCollection::create([$cargoItem]);
$cargo = Cargo::create($cargos)
    ->setInsurance(true)
    ->setTermInsurance(true)
    ->setPayerInsurance(PayerType::SENDER)
    ->setFreightName('Мебель');

/* Заказчик */
$requester = Requester::create(RequesterType::SENDER);

/* Калькулятор */
$calculationRequest = CalculationRequest::create(DeliveryType::AUTO, $derival, $arrival, $cargo)
    ->setPackages($packages)
    ->setRequester($requester)
    ->withAuth($auth);
$calc = $dellin->calculations->calculate($calculationRequest);
```

Async Calculation:
------------------

[](#async-calculation)

Please, use Guzzle Client 7.5

```
$calculationResponse = $dellin->calculations->asyncCalculate(
    ['AUTO' => $calculationRequest,'AVIA' => $calculationRequest2]
);
```

Create Order:
-------------

[](#create-order)

```
/* Сопроводительные документы */
$acdoc = AccompanyingDocumentsCollection::create([AcDoc::SEND,
    AcDoc::RETURN]);
$acdoc->setPayer(AcDoc::SEND, PayerType::SENDER);

/* Товар */
$product = Product::create('PRODUCT_NAME', 1, 344.3)
    ->setVATRate(VATType::VAT10);

/* Наложенный платеж */
$cashOnDelivery = CashOnDelivery::create(false)
    ->setOrderNumber('1234567')
    ->setOrderDate(new DateTimeImmutable('2042-04-20'))
    ->setCashOnDeliveryPaymentType(CashOnDeliveryPaymentType::CASH)
    ->setProducts([$product]);

/* Оплата */
$payment = Payment::create(PaymentType::CASH, PayerType::SENDER);
  //->setCashOnDelivery($cashOnDelivery)

$customForm = CustomForm::create('CUSTOM_FORM_NAME', 'COUNTRY_ID', false);
$document = Document::create(DocumentType::PASSPORT, 'NUMBER', 'NUMBER');
$counterAgent = Counteragent::create('YOUR_COUNTERAGENT_ID')
    ->setDocument($document)
    ->setForm('0xa3e714bceb061db84f91842983ef5abc')
    ->setInn('YOUR_INN_NUMBER');
  //->setJuridicalAddress($address);

$phone = PhoneNumber::create('79110000000');
$contactPerson = ContactPerson::create('YOUR_CONTACT_PERSON_NAME');
$dataForReceipt = DataForReceipt::create(true)->setPhone('+79110000000');
$member = Member::create($counterAgent)
    ->setPhoneNumbers([$phone])
    ->setContactPersons([$contactPerson])
    ->setDataForReceipt($dataForReceipt);
  //->setPhoneIDs(['123123'])
  //->setContactIDs(['123132'])
  //->setCounteragentID(123);

/* Участники перевозки */
$members = Members::create($requester, $member, $member);

/* Создание заказа */
$orderRequest = OrderRequest::create(DeliveryType::AUTO, $derival, $arrival, $members, $cargo, $payment)
    ->setInOrder(false)
    ->setAccompanyingDocuments($acdoc)
    ->setPackages($packages)
    ->withAuth($auth);
$orderResponse = $dellin->orders->create($orderRequest);
```

Get sender counteragents:
-------------------------

[](#get-sender-counteragents)

```
/* Контрагенты отправителя */
$counterAgentRequest = SenderCounteragentsRequest::create()->setFullInfo(true)->withAuth($auth);
$getCounterAgents = $dellin->services->getCounteragents($counterAgentRequest);
$getCounterAgents->getCounteragents();
```

Get orders log:
---------------

[](#get-orders-log)

```
/* Журнал заказов*/
$orderLogRequest = OrdersLogRequest::create()->setDocIds(['YOUR_REQUEST_ID'])
    ->setStates(StatusesCollection::create([Statuses::INWAY,
        Statuses::PICKUP]))
    ->setOrderDatesAdditional(true)
    ->withAuth($auth);
$getOrderLogInfo = $dellin->ordersInfo->getLog($orderLogRequest);
```

Print request:
--------------

[](#print-request)

```
/* Печать заявок заказу*/
$ordersPrintPickUpRequest = OrderPrintRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$ordersPrintPickUp  = $dellin->ordersInfo->printPickUp($ordersPrintPickUpRequest);
```

Print document:
---------------

[](#print-document)

```
/* Печать документов к заказу*/
$ordersPrintDocumentsRequest = OrderPrintDocumentsRequest::create('YOUR_DOCUMENT_UID', PrintModeType::ORDER)->withAuth($auth);
$ordersPrintDocuments = $dellin->ordersInfo->printDocuments($ordersPrintDocumentsRequest);
```

Get order history:
------------------

[](#get-order-history)

```
/* История по заказу*/
$orderHistoryRequest = OrderHistoryRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$orderHistory = $dellin->ordersInfo->getHistory($orderHistoryRequest);
```

Search order by parameters:
---------------------------

[](#search-order-by-parameters)

```
/* Поиск заказа по параметрам*/
$requestMember = Member::create()->setInn('INN_NUMBER');
$orderSearchRequest = OrderSearchRequest::create(new DateTimeImmutable('2022-06-15'), new DateTimeImmutable('2022-07-22'))
  ->setReceiver($requestMember)
  ->setSender($requestMember)
  ->withAuth($auth);
$orderSearch = $dellin->ordersInfo->search($orderSearchRequest);
```

Get conditions:
---------------

[](#get-conditions)

```
/* Проверка ограничений */
$conditionsRequest = ConditionsRequest::create(DeliveryType::AUTO, '7701700000000000000000000', '3400000100000000000000000',
    0.01, 1, 1, 1)
  ->setArrivalDoor(true)
  ->setDerivalDoor(true)
  ->withAuth($auth);
$conditionsResponse = $dellin->services->getConditions($conditionsRequest);
```

Get dispatch dates:
-------------------

[](#get-dispatch-dates)

```
/* Даты отправления */
$dispatchDatesRequest = DispatchDateRequest::create(DeliveryType::AUTO, $derival, $cargo)->withAuth($auth);
$dispatchDatesResponse = $dellin->services->getDispatchDates($dispatchDatesRequest);
```

Get dispatch time:
------------------

[](#get-dispatch-time)

```
/* Время отправления */
$dispatchTimeRequest = DispatchTimeRequest::create(DeliveryType::AUTO, $derival2, $cargo)->withAuth($auth);
$dispatchTimeResponse = $dellin->services->getDispatchTimeInterval($dispatchTimeRequest);
```

Get delivery time:
------------------

[](#get-delivery-time)

```
/* Время доставки  */
$deliveryDatesRequest = DeliveryTimeRequest::create('YOUR_REQUEST_ID', $arrival)->withAuth($auth);
$deliveryDatesResponse = $dellin->services->getDeliveryTimeInterval($deliveryDatesRequest);
```

Get available packages:
-----------------------

[](#get-available-packages)

```
/* Доступные упаковки */
$availablePackageRequest = AvailablePackagesRequest::createFromCargo('7700000000000000000000000', '100400003400000000000000', $cargo)->withAuth($auth);
$availablePackageResponse = $dellin->services->getAvailablePackages($availablePackageRequest);
```

Repeat order:
-------------

[](#repeat-order)

```
/* Повтор заказа */
$repeatOrderRequest = RepeatOrderRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$repeatOrderResponse = $dellin->manageOrders->repeatOrder($repeatOrderRequest);
```

Available changes for order:
----------------------------

[](#available-changes-for-order)

```
/* Доступные изменения */
$changeAvailableRequest = ChangeAvailableRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$changeAvailableResponse = $dellin->manageOrders->getChangeAvailable($changeAvailableRequest);
```

Change receiver:
----------------

[](#change-receiver)

```
/* Изменение получателя */
$changeReceiverRequest = ChangeReceiverRequest::create('YOUR_REQUEST_ID', $member, true, PayerType::RECEIVER)->withAuth($auth);
$changeReceiverResponse = $dellin->manageOrders->changeReceiver($changeReceiverRequest);
```

Change payer:
-------------

[](#change-payer)

```
/* Изменение плательщика */
$changePayerRequest = ChangePayerRequest::create('YOUR_REQUEST_ID', third: $counterAgent, member: $member)->withAuth($auth);
$changePayerResponse = $dellin->manageOrders->changePayer($changePayerRequest);
```

Change contact data:
--------------------

[](#change-contact-data)

```
/* Изменение контактных данных*/
$changeContactsRequest = ChangeContactsRequest::create('YOUR_REQUEST_ID', $members)->withAuth($auth);
$changeContactsResponse = $dellin->manageOrders->changeContacts($changeContactsRequest);
```

Change address and time of dispatch:
------------------------------------

[](#change-address-and-time-of-dispatch)

```
/* Изменение адреса и времени отправки */
$changePickUpRequest = ChangePickUpRequest::create('YOUR_REQUEST_ID', $derival, $member)->withAuth($auth);
$changePickUpResponse = $dellin->manageOrders->changePickUp($changePickUpRequest);
```

Change address and time of delivery:
------------------------------------

[](#change-address-and-time-of-delivery)

```
/* Изменение адреса и времени доставки  */
$changeDeliveryRequest = ChangeDeliveryRequest::create('YOUR_REQUEST_ID', $arrival, $members, RequesterType::PAYER)->withAuth($auth);
$changeDeliveryResponse = $dellin->manageOrders->changeDelivery($changeDeliveryRequest);
```

Cancel pickup:
--------------

[](#cancel-pickup)

```
/* Отмена доставки от адреса отправителя */
$cancelPickUpRequest = CancelRequest::create('YOUR_REQUEST_ID', $member)->withAuth($auth);
$cancelPickUpResponse = $dellin->manageOrders->cancelPickUp($cancelPickUpRequest);
```

Cancel delivery:
----------------

[](#cancel-delivery)

```
/* Отмена доставки до адреса отправителя */
$cancelDeliveryRequest = CancelDeliveryRequest::create('YOUR_REQUEST_ID', $member, RequesterType::CUSTOMER)->withAuth($auth);
$cancelDeliveryResponse = $dellin->manageOrders->cancelDelivery($cancelDeliveryRequest);
```

Resume order:
-------------

[](#resume-order)

```
/* Возобновление выдачи груза */
$resumeOrderRequest = ResumeOrderRequest::create('YOUR_REQUEST_ID', new DateTimeImmutable('2022-07-30'))->withAuth($auth);
$resumeOrderResponse = $dellin->manageOrders->resumeOrder($resumeOrderRequest);
```

Suspend Order:
--------------

[](#suspend-order)

```
/* Приостановка выдачи груза */
$suspendOrderRequest = SuspendOrderRequest::create('YOUR_REQUEST_ID', new DateTimeImmutable('2022-07-30'))->withAuth($auth);
$suspendOrderResponse = $dellin->manageOrders->suspendOrder($suspendOrderRequest);
```

Add to favorite:
----------------

[](#add-to-favorite)

```
/* Добавление в избранное */
$addFavoriteOrderRequest = AddFavoriteOrderRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$addFavoriteOrderResponse = $dellin->manageOrders->addFavoriteOrder($addFavoriteOrderRequest);
```

Delete from favorite
--------------------

[](#delete-from-favorite)

```
/* Удаление из избранного */
$deleteFavoriteOrderRequest = DeleteFavoriteOrderRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$deleteFavoriteOrderResponse = $dellin->manageOrders->deleteFavoriteOrder($deleteFavoriteOrderRequest);
```

Calculate delivery to address:
------------------------------

[](#calculate-delivery-to-address)

```
/* Расчет стоимости доставки до адреса */
$deliveryRequest = DeliveryRequest::create('7700000000000000000000000', 'YOUR_REQUEST_ID', new DateTimeImmutable('2042-04-20'))
    ->setHandling($handling)->withAuth($auth);
$deliveryResponse = $dellin->calculations->delivery($deliveryRequest);
```

Get counteragents from book:
----------------------------

[](#get-counteragents-from-book)

```
/* Получить контрагента из книги */
$bookCounterAgentsRequests = BookCounterAgentsRequest::create()->withAuth($auth);
$bookCounterAgents = $dellin->book->getCounterAgents($bookCounterAgentsRequests);
```

Make markings to cargoplaces:
-----------------------------

[](#make-markings-to-cargoplaces)

```
/* Запрос на создание этикеток к местам*/
$cargoPlace = CargoPlace::create('CARGO_PLACE_NAME');
$cargoPlaces = CargoPlacesCollection::create([$cargoPlace]);
$makeShippingLabelsRequest = MakeShippingLabelsRequest::create('YOUR_REQUEST_ID', $cargoPlaces)->withAuth($auth);
$makeShippingLabelsResponse = $dellin->marking->makeShippingLabels($makeShippingLabelsRequest);
```

Get markings to cargoplaces:
----------------------------

[](#get-markings-to-cargoplaces)

```
/* Получение этиекток на груз*/
$getShippingLabelsRequest = GetShippingLabelsRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$getShippingLabelsResponse = $dellin->marking->getShippingLabels($getShippingLabelsRequest);
```

Get markings to accompanying documents:
---------------------------------------

[](#get-markings-to-accompanying-documents)

```
/* Получение этиекток на сопроводительные документы */
$getAcDocShippingLabelsRequest = GetAcDocShippingLabelsRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$getAcDocShippingLabelsResponse = $dellin->marking->getAcDocShippingLabels($getAcDocShippingLabelsRequest);
```

Get statuses of cargoplaces:
----------------------------

[](#get-statuses-of-cargoplaces)

```
/* Получение статусов грузомест*/
$getCargoStatusesRequest = GetCargoStatusesRequest::create('YOUR_REQUEST_ID')->withAuth($auth);
$getCargoStatusesResponse = $dellin->marking->getCargoStatuses($getCargoStatusesRequest);
```

Get handling markings catalog:
------------------------------

[](#get-handling-markings-catalog)

```
/* Получение справочника этикеток с манипуляционными знаками */
$getHandlingMarksCatalogRequest = GetHandlingMarksCatalogRequest::create()->withAuth($auth);
$getHandlingMarksCatalogResponse = $dellin->marking->getHandlingMarksCatalog($getHandlingMarksCatalogRequest);
```

Get handling markings:
----------------------

[](#get-handling-markings)

```
/* Получение этикеток с манипуляционными знаками */
$handlingMark = HandlingMark::create(HandlingMarkName::BEACON, 2, ShippingLabelFormat::LARGE);
$getHandlingMarksRequest = GetHandlingMarksRequest::create([$handlingMark], false, ShippingLabelType::PDF)->withAuth($auth);
$getHandlingMarksResponse = $dellin->marking->getHandlingMarks($getHandlingMarksRequest);
```

Get packaging markings catalog:
-------------------------------

[](#get-packaging-markings-catalog)

```
/* Получение справочника этикеток с типами упаковки */
$getPackagingMarksCatalogRequest = GetPackagingMarksCatalogRequest::create()->withAuth($auth);
$getPackagingMarksCatalogResponse = $dellin->marking->getPackagingMarksCatalog($getPackagingMarksCatalogRequest);
```

Get packaging markings:
-----------------------

[](#get-packaging-markings)

```
/* Получение этикеток с типами упаковки */
$packagingMark = PackagingMark::create(PackagingMarkName::CRATE, 2, ShippingLabelFormat::SMALL);
$getPackagingMarksRequest = GetPackagingMarksRequest::create([$packagingMark], true, ShippingLabelType::PDF)->withAuth($auth_test);
$getPackagingMarksResponse = $dellin->marking->getPackagingMarks($getPackagingMarksRequest);
```

Возможности:

- Авторизация
    - Авторизация пользователя
    - Список контрагентов
- Выполнение расчета
    - Калькулятор стоимости и сроков
    - Калькулятор услуги Доставка
    - Ориентировочные сроки и стоимость
- Оформление заявок
    - Перевозка сборных грузов
    - Междугородняя перевозка еврофурой
    - Перевозка малотоннажным транспортом
    - Почасовая аренда транспорта
    - Дополнение заказа доставкой
    - Мультизаявка
    - Пакетный заказ Pre-Alert
- Информация по заказам
    - Журнал заказов
    - Поиск по параметрам перевозки
    - История изменений заказа
    - Печатные формы
    - Отчеты
- Управление заказом
    - Повтор заказа
    - Доступные изменения
    - Изменение получателя
    - Изменение плательщика
    - Изменение контактной информации
    - Изменение адреса и времени отправки
    - Изменение адреса и времени доставки
    - Отмена заказа и доставки груза
    - Приостановка и возобновление выдачи
    - Добавление в Избранное
- Самомаркировка
    - Маркировка грузовых мест
    - Манипуляционные знаки
    - Маркировка упаковки
- Адресная книга
    - Контрагенты
    - Контактные данные
    - Адреса
    - Удаление объектов
- Платежи
    - Взаиморасчеты
    - Периоды взаиморасчётов
    - Получение ссылки на оплату
- Терминалы
    - Справочник терминалов
    - Поиск терминалов
    - Терминалы на карте
- Местоположения
    - Географические справочники
    - Поиск географических объектов
    - Поиск КЛАДР
- Справочные методы
    - Подбор даты отправки
    - Подбор даты доставки
    - Подбор времени приезда водителя
    - Проверка ограничений
    - Доступные упаковки
    - Параметры негабаритного груза
    - Поиск ОПФ
    - Поиск характера груза
    - Справочники
- Самостоятельная маркировка груза
    - Маркировка грузовых мест
    - Манипуляционные знаки
    - Маркировка упаковки

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance49

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~193 days

Total

5

Last Release

441d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4fe19458c4a8a1cea0a8839ea8d5d0e6cdc5f3b93eba9a8310c527f0ecc700a2?d=identicon)[potapov-denis](/maintainers/potapov-denis)

---

Top Contributors

[![potapov-denis](https://avatars.githubusercontent.com/u/68988543?v=4)](https://github.com/potapov-denis "potapov-denis (12 commits)")

---

Tags

sdkслужба доставкиdellinДеловые линииdellinsdkтранспортная компания

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/yooogi-dellinsdk/health.svg)

```
[![Health](https://phpackages.com/badges/yooogi-dellinsdk/health.svg)](https://phpackages.com/packages/yooogi-dellinsdk)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k17](/packages/civicrm-civicrm-core)[infusionsoft/php-sdk

PHP SDK for the Infusionsoft

1292.1M7](/packages/infusionsoft-php-sdk)[zumba/amplitude-php

PHP SDK for Amplitude

409.5M5](/packages/zumba-amplitude-php)[appwilio/russianpost-sdk

Russian Post (pochta.ru) SDK

4615.7k](/packages/appwilio-russianpost-sdk)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
