Giter Club home page Giter Club logo

openprocurement.api's Introduction

image

image

image

image

Gitter

Documentation

OpenProcurement is initiative to develop software powering tenders database and reverse auction.

'openprocurement.api' is component responsible for exposing the tenders database to brokers and public.

Documentation about this API is accessible at http://api-docs.openprocurement.org/

Building documentation

Use following commands to build documentation from docs/source into `docs/html`:

python bootstrap.py -c docs.cfg
bin/buildout -N -c docs.cfg
bin/docs

For translation into <lang> (2 letter ISO language code), you have to follow the scenario:

  1. Pull all translatable strings out of documentation:

    (cd docs/_build; make gettext)
  2. Update translation with new/changed strings:

    bin/sphinx-intl update -c docs/source/conf.py -p docs/_build/locale -l <lang>
  3. Update updated/missing strings in docs/source/locale/<lang>/LC_MESSAGES/*.po with your-favorite-editor/poedit/transifex/pootle/etc. to have all translations complete/updated.
  4. Compile the translation:

    bin/sphinx-intl build -c docs/source/conf.py
  5. Build translated documentations:

    (cd docs/_build; make -e SPHINXOPTS="-D language='uk'" html)

openprocurement.api's People

Contributors

annawzz avatar dmytroobertan avatar gitter-badger avatar gorserg avatar ivanromakh avatar krokop avatar kroman0 avatar ktarasz avatar kukirokuk avatar leits avatar myroslav avatar selurvedu avatar sofiiashnyr avatar sorenabell avatar tarasvaskiv avatar vanuan avatar vdigitall avatar vmaksymiv avatar volvoz avatar yshalenyk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openprocurement.api's Issues

Installation Guide.

The installation guide is missing (or could not find it at openprocurement.org).

Would be great if there is a getting started guide for developers to setup the project. (A presentation or video would be even better). Also details about the various component modules and test modules and what needs to be installed to get going.

Не удается запустить API

Здравствуйте,

Не удается запустить API,

# bin/chaussette paste:openprocurement.api.ini
Traceback (most recent call last):
File "bin/chaussette", line 54, in
sys.exit(chaussette.server.main())
File "/root/openprocurement.api/eggs/chaussette-1.3.0-py2.7.egg/chaussette/server.py", line 171, in main
app = paste_app(application.split(':')[-1])
File "/root/openprocurement.api/eggs/chaussette-1.3.0-py2.7.egg/chaussette/_paste.py", line 25, in paste_app
return loadapp('config:%s%s%s' % (os.path.abspath(path), hsh, app))
File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 247, in loadapp
return loadobj(APP, uri, name=name, **kw)
File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 272, in loadobj
return context.create()
File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 710, in create
return self.object_type.invoke(self)
File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/loadwsgi.py", line 146, in invoke
return fix_call(context.object, context.global_conf, **context.local_conf)
File "/usr/local/lib/python2.7/dist-packages/PasteDeploy-1.5.2-py2.7.egg/paste/deploy/util.py", line 55, in fix_call
val = callable(*args, **kw)
File "/usr/local/lib/python2.7/dist-packages/openprocurement.api-2.3.46-py2.7.egg/openprocurement/api/init.py", line 64, in main
authentication_policy=AuthenticationPolicy(settings['auth.file'], name),
KeyError: 'auth.file'
Exception KeyError: KeyError(140624627097424,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored

содержимое openprocurement.api.ini
# cat openprocurement.api.ini
[app:main]
use = egg:openprocurement.api

couchdb.db_name = test
couchdb.url = http://localhost:5984/

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.debug_templates = true
pyramid.default_locale_name = en

[server:main]
use = egg:chaussette
host = 0.0.0.0
port = 6543
backend = gevent
auth.file = /root/openprocurement.api/auth.ini

вот содержимое auth.ini
# cat auth.ini
[auction]
auction = auction

[chronograph]
chronograph = chronograph

[Administrator]
administrator = administrator

[tests]
chrisr = chrisr

[brokers]
broker = broker
broker05 = broker05

[reviewers]
reviewer = reviewer

[admins]
test = token

Api key

Добрый день. Для доступа к апи нужен апи-ключ. В доке не указано откуда его брать и я так предполагаю, что это login:pass от любой из площадок в системе прозорро, так? Если да, то почему я все равно получаю 403.

При відніманні timedelta не враховується зміна таймзони в кінцевій даті

Приклад:
https://lb.api.openprocurement.org/api/0/tenders/edb4d62e4e5d467b86b8380a336ae00c

У above-процедурах ми передаємо тільки tenderPeriod.endDate, enquiryPeriod розраховується автоматично на стороні ЦБД.
tenderPeriod.endDate передається 2017-03-29T08:00:00+03:00 (29.03 знаходиться в таймозні +03), ЦБД розраховує дату для enquiryPeriod - 19.03. Ця дата знаходиться у таймзоні +02. Але в ЦБД час генеруєтся в таймзоні +03

the doc about document Type is not valid

In the description of Document entity, the section of documentType is not valide. In the doc there is a type "contractAnnexe" but in the source code, the validation expects to receive "contractAnnexes"
please fix the doc and standards by urls
http://standards.openprocurement.org/document_types/recommended/contract_en.json
http://standards.openprocurement.org/document_types/recommended/contract_uk.json
http://standards.openprocurement.org/document_types/recommended/contract_en.json

Остановка / отмена тендера

В документации не увидел как остановить и отменить тендер. Попытка явно указать статус закупки и обновить тендер через API не приводит к ожидаемому результату. Указываем статус paused а получаем статус объявлена.

Testing out API

Hello! Love the work that's going on here, and love the documentation you have in place. Would it be possible to document how to start the server? I was able to do the following:

python bootstrap.py
./bin/buildout -N

successfully, but I'm not sure what command to run next to start the server up.

Thank you!

Swagger documents

What's the link to the swagger documents for the APIs, I can't find it anywhere in the documentation?

Даты тендера

Приветствую. Возникли проблемы с датами тендера. Прошу скорректировать все ли правильно мы понимаем:

Тендер:

  • завершение периода уточнений = enquiryPeriod;
  • плановая дата начала приема предложений - нет нигде. :( хотя в ТЗ есть. http://cl.ly/image/3b2r001J1G0O. 2014-11-11 14 04 13 Или эта дата выставляется автоматически после даты enquiryPeriod?;
  • аукцион = дата окончания приема предложений = tenderPeriod;
  • дата объявления победителя = awardPeriod;
  • дата поставки = deliveryDate.

P.S.: откуда-то я взял еще дату "Объявления закупки", но нигде не могу найти её упоминания теперь. Видимо перепутал что-то. Ведь дата объявления закупки по-сути - это дата создания тендера. Верно?!

Спасибо!

Видалити із схеми tenders/bidders зайві поля - валюта і ознака включення ПДВ

Ці параметри були задані Замовником. Учасник має подавати свою пропозицію у відповідності з ними. Інакше ми ризикуємо отримати неспівставні пропозиції або будемо вимушені приводити їх до спільного знаменника самостійно.

Видалення айтему в багатолотовому тендері

  1. Створюємо тендер з одним лотом, й декількома айтемами.
  2. Редагуємо тендер, й видаляємо айтем. На ЦБД він відправляється у тілі тендера, але поле "relatedLot" вказуємо як null. У відповіді отримуємо цей айтем без "relatedLot", тут все ок.
  3. Робимо GET-запит для перевірки - все коректно, видалений айтем без relatedLot.
  4. Знов редагуємо тендер. Додаємо новий айтем. Але вже після цього патчу (видалений айтем передаємо БЕЗ relatedLot у запиті), у відповіді від ЦБД relatedLot в ньому знов з'являється

Не удается установить API

Здравствуйте,

Не получается установить openprocurement.api на сервер под Ubuntu Linux 16.04

# bin/python setup.py install
...
Processing openprocurement.api-2.3.46-py2.7.egg
removing '/usr/local/lib/python2.7/dist-packages/openprocurement.api-2.3.46-py2.7.egg' (and everything under it)
creating /usr/local/lib/python2.7/dist-packages/openprocurement.api-2.3.46-py2.7.egg
Extracting openprocurement.api-2.3.46-py2.7.egg to /usr/local/lib/python2.7/dist-packages
openprocurement.api 2.3.46 is already the active version in easy-install.pth

Installed /usr/local/lib/python2.7/dist-packages/openprocurement.api-2.3.46-py2.7.egg
Processing dependencies for openprocurement.api==2.3.46
Searching for barbecue
Reading https://pypi.python.org/simple/barbecue/
Couldn't find index page for 'barbecue' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for barbecue
error: Could not find suitable distribution for Requirement.parse('barbecue')`

по ссылке https://pypi.python.org/simple/barbecue/ 404-я ошибка

Механізм "пришвидшених" тестових аукціонів

@mazvv подав запит:

mazvv: Я так понимаю, что изменить вручную дату и время аукциона в 0.6 не представляется возможным?
myroslav: Яка мета є в зміні тих дат/годин аукціона?
? mazvv: в целях тестирования
myroslav: тобто в базі є Тендер і ви хочете якнайскорше по ньому провести аукціон?
mazvv: так точно
myroslav: без врахування механізму планування?
mazvv: аукцион отдает запланированную дату/время а я хочу подвинуть вперед
myroslav: "подвинуть вперед" - це скорше? ніж заплановано?
mazvv: да

Було би добре на sandbox мати механізм "пришвидшення" часу, коли має відбутися аукціон, щоб не чекати наступного робочого дня.

Запросы по post

скажите пожалуйста где у вас информация об запросах по поиску тендеров, как я понял можно по прямым ссылкам делать (POST) запросы.
Скажите где эта информация находится?

ошибка экспорта тендера

This Github issue is synchronized with Zendesk,

Zendesk ticket ID: 74
Priority: high
Zendesk assignee: Служба підтримки/A

Original ticket content:

Добрый день
Ошибка экспорта тендера 95947b06b1434caeb2be9313841e5c7f, цбд
возвращает Internal Server Error. В чем проблема не понятно. Просим
срочно разобраться, так как это ошибка на стороне цбд, а описание
ошибки не носит информативного характера.

С уважением,
Валерий Несмашный

Чи оновлюється цей репозиторій?

З огляду на те, що останній коміт був 3 роки тому, хочу запитати, який статус цього репозиторію? Чи це правильне місце, де дивитись документацію по роботі із API Prozorro, чи можливо свіжа документація є в якомусь іншому місці?

Аукціон із одним учасником

Повинен одразу переходити на фазу визначення переможця, без проведення самого аукціону
ось приклад: UA-9aeb02f2997347e387fe51ddeeb5638d
так само, з торгами, на які не подано пропозиції - мають автоматично відмінятись.

Единицы измерения лота

Основываясь на том списке, что дал Мирослав, выбрал самое полезно-адекватное.

http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#Abampere

К сожалению, не нашел такого понятия как ШТ! Возможно, вы найдете.

Список здесь

https://www.evernote.com/shard/s54/sh/4591a1ac-ecb9-4b89-ae40-cca5d39cbb62/eaa3600f6e29828bf2030819088db045

Не возвращает access token

request.

{"data": {"procuringEntity": {"contactPoint": {"telephone": "+380685612352", "name": "\u0412\u0438\u0442\u0430\u043b\u0438\u0439", "email": "[email protected]"}, "identifier": {"scheme": "UA-EDR", "id": "2", "legalName": "Mazvv2"}, "name": "Mazvv2", "address": {"countryName": "\u0423\u043a\u0440\u0430\u0438\u043d\u0430", "postalCode": "02121", "region": "\u0412\u0438\u043d\u0438\u0446\u043a\u0430\u044f", "streetAddress": "", "locality": "\u0412\u0456\u043d\u043d\u0438\u0446\u044f"}}, "enquiryPeriod": {"endDate": "2014-12-25T00:00:00"}, "documents": [], "description": "Version 0.6 test 13", "title": "Version 0.6 test 13", "minimalStep": {"currency": "UAH", "amount": "100.00", "valueAddedTaxIncluded": false}, "items": [{"description": "Version 0.6 test 13", "classification": {"scheme": "CPV", "id": "30000000-9", "description": "\u0422\u0435\u0445\u043d\u0456\u043a\u0430, \u0443\u0441\u0442\u0430\u0442\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0442\u0430 \u043f\u0440\u0438\u043b\u0430\u0434\u0434\u044f \u043e\u0444\u0456\u0441\u043d\u0435 \u0442\u0430 \u043a\u043e\u043c\u043f'\u044e\u0442\u0435\u0440\u043d\u0435"}, "additionalClassifications": [{"scheme": "\u0414\u041a\u041f\u041f", "id": "10", "description": "\u041f\u0440\u043e\u0434\u0443\u043a\u0442\u0438 \u0445\u0430\u0440\u0447\u043e\u0432\u0456"}, {"scheme": "\u0414\u041a\u041f\u041f", "id": "11", "description": "\u041d\u0430\u043f\u043e\u0457"}], "deliveryDate": {"endDate": "2014-12-27T00:00:00"}, "unit": {"code": "\u043a\u0433", "name": "\u043a\u0433"}, "quantity": 125}], "tenderPeriod": {"startDate": "2014-12-25T00:00:00", "endDate": "2014-12-26T00:00:00"}, "value": {"currency": "UAH", "amount": "125200.00", "valueAddedTaxIncluded": false}, "tenderID": null}}

response

{"status": "active.enquiries", "tenderPeriod": {"startDate": "2014-12-25T00:00:00+02:00", "endDate": "2014-12-26T00:00:00+02:00"}, "description": "Version 0.6 test 13", "title": "Version 0.6 test 13", "minimalStep": {"currency": "UAH", "amount": 100.0, "valueAddedTaxIncluded": false}, "enquiryPeriod": {"startDate": "2014-12-24T13:41:32.433966+02:00", "endDate": "2014-12-25T00:00:00+02:00"}, "value": {"currency": "UAH", "amount": 125200.0, "valueAddedTaxIncluded": false}, "dateModified": "2014-12-24T13:41:32.507475+02:00", "procuringEntity": {"contactPoint": {"email": "[email protected]", "telephone": "+380685612352", "name": "\u0412\u0438\u0442\u0430\u043b\u0438\u0439"}, "identifier": {"scheme": "UA-EDR", "id": "2", "legalName": "Mazvv2"}, "name": "Mazvv2", "address": {"postalCode": "02121", "countryName": "\u0423\u043a\u0440\u0430\u0438\u043d\u0430", "streetAddress": "", "region": "\u0412\u0438\u043d\u0438\u0446\u043a\u0430\u044f", "locality": "\u0412\u0456\u043d\u043d\u0438\u0446\u044f"}}, "items": [{"description": "Version 0.6 test 13", "classification": {"scheme": "CPV", "description": "\u0422\u0435\u0445\u043d\u0456\u043a\u0430, \u0443\u0441\u0442\u0430\u0442\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0442\u0430 \u043f\u0440\u0438\u043b\u0430\u0434\u0434\u044f \u043e\u0444\u0456\u0441\u043d\u0435 \u0442\u0430 \u043a\u043e\u043c\u043f'\u044e\u0442\u0435\u0440\u043d\u0435", "id": "30000000-9"}, "additionalClassifications": [{"scheme": "\u0414\u041a\u041f\u041f", "id": "10", "description": "\u041f\u0440\u043e\u0434\u0443\u043a\u0442\u0438 \u0445\u0430\u0440\u0447\u043e\u0432\u0456"}, {"scheme": "\u0414\u041a\u041f\u041f", "id": "11", "description": "\u041d\u0430\u043f\u043e\u0457"}], "deliveryDate": {"endDate": "2014-12-27T00:00:00+02:00"}, "unit": {"code": "\u043a\u0433", "name": "\u043a\u0433"}, "quantity": 125}], "owner": "prom.ua", "id": "ec5915fdd7e1413bbee458b18d5b972c", "tenderID": "UA-2014-12-24-000042"}

access token не получен

TypeError: 'Flask' object is not iterable

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/sync.py", line 182, in handle_request
for item in respiter:
TypeError: 'Flask' object is not iterable

Не удается скомпилировать документацию

Здравствуйте,

Не удается скомпилировать документацию, делаю по доке https://github.com/openprocurement/openprocurement.api/blob/master/README.rst

# bin/python bootstrap.py -c docs.cfg
# bin/buildout -N -c docs.cfg
...
six: module references path
Installing six 1.9.0
Caused installation of a distribution:
six 1.10.0
with a different version.
/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/easy_install.py:538: UserWarning: Module six was already imported from /opt/openprocurement.api/lib/python2.7/site-packages/six.pyc, but /opt/openprocurement.api/eggs/six-1.10.0-py2.7.egg is being added to sys.path
ws.add(dist, replace=True)
While:
Installing.
Getting section docs.
Initializing section docs.
Installing recipe collective.recipe.sphinxbuilder.
Getting distribution for 'six==1.9.0'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 1946, in main
getattr(buildout, command)(args)
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 510, in install
[self[part]['recipe'] for part in install_parts]
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 1098, in getitem
options._initialize()
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 1202, in _initialize
self.initialize()
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 1208, in initialize
recipe_class = _install_and_load(reqs, 'zc.buildout', entry, buildout)
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/buildout.py", line 1162, in _install_and_load
allow_hosts=buildout._allow_hosts
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/easy_install.py", line 844, in install
return installer.install(specs, working_set)
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/easy_install.py", line 681, in install
for_buildout_run=for_buildout_run):
File "/opt/openprocurement.api/eggs/zc.buildout-2.2.5-py2.7.egg/zc/buildout/easy_install.py", line 545, in _get_dist
dist = self._env.best_match(requirement, ws)
File "/opt/openprocurement.api/lib/python2.7/site-packages/pkg_resources/init.py", line 1085, in best_match
dist = working_set.find(req)
File "/opt/openprocurement.api/lib/python2.7/site-packages/pkg_resources/init.py", line 695, in find
raise VersionConflict(dist, req)
VersionConflict: (six 1.10.0 (/opt/openprocurement.api/eggs/six-1.10.0-py2.7.egg), Requirement.parse('six==1.9.0'))

ошибка экспорта тендера

This Github issue is synchronized with Zendesk,

Zendesk ticket ID: 74
Priority: high
Zendesk assignee: Служба підтримки/A

Original ticket content:

Добрый день
Ошибка экспорта тендера 95947b06b1434caeb2be9313841e5c7f, цбд
возвращает Internal Server Error. В чем проблема не понятно. Просим
срочно разобраться, так как это ошибка на стороне цбд, а описание
ошибки не носит информативного характера.

С уважением,
Валерий Несмашный

ошибка экспорта тендера

This Github issue is synchronized with Zendesk,

Zendesk ticket ID: 74
Priority: high
Zendesk assignee: Служба підтримки/A

Original ticket content:

Добрый день
Ошибка экспорта тендера 95947b06b1434caeb2be9313841e5c7f, цбд
возвращает Internal Server Error. В чем проблема не понятно. Просим
срочно разобраться, так как это ошибка на стороне цбд, а описание
ошибки не носит информативного характера.

С уважением,
Валерий Несмашный

Скачать

Добрый день мне нужно скачать документы с определенного тендера и определенного участника скажем https://prozorro.gov.ua/tender/UA-2020-09-08-002019-a участника ТОВ Дорстрой Монтаж Київ скажем Договір оренди 100 кв. м..pdf можно ли как-то его скачать через ваш api а то я не могу найти так как я вижу только как должен выглядит ответ заранее прошу прощения за то что вопрос может оказаться глупым.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.