{"id":17323911,"url":"https://github.com/sanmai/pindx-client","last_synced_at":"2026-01-21T12:01:58.243Z","repository":{"id":57047889,"uuid":"295046288","full_name":"sanmai/pindx-client","owner":"sanmai","description":"PHP клиент для API почтовых индексов России","archived":false,"fork":false,"pushed_at":"2024-10-04T10:54:19.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"client","last_synced_at":"2025-08-01T01:03:47.733Z","etag":null,"topics":["json-api"],"latest_commit_sha":null,"homepage":"https://www.postindexapi.ru/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanmai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-12T23:55:33.000Z","updated_at":"2024-10-04T10:54:23.000Z","dependencies_parsed_at":"2022-08-23T18:51:00.115Z","dependency_job_id":null,"html_url":"https://github.com/sanmai/pindx-client","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/sanmai/pindx-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanmai%2Fpindx-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanmai%2Fpindx-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanmai%2Fpindx-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanmai%2Fpindx-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanmai","download_url":"https://codeload.github.com/sanmai/pindx-client/tar.gz/refs/heads/client","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanmai%2Fpindx-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28632781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json-api"],"created_at":"2024-10-15T14:09:31.329Z","updated_at":"2026-01-21T12:01:58.227Z","avatar_url":"https://github.com/sanmai.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Latest Stable Version](https://poser.pugx.org/sanmai/pindx-client/v/stable)](https://packagist.org/packages/sanmai/pindx-client)\n[![Coverage Status](https://coveralls.io/repos/github/sanmai/pindx-client/badge.svg)](https://coveralls.io/github/sanmai/pindx-client)\n[![JSON API](https://img.shields.io/badge/json%20api-live-green.svg)](https://sanmai.github.io/pindx/)\n\n# Клиент для [API почтовых индексов](https://sanmai.github.io/pindx/)\n\nУстановка делается как обычно.\n\n```\ncomposer require sanmai/pindx-client\n```\n\n## Получение данных отделения используя JSON API\n\n```php\n$client = new \\RussianPostIndex\\Client();\n$office = $client-\u003egetOffice(101000);\n```\nВозвращает или объект имплементирующий интерфейс `Record`, или, если такого отделения нет, `null`. Нет необходимости как-то отдельно проверять корректность индекса. Если индекса в БД нет, то вернётся `null`.\n\nКонструктор класса `\\RussianPostIndex\\Client` опционально берёт на вход стандартный [интерфейс клиента Guzzle](http://docs.guzzlephp.org/en/stable/quickstart.html#making-a-request), что позволяет добавить подключение через прокси или поменять используемый сервер, поднять таймауты для соединения.\n\n### Пример использования\n\n```php\n\u003c?php\nrequire 'vendor/autoload.php';\n\n$postalCode = 130980;\n\n$client = new \\RussianPostIndex\\Client();\n\nif ($office = $client-\u003egetOffice($postalCode)) {\n    var_dump($office-\u003egetIndex()); // int(130980)\n    var_dump($office-\u003egetName()); // string(25) \"Москва EMS ММПО\"\n    var_dump($office-\u003egetType()); // string(8) \"ММПО\"\n    var_dump($office-\u003egetSuperior()); // int(104040)\n    var_dump($office-\u003egetRegion()); // string(12) \"Москва\"\n    var_dump($office-\u003egetAutonomousRegion()); // string(0) \"\"\n    var_dump($office-\u003egetArea()); // string(0) \"\"\n    var_dump($office-\u003egetCity()); // string(0) \"\"\n    var_dump($office-\u003egetDistrict()); // string(0) \"\"\n    var_dump($office-\u003egetDate()-\u003eformat('Y-m-d')); // string(10) \"2017-04-28\"\n}\n```\n\n### Описание методов\n\nИнтерфейс объекта содержит следующие методы для получения данных об отделении:\n\n```php\n/**\n * Почтовый индекс объекта почтовой связи в соответствии с действующей системой индексации.\n */\n$office-\u003egetIndex();\n\n/**\n * Наименование объекта почтовой связи.\n */\n$office-\u003egetName();\n\n/**\n * Тип объекта почтовой связи.\n */\n$office-\u003egetType();\n\n/**\n * Индекс вышестоящего по иерархии подчиненности объекта почтовой связи.\n */\n$office-\u003egetSuperior();\n\n/**\n * Наименование области, края, республики, в которой находится объект почтовой связи.\n */\n$office-\u003egetRegion();\n\n/**\n * Наименование автономной области, в которой находится объект почтовой связи.\n */\n$office-\u003egetAutonomousRegion();\n\n/**\n * Наименование района, в котором находится объект почтовой связи.\n */\n$office-\u003egetArea();\n\n/**\n * Наименование населенного пункта, в котором находится объект почтовой связи.\n */\n$office-\u003egetCity();\n\n/**\n * Наименование подчиненного населенного пункта, в котором находится объект почтовой связи.\n */\n$office-\u003egetDistrict();\n\n/**\n * Дата актуализации информации об объекте почтовой связи. \n * @return DateTimeInterface\n */\n$office-\u003egetDate();\n```\n\n## Что за pindx?\n\nПотому что [так называются исходные файлы](https://www.pochta.ru/support/database/ops) от почты. Конечно, они называются используя смешанный регистр, PIndx, но в именах пакетов в Composer не рекомендуется использовать такой формат. Потому `pindx`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanmai%2Fpindx-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanmai%2Fpindx-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanmai%2Fpindx-client/lists"}