JSON API

Эталонный справочник почтовых индексов объектов почтовой связи (База индексов Почты России)

This project is maintained by sanmai

Как это работает?

Данные по почтовым индексам доступны в формате JSON по адресам вида:

https://www.postindexapi.ru/json/AAA/AAABBB.json

Где AAA - первые три цифры индекса, BBB - последние три.

Например, посмотрите данные для индекса 199151.

На этом сайте разрешены AJAX-запросы со сторонних сайтов (стоит разрешающий заголовок Access-Control-Allow-Origin). Например, мы можете проверять корректность ввода индекса в форме адреса.

Источник данных: эталонный справочник почтовых индексов объектов почтовой связи от дирекции технологий и информатизации ФГУП «Почта России». Сверка с исходным справочником происходит один раз в день. Сейчас используется БД от 02.09.2019.

О проблемах сообщайте.

Описание полей данных

Поле Описание
Index Почтовый индекс объекта почтовой связи в соответствии с действующей системой индексации.
OPSName Наименование объекта почтовой связи.
OPSType Тип объекта почтовой связи.
OPSSubm Индекс вышестоящего по иерархии подчиненности объекта почтовой связи.
Region Наименование области, края, республики, в которой находится объект почтовой связи.
Autonom Наименование автономной области, в которой находится объект почтовой связи.
Area Наименование района, в котором находится объект почтовой связи.
City Наименование населенного пункта, в котором находится объект почтовой связи.
City1 Наименование подчиненного населенного пункта, в котором находится объект почтовой связи.
ActDate Дата актуализации информации об объекте почтовой связи.
IndexOld Почтовый индекс объект почтовой связи до ввода действующей системы индексации.

PHP клиент для доступа к API

Установка делается как обычно. Требуется PHP 7.0 и выше.

composer require sanmai/pindx

Пример использования:

<?php
require 'vendor/autoload.php';

$postalCode = 130980;

$client = new \RussianPostIndex\Client();
if ($office = $client->getOffice($postalCode)) {
    var_dump($office->getIndex()); // int(130980)
    var_dump($office->getName()); // string(25) "Москва EMS ММПО"
    var_dump($office->getType()); // string(8) "ММПО"
    var_dump($office->getSuperior()); // int(104040)
    var_dump($office->getRegion()); // string(12) "Москва"
    var_dump($office->getAutonomousRegion()); // string(0) ""
    var_dump($office->getArea()); // string(0) ""
    var_dump($office->getCity()); // string(0) ""
    var_dump($office->getDistrict()); // string(0) ""
    var_dump($office->getDate()->format('Y-m-d')); // string(10) "2017-04-28"
}

Более подробно в документации к библиотеке.