Skip to content

Commit c24b2de

Browse files
committed
message
1 parent b9a906a commit c24b2de

11 files changed

+184
-34
lines changed

src/BaseRequester.php

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
use GuzzleHttp\Client;
66

7+
/**
8+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
9+
*/
710
abstract class BaseRequester
811
{
912
/**

src/Cleaner.php

+29-13
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@
88
use GuzzleHttp\Client;
99
use GuzzleHttp\RequestOptions;
1010

11+
/**
12+
* Класс для постройки запросов к стандартизацию.
13+
*
14+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
15+
*/
1116
final class Cleaner
1217
{
13-
/**
14-
* @var Client Http client.
15-
*/
18+
/** @var string Базовая URL для обращения. */
19+
const BASE_URL = 'https://cleaner.dadata.ru/api/v1/clean/';
20+
21+
/** @var Client Http client. */
1622
private Client $_httpClient;
1723

18-
/**
19-
* @var array Http options.
20-
*/
24+
/** @var array Http options. */
2125
private array $_httpOptions;
2226

23-
/**
24-
* @var string Токен доступа к API DaData.Ru
25-
*/
27+
/** @var string Токен доступа к API DaData.Ru */
2628
private string $_accessToken;
2729

28-
/**
29-
* @var string Секрет от API DaData.Ru
30-
*/
30+
/** @var string Секрет от API DaData.Ru */
3131
private string $_secret;
3232

3333
/**
@@ -42,7 +42,7 @@ public function __construct(string $accessToken, string $secret, int $timeOut =
4242
$this->_secret = $secret;
4343

4444
$this->_httpClient = new Client([
45-
'base_uri' => 'https://cleaner.dadata.ru/api/v1/clean/',
45+
'base_uri' => self::BASE_URL,
4646
'timeout' => $timeOut,
4747
]);
4848

@@ -73,6 +73,11 @@ public function reSetAccessToken(string $accessToken, string $secret): self
7373
return $this;
7474
}
7575

76+
/**
77+
* Разбор адреса из строки «стандартизация»
78+
* @param string $query Адрес.
79+
* @return AddressRequester
80+
*/
7681
public function requesterAddress(string $query): AddressRequester
7782
{
7883
$address = new AddressRequester($query);
@@ -83,6 +88,11 @@ public function requesterAddress(string $query): AddressRequester
8388
return $address;
8489
}
8590

91+
/**
92+
* Разбор ФИО из строки «стандартизация»
93+
* @param string $query ФИО.
94+
* @return NameRequester
95+
*/
8696
public function requesterName(string $query): NameRequester
8797
{
8898
$name = new NameRequester($query);
@@ -93,6 +103,12 @@ public function requesterName(string $query): NameRequester
93103
return $name;
94104
}
95105

106+
/**
107+
* Проверяет телефон по справочнику Россвязи, определяет оператора с учётом переноса номеров, заполняет страну,
108+
* город и часовой пояс.
109+
* @param string $query Телефон.
110+
* @return PhoneRequester
111+
*/
96112
public function requesterPhone(string $query): PhoneRequester
97113
{
98114
$name = new PhoneRequester($query);

src/Suggestions.php

+38-19
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,36 @@
99
use c7v\dadata\requesters\FindByIdPartyRequester;
1010
use c7v\dadata\requesters\FindByIdBankRequester;
1111

12+
/**
13+
* Класс для постройки запросов для получения информации.
14+
*
15+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
16+
*/
1217
final class Suggestions
1318
{
14-
/**
15-
* @var Client Http client.
16-
*/
19+
/** @var string Базовая URL для обращения. */
20+
const BASE_URL = 'https://suggestions.dadata.ru/suggestions/api/';
21+
22+
/** @var Client Http client. */
1723
private Client $_httpClient;
1824

19-
/**
20-
* @var array Http options.
21-
*/
25+
/** @var array Http options. */
2226
private array $_httpOptions;
2327

24-
/**
25-
* @var string Токен доступа к API DaData.Ru
26-
*/
28+
/** @var string Токен доступа к API DaData.Ru */
2729
private string $_accessToken;
2830

29-
/**
30-
* @param string $accessToken Токен доступа к API DaData.Ru
31-
*/
31+
/**
32+
* @param string $accessToken Токен доступа к API DaData.Ru
33+
* @param int $timeOut TimeOut для запроса.
34+
*/
3235
public function __construct(string $accessToken, int $timeOut = 60)
3336
{
3437
/** @var string _accessToken */
3538
$this->_accessToken = $accessToken;
3639

3740
$this->_httpClient = new Client([
38-
'base_uri' => 'https://suggestions.dadata.ru/suggestions/api/',
41+
'base_uri' => self::BASE_URL,
3942
'timeout' => $timeOut,
4043
]);
4144

@@ -55,7 +58,6 @@ public function __construct(string $accessToken, int $timeOut = 60)
5558
public function reSetAccessToken(string $accessToken): self
5659
{
5760
$this->_accessToken = $accessToken;
58-
5961
$this->_httpOptions = [
6062
RequestOptions::HEADERS => [
6163
'Authorization' => 'Token ' . $this->_accessToken
@@ -64,10 +66,11 @@ public function reSetAccessToken(string $accessToken): self
6466
return $this;
6567
}
6668

67-
/**
68-
* Получить данные по ИНН.
69-
* @return FindByIdPartyRequester
70-
*/
69+
/**
70+
* Получить данные по ИНН.
71+
* @param string $inn ИНН компании или индивидуального предпринимателя.
72+
* @return FindByIdPartyRequester
73+
*/
7174
public function requesterFindByIdParty(string $inn): FindByIdPartyRequester
7275
{
7376
$findById = new FindByIdPartyRequester($inn);
@@ -78,6 +81,12 @@ public function requesterFindByIdParty(string $inn): FindByIdPartyRequester
7881
return $findById;
7982
}
8083

84+
/**
85+
* Банк по БИК, SWIFT, ИНН, рег. номеру
86+
* @param string $query БИК, SWIFT, ИНН и рег. номер банка
87+
* @param string|null $kpp Дополнительно можно указать КПП если параметр $query имеет значение ИНН.
88+
* @return FindByIdBankRequester
89+
*/
8190
public function requesterFindByIdBank(string $query, string $kpp = null): FindByIdBankRequester
8291
{
8392
$findById = new FindByIdBankRequester($query, $kpp);
@@ -88,7 +97,12 @@ public function requesterFindByIdBank(string $query, string $kpp = null): FindBy
8897
return $findById;
8998
}
9099

91-
public function requesterFindByIdFnsUnit(int $query): FindByIdFnsUnitRequester
100+
/**
101+
* Справочник инспекций Налоговой службы.
102+
* @param string $query Поиск работает по полям: code, name_short и address.
103+
* @return FindByIdFnsUnitRequester
104+
*/
105+
public function requesterFindByIdFnsUnit(string $query): FindByIdFnsUnitRequester
92106
{
93107
$findById = new FindByIdFnsUnitRequester($query);
94108

@@ -98,6 +112,11 @@ public function requesterFindByIdFnsUnit(int $query): FindByIdFnsUnitRequester
98112
return $findById;
99113
}
100114

115+
/**
116+
* Отделения Почты России.
117+
* @param string $query Поиск работает по полям: postal_code и address_str.
118+
* @return FindByAddressPostalUnitRequester
119+
*/
101120
public function requesterFindByAddressPostalUnit(string $query): FindByAddressPostalUnitRequester
102121
{
103122
$findById = new FindByAddressPostalUnitRequester($query);

src/helpers/StyleData.php

+21-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@
22

33
namespace c7v\dadata\helpers;
44

5+
/**
6+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
7+
*/
58
class StyleData
69
{
10+
/**
11+
* @param string $string Название компании.
12+
* @return string
13+
*/
714
public static function normalQuotes(string $string): string
815
{
916
return preg_replace([
@@ -15,17 +22,30 @@ public static function normalQuotes(string $string): string
1522
], $string);
1623
}
1724

25+
/**
26+
* @param int $time Метка времени.
27+
* @return string
28+
*/
1829
public static function normalDate(int $time): string
1930
{
2031
return date('d.m.Y', substr($time,0,-3));
2132
}
2233

23-
public static function normalManagementPost(string $post, $charset = "utf-8"): string
34+
/**
35+
* @param string $post Должность
36+
* @param string $charset Кодировка строки
37+
* @return string
38+
*/
39+
public static function normalManagementPost(string $post, string $charset = "utf-8"): string
2440
{
2541
$post = mb_strtolower($post, 'utf-8');
2642
return mb_strtoupper(mb_substr($post, 0, 1, $charset), $charset).mb_substr($post, 1, mb_strlen($post, $charset)-1, $charset);
2743
}
2844

45+
/**
46+
* @param string $name ФИО строкой.
47+
* @return array
48+
*/
2949
public static function explodeName(string $name): array
3050
{
3151
$array = explode(' ', $name);

src/requesters/AddressRequester.php

+13
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@
55
use GuzzleHttp\RequestOptions;
66
use c7v\dadata\BaseRequester;
77

8+
/**
9+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
10+
*/
811
class AddressRequester extends BaseRequester
912
{
13+
/** @var string Имя метода */
1014
const METHOD_URL = 'address';
1115

16+
/** @var array Данные для отправки */
1217
private array $_data;
1318

19+
/**
20+
* @param string $query Адрес.
21+
*/
1422
public function __construct(string $query)
1523
{
1624
$this->_data[] = $query;
1725
}
1826

27+
/**
28+
* Отправка запроса.
29+
* @return \Psr\Http\Message\ResponseInterface
30+
* @throws \GuzzleHttp\Exception\GuzzleException
31+
*/
1932
public function send(): \Psr\Http\Message\ResponseInterface
2033
{
2134
return self::$_httpClient->request('POST', self::METHOD_URL, array_merge(self::$_httpOptions, [

src/requesters/FindByAddressPostalUnitRequester.php

+13
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@
55
use GuzzleHttp\RequestOptions;
66
use c7v\dadata\BaseRequester;
77

8+
/**
9+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
10+
*/
811
class FindByAddressPostalUnitRequester extends BaseRequester
912
{
13+
/** @var string Имя метода */
1014
const METHOD_URL = '4_1/rs/suggest/postal_unit';
1115

16+
/** @var array Данные для отправки */
1217
private array $_data;
1318

19+
/**
20+
* @param string $query Поиск работает по полям: postal_code и address_str.
21+
*/
1422
public function __construct(string $query)
1523
{
1624
$this->_data['query'] = $query;
1725
}
1826

27+
/**
28+
* Отправка запроса.
29+
* @return \Psr\Http\Message\ResponseInterface
30+
* @throws \GuzzleHttp\Exception\GuzzleException
31+
*/
1932
public function send(): \Psr\Http\Message\ResponseInterface
2033
{
2134
return self::$_httpClient->request('POST', self::METHOD_URL, array_merge(self::$_httpOptions, [

src/requesters/FindByIdBankRequester.php

+14
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,21 @@
55
use GuzzleHttp\RequestOptions;
66
use c7v\dadata\BaseRequester;
77

8+
/**
9+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
10+
*/
811
class FindByIdBankRequester extends BaseRequester
912
{
13+
/** @var string Имя метода */
1014
const METHOD_URL = '4_1/rs/findById/bank';
1115

16+
/** @var array Данные для отправки */
1217
private array $_data;
1318

19+
/**
20+
* @param string $query БИК, SWIFT, ИНН и рег. номер банка
21+
* @param string|null $kpp Дополнительно можно указать КПП если параметр $query имеет значение ИНН.
22+
*/
1423
public function __construct(string $query, string $kpp = null)
1524
{
1625
$this->_data = [];
@@ -20,6 +29,11 @@ public function __construct(string $query, string $kpp = null)
2029
}
2130
}
2231

32+
/**
33+
* Отправка запроса.
34+
* @return \Psr\Http\Message\ResponseInterface
35+
* @throws \GuzzleHttp\Exception\GuzzleException
36+
*/
2337
public function send(): \Psr\Http\Message\ResponseInterface
2438
{
2539
return self::$_httpClient->request('POST', self::METHOD_URL, array_merge(self::$_httpOptions, [

src/requesters/FindByIdFnsUnitRequester.php

+14-1
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@
55
use GuzzleHttp\RequestOptions;
66
use c7v\dadata\BaseRequester;
77

8+
/**
9+
* @author Артём Соколовский <dev.sokolovsky@gmail.com>
10+
*/
811
class FindByIdFnsUnitRequester extends BaseRequester
912
{
13+
/** @var string Имя метода */
1014
const METHOD_URL = '4_1/rs/suggest/fns_unit';
1115

16+
/** @var array Данные для отправки */
1217
private array $_data;
1318

14-
public function __construct(int $query)
19+
/**
20+
* @param string $query Поиск работает по полям: code, name_short и address.
21+
*/
22+
public function __construct(string $query)
1523
{
1624
$this->_data['query'] = $query;
1725
}
1826

27+
/**
28+
* Отправка запроса.
29+
* @return \Psr\Http\Message\ResponseInterface
30+
* @throws \GuzzleHttp\Exception\GuzzleException
31+
*/
1932
public function send(): \Psr\Http\Message\ResponseInterface
2033
{
2134
return self::$_httpClient->request('POST', self::METHOD_URL, array_merge(self::$_httpOptions, [

0 commit comments

Comments
 (0)