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 +4 -4
- data/lib/b2b_center_api/remote_auction.rb +8 -0
- data/lib/b2b_center_api/version.rb +1 -1
- data/lib/b2b_center_api/web_service/types/auction_data.rb +342 -0
- data/lib/b2b_center_api/web_service/types/auction_participant.rb +1 -1
- data/lib/b2b_center_api/web_service/types/tender_data.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3bb1f3f784516a229921dbc8da2c42e571947de
|
4
|
+
data.tar.gz: e63a4875a87a6431fb0f3f6cc93c3706bfdf2379
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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[]]
|
@@ -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
|
|
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.
|
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-
|
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
|