b2b_center_api 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bfd6668a855a71dfb50d11dfe03b46f0a9afad23
4
- data.tar.gz: ec0a4c323086bbea1d360067113c1c6f4a432848
3
+ metadata.gz: b3bb1f3f784516a229921dbc8da2c42e571947de
4
+ data.tar.gz: e63a4875a87a6431fb0f3f6cc93c3706bfdf2379
5
5
  SHA512:
6
- metadata.gz: dbc8aef18a10a8ed12d952b332af759fc0490db673fc9c9f6da176956d34e183e6ae85668b046dd0b0d9fa3c83691278fbc53acb32a278604af77b792393a0ed
7
- data.tar.gz: 43f6f6844c607c07d121a724ed32424d01b75c81ee0ad53107a3e0d5ffd0ec0e6217a489d0bcec6d43e58c7ec9171642c1480813af22fe70cdc11a1b446f4a51
6
+ metadata.gz: 9f2f5c1288a067424e6cd1e65e3b5d7e8806b4b9f100db3a36193186b944eae7c20dc4aac7ee1969c2949f28b0781f3cbeea0112676ff8f256d18272313f031d
7
+ data.tar.gz: bf4d9f0412288e4a53ed7adf9462c3ce5150f176a1a0d4979959d65e9f4cb74350e77202068472e2cb5e7e7be2cda66ce54339705e1411ba52d58b81ba1c0343
@@ -8,6 +8,14 @@ module B2bCenterApi
8
8
  @client_web = WebService::RemoteAuction.new(client)
9
9
  end
10
10
 
11
+ # Получить данные аукциона
12
+ # @param auction_id [Integer] Номер процедуры
13
+ # @return [WebService::Types::AuctionData]
14
+ def get_data(auction_id)
15
+ response = @client_web.command :get_data, auction_id: auction_id
16
+ WebService::Types::AuctionData.from_response(response, @client, auction_id)
17
+ end
18
+
11
19
  # Получить список участников
12
20
  # @param auction_id [Integer] Номер аукциона/объявления
13
21
  # @return [WebService::Types::AuctionParticipant[]]
@@ -1,3 +1,3 @@
1
1
  module B2bCenterApi
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.15'
3
3
  end
