b2b_center_api 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
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