Class: B2bCenterApi::RemoteAuction

Inherits:
Object
  • Object
show all
Defined in:
lib/b2b_center_api/remote_auction.rb

Overview

Методы класса RemoteAuction

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ RemoteAuction

Returns a new instance of RemoteAuction.



6
7
8
9
# File 'lib/b2b_center_api/remote_auction.rb', line 6

def initialize(client)
  @client = client
  @client_web = WebService::RemoteAuction.new(client)
end

Instance Method Details

#create(auction_data) ⇒ Integer

Создать новый аукцион

Parameters:

Returns:

  • (Integer)

    id созданной процедуры



79
80
81
82
83
# File 'lib/b2b_center_api/remote_auction.rb', line 79

def create(auction_data)
  auction_data = auction_data.to_h unless auction_data.is_a? Hash
  response = @client_web.command :create, data: auction_data
  response.result[:value]
end

#get_data(auction_id) ⇒ WebService::Types::AuctionData

Получить данные аукциона

Parameters:

  • auction_id (Integer)

    Номер процедуры

Returns:



88
89
90
91
# File 'lib/b2b_center_api/remote_auction.rb', line 88

def get_data(auction_id)
  response = @client_web.command :get_data, auction_id: auction_id
  WebService::Types::AuctionData.from_response(response, @client, auction_id)
end

#get_group_ids(auction_id) ⇒ WebService::Types::ArrayOfIds[]

Получить список идентификаторов лотов многолотовой процедуры

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

Returns:



104
105
106
107
# File 'lib/b2b_center_api/remote_auction.rb', line 104

def get_group_ids(auction_id)
  response = @client_web.command :get_group_ids, auction_id: auction_id
  WebService::Types::ArrayOfIds.from_response(response)
end

#get_offer(auction_id, firm_id, offer_num) ⇒ WebService::Types::AuctionOffer

Получить предложение участника Метод возвращает информацию о предложении (альтернативном предложении) участника: последней ставке, имя файла с описанием предложения, информацию о том признан ли участник победителем. Возвращаемый методом файл доступен для скачивания из корневой FTP-папки организации.

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

  • firm_id (Integer)

    ID организации (участник торговой процедуры)

  • offer_num (Integer)

    0 — основное предложение = целое_число — альтернативное предложение №

Returns:



117
118
119
120
# File 'lib/b2b_center_api/remote_auction.rb', line 117

def get_offer(auction_id, firm_id, offer_num)
  response = @client_web.command :get_offer, auction_id: auction_id, firm_id: firm_id, offer_num: offer_num
  WebService::Types::AuctionOffer.from_response(response, @client, auction_id, firm_id, offer_num)
end

#get_participants(auction_id) ⇒ WebService::Types::AuctionParticipant[]

Получить список участников

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

Returns:



96
97
98
99
# File 'lib/b2b_center_api/remote_auction.rb', line 96

def get_participants(auction_id)
  response = @client_web.command :get_participants, auction_id: auction_id
  WebService::Types::AuctionParticipant.from_response(response, @client, auction_id)
end

#get_participants_protocol(auction_id, haggling_num = 0) ⇒ AuctionParticipantsProtocol

Поулчить данные о протоколе вскрытия конвертов с предложениями

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

  • haggling_num (Integer) (defaults to: 0)

    Номер этапа переторжки Допустимые значени:

    0 - Основной этап (По умолчанию)
    >0 - Этап переторжки с указанным номером
    

Returns:

  • (AuctionParticipantsProtocol)


18
19
20
21
# File 'lib/b2b_center_api/remote_auction.rb', line 18

def get_participants_protocol(auction_id, haggling_num = 0)
  response = @client_web.command :get_participants_protocol, auction_id: auction_id, haggling_num: haggling_num
  WebService::Types::AuctionParticipantsProtocol.from_response(response)
end

#upload_doc(auction_id, file, type = 'docs', append_mode = 1) ⇒ String

Загрузить документацию к аукциону/объявлению

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

  • file (String)

    Путь к файлу

  • type (String) (defaults to: 'docs')

    Тип документации Возможные значения:

    'docs' - Документация к основному этапу торговой процедуры
    'pre_docs' - Документация к предварительному этапу торговой процедуры
    
  • append_mode (Integer) (defaults to: 1)

    Загружать файлы в режиме добавления Возможные значения:

    0 - Режим замены (старые файлы документации будут удалены)
    1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
    

Returns:

  • (String)

    Код ошибки (0 - если успешно)



52
53
54
55
# File 'lib/b2b_center_api/remote_auction.rb', line 52

def upload_doc(auction_id, file, type = 'docs', append_mode = 1)
  response = @client_web.command_with_attachments :upload_doc, [file], auction_id: auction_id, type: type, append_mode: append_mode, attachment_name: WebService::Types::AttachmentName.new(file).to_h
  response.status[:error_code]
end

#upload_doc_from_url(auction_id, url, type = 'docs', append_mode = 1) ⇒ String

Загрузить документацию к аукциону/объявлению через url

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

  • url (String)

    Путь к файлу

  • type (String) (defaults to: 'docs')

    Тип документации Возможные значения:

    'docs' - Документация к основному этапу торговой процедуры
    'pre_docs' - Документация к предварительному этапу торговой процедуры
    
  • append_mode (Integer) (defaults to: 1)

    Загружать файлы в режиме добавления Возможные значения:

    0 - Режим замены (старые файлы документации будут удалены)
    1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
    

Returns:

  • (String)

    Код ошибки (0 - если успешно)



35
36
37
38
# File 'lib/b2b_center_api/remote_auction.rb', line 35

def upload_doc_from_url(auction_id, url, type = 'docs', append_mode = 1)
  response = @client_web.command :upload_doc, auction_id: auction_id, type: type, append_mode: append_mode, url: url
  response.status[:error_code]
end

#upload_docs(auction_id, files, type = 'docs', append_mode = 1) ⇒ String

Загрузить документацию из нескольких файлов к аукциону/объявлению !Загружает не более двух файлов за раз, иначе ошибка!

Parameters:

  • auction_id (Integer)

    Номер аукциона/объявления

  • file (Array)

    Массив файлов

  • type (String) (defaults to: 'docs')

    Тип документации Возможные значения:

    'docs' - Документация к основному этапу торговой процедуры
    'pre_docs' - Документация к предварительному этапу торговой процедуры
    
  • append_mode (Integer) (defaults to: 1)

    Загружать файлы в режиме добавления Возможные значения:

    0 - Режим замены (старые файлы документации будут удалены)
    1 - Режим добавления (старые файлы документации не будут удалены, за исключением совпадающих имен)
    

Returns:

  • (String)

    Код ошибки (0 - если успешно)



70
71
72
73
74
# File 'lib/b2b_center_api/remote_auction.rb', line 70

def upload_docs(auction_id, files, type = 'docs', append_mode = 1)
  files = [files] unless files.is_a? Array
  response = @client_web.command_with_attachments :upload_docs, files, auction_id: auction_id, type: type, append_mode: append_mode, attachment_names: WebService::Types::AttachmentName.from_array(files)
  response.status[:error_code]
end