@@ -0,0 +1,342 @@
1
+ module B2bCenterApi
2
+ module WebService
3
+ module Types
4
+ # Конкурс
5
+ class AuctionData < WebService::BaseType
6
+ # @return [Integer] id аукциона/объявления
7
+ # При создании нового аукциона это поле можно опустить, либо =0
8
+ attr_accessor :id
9
+ # @return [Integer] Тип процедуры
10
+ # Возможные значения
11
+ # 1 — аукцион продавца
12
+ # 2 — аукцион покупателя
13
+ # 3 — объявление о продаже
14
+ # 4 — запрос предложений (объявление о покупке)
15
+ # 14 — простая процедура закупки
16
+ attr_accessor :type
17
+ # @return [Integer] Способ закупки (только если тип процедуры 4)
18
+ # Возможные значения
19
+ # 0 — запрос предложений
20
+ # 1 — запрос цен
21
+ attr_accessor :board_extended_type
22
+ # @return [Integer] Поле, необходимое для создания многолотовых запросов предложений
23
+ # Возможные значения
24
+ # 0 — при однолотовом запросе или первом лоте многолотового
25
+ # id — Номер многолотового запроса предложений в который необходимо добавить лот
26
+ attr_accessor :auction_id
27
+ # @return[Integer] Номер лота в многолотовом запросе предложений
28
+ # Возможные значения
29
+ # 0 — для создания однолотового запроса предложений
30
+ # N — для многолотового, где N - порядковый номер лота в многолотовом запросе предложений
31
+ # (1 для первого в сочетании с auction_id = 0 и больше 1 в сочетании с auction_id = id)
32
+ attr_accessor :number_in_group
33
+ # @return [String]
34
+ attr_accessor :department_id
35
+ # @return [String] Категории классификоторов
36
+ # Перечисление категорий классификатора через ,
37
+ attr_accessor :classifier_ids
38
+ # @return [String] Код ОКВЭД
39
+ attr_accessor :okved_code
40
+ # @return [String] Наименование продукции
41
+ attr_accessor :name
42
+ # @return [String] Краткое описание лота
43
+ attr_accessor :comments
44
+ # @return [Integer] Услуга
45
+ # ID услуги - список можно получить вызвав RemoteMarket.getServices()
46
+ # Пустая строка - нет описания
47
+ attr_accessor :service
48
+ # @return [String] Ссылка на подробное описание продукции
49
+ attr_accessor :link_url
50
+ # @return [Double] Количество продукции
51
+ attr_accessor :quantity
52
+ # @return [String] Ед. измерения продукции
53
+ attr_accessor :units
54
+ # @return [String] Цена за ед. продукции
55
+ # Формат значения Decimal(15, 2)
56
+ attr_accessor :price_unit
57
+ # @return [String] Цена за ед. продукции без НДС
58
+ # Формат значения Decimal(15, 2)
59
+ attr_accessor :price_unit_notax
60
+ # @return [String] Цена за весь лот
61
+ # Формат значения Decimal(15, 2)
62
+ attr_accessor :price_lot
63
+ # @return [String] Цена за весь лот без НДС
64
+ # Формат значения Decimal(15, 2)
65
+ attr_accessor :price_lot_notax
66
+ # @return [Integer] Тип цены, который будет использоваться при выборе победителя
67
+ # Возможные значения
68
+ # 0 — цена с НДС
69
+ # 1 — цена без НДС
70
+ attr_accessor :price_main
71
+ # @return [Integer] Победитель конкурса
72
+ # Валюта:
73
+ # 0 — руб,
74
+ # 1 — USD,
75
+ # 2 — EUR,
76
+ # 4 — UAH
77
+ attr_accessor :currency
78
+ # @return [String] Шаг аукциона
79
+ # Шаг аукциона не может быть меньше 0,01% и больше 1% от начальной цены всего лота.
80
+ # Формат значения DECIMAL(15,2)
81
+ attr_accessor :bet_step
82
+ # @return [String] Условия оплаты
83
+ attr_accessor :conditions
84
+ # @return [String] Местонахождение и условия поставки
85
+ attr_accessor :place
86
+ # @return [array_of_ids] @deprecated
87
+ # Дополнительная информация.
88
+ # ID файлов, размещенных в папке "Предложение" Личного кабинета в разделе "Дополнительная информация".
89
+ attr_accessor :files
90
+ # @return [String] Комментарии
91
+ attr_accessor :description
92
+ # @return [String] Список ID файлов с информацией о процедуре, через запятую.
93
+ # Формат значения VARCHAR(255)
94
+ attr_accessor :info_files
95
+ # @return [String] Действительно до
96
+ # Срок действия объявления
97
+ # Формат значения dd.mm.YYYY HH:ii:ss
98
+ attr_accessor :date_end
99
+ # @return [String] Дата вскрытия конвертов с предложениями.
100
+ # Формат значения dd.mm.YYYY HH:ii:ss
101
+ attr_accessor :date_end_unsealing
102
+ # @return [String] Дата начала торгов
103
+ # Поле заполняется для объявления двухэтапных объявлений о продаже или запросах предложений
104
+ # Поле является обязательным при объявлении аукциона.
105
+ # Формат значения dd.mm.YYYY HH:ii:ss
106
+ attr_accessor :date_start
107
+ # @return [String] Дата вскрытия конвертов с предварительной документацией
108
+ # Поле заполняется для объявления двухэтапных объявлений о продаже или запросах предложений.
109
+ # Формат значения dd.mm.YYYY HH:ii:ss
110
+ attr_accessor :date_unsealing
111
+ # @return [Integer] Ответственный пользователь.
112
+ # По умолчанию — устанавливается текущий пользователь
113
+ attr_accessor :responsible_user_id
114
+ # @return [ArrayOfIds] Место поставки товара или оказания услуги.
115
+ # Список адресов организации возвращает метод RemoteMarket.getAddressesIds.
116
+ attr_accessor :addresses_ids
117
+ # @return [Integer]
118
+ # =1 — Альтернативные предложения разрешены
119
+ attr_accessor :alternative_offers
120
+ # @return [String] URL торговой процедуры на площадке B2B
121
+ # Поле возвращается при вызове метода RemoteAuction.getData
122
+ # В других случаях значение этого поля игнорируется
123
+ # Формат значения VARCHAR(255)
124
+ attr_accessor :url
125
+ # @return [Integer]
126
+ # ID организации заказчика (указывается в случае, когда организатор торговой процедуры не является заказчиком)
127
+ attr_accessor :customer_firm_id
128
+ # @return [String] Телефон ответственного пользователя.
129
+ # Например — +7(495)1234567.
130
+ # Формат значения код_страны(код_города)телефон
131
+ attr_accessor :organizer_phone
132
+ # @return [String] E-mail ответственного пользователя (только для организаций, работающих по 223-ФЗ)
133
+ # Формат значения VARCHAR(255)
134
+ attr_accessor :organizer_email
135
+ # @return [String] Фактический адрес заказчика (только для организаций, работающих по 223-ФЗ)
136
+ # Формат значения VARCHAR(255)
137
+ attr_accessor :organizer_fact_address
138
+ # @return [String] Почтовый адрес заказчика (только для организаций, работающих по 223-ФЗ)
139
+ # Формат значения VARCHAR(255)
140
+ attr_accessor :organizer_post_address
141
+ # @return [Integer] Признак того, требуется ли обязательная подгрузка документации к предложению
142
+ # (для запросов предложений)
143
+ # Возможные значения
144
+ # 0 — не обязательна;
145
+ # 1 — обязательна.
146
+ # При отсутствии данного поля загрузка документации к предложению обязательна.
147
+ attr_accessor :require_offer_doc
148
+ # @return [Integer] Признак того, что торги являются попозиционными.
149
+ # Возможные значения
150
+ # 0 — обычные
151
+ # 1 — попозиционные (Тип процедуры — Запрос предложений)
152
+ # Возвращается методом getData только если «1».
153
+ attr_accessor :multiposition
154
+ # @return [Integer] Признак того, что позиции попозиционных торгов объединяются в лоты.
155
+ # Возможные значения
156
+ # 0 — обычные торги
157
+ # 1 — попозиционные торги с объединением позиций в лоты
158
+ # Возвращается методом getData только если «1».
159
+ # Внимание! Понятия «попозиционная процедура с объединением позиций в лоты» и «Многолотовая процедура»
160
+ # отличаются механизмом проведения торгов и подведения итогов:
161
+ # в многолотовой процедуре каждый лот является, по сути, отдельной торговой процедурой с отдельной процедурой подведения итогов;
162
+ # лот же попозиционной процедуры это атомарная группа позиций, обеспечивающая невозможность участия или выбора победителя не по всем позициям любого лота.
163
+ # Подведение итогов попозиционной процедуры с объединением позиций в лоты происходит единовременно для всех
164
+ # лотов — так же, как и в случае обычной попозиционной процедуры.
165
+ attr_accessor :allow_positions_groups
166
+ # @return [Integer] Признак возможности добавлять закупочные позиции без указания цены
167
+ # (в попозиционных запросах предложений)
168
+ # Возможные значения
169
+ # 0 — запрещено (по умолчанию)
170
+ # 1 — разрешено
171
+ # Возвращается методом getData только если «1».
172
+ attr_accessor :allow_positions_no_price
173
+ # @return [String] Дата и время рассмотрения заявок
174
+ # Обязательно для заполнения для организаций, которые работают по 223-ФЗ
175
+ # Формат значения dd.mm.YYYY HH:ii:ss
176
+ attr_accessor :consideration_date
177
+ # @return [String] Место рассмотрения заявок
178
+ # Обязательно для заполнения для организаций, которые работают по 223-ФЗ.
179
+ # Формат значения VARCHAR(255)
180
+ attr_accessor :consideration_place
181
+ # @return [String] Дата и время подведения итогов
182
+ # Обязательно для заполнения для организаций, которые работают по 223-ФЗ
183
+ # Формат значения dd.mm.YYYY HH:ii:ss
184
+ attr_accessor :results_date
185
+ # @return [Integer] Выгружать на ООС
186
+ # Возможные значения:
187
+ # 0 — не выгружать
188
+ # 1 — выгружать
189
+ attr_accessor :zgr_export
190
+ # @return [String] Является ли торговая процедура двухэтапной
191
+ # Возможные значения
192
+ # 0 — является одноэтапной
193
+ # 1 — является двухэтапной
194
+ attr_accessor :multi_stages
195
+ # @return [Integer] Является ли торговая процедура закрытой.
196
+ # Возможные значения:
197
+ # 0 — является открытой
198
+ # 1 — является закрытой
199
+ attr_accessor :is_private
200
+ # @return [Integer] Разрешена ли подача аналогов позиций (для попозиционных процедур)
201
+ # Возможные значения:
202
+ # 0 — не разрешена
203
+ # 1 — разрешена
204
+ attr_accessor :allow_positions_analog
205
+ # @return [Integer] Атрибут малой закупки
206
+ # Возможные значения:
207
+ # 0 — не устанавливать атрибут малой закупки
208
+ # 1 — установить атрибут малой закупки
209
+ attr_accessor :small_purchase
210
+ # @return [Integer] Номер конкурса на заключение рамочного соглашения,
211
+ # победители которого допускаются к участию в данной торговой процедуре
212
+ attr_accessor :tender_id
213
+ # @return [Integer] Номер лота конкурса на заключение рамочного соглашения,
214
+ # победители которого допускаются к участию в данной торговой процедуре
215
+ attr_accessor :tender_lot_id
216
+ # @return [Integer] подтип унивесальной многолотовой закупки
217
+ # Возможные значения:
218
+ # 1 — Конкурс
219
+ # 2 — Конкурс
220
+ # 3 — Запрос предложений
221
+ # 4 — Запрос цен
222
+ # 5 — Аукционы
223
+ # 6 — Редукционы
224
+ attr_accessor :trade_type_code
225
+ # @return [Integer] Контейнер многолотовой процедуры
226
+ # Возможные значения:
227
+ # 0 — не контейнер
228
+ # 1 — контейнер
229
+ attr_accessor :root
230
+ # @return [Integer] номер контейнера многолотовой процедуры
231
+ attr_accessor :root_id
232
+ # @return [Integer] номер лота многолотовой процедуры
233
+ attr_accessor :lot_id
234
+ # @return [Integer] Использовать ли попозиционное задание торгов
235
+ # Возможные значения:
236
+ # 0 — не использовать
237
+ # 1 — использовать
238
+ attr_accessor :use_positions
239
+ # @return [Integer] Использовать ли закрытую подачу предложений
240
+ # Возможные значения:
241
+ # 0 — не использовать
242
+ # 1 — использовать
243
+ attr_accessor :private_offers
244
+ # @return [Integer] Требование к отсутствию участников закупки в реестре недобросовестных поставщиков
245
+ # Только для процедур по 223-ФЗ
246
+ # Возможные значения:
247
+ # 0 — не использовать
248
+ # 1 — использовать
249
+ attr_accessor :zgr_not_dishonest_firm
250
+ # @return [Integer] Разрешить участие в закупке только субъектам малого и среднего предпринимательства
251
+ # Только для процедур по 223-ФЗ
252
+ # Возможные значения:
253
+ # 0 — не разрешать
254
+ # 1 — разрешить
255
+ attr_accessor :only_for_smb
256
+ # @return [Integer] В отношении участников закупки установлено требование о привлечении к исполнению договора субподрядчиков из числа МСП
257
+ # Только для процедур по 223-ФЗ
258
+ # Возможные значения:
259
+ # 0 — не установлено
260
+ # 1 — установлено
261
+ attr_accessor :attract_subcontractors_smb
262
+
263
+ # @return [AuctionData]
264
+ def self.from_response(response, client, tender_id)
265
+ r = response.result[:data]
266
+ return if r.nil?
267
+
268
+ t = AuctionData.new
269
+ t.soap_client = client
270
+ t.id = convert(r[:id], :integer)
271
+ t.type = r[:type]
272
+ t.board_extended_type = r[:board_extended_type]
273
+ t.auction_id = r[:auction_id]
274
+ t.number_in_group = r[:number_in_group]
275
+ t.department_id = r[:department_id]
276
+ t.classifier_ids = r[:classifier_ids]
277
+ t.okved_code = r[:okved_code]
278
+ t.name = r[:name]
279
+ t.comments = r[:comments]
280
+ t.service = r[:service]
281
+ t.link_url = r[:link_url]
282
+ t.quantity = r[:quantity]
283
+ t.units = r[:units]
284
+ t.price_unit = r[:price_unit]
285
+ t.price_unit_notax = r[:price_unit_notax]
286
+ t.price_lot = r[:price_lot]
287
+ t.price_lot_notax = r[:price_lot_notax]
288
+ t.price_main = r[:price_main]
289
+ t.currency = r[:currency]
290
+ t.bet_step = r[:bet_step]
291
+ t.conditions = r[:conditions]
292
+ t.place = r[:place]
293
+ t.files = r[:files]
294
+ t.description = r[:description]
295
+ t.info_files = r[:info_files]
296
+ t.date_end = r[:date_end]
297
+ t.date_end_unsealing = r[:date_end_unsealing]
298
+ t.date_start = r[:date_start]
299
+ t.date_unsealing = r[:date_unsealing]
300
+ t.responsible_user_id = r[:responsible_user_id]
301
+ t.addresses_ids = r[:addresses_ids]
302
+ t.alternative_offers = r[:alternative_offers]
303
+ t.url = r[:url]
304
+ t.customer_firm_id = r[:customer_firm_id]
305
+ t.organizer_phone = r[:organizer_phone]
306
+ t.organizer_email = r[:organizer_email]
307
+ t.organizer_fact_address = r[:organizer_fact_address]
308
+ t.organizer_post_address = r[:organizer_post_address]
309
+ t.require_offer_doc = r[:require_offer_doc]
310
+ t.multiposition = r[:multiposition]
311
+ t.allow_positions_groups = r[:allow_positions_groups]
312
+ t.allow_positions_no_price = r[:allow_positions_no_price]
313
+ t.consideration_date = r[:consideration_date]
314
+ t.consideration_place = r[:consideration_place]
315
+ t.results_date = r[:results_date]
316
+ t.zgr_export = r[:zgr_export]
317
+ t.multi_stages = r[:multi_stages]
318
+ t.is_private = r[:is_private]
319
+ t.allow_positions_analog = r[:allow_positions_analog]
320
+ t.small_purchase = r[:small_purchase]
321
+ t.tender_id = r[:tender_id]
322
+ t.tender_lot_id = r[:tender_lot_id]
323
+ t.trade_type_code = r[:trade_type_code]
324
+ t.root = r[:root]
325
+ t.root_id = r[:root_id]
326
+ t.lot_id = r[:lot_id]
327
+ t.use_positions = r[:use_positions]
328
+ t.private_offers = r[:private_offers]
329
+ t.zgr_not_dishonest_firm = r[:zgr_not_dishonest_firm]
330
+ t.only_for_smb = r[:only_for_smb]
331
+ t.attract_subcontractors_smb = r[:attract_subcontractors_smb]
332
+ t
333
+ end
334
+
335
+ # @return [AuctionParticipant[]] Информация участниках
336
+ def participants
337
+ remote_auction.get_participants(id)
338
+ end
339
+ end
340
+ end
341
+ end
342
+ end
@@ -23,7 +23,7 @@ module B2bCenterApi
23
23
  ap.soap_client = client
