Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sanmai/pindx-client
PHP клиент для API почтовых индексов России
https://github.com/sanmai/pindx-client
json-api
Last synced: 21 days ago
JSON representation
PHP клиент для API почтовых индексов России
- Host: GitHub
- URL: https://github.com/sanmai/pindx-client
- Owner: sanmai
- License: apache-2.0
- Created: 2020-09-12T23:55:33.000Z (over 4 years ago)
- Default Branch: client
- Last Pushed: 2024-10-04T10:54:19.000Z (3 months ago)
- Last Synced: 2024-10-16T14:09:09.784Z (2 months ago)
- Topics: json-api
- Language: PHP
- Homepage: https://www.postindexapi.ru/
- Size: 49.8 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Latest Stable Version](https://poser.pugx.org/sanmai/pindx-client/v/stable)](https://packagist.org/packages/sanmai/pindx-client)
[![Coverage Status](https://coveralls.io/repos/github/sanmai/pindx-client/badge.svg)](https://coveralls.io/github/sanmai/pindx-client)
[![JSON API](https://img.shields.io/badge/json%20api-live-green.svg)](https://sanmai.github.io/pindx/)# Клиент для [API почтовых индексов](https://sanmai.github.io/pindx/)
Установка делается как обычно.
```
composer require sanmai/pindx-client
```## Получение данных отделения используя JSON API
```php
$client = new \RussianPostIndex\Client();
$office = $client->getOffice(101000);
```
Возвращает или объект имплементирующий интерфейс `Record`, или, если такого отделения нет, `null`. Нет необходимости как-то отдельно проверять корректность индекса. Если индекса в БД нет, то вернётся `null`.Конструктор класса `\RussianPostIndex\Client` опционально берёт на вход стандартный [интерфейс клиента Guzzle](http://docs.guzzlephp.org/en/stable/quickstart.html#making-a-request), что позволяет добавить подключение через прокси или поменять используемый сервер, поднять таймауты для соединения.
### Пример использования
```php
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"
}
```### Описание методов
Интерфейс объекта содержит следующие методы для получения данных об отделении:
```php
/**
* Почтовый индекс объекта почтовой связи в соответствии с действующей системой индексации.
*/
$office->getIndex();/**
* Наименование объекта почтовой связи.
*/
$office->getName();/**
* Тип объекта почтовой связи.
*/
$office->getType();/**
* Индекс вышестоящего по иерархии подчиненности объекта почтовой связи.
*/
$office->getSuperior();/**
* Наименование области, края, республики, в которой находится объект почтовой связи.
*/
$office->getRegion();/**
* Наименование автономной области, в которой находится объект почтовой связи.
*/
$office->getAutonomousRegion();/**
* Наименование района, в котором находится объект почтовой связи.
*/
$office->getArea();/**
* Наименование населенного пункта, в котором находится объект почтовой связи.
*/
$office->getCity();/**
* Наименование подчиненного населенного пункта, в котором находится объект почтовой связи.
*/
$office->getDistrict();/**
* Дата актуализации информации об объекте почтовой связи.
* @return DateTimeInterface
*/
$office->getDate();
```## Что за pindx?
Потому что [так называются исходные файлы](https://www.pochta.ru/support/database/ops) от почты. Конечно, они называются используя смешанный регистр, PIndx, но в именах пакетов в Composer не рекомендуется использовать такой формат. Потому `pindx`.