The Open Procurement API is the only interface to Open Procurement database that is core unit of Open Procurement infrastructure.
The Open Procurement API is REST-ful interface, providing programmatic access to Tender database of Open Procurement system. It provides predictable URLs for accessing resources, and uses built-in HTTP features to receive commands and return responses. This makes it easy to communicate with.
The API accepts JSON or form-encoded content in requests. It returns JSON content in all of its responses, including errors. Only the UTF-8 character encoding is supported for both requests and responses.
All API POST and PUT requests expect a top-level object with a single element in it named data. Successful responses will mirror this format. The data element should itself be an object, containing the parameters for the request. In the case of creating a new tender, these are the fields we want to set on the tender itself.
If the request was successful, we will get a response code of 201 indicating the object was created. That response will have a data field at its top level, which will contain complete information on the new tender, including its ID.
If something went wrong during the request, we’ll get a different status code and the JSON returned will contain an errors field at the top level containing a list of problems. We look at the first one and print out its message.
The project has pre alpha status.
The source repository for this project is on GitHub:
API is highly unstable, and while API endpoints are expected to remain relatively stable the data exchange formats are expected to be changed a lot. The changes in the API are communicated via Open Procurement API maillist.
- Tender Listing Batching (optimized for sync operations)
- Documents retrieval
- Change tracking
- Options: Pretty-print, JSONP
- Introduction of state machine and time-based state switching
- Set up general build, testing, deployment, and ci framework.
- Creating/modifying tender
- Adding/modifying/cancelling tender proposal
- Awarding/disqualification of tender proposals