24
24
  ap.auction_id = auction_id
25
25
  ap.firm_id = convert(p[:firm_id], :string)
26
- ap.offers_nums = ArrayOfIds.from_part_response(p[:offers_nums]).map(&:to_i)
26
+ ap.offers_nums = ArrayOfIds.from_part_response(p[:offers_nums]).flatten.map(&:to_i)
27
27
  ap
28
28
  end
29
29
 
@@ -188,7 +188,7 @@ module B2bCenterApi
188
188
  end
189
189
 
190
190
  # @return [TenderParticipant[]] Информация об организации
191
- def tender_participants
191
+ def participants
192
192
  remote_tender.get_participants(id)
193
193
  end
194
194
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: b2b_center_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Archakov Aleksandr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-21 00:00:00.000000000 Z
11
+ date: 2015-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -113,6 +113,7 @@ files:
113
113
  - lib/b2b_center_api/web_service/type_cast.rb
114
114
  - lib/b2b_center_api/web_service/types.rb
115
115
  - lib/b2b_center_api/web_service/types/array_of_ids.rb
116
+ - lib/b2b_center_api/web_service/types/auction_data.rb
116
117
  - lib/b2b_center_api/web_service/types/auction_offer.rb
117
118
  - lib/b2b_center_api/web_service/types/auction_participant.rb
118
119
  - lib/b2b_center_api/web_service/types/b2b_file.rb