Completed
Pull Request — master (#139)
by
unknown
10:24
created

GeoRegionClient::getList()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 10
rs 9.4286
cc 1
eloc 6
nc 1
nop 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
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-docpage/
33
     *
34
     * @param array $params
35
     *
36
     * @return Models\ResponseGeoRegionsGet
37
     */
38
    public function getList($params = array())
39
    {
40
        $resource = 'georegion.json';
41
        $resource .= '?' . $this->buildQueryString($params);
42
        $response = $this->getServiceResponse($resource);
43
44
        $geoRegions = new Models\ResponseGeoRegionsGet($response);
45
46
        return $geoRegions;
47
    }
48
49
    /**
50
     * Get geo region information
51
     *
52
     * Returns geo region of Yandex.Market service.
53
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-id-docpage/
54
     *
55
     * @param int $regionId
56
     *
57
     * @return Models\ResponseGeoRegionGet
58
     */
59
    public function get($regionId)
60
    {
61
        $resource = 'georegion/' . $regionId . '.json';
62
        $response = $this->getServiceResponse($resource);
63
64
        $geoRegion = new Models\ResponseGeoRegionGet($response);
65
66
        return $geoRegion;
67
    }
68
69
    /**
70
     * Get children of geo region
71
     *
72
     * Returns children list of Yandex.Market service geo region.
73
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-id-children-docpage/
74
     *
75
     * @param int $regionId
76
     * @param array $params
77
     *
78
     * @return Models\ResponseGeoRegionChildrenGet
79
     */
80
    public function getChildren($regionId, $params = array())
81
    {
82
        $resource = 'georegion/' . $regionId . '/children.json';
83
        $resource .= '?' . $this->buildQueryString($params);
84
        $response = $this->getServiceResponse($resource);
85
86
        $geoRegionChildren = new Models\ResponseGeoRegionChildrenGet($response);
87
88
        return $geoRegionChildren;
89
    }
90
91
    /**
92
     * Get suggests of geo region
93
     *
94
     * Returns suggests list of geo region in Yandex.Market service.
95
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/georegion-suggest-docpage/
96
     *
97
     * @param array $params
98
     *
99
     * @return Models\ResponseGeoRegionSuggestGet
100
     */
101
    public function getMatch($params = array())
102
    {
103
        $resource = 'georegion/suggest.json';
104
        $resource .= '?' . $this->buildQueryString($params);
105
        $response = $this->getServiceResponse($resource);
106
107
        $geoRegionsSuggest = new Models\ResponseGeoRegionSuggestGet($response);
108
109
        return $geoRegionsSuggest;
110
    }
111
112
    /**
113
     * Get shops summary in geo region
114
     *
115
     * Returns shops summary information of Yandex.Market service in geo region.
116
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/regions-id-shops-summary-docpage/
117
     *
118
     * @param int $regionId
119
     * @param array $params
120
     *
121
     * @return Models\ResponseGeoRegionShopsSummaryGet
122
     */
123
    public function getShopsSummary($regionId, $params = array())
124
    {
125
        $resource = 'regions/' . $regionId . '/shops/summary.json';
126
        $resource .= '?' . $this->buildQueryString($params);
127
        $response = $this->getServiceResponse($resource);
128
129
        $regionShopsSummary = new Models\ResponseGeoRegionShopsSummaryGet($response);
130
131
        return $regionShopsSummary;
132
    }
133
}