PHPackages                             serj1chen/nova-poshta-sdk-php - 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. serj1chen/nova-poshta-sdk-php

ActiveLibrary[API Development](/categories/api)

serj1chen/nova-poshta-sdk-php
=============================

SDK для Новой Почты

2.0.6(6y ago)5026.5k↑12.5%22[1 issues](https://github.com/serj1chen/nova-poshta-sdk-php/issues)[1 PRs](https://github.com/serj1chen/nova-poshta-sdk-php/pulls)MITPHPPHP &gt;=5.3.0

Since Aug 2Pushed 4y ago6 watchersCompare

[ Source](https://github.com/serj1chen/nova-poshta-sdk-php)[ Packagist](https://packagist.org/packages/serj1chen/nova-poshta-sdk-php)[ RSS](/packages/serj1chen-nova-poshta-sdk-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)DependenciesVersions (9)Used By (0)

Новая Почта. SDK для личного кабинета API 2
===========================================

[](#новая-почта-sdk-для-личного-кабинета-api-2)

[Статья на habrahabr](https://habrahabr.ru/post/264209/)

Для быстрого оформления большого количества отправлений используется способ электронного обмена данными между информационной системой компании «Новая Почта» и программным комплексом Партнера/Клиента. Обмен данными осуществляется путем передачи информации через программную среду АРІ.

Для начала работы с функционалом АРІ компании «Новая Почта» необходимо создать ключ на странице настройки в личном кабинете my.novaposhta.ua. Ключ АРІ обязательно включается в каждый запрос. Важно! Все создаваемые ключи ограничены во времени действия, настоятельно рекомендуется учитывать данное ограничение.

SDK разработана по официальной документации. За более детальной информацией по описанию моделей и методов обращайтесь на страницу официальной документации API 2 личного кабинета: [Новой Почты](https://my.novaposhta.ua). SDK не является официальным SDK Новой Почты, я его разработал в личных целях.

Подключить SDK
--------------

[](#подключить-sdk)

### Способ 1 (composer)

[](#способ-1-composer)

Самый простой способ установить SDK через composer.

Создайте файл `composer.json` в корне Вашего проекта:

```
  {
      "require": {
          "serj1chen/nova-poshta-sdk-php": "2.0.*"
      }
  }

```

Установить composer:

```
  $ curl -sS https://getcomposer.org/installer | php
  $ php composer.phar install

```

Подключить автолоадер composer:

```
  include_once "vendor/autoload.php";

```

### Способ 2 (git)

[](#способ-2-git)

Клонировать репозиторий

```
  git clone git://github.com/serj1chen/nova-poshta-sdk-php

```

Подключить автолоадер SDK:

```
  include_once "nova-poshta-sdk-php/lib/NovaPoshta/bootstrap.php";

```

Структура SDK
-------------

[](#структура-sdk)

### Настройка файла конфигурации ([Config](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Config.php))

[](#настройка-файла-конфигурации-config)

Перед тем как начать работать с API, нужно настроить файл конфигурации:

```
   Use NovaPoshta\Config;

   Config::setApiKey('');
   Config::setFormat(Config::FORMAT_JSONRPC2);
   Config::setLanguage(Config::LANGUAGE_UA);

```

Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Config\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Config_example.php)

Возможные форматы передачи данных (формат указывать в метод setFormat):

- FORMAT\_JSON
- FORMAT\_JSONRPC2 (рекомендую)
- FORMAT\_XML

### Работа с моделями SDK ([ApiModels](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/ApiModels))

[](#работа-с-моделями-sdk-apimodels)

Все модели лежат в папке [ApiModels](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/ApiModels).

Модели:

- Address: Модель для работы с адресами. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Address\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Address_example.php)
- Common: Модель для работы со справочниками. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Common\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Common_example.php)
- ContactPerson: Модель для создания контактного лица. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/ContactPerson\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/ContactPerson_example.php)
- Counterparty: Модель для работы с данными контрагента. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Counterparty\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Counterparty_example.php)
- InternetDocument: Модель для оформления отправлений. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/InternetDocument\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/InternetDocument_example.php)
- ScanSheet: Модель для работы с реестрами приема-передачи отправлений. Пример: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/ScanSheet\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/ScanSheet_example.php)

В классах моделей описаны все методы в комментариях.

### Работа с методами моделей

[](#работа-с-методами-моделей)

**Работа с методами модели: save, update, delete.** Заполнить модель нужными значениями и вызвать нужный метод. Пример:

```
  use NovaPoshta\ApiModels\Counterparty;

  $counterparty = new Counterparty();
  $counterparty->setCounterpartyProperty('Recipient');
  $counterparty->setCityRef('db5c88d0-391c-11dd-90d9-001a92567626');
  $counterparty->setCounterpartyType('PrivatePerson');
  $counterparty->setFirstName('Пилипко');
  $counterparty->setLastName('Вася');
  $counterparty->setMiddleName('Сергеевич');
  $counterparty->setPhone('+380661122333');
  $counterparty->setEmail('test@i.ua');

  $result = $counterparty->save();

```

**Работа с статическими методами.** В методы передавать объект MethodParameters:

```
  use NovaPoshta\ApiModels\Counterparty;
  use NovaPoshta\MethodParameters\MethodParameters;

  $data = new MethodParameters();
  $data->CounterpartyProperty = 'Recipient';
  $data->Page = 1;
  $data->CityRef = '8d5a980d-391c-11dd-90d9-001a92567626';
  $data->FindByString = 'Петр';

  $result = Counterparty::getCounterparties($data);

```

Или можно использовать классы [MethodParameters](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/MethodParameters), которые наследуются от класса MethodParameters. Классы имеют сеттеры параметров, которые можно передать статическому методу модели. Названия классов с параметрами складываются с двух частей, с названия модели ([ApiModels](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/ApiModels)) и названия статического метода модели. Пример использования:

```
  use NovaPoshta\ApiModels\Counterparty;
  use NovaPoshta\MethodParameters\MethodParameters;
  use NovaPoshta\MethodParameters\Counterparty_getCounterparties;

  $data = new Counterparty_getCounterparties();
  $data->setCounterpartyProperty('Recipient');
  $data->setPage(1);
  $data->setCityRef('8d5a980d-391c-11dd-90d9-001a92567626');
  $data->setFindByString('Петр');

  $result = Counterparty::getCounterparties($data);

```

### Модели хелперы для работы с моделями ([Models](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/Models))

[](#модели-хелперы-для-работы-с-моделями-models)

Данные классы нужны для заполнения моделей ([ApiModels](https://github.com/serj1chen/NovaPoshta-SDK-PHP/tree/master/lib/NovaPoshta/ApiModels))

### Логирования ([Logger](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Logger.php))

[](#логирования-logger)

Если Вам нужно логировать данные отправки/получения запросов. Нужно создать класс который наследуется от [Logger.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Logger.php)и передать экземпляр этого класса в метод setClassLogger файла [Config.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Config.php).

```
  use NovaPoshta\Config;

  Config::setClassLogger(new Logger_example());

```

Пример класса логирования: [https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Logger\_example.php](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/example/Logger_example.php). (Соответственно у Вас будут данные куда-то записываться)

Метод **setOriginalData**: запрос/ответ API Новой Почты. Параметры: toData - запрос (тип: string); fromData - ответ (тип: string).

Метод **setData**: запрос/ответ API Новой Почты у формате SDK. Параметры: toData - запрос (объект: [DataContainer](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Models/DataContainer.php)); fromData - ответ (объект: [DataContainerResponse](https://github.com/serj1chen/NovaPoshta-SDK-PHP/blob/master/lib/NovaPoshta/Models/DataContainerResponse.php)).

\*\* SDK не является официальным SDK Новой Почты

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community19

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 90.5% 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 ~239 days

Recently: every ~306 days

Total

7

Last Release

2508d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/657c33ebacfdad47133466e0228f9c2c9753d3c866f395f07df4dbd1e2272b8e?d=identicon)[serj1chen](/maintainers/serj1chen)

---

Top Contributors

[![serj1chen](https://avatars.githubusercontent.com/u/9332461?v=4)](https://github.com/serj1chen "serj1chen (67 commits)")[![vgip](https://avatars.githubusercontent.com/u/22733931?v=4)](https://github.com/vgip "vgip (3 commits)")[![3s3stest](https://avatars.githubusercontent.com/u/26626723?v=4)](https://github.com/3s3stest "3s3stest (2 commits)")[![notnull-ua](https://avatars.githubusercontent.com/u/15107670?v=4)](https://github.com/notnull-ua "notnull-ua (2 commits)")

---

Tags

api-sdkphpphpapisdknovaposhta

### Embed Badge

![Health badge](/badges/serj1chen-nova-poshta-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/serj1chen-nova-poshta-sdk-php/health.svg)](https://phpackages.com/packages/serj1chen-nova-poshta-sdk-php)
```

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

13998.4k2](/packages/jstolpe-instagram-graph-api-php-sdk)[clever/clever-php

231.6k](/packages/clever-clever-php)

PHPackages © 2026

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