PHPackages                             tochka-developers/unification-address - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. tochka-developers/unification-address

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

tochka-developers/unification-address
=====================================

Splitting the postal address of the Russian Federation into parts

v0.2.17(1y ago)07MITPHPPHP &gt;=7.3

Since Jan 16Pushed 1y ago4 watchersCompare

[ Source](https://github.com/tochka-developers/unification-address)[ Packagist](https://packagist.org/packages/tochka-developers/unification-address)[ RSS](/packages/tochka-developers-unification-address/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (21)Used By (0)

Unification Address
===================

[](#unification-address)

Реализация парсинга адреса РФ на составные части для Laravel. На данный момент парсинг делается с помощью апи Почты России и апи сервиса DaData (стандартизация). Результаты запросов кешируются, управление через настройки кеширования Laravel.

Поддерживаемые версии:

- Laravel | Lumen &gt;= 5.0
- PHP 7.4 | 8.0

Установка
=========

[](#установка)

Установка через composer:

```
composer require tochka/unification-address
```

Публикуем конфигурацию для всех пакетов:

```
php artisan vendor:publish
```

Для Lumen нужно самостоятельно подключить `UnifAddressServiceProvider`

Конфигурация
============

[](#конфигурация)

```
return [
    // Предфильтр для предварительной обработки строки адреса по кастомным правилам.
    // По-умолчанию не производится. Можно реализовать на стороне внешнего сервиса.
    // Должен реализовать интерфейс Tochka\Unif\Address\Contracts\PreFilterInterface
    'pre_filter_handler' => null /*\App\Service\AddressPreFilter::class*/,
    // Список источников обработки строки адреса. Адрес парсится последовательно, до первого успешного результата.
    // Если ни один из источников не дал приемлемого результата - вернется null.
    'processing_sources' => [
        // Класс можно отнаследовать или реализовать свой. При самостоятельной реализации источника
        // обработки класс нужно реализовать от интерфейса Tochka\Unif\Address\Contracts\SourceInterface
        \Tochka\Unif\Address\Sources\RusPost::class => [
            // Здесь нужно передавать авторизационные данные источника
            'token' => env('RusPost_ACCESS_TOKEN'),
            'user'  => env('RusPost_USER'),
            'pass'  => env('RusPost_PASS'),
        ],
        \Tochka\Unif\Address\Sources\DaData::class => [
            // Здесь нужно передавать авторизационные данные источника
            'token' => env('DADATA_TOKEN'),
            'secret' => env('DADATA_SECRET')
        ]
    ]
];
```

Пример
======

[](#пример)

```
$address = '115114  Москва г. наб. Дербеневская, д. 11 к А - 311';
$enrichedAddress = app(UnifAddress::class)->parsing($address);
```

В `$enrichedAddress` возвращается массив, разбитого по частям, адреса

```
[
  "postindex" => "115114" // почтовый индекс
  "region" => "г Москва" // регион, область, край, республика
  "area" => null // район в регионе
  "city" => "Москва" // город, населенный пункт
  "isSettlement" => false // Признак населенного пункта (пгт, деревня, село, хутор)
  "address" => "наб Дербеневская, д 11А" // адрес
  "street" => "наб Дербеневская" // улица
  "house" => "11А" // номер дома
  "block" => null // корпус/строение
  "flat" => null // квартира/офис
  "unparsed" => "311" // нераспознанная часть адреса
  "quality" => "good" // Качество распознавания адреса: good - доп. обработка не требуется, need_check - нужна проверка
]
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

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 ~54 days

Recently: every ~102 days

Total

20

Last Release

534d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d5ec14fdcb7d670c749bdfe547cdcae4dd77a1eb173f01c6787217c8ef90b1d5?d=identicon)[tochka-developers](/maintainers/tochka-developers)

---

Top Contributors

[![lexxksb](https://avatars.githubusercontent.com/u/622791?v=4)](https://github.com/lexxksb "lexxksb (24 commits)")

---

Tags

laravelparsingDaDatapostal addresssplittingmailing address

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tochka-developers-unification-address/health.svg)

```
[![Health](https://phpackages.com/badges/tochka-developers-unification-address/health.svg)](https://phpackages.com/packages/tochka-developers-unification-address)
```

###  Alternatives

[illuminated/wikipedia-grabber

Wikipedia/MediaWiki Grabber for Laravel.

477.3k](/packages/illuminated-wikipedia-grabber)[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)
