Completed
Pull Request — master (#139)
by
unknown
04:18
created

GeoRegionClient::getList()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 10
ccs 6
cts 6
cp 1
rs 9.4286
cc 1
eloc 6
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * Yandex PHP Library
4
 *
5
 * @copyright NIX Solutions Ltd.
6
 * @link      https://github.com/nixsolutions/yandex-php-library
7
 */
8
9
/**
10
 * @namespace
11
 */
12
namespace Yandex\Market\Content\Clients;
13
14
use Yandex\Market\Content\ContentClient;
15
use Yandex\Market\Content\Models;
16
17
/**
18
 * Class GeoRegionClient
19
 *
20
 * @category Yandex
21
 * @package  MarketContent
22
 *
23
 * @author  Oleg Scherbakov <[email protected]>
24
 * @created 08.01.16 18:44
25
 */
26
class GeoRegionClient extends ContentClient
27
{
28
    /**
29
     * Get geo regions
30
     *
31
     * Returns geo regions list of Yandex.Market service according to params.
32
     *
33
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-docpage/
34
     *
35
     * @param array $params
36
     *
37
     * @return Models\ResponseGeoRegionsGet
38
     */
39 1
    public function getList($params = array())
40
    {
41 1
        $resource = 'georegion.json';
42 1
        $resource .= '?' . $this->buildQueryString($params);
43 1
        $response = $this->getServiceResponse($resource);
44
45 1
        $geoRegions = new Models\ResponseGeoRegionsGet($response);
46
47 1
        return $geoRegions;
48
    }
49
50
    /**
51
     * Get geo region information
52
     *
53
     * Returns geo region of Yandex.Market service.
54
     *
55
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-id-docpage/
56
     *
57
     * @param int $regionId
58
     *
59
     * @return Models\ResponseGeoRegionGet
60
     */
61 1
    public function get($regionId)
62
    {
63 1
        $resource = 'georegion/' . $regionId . '.json';
64 1
        $response = $this->getServiceResponse($resource);
65
66 1
        $geoRegion = new Models\ResponseGeoRegionGet($response);
67
68 1
        return $geoRegion;
69
    }
70
71
    /**
72
     * Get children of geo region
73
     *
74
     * Returns children list of Yandex.Market service geo region.
75
     *
76
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-id-children-docpage/
77
     *
78
     * @param int   $regionId
79
     * @param array $params
80
     *
81
     * @return Models\ResponseGeoRegionChildrenGet
82
     */
83 1
    public function getChildren($regionId, $params = array())
84
    {
85 1
        $resource = 'georegion/' . $regionId . '/children.json';
86 1
        $resource .= '?' . $this->buildQueryString($params);
87 1
        $response = $this->getServiceResponse($resource);
88
89 1
        $geoRegionChildren = new Models\ResponseGeoRegionChildrenGet($response);
90
91 1
        return $geoRegionChildren;
92
    }
93
94
    /**
95
     * Get suggests of geo region
96
     *
97
     * Returns suggests list of geo region in Yandex.Market service.
98
     *
99
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-suggest-docpage/
100
     *
101
     * @param array $params
102
     *
103
     * @return Models\ResponseGeoRegionSuggestGet
104
     */
105 1
    public function getMatch($params = array())
106
    {
107 1
        $resource = 'georegion/suggest.json';
108 1
        $resource .= '?' . $this->buildQueryString($params);
109 1
        $response = $this->getServiceResponse($resource);
110
111 1
        $geoRegionsSuggest = new Models\ResponseGeoRegionSuggestGet($response);
112
113 1
        return $geoRegionsSuggest;
114
    }
115
116
    /**
117
     * Get shops summary in geo region
118
     *
119
     * Returns shops summary information of Yandex.Market service in geo region.
120
     *
121
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/regions-id-shops-summary-docpage/
122
     *
123
     * @param int   $regionId
124
     * @param array $params
125
     *
126
     * @return Models\ResponseGeoRegionShopsSummaryGet
127
     */
128 1
    public function getShopsSummary($regionId, $params = array())
129
    {
130 1
        $resource = 'regions/' . $regionId . '/shops/summary.json';
131 1
        $resource .= '?' . $this->buildQueryString($params);
132 1
        $response = $this->getServiceResponse($resource);
133
134 1
        $regionShopsSummary = new Models\ResponseGeoRegionShopsSummaryGet($response);
135
136 1
        return $regionShopsSummary;
137
    }
138
}
139