Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
476 lines (285 sloc) 13.7 KB

Tutorial

Exploring basic rules

Let's try exploring the /auctions endpoint:

Just invoking it reveals empty set.

Now let's attempt creating some auction:

Error states that the only accepted Content-Type is application/json.

Let's satisfy the Content-type requirement:

Error states that no data has been found in JSON body.

.. index:: Auction

Creating auction

Let's create auction with the minimal data set (only required properties):

Success! Now we can see that new object has been created. Response code is 201 and Location response header reports the location of the created object. The body of response reveals the information about the created auction: its internal id (that matches the Location segment), its official auctionID and dateModified datestamp stating the moment in time when auction has been last modified. Pay attention to the procurementMethodType. Note that auction is created with active.tendering status.

Let's access the URL of the created object (the Location header of the response):

We can see the same response we got after creating auction.

Let's see what listing of auctions reveals us:

We do see the auction's internal id (that can be used to construct full URL by prepending https://api-sandbox.ea.openprocurement.org/api/0/auctions/) and its dateModified datestamp.

The previous auction contained only required fields. Let's try creating auction with more data (auction has status created):

And again we have 201 Created response code, Location header and body with extra id, auctionID, and dateModified properties.

Let's check what auction registry contains:

And indeed we have 2 auctions now.

Creating auction from the given lot

Let's create a procedure considering the lot created before within the registry:

Modifying auction

Let's update auction by supplementing it with all other essential properties:

We see the added properies have merged with existing auction data. Additionally, the dateModified property was updated to reflect the last modification datestamp.

Checking the listing again reflects the new modification date:

.. index:: Document

Uploading documentation

Organizer can upload PDF files into the created auction. Uploading should follow the :ref:`upload` rules.

201 Created response code and Location header confirm document creation. We can additionally query the documents collection API endpoint to confirm the action:

The single array element describes the uploaded document. We can upload more documents:

And again we can confirm that there are two documents uploaded.

In case we made an error, we can reupload the document over the older version:

And we can see that it is overriding the original version:

.. index:: Enquiries, Question, Answer

Uploading illustration

Organizer can upload illustration files into the created auction. Uploading should follow the :ref:`upload` rules.

In order to specify illustration display order, index field can be used (for details see :ref:`document`). Since this illustration should be displayed first, it has "index": 1.

We can check whether illustration is uploaded.

Organizer can upload second illustration. This illustration should be displayed second, so it has "index": 2.

Add third illustration:

Note that index of the third illustration is the same as for the second illustration: "index": 2. In such cases firstly will be displayed illustration that was uploaded earlier.

We can check that there are three uploaded illustrations.

Enquiries

When auction is in active.tendering status, interested parties can ask questions:

Organizer can answer them:

And one can retrieve the question list:

Or an individual answer:

.. index:: Bidding

Registering bid

Bidder can register a bid in draft status:

And activate a bid:

And upload proposal document:

It is possible to check the uploaded documents:

For the best effect (biggest economy) auction should have multiple bidders registered:

.. index:: Awarding, Qualification

Auction

After auction is scheduled anybody can visit it to watch. The auction can be reached at Auction.auctionUrl:

And bidders can find out their participation URLs via their bids:

See the Bid.participationUrl in the response. Similar, but different, URL can be retrieved for other participants:

Qualification

After the competitive auction two awards are created: * for the first candidate (a participant that has submitted the highest valid bid at the auction) - initially has a pending status and awaits auction protocol to be uploaded by the organizer; * for the second candidate (a participant that has submitted the second highest valid bid at the auction)- initially has a pending.waiting status.

There are two more scenarios that can happen after the competitive auction:
  • If the two highest bidders have invalid bids (lower than auction starting price + minimal step), the awards will not be created at all, and the qualification procedure will automatically receive the unsuccessful status.
  • If the second highest bidder has a bid that is less than the starting price + minimal step, two awards are created, with one of them receiving a pending.verification status and undergoing the qualification procedure, and the other (with an invalid bid) automatically becoming unsuccessful.

Confirming qualification

The organizer must upload and confirm the auction protocol auctionProtocol and add it to the award within 4 business days after the start of the qualification procedure. The candidate still has a possibility to upload the protocol, but it is neither mandatory, nor sufficient to move to the next status. If the auction protocol has not been uploaded before the end of verificationPeriod, the award is automatically transferred to the unsuccessful status.

It is the organizer's duty to upload and confirm the protocol, as well as to switch the award to active status.

Otherwise, the award will automatically become unsuccessful"

Contract prolongation

Organizer can prolong contract signing period by creating a prolongation object:

For the object to be prolonged the next data has to be included:

Created prolongation has status "draft" by default, so there is a need to active it:

When a contract has been prolongated for first time, a short prolongation period (42 business days) is applied. It's also possible to apply a long-term (132 business days) prolongation: just create new :ref:`Prolongation` for the already prolongated :ref:`Contract`, and apply it.

Disqualification of a candidate

In case of manual disqualification, the organizer has to upload file with cancellation reason:

And disqualify candidate:

Within 20 business days since becoming candidate a new candidate must confirm qualification with steps described above (:ref:`Qualification`).

Refusal of waiting by another participant

The second candidate (participant that has submitted the second highest valid bid at the auction) can refuse to wait for the disqualification of the first candidate:

Signing contract

The candidate has 20 business days after becoming a candidate to conclude a contract with the bank based on the results of electronic auction.

Uploading contract documentation

You can upload contract documents. Let's upload contract document:

201 Created response code and Location header confirm that document has been added.

Let's see the list of contract documents:

We can add another contract document:

201 Created response code and Location header confirm that the second document has been uploaded.

Let's see the list of all added contract documents:

Contract prolongation

Organizer can prolongate contract signing period by creating prolongation

Prolongation must have documents attached to be prepared for activation

Created prolongation has status "draft" by default, so there is a need to set status to "applied" to make it active.

When a contract has been prolongated for first time, a short prolongation period applies. It is equal to 42 working days. It's also possible to apply long-term (132 days) prolongation: just create new :ref:`Prolongation` for the already prolongated :ref:`Contract`, and apply it.

Contract registration

There is a possibility to set custom contract signature date. If the date is not set it will be generated on contract registration. You can register contract:

Cancelling auction

Organizer can cancel auction anytime (except when auction has terminal status e.g. unsuccesfull, canceled, complete).

The following steps should be applied:

  1. Prepare cancellation request.
  2. Fill it with the protocol describing the cancellation reasons.
  3. Cancel the auction with the reasons prepared.

Only the request that has been activated (3rd step above) has power to cancel auction. I.e. you have to not only prepare cancellation request but to activate it as well.

See :ref:`cancellation` data structure for details.

Preparing the cancellation request

You should pass reason, status defaults to pending. id is autogenerated and passed in the Location header of response.

Filling cancellation with protocol and supplementary documentation

Upload the file contents:

Change the document description and other properties:

Upload new version of the document:

Activating the request and cancelling auction