yandex-dostavka 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.markdown +2 -1
- data/lib/generators/yandex_dostavka/install/templates/yandex_dostavka.yml +2 -0
- data/lib/yandex-dostavka/api_request.rb +11 -6
- data/lib/yandex-dostavka/error.rb +0 -1
- data/lib/yandex-dostavka/request.rb +1 -1
- data/lib/yandex-dostavka/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5600dd5972244fcc3dee75ebfbc2f0a1169e7477fe7ee35475a73fd26f70dfb4
|
4
|
+
data.tar.gz: 05c59614e7887daf136c5a9d000d57774912f0d6295c34437cc128b8d58ef164
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fc46de563a4b26f5dd1d23753b277b8ada1b77b5cc33eea46676ed22ad3f0b2c980b626ac9937ce9399204afe90b5f78475c9ad77464d7a418503b5206c001d
|
7
|
+
data.tar.gz: 23249925762635335e541bd42751d24a3360761a74ecddaf8ee0c621ba0ba5984ee40d20d97112a2df4d44b82d5738b3df086f353a5e9c135ad3ce461fa7c5a4
|
data/README.markdown
CHANGED
@@ -34,6 +34,7 @@ API wrapper для [Yandex Dostavka API](https://yandex.ru/dev/logistics/deliver
|
|
34
34
|
2. В разделе Токен для API нажмите Получить.
|
35
35
|
3. На странице https://oauth.yandex.ru нажмите Разрешить.
|
36
36
|
4. В Кабинете Корпоративного Клиента Яндекс Доставки на вкладке Профиль компании в разделе Токен для API будет отображен ваш OAuth-токен.
|
37
|
+
5. Получите station id у менеджера.
|
37
38
|
|
38
39
|
## Ruby
|
39
40
|
$ gem install yandex-dostavka
|
@@ -118,7 +119,7 @@ pricing_total = response.body[:pricing_total]
|
|
118
119
|
### <a name="api_b2b_platform_offers_info_get"></a> [Получение интервалов доставки](https://yandex.ru/dev/logistics/delivery-api/doc/ref/part1/api_b2b_platform_offers_info_get.html)
|
119
120
|
```ruby
|
120
121
|
params = {
|
121
|
-
station_id:
|
122
|
+
station_id: YandexDostavka.station_id,
|
122
123
|
full_address: "Санкт-Петербург, Професора Попова, 38",
|
123
124
|
geo_id: 2
|
124
125
|
}
|
@@ -4,9 +4,11 @@ production:
|
|
4
4
|
<<: *defaults
|
5
5
|
API_ENDPOINT: "https://b2b-authproxy.taxi.yandex.net"
|
6
6
|
YANDEX_DOSTAVKA_TOKEN: "***"
|
7
|
+
STATION_ID: "***"
|
7
8
|
development:
|
8
9
|
<<: *defaults
|
9
10
|
API_ENDPOINT: "https://b2b.taxi.tst.yandex.net"
|
10
11
|
YANDEX_DOSTAVKA_TOKEN: "AgAAAADzeAQMAAAPeISvM_9LUkxCijQoFXOH5QE"
|
12
|
+
STATION_ID: "7c4054cd-d768-4062-8f8d-d0c9b3c8c4e8"
|
11
13
|
test:
|
12
14
|
<<: *defaults
|
@@ -5,10 +5,10 @@ module YandexDostavka
|
|
5
5
|
@request_builder = builder
|
6
6
|
end
|
7
7
|
|
8
|
-
def post(params: nil, headers: nil,
|
8
|
+
def post(params: nil, headers: nil, body: {})
|
9
9
|
validate_api_key
|
10
10
|
begin
|
11
|
-
response = self.rest_client
|
11
|
+
response = self.rest_client.post do |request|
|
12
12
|
configure_request(request: request, params: params, headers: headers, body: body)
|
13
13
|
end
|
14
14
|
parse_response(response)
|
@@ -17,7 +17,7 @@ module YandexDostavka
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def get(params: nil, headers: nil, body:
|
20
|
+
def get(params: nil, headers: nil, body: nil)
|
21
21
|
validate_api_key
|
22
22
|
|
23
23
|
begin
|
@@ -76,9 +76,14 @@ module YandexDostavka
|
|
76
76
|
error_params[:status_code] = error.response[:status]
|
77
77
|
error_params[:raw_body] = error.response[:body]
|
78
78
|
|
79
|
-
|
79
|
+
io = StringIO.new(error.response[:body])
|
80
|
+
gzip_reader = Zlib::GzipReader.new(io, encoding: 'ASCII-8BIT')
|
81
|
+
body = gzip_reader.read
|
82
|
+
|
83
|
+
parsed_response = MultiJson.load(body, symbolize_keys: symbolize_keys)
|
80
84
|
|
81
85
|
if parsed_response
|
86
|
+
|
82
87
|
error_params[:body] = parsed_response
|
83
88
|
|
84
89
|
title_key = symbolize_keys ? :title : "title"
|
@@ -110,8 +115,8 @@ module YandexDostavka
|
|
110
115
|
end
|
111
116
|
end
|
112
117
|
|
113
|
-
def rest_client
|
114
|
-
client = Faraday.new("#{self.api_url}
|
118
|
+
def rest_client
|
119
|
+
client = Faraday.new("#{self.api_url}", proxy: self.proxy,
|
115
120
|
ssl: self.ssl_options) do |faraday|
|
116
121
|
faraday.request :gzip
|
117
122
|
faraday.response :raise_error
|