9
9
use c7v \dadata \requesters \FindByIdPartyRequester ;
10
10
use c7v \dadata \requesters \FindByIdBankRequester ;
11
11
12
+ /**
13
+ * Класс для постройки запросов для получения информации.
14
+ *
15
+ * @author Артём Соколовский <dev.sokolovsky@gmail.com>
16
+ */
12
17
final class Suggestions
13
18
{
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. */
17
23
private Client $ _httpClient ;
18
24
19
- /**
20
- * @var array Http options.
21
- */
25
+ /** @var array Http options. */
22
26
private array $ _httpOptions ;
23
27
24
- /**
25
- * @var string Токен доступа к API DaData.Ru
26
- */
28
+ /** @var string Токен доступа к API DaData.Ru */
27
29
private string $ _accessToken ;
28
30
29
- /**
30
- * @param string $accessToken Токен доступа к API DaData.Ru
31
- */
31
+ /**
32
+ * @param string $accessToken Токен доступа к API DaData.Ru
33
+ * @param int $timeOut TimeOut для запроса.
34
+ */
32
35
public function __construct (string $ accessToken , int $ timeOut = 60 )
33
36
{
34
37
/** @var string _accessToken */
35
38
$ this ->_accessToken = $ accessToken ;
36
39
37
40
$ this ->_httpClient = new Client ([
38
- 'base_uri ' => ' https://suggestions.dadata.ru/suggestions/api/ ' ,
41
+ 'base_uri ' => self :: BASE_URL ,
39
42
'timeout ' => $ timeOut ,
40
43
]);
41
44
@@ -55,7 +58,6 @@ public function __construct(string $accessToken, int $timeOut = 60)
55
58
public function reSetAccessToken (string $ accessToken ): self
56
59
{
57
60
$ this ->_accessToken = $ accessToken ;
58
-
59
61
$ this ->_httpOptions = [
60
62
RequestOptions::HEADERS => [
61
63
'Authorization ' => 'Token ' . $ this ->_accessToken
@@ -64,10 +66,11 @@ public function reSetAccessToken(string $accessToken): self
64
66
return $ this ;
65
67
}
66
68
67
- /**
68
- * Получить данные по ИНН.
69
- * @return FindByIdPartyRequester
70
- */
69
+ /**
70
+ * Получить данные по ИНН.
71
+ * @param string $inn ИНН компании или индивидуального предпринимателя.
72
+ * @return FindByIdPartyRequester
73
+ */
71
74
public function requesterFindByIdParty (string $ inn ): FindByIdPartyRequester
72
75
{
73
76
$ findById = new FindByIdPartyRequester ($ inn );
@@ -78,6 +81,12 @@ public function requesterFindByIdParty(string $inn): FindByIdPartyRequester
78
81
return $ findById ;
79
82
}
80
83
84
+ /**
85
+ * Банк по БИК, SWIFT, ИНН, рег. номеру
86
+ * @param string $query БИК, SWIFT, ИНН и рег. номер банка
87
+ * @param string|null $kpp Дополнительно можно указать КПП если параметр $query имеет значение ИНН.
88
+ * @return FindByIdBankRequester
89
+ */
81
90
public function requesterFindByIdBank (string $ query , string $ kpp = null ): FindByIdBankRequester
82
91
{
83
92
$ findById = new FindByIdBankRequester ($ query , $ kpp );
@@ -88,7 +97,12 @@ public function requesterFindByIdBank(string $query, string $kpp = null): FindBy
88
97
return $ findById ;
89
98
}
90
99
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
92
106
{
93
107
$ findById = new FindByIdFnsUnitRequester ($ query );
94
108
@@ -98,6 +112,11 @@ public function requesterFindByIdFnsUnit(int $query): FindByIdFnsUnitRequester
98
112
return $ findById ;
99
113
}
100
114
115
+ /**
116
+ * Отделения Почты России.
117
+ * @param string $query Поиск работает по полям: postal_code и address_str.
118
+ * @return FindByAddressPostalUnitRequester
119
+ */
101
120
public function requesterFindByAddressPostalUnit (string $ query ): FindByAddressPostalUnitRequester
102
121
{
103
122
$ findById = new FindByAddressPostalUnitRequester ($ query );
0 commit comments