PHPackages                             levgenij/nova-poshta-api-2 - 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. [API Development](/categories/api)
4. /
5. levgenij/nova-poshta-api-2

ActiveLibrary[API Development](/categories/api)

levgenij/nova-poshta-api-2
==========================

PHP class for API 2.0 ukrainian delivery company "Nova Poshta"

1.0.3(8y ago)1861MITPHPPHP &gt;=5.3.0

Since Feb 7Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Levgenij/nova-poshta-api-2)[ Packagist](https://packagist.org/packages/levgenij/nova-poshta-api-2)[ Docs](https://github.com/lis-dev/)[ RSS](/packages/levgenij-nova-poshta-api-2/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (1)Versions (5)Used By (0)

Nova Poshta API 2.0
===================

[](#nova-poshta-api-20)

Класс предоставляет доступ к функциям API 2.0 службы доставки Новая Почта

Подготовка
==========

[](#подготовка)

Получение ключа API
-------------------

[](#получение-ключа-api)

Для использования API необходимо:

- зарегистрироваться на сайте [Новой Почты](http://novaposhta.ua)
- На [странице настроек](https://my.novaposhta.ua/settings/index#apikeys) в личном кабинете сгенерировать ключ для работы с API

После получения ключа API предоставляется возможность использовать все методы класса [официальной из документации](https://my.novaposhta.ua/data/API2-200215-1622-28.pdf)

Установка последней версии класса для работы с API
--------------------------------------------------

[](#установка-последней-версии-класса-для-работы-с-api)

### Git

[](#git)

Необходимо выполнить в командной строке

```
git clone https://github.com/lis-dev/nova-poshta-api-2

```

### Composer

[](#composer)

Необходимо создать файл `composer.json` со следующим содержанием

```
{
    "require": {
        "lis-dev/nova-poshta-api-2": "dev-master"
    }
}
```

и запустить из командной строки команду `php composer.phar install` или `php composer.phar update`Или выполнить в командной строке

```
composer require lis-dev/nova-poshta-api-2:dev-master

```

### Альтернативная установка

[](#альтернативная-установка)

Необходимо скачать архив по ссылке

```
https://github.com/lis-dev/nova-poshta-api-2/archive/master.zip

```

Форматы данных
==============

[](#форматы-данных)

Для входящих данных используются PHP массивы, ответ сервера может быть получен в формате:

- как PHP массив
- JSON
- XML

Использование
=============

[](#использование)

Создание экземпляра класса
--------------------------

[](#создание-экземпляра-класса)

```
$np = new NovaPoshtaApi2('Ваш_ключ_API_2.0');
```

Создание экземпляра класса (с расширенными параметрами)
-------------------------------------------------------

[](#создание-экземпляра-класса-с-расширенными-параметрами)

Рекомендуется использовать, если необходимо получать данные на языке, отличном от русского, выбрасывать Exception при ошибке запроса, или при отсутствии установленной библиотеки curl на сервере

```
$np = new NovaPoshtaApi2(
	'Ваш_ключ_API_2.0',
	'ru', // Язык возвращаемых данных: ru (default) | ua | en
	FALSE, // При ошибке в запросе выбрасывать Exception: FALSE (default) | TRUE
	'curl' // Используемый механизм запроса: curl (defalut) | file_get_content
);
```

Получение информации о трек-номере
----------------------------------

[](#получение-информации-о-трек-номере)

```
$result = $np->documentsTracking('59000000000000');
```

Получение сроков доставки
-------------------------

[](#получение-сроков-доставки)

```
// Получение кода города по названию города и области
$sender_city = $np->getCity('Белгород-Днестровский', 'Одесская');
$sender_city_ref = $sender_city['data'][0]['Ref'];
// Получение кода города по названию города и области
$recipient_city = $np->getCity('Киев', 'Киевская');
$recipient_city_ref = $recipient_city['data'][0]['Ref'];
// Дата отправки груза
$date = date('d.m.Y');
// Получение ориентировочной даты прибытия груза между складами в разных городах
$result = $np->getDocumentDeliveryDate($sender_city_ref, $recipient_city_ref, 'WarehouseWarehouse', $date);
```

Получение стоимости доставки
----------------------------

[](#получение-стоимости-доставки)

```
// Получение кода города по названию города и области
$sender_city = $np->getCity('Белгород-Днестровский', 'Одесская');
$sender_city_ref = $sender_city['data'][0]['Ref'];
// Получение кода города по названию города и области
$recipient_city = $np->getCity('Киев', 'Киевская');
$recipient_city_ref = $recipient_city['data'][0]['Ref'];
// Вес товара
$weight = 7;
// Цена в грн
$price = 5450;
// Получение стоимости доставки груза с указанным весом и стоимостью между складами в разных городах
$result = $np->getDocumentPrice($sender_city_ref, $recipient_city_ref, 'WarehouseWarehouse', $weight, $price);
```

Генерирование новой электронной накладной
-----------------------------------------

[](#генерирование-новой-электронной-накладной)

```
// Перед генерированием ЭН необходимо получить данные отправителя
// Получение всех отправителей
$senderInfo = $np->getCounterparties('Sender', 1, '', '');
// Выбор отправителя в конкретном городе (в данном случае - в первом попавшемся)
$sender = $senderInfo['data'][0];
// Информация о складе отправителя
$senderWarehouses = $np->getWarehouses($sender['City']);
// Генерирование новой накладной
$result = $np->newInternetDocument(
    // Данные отправителя
    array(
        // Данные пользователя
        'FirstName' => $sender['FirstName'],
        'MiddleName' => $sender['MiddleName'],
        'LastName' => $sender['LastName'],
        // Вместо FirstName, MiddleName, LastName можно ввести зарегистрированные ФИО отправителя или название фирмы для юрлиц
        // (можно получить, вызвав метод getCounterparties('Sender', 1, '', ''))
        // 'Description' => $sender['Description'],
        // Необязательное поле, в случае отсутствия будет использоваться из данных контакта
        // 'Phone' => '0631112233',
        // Город отправления
        // 'City' => 'Белгород-Днестровский',
        // Область отправления
        // 'Region' => 'Одесская',
        'CitySender' => $sender['City'],
        // Отделение отправления по ID (в данном случае - в первом попавшемся)
        'SenderAddress' => $senderWarehouses['data'][0]['Ref'],
        // Отделение отправления по адресу
        // 'Warehouse' => $senderWarehouses['data'][0]['DescriptionRu'],
    ),
    // Данные получателя
    array(
        'FirstName' => 'Сидор',
        'MiddleName' => 'Сидорович',
        'LastName' => 'Сиродов',
        'Phone' => '0509998877',
        'City' => 'Киев',
        'Region' => 'Киевская',
        'Warehouse' => 'Отделение №3: ул. Калачевская, 13 (Старая Дарница)',
    ),
    array(
        // Дата отправления
        'DateTime' => date('d.m.Y'),
        // Тип доставки, дополнительно - getServiceTypes()
        'ServiceType' => 'WarehouseWarehouse',
        // Тип оплаты, дополнительно - getPaymentForms()
        'PaymentMethod' => 'Cash',
        // Кто оплачивает за доставку
        'PayerType' => 'Recipient',
        // Стоимость груза в грн
        'Cost' => '500',
        // Кол-во мест
        'SeatsAmount' => '1',
        // Описание груза
        'Description' => 'Кастрюля',
        // Тип доставки, дополнительно - getCargoTypes
        'CargoType' => 'Cargo',
        // Вес груза
        'Weight' => '10',
        // Объем груза в куб.м.
        'VolumeGeneral' => '0.5',
        // Обратная доставка
        'BackwardDeliveryData' => array(
            array(
                // Кто оплачивает обратную доставку
                'PayerType' => 'Recipient',
                // Тип доставки
                'CargoType' => 'Money',
                // Значение обратной доставки
                'RedeliveryString' => 4552,
            )
        )
    )
);
```

Получение складов в определенном городе
---------------------------------------

[](#получение-складов-в-определенном-городе)

```
// В параметрах указывается город и область (для более точного поиска)
$city = $np->getCity('Киев', 'Киевская');
$result = $np->getWarehouses($city);
```

Вызов произвольного метода
--------------------------

[](#вызов-произвольного-метода)

```
$result = $np
	->model('Имя_модели')
	->method('Имя_метода')
	->params(array(
		'Имя_параметра_1' => 'Значение_параметра_1',
		'Имя_параметра_2' => 'Значение_параметра_2',
	))
	->execute();
```

Реализованные методы для работы с моделями
==========================================

[](#реализованные-методы-для-работы-с-моделями)

Модель InternetDocument
-----------------------

[](#модель-internetdocument)

- save
- update
- delete
- getDocumentPrice
- getDocumentDeliveryDate
- getDocumentList
- getDocument
- printDocument
- printMarkings
- documentsTracking
- newInternetDocument
- generateReport

Модель Counterparty
-------------------

[](#модель-counterparty)

- save
- update
- delete
- cloneLoyaltyCounterpartySender
- getCounterparties
- getCounterpartyAddresses
- getCounterpartyContactPersons
- getCounterpartyByEDRPOU
- getCounterpartyOptions

Модель ContactPerson
--------------------

[](#модель-contactperson)

- save
- update
- delete

Модель Address
--------------

[](#модель-address)

- save
- update
- delete
- getCities
- getStreet
- getWarehouses
- getAreas
- findNearestWarehouse

Модель Common
-------------

[](#модель-common)

- getTypesOfCounterparties
- getBackwardDeliveryCargoTypes
- getCargoDescriptionList
- getCargoTypes
- getDocumentStatuses
- getOwnershipFormsList
- getPalletsList
- getPaymentForms
- getTimeIntervals
- getServiceTypes
- getTiresWheelsList
- getTraysList
- getTypesOfPayers
- getTypesOfPayersForRedelivery

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 79.1% 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 ~53 days

Total

4

Last Release

3219d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e2e568c7b06cb34cb86c327e0ebc10135196490641e03c608d24cdfef787452e?d=identicon)[Levgenij](/maintainers/Levgenij)

---

Top Contributors

[![lis-dev](https://avatars.githubusercontent.com/u/5593509?v=4)](https://github.com/lis-dev "lis-dev (34 commits)")[![Levgenij](https://avatars.githubusercontent.com/u/16118509?v=4)](https://github.com/Levgenij "Levgenij (4 commits)")[![Andr1yk0](https://avatars.githubusercontent.com/u/17598596?v=4)](https://github.com/Andr1yk0 "Andr1yk0 (2 commits)")[![holyspecter](https://avatars.githubusercontent.com/u/4248110?v=4)](https://github.com/holyspecter "holyspecter (1 commits)")[![SAP55](https://avatars.githubusercontent.com/u/3145919?v=4)](https://github.com/SAP55 "SAP55 (1 commits)")[![vldmr-k](https://avatars.githubusercontent.com/u/2142055?v=4)](https://github.com/vldmr-k "vldmr-k (1 commits)")

---

Tags

deliverydelivery servicenova poshtanova poshta api

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/levgenij-nova-poshta-api-2/health.svg)

```
[![Health](https://phpackages.com/badges/levgenij-nova-poshta-api-2/health.svg)](https://phpackages.com/packages/levgenij-nova-poshta-api-2)
```

###  Alternatives

[lis-dev/nova-poshta-api-2

PHP class for API 2.0 ukrainian delivery company "Nova Poshta"

146172.1k](/packages/lis-dev-nova-poshta-api-2)[cdek-it/sdk2.0

PHP SDK для API v2.0 от сервиса интеграции компании СДЭК

3992.9k](/packages/cdek-it-sdk20)[kontent-ai/delivery-sdk-php

Kontent.ai Delivery SDK for PHP

4628.8k](/packages/kontent-ai-delivery-sdk-php)[antistress-store/cdek-sdk-v2

PHP SDK для API v2.0 от сервиса интеграции компании СДЭК

3152.8k](/packages/antistress-store-cdek-sdk-v2)[daaner/novaposhta

NovaPoshta (API 2.0) for Laravel 7+

3720.8k](/packages/daaner-novaposhta)[ttatpuot/cdek-sdk2.0

Рабочий и поддерживаемый PHP SDK для API v2.0 СДЭК

1315.7k](/packages/ttatpuot-cdek-sdk20)

PHPackages © 2026

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