Restricted access
Framework can have restricted access with next rules
Object |
Public API |
Private API (Procuring Entity) |
Private API (Supplier) |
---|---|---|---|
framework |
view |
view/edit |
view |
submission |
– |
view (all) |
view/edit (own) |
qualification |
– |
view/edit (all) |
view (own) |
agreement |
– |
view/edit (all) |
– |
Let’s make an agreement that Procuring Entity and Suppliers will use different brokers for working with API:
Procuring Entity uses Broker
Supplier 1 uses Broker 1
Supplier 2 uses Broker 2
Create Framework with restricted access
First create framework with restricted access by Broker.
To do this, we need to set restricted_derivatives
field to true
in config
section of framework creation request.
POST /api/2.5/frameworks HTTP/1.0
Authorization: Bearer broker
Content-Length: 1873
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"frameworkType": "dynamicPurchasingSystem",
"procuringEntity": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000",
"email": "aa@aa.com"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"legalName": "Назва організації"
},
"kind": "defense",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1"
},
"name": "Державне управління справами"
},
"additionalClassifications": [
{
"scheme": "ДК003",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"classification": {
"scheme": "ДК021",
"description": "Mustard seeds",
"id": "03111600-8"
},
"title": "Узагальнена назва закупівлі",
"description": "Назва предмета закупівлі",
"qualificationPeriod": {
"endDate": "2023-03-02T00:00:00+02:00"
}
},
"config": {
"restrictedDerivatives": true
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333
{
"data": {
"status": "draft",
"title": "Узагальнена назва закупівлі",
"description": "Назва предмета закупівлі",
"qualificationPeriod": {
"endDate": "2023-03-02T00:00:00+02:00"
},
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДК003",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"frameworkType": "dynamicPurchasingSystem",
"procuringEntity": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"legalName": "Назва організації"
},
"address": {
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220"
},
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000",
"email": "aa@aa.com"
},
"kind": "defense"
},
"prettyID": "UA-F-2023-01-01-000001",
"owner": "broker",
"date": "2023-01-01T00:00:00+02:00",
"dateCreated": "2023-01-01T00:00:00+02:00",
"dateModified": "2023-01-01T00:00:00+02:00",
"id": "6f4f10deaaae4f8b9d117837474a9333"
},
"access": {
"token": "a2ff40fa3e7143baa0a0b38805036fe7",
"transfer": "0b5fce6b65e4463aa9ec39a7dea1aeb9"
},
"config": {
"restrictedDerivatives": true
}
}
This framework by itself is visible to everyone in public API.
Note
For ProcuringEntity with defense kind restricted_derivatives
field will be set to true
automatically.
The second step is moving the framework to active status:
PATCH /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333?acc_token=a2ff40fa3e7143baa0a0b38805036fe7 HTTP/1.0
Authorization: Bearer broker
Content-Length: 30
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"prettyID": "UA-F-2023-01-01-000001",
"title": "Узагальнена назва закупівлі",
"description": "Назва предмета закупівлі",
"status": "active",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДК003",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"owner": "broker",
"date": "2023-01-01T00:00:00+02:00",
"dateCreated": "2023-01-01T00:00:00+02:00",
"dateModified": "2023-01-01T00:00:00+02:00",
"qualificationPeriod": {
"endDate": "2023-03-02T00:00:00+02:00",
"startDate": "2023-01-01T00:00:00+02:00"
},
"frameworkType": "dynamicPurchasingSystem",
"procuringEntity": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"legalName": "Назва організації"
},
"address": {
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220"
},
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000",
"email": "aa@aa.com"
},
"kind": "defense"
},
"enquiryPeriod": {
"startDate": "2023-01-01T00:00:00+02:00",
"endDate": "2023-01-14T00:00:00+02:00",
"clarificationsUntil": "2023-01-19T00:00:00+02:00"
},
"period": {
"startDate": "2023-01-01T00:00:00+02:00",
"endDate": "2023-01-31T00:00:00+02:00"
},
"next_check": "2023-01-28T00:00:00+02:00",
"id": "6f4f10deaaae4f8b9d117837474a9333"
},
"config": {
"restrictedDerivatives": true
}
}
Enquiries
The participant has the opportunity to contact the administrator through the electronic procurement system regarding the review of the requirements for the participant, specified in the announcement of qualification for the electronic catalog within ten working days from the day of its publication.
During enquiry period, interested parties can ask questions:
POST /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions HTTP/1.0
Authorization: Bearer broker
Content-Length: 1525
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"description": "Просимо додати таблицю потрібної калорійності харчування",
"title": "Калорійність",
"author": {
"address": {
"countryName": "Україна",
"locality": "м. Львів",
"postalCode": "79013",
"region": "Львівська область",
"streetAddress": "вул. Островського, 34"
},
"contactPoint": {
"email": "aagt@gmail.com",
"name": "Андрій Олексюк",
"telephone": "+380322916930"
},
"identifier": {
"scheme": "UA-EDR",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"id": "00137226",
"uri": "http://www.sc.gov.ua/"
},
"name": "ДКП «Книга»"
}
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f
{
"data": {
"author": {
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
},
"title": "Калорійність",
"description": "Просимо додати таблицю потрібної калорійності харчування",
"id": "bfbf3b0718564cc1b1d4dab56c4d796f",
"date": "2023-01-01T00:00:00+02:00"
}
}
Procuring entity can answer them:
PATCH /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f?acc_token=a2ff40fa3e7143baa0a0b38805036fe7 HTTP/1.0
Authorization: Bearer broker
Content-Length: 141
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"answer": "Таблицю додано в файлі"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"id": "bfbf3b0718564cc1b1d4dab56c4d796f",
"author": {
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
},
"title": "Калорійність",
"description": "Просимо додати таблицю потрібної калорійності харчування",
"date": "2023-01-01T00:00:00+02:00",
"answer": "Таблицю додано в файлі",
"dateAnswered": "2023-01-01T00:00:00+02:00"
}
}
It is allowed to answer the question during the whole enquiryPeriod and between enquiryPeriod.endDate and enquiryPeriod.clarificationUntil. In case procuring entity is answering question after enquiryPeriod.clarificationUntil, the error will be raised:
PATCH /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f?acc_token=a2ff40fa3e7143baa0a0b38805036fe7 HTTP/1.0
Authorization: Bearer broker
Content-Length: 103
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"answer": "Таблицю додано"
}
}
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Allowed to update question only before enquiryPeriod.clarificationsUntil"
}
]
}
Only procuring entity has permission to answer the questions:
PATCH /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f HTTP/1.0
Authorization: Bearer broker
Content-Length: 141
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"answer": "Таблицю додано в файлі"
}
}
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "url",
"name": "permission",
"description": "Forbidden"
}
]
}
To retrieve the questions list:
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"id": "bfbf3b0718564cc1b1d4dab56c4d796f",
"author": {
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
},
"title": "Калорійність",
"description": "Просимо додати таблицю потрібної калорійності харчування",
"date": "2023-01-01T00:00:00+02:00",
"answer": "Таблицю додано в файлі",
"dateAnswered": "2023-01-01T00:00:00+02:00"
}
]
}
To retrieve the individual answer:
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"id": "bfbf3b0718564cc1b1d4dab56c4d796f",
"author": {
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
},
"title": "Калорійність",
"description": "Просимо додати таблицю потрібної калорійності харчування",
"date": "2023-01-01T00:00:00+02:00",
"answer": "Таблицю додано в файлі",
"dateAnswered": "2023-01-01T00:00:00+02:00"
}
}
The presence of a question does not block the transition of the qualification announcement to the next status.
The presence or absence of an answer to the question does not block the transition of the qualification announcement to the next status.
The period during which the participant can apply to the administrator through the electronic procurement system to review the requirements for the participant: the date of publication of the announcement + 10 working days.
It is forbidden to ask or answer question outside the enquiry period:
POST /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions HTTP/1.0
Authorization: Bearer broker
Content-Length: 1525
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"description": "Просимо додати таблицю потрібної калорійності харчування",
"title": "Калорійність",
"author": {
"address": {
"countryName": "Україна",
"locality": "м. Львів",
"postalCode": "79013",
"region": "Львівська область",
"streetAddress": "вул. Островського, 34"
},
"contactPoint": {
"email": "aagt@gmail.com",
"name": "Андрій Олексюк",
"telephone": "+380322916930"
},
"identifier": {
"scheme": "UA-EDR",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"id": "00137226",
"uri": "http://www.sc.gov.ua/"
},
"name": "ДКП «Книга»"
}
}
}
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Question can be add only during the enquiry period: from (2023-01-01T00:00:00+02:00) to (2023-01-14T00:00:00+02:00)."
}
]
}
Create and activate Submissions with restricted access
After activating framework, users can register their submissions in period from framework.period.startDate to framework.period.endDate.
Let’s register submission by Broker 1:
POST /api/2.5/submissions HTTP/1.0
Authorization: Bearer broker1
Content-Length: 1236
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"tenderers": [
{
"address": {
"countryName": "Україна",
"locality": "м. Вінниця",
"postalCode": "21100",
"region": "Вінницька область",
"streetAddress": "вул. Островського, 33"
},
"contactPoint": {
"email": "soleksuk@gmail.com",
"name": "Сергій Олексюк",
"telephone": "+380432216930"
},
"identifier": {
"scheme": "UA-EDR",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"id": "00137256",
"uri": "http://www.sc.gov.ua/"
},
"name": "ДКП «Школяр»",
"scale": "micro"
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333"
},
"config": {
"restricted": true
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351
{
"data": {
"tenderers": [
{
"name": "ДКП «Школяр»",
"scale": "micro",
"identifier": {
"scheme": "UA-EDR",
"id": "00137256",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 33",
"locality": "м. Вінниця",
"region": "Вінницька область",
"postalCode": "21100",
"countryName": "Україна"
},
"contactPoint": {
"name": "Сергій Олексюк",
"email": "soleksuk@gmail.com",
"telephone": "+380432216930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "draft",
"submissionType": "dynamicPurchasingSystem",
"owner": "broker1",
"date": "2023-01-20T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
"access": {
"token": "25410576c6124986aa4e5dc47fa262bc",
"transfer": "b031ac75f72541439c08e6cfbb74ff10"
},
"config": {
"restricted": true
}
}
You can see that restricted
field was set to true
in config
section of submission creation response.
Next activate submission by Broker 1:
PATCH /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351?acc_token=25410576c6124986aa4e5dc47fa262bc HTTP/1.0
Authorization: Bearer broker1
Content-Length: 30
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Школяр»",
"scale": "micro",
"identifier": {
"scheme": "UA-EDR",
"id": "00137256",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 33",
"locality": "м. Вінниця",
"region": "Вінницька область",
"postalCode": "21100",
"countryName": "Україна"
},
"contactPoint": {
"name": "Сергій Олексюк",
"email": "soleksuk@gmail.com",
"telephone": "+380432216930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker1",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "f72e3f40acc64e4085046733e60d7ebb",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
"config": {
"restricted": true
}
}
Add another Submission by Broker 2:
POST /api/2.5/submissions HTTP/1.0
Authorization: Bearer broker2
Content-Length: 1214
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"tenderers": [
{
"address": {
"countryName": "Україна",
"locality": "м. Львів",
"postalCode": "79013",
"region": "Львівська область",
"streetAddress": "вул. Островського, 34"
},
"contactPoint": {
"email": "aagt@gmail.com",
"name": "Андрій Олексюк",
"telephone": "+380322916930"
},
"identifier": {
"scheme": "UA-EDR",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"id": "00137226",
"uri": "http://www.sc.gov.ua/"
},
"name": "ДКП «Книга»",
"scale": "sme"
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333"
},
"config": {
"restricted": true
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe
{
"data": {
"tenderers": [
{
"name": "ДКП «Книга»",
"scale": "sme",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "draft",
"submissionType": "dynamicPurchasingSystem",
"owner": "broker2",
"date": "2023-01-20T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
},
"access": {
"token": "7547e10a63d2426a89db2abd0d195c7a",
"transfer": "01e8c57c0d744464a6bd17d497ec4c9c"
},
"config": {
"restricted": true
}
}
And activate it:
PATCH /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe?acc_token=7547e10a63d2426a89db2abd0d195c7a HTTP/1.0
Authorization: Bearer broker2
Content-Length: 30
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Книга»",
"scale": "sme",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker2",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "7f54f20afbae46de95952e02da039fd8",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
},
"config": {
"restricted": true
}
}
Request submissions with restricted access
Let’s check submissions by all participants:
Broker (Procuring Entity)
Let’s check submission feed for Broker that is Procuring Entity and has access to all submissions of framework:
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request by Broker for submission that was created by Broker 1:
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Школяр»",
"scale": "micro",
"identifier": {
"scheme": "UA-EDR",
"id": "00137256",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 33",
"locality": "м. Вінниця",
"region": "Вінницька область",
"postalCode": "21100",
"countryName": "Україна"
},
"contactPoint": {
"name": "Сергій Олексюк",
"email": "soleksuk@gmail.com",
"telephone": "+380432216930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker1",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "f72e3f40acc64e4085046733e60d7ebb",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
"config": {
"restricted": true
}
}
Then make request by Broker for submission that was created by Broker 2:
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Книга»",
"scale": "sme",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker2",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "7f54f20afbae46de95952e02da039fd8",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
},
"config": {
"restricted": true
}
}
Broker 1 (Supplier 1)
Let’s check submission feed for Broker 1 that is Supplier 1 and has access only to own submissions:
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
We can see that second submission is partially visible in feed and marked with restricted
field set to true
.
Now make request by Broker 1 for submission that was created by Broker 1:
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Школяр»",
"scale": "micro",
"identifier": {
"scheme": "UA-EDR",
"id": "00137256",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 33",
"locality": "м. Вінниця",
"region": "Вінницька область",
"postalCode": "21100",
"countryName": "Україна"
},
"contactPoint": {
"name": "Сергій Олексюк",
"email": "soleksuk@gmail.com",
"telephone": "+380432216930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker1",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "f72e3f40acc64e4085046733e60d7ebb",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
"config": {
"restricted": true
}
}
Then make request by Broker 1 for submission that was created by Broker 2:
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for submission object"
}
]
}
We can see error message that submission is restricted for Broker 1.
Broker 2 (Supplier 2)
Let’s check submission feed for Broker 2 that is Supplier 2 and has access only to own submissions:
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request by Broker 2 for submission that was created by Broker 1:
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for submission object"
}
]
}
Then make request by Broker 2 for submission that was created by Broker 2:
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"tenderers": [
{
"name": "ДКП «Книга»",
"scale": "sme",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
}
}
],
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker2",
"submissionType": "dynamicPurchasingSystem",
"datePublished": "2023-01-20T00:00:00+02:00",
"qualificationID": "7f54f20afbae46de95952e02da039fd8",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
},
"config": {
"restricted": true
}
}
Anonymous
Let’s check submission feed with anonymous request (or any broker that is not Broker or Broker 1):
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351",
"restricted": true
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request for submission that was created by Broker 1:
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for submission object"
}
]
}
Then make request for submission that was created by Broker 2:
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for submission object"
}
]
}
Request Qualifications with restricted access
Let’s check qualifications by all participants:
Broker (Procuring Entity)
Let’s check qualification feed for Broker that is Procuring Entity and has access to all qualifications of framework:
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "fd9a2e1f2e674531813756d4d0aaa351"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "e0fc16d4a32e49bbb327106221ee3afe"
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/submissions?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request by Broker for qualification of submission that was created by Broker 1:
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "fd9a2e1f2e674531813756d4d0aaa351",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"date": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "f72e3f40acc64e4085046733e60d7ebb"
},
"config": {
"restricted": true
}
}
Then make request by Broker for qualification of submission that was created by Broker 2:
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "e0fc16d4a32e49bbb327106221ee3afe",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"date": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "7f54f20afbae46de95952e02da039fd8"
},
"config": {
"restricted": true
}
}
Broker 1 (Supplier 1)
Let’s check qualification feed for Broker 1 that is Supplier 1 and has access only to qualifications of it own submissions:
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "f72e3f40acc64e4085046733e60d7ebb"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "7f54f20afbae46de95952e02da039fd8",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
We can see that second qualification is partially visible in feed and marked with restricted
field set to true
.
Now make request by Broker 1 for qualification of submission that was created by Broker 1:
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "fd9a2e1f2e674531813756d4d0aaa351",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"date": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "f72e3f40acc64e4085046733e60d7ebb"
},
"config": {
"restricted": true
}
}
Then make request by Broker 1 for qualification of submission that was created by Broker 2:
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for qualification object"
}
]
}
We can see error message that qualification is restricted for Broker 1.
Broker 2 (Supplier 2)
Let’s check qualification feed for Broker 2 that is Supplier 2 and has access only to qualifications of it own submissions:
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "f72e3f40acc64e4085046733e60d7ebb"
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "7f54f20afbae46de95952e02da039fd8",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request by Broker 2 for qualification of submission that was created by Broker 1:
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for qualification object"
}
]
}
Then make request by Broker 2 for qualification of submission that was created by Broker 2:
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "e0fc16d4a32e49bbb327106221ee3afe",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "pending",
"date": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "7f54f20afbae46de95952e02da039fd8"
},
"config": {
"restricted": true
}
}
Anonymous
Let’s check qualification feed with anonymous request (or any broker that is not Broker or Broker 1):
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "f72e3f40acc64e4085046733e60d7ebb",
"restricted": true
},
{
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "7f54f20afbae46de95952e02da039fd8",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/qualifications?opt_fields=frameworkID%2Cstatus&offset=1674165600.0"
}
}
Now make request for qualification of submission that was created by Broker 1:
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for qualification object"
}
]
}
Then make request for qualification of submission that was created by Broker 2:
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for qualification object"
}
]
}
Activate Qualifications with restricted access
Let’s activate all qualifications by Broker:
PATCH /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb?acc_token=a2ff40fa3e7143baa0a0b38805036fe7 HTTP/1.0
Authorization: Bearer broker
Content-Length: 30
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "fd9a2e1f2e674531813756d4d0aaa351",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"date": "2023-01-20T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"id": "f72e3f40acc64e4085046733e60d7ebb"
},
"config": {
"restricted": true
}
}
PATCH /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8?acc_token=a2ff40fa3e7143baa0a0b38805036fe7 HTTP/1.0
Authorization: Bearer broker
Content-Length: 30
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"submissionID": "e0fc16d4a32e49bbb327106221ee3afe",
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"status": "active",
"date": "2023-01-20T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"qualificationType": "dynamicPurchasingSystem",
"id": "7f54f20afbae46de95952e02da039fd8"
},
"config": {
"restricted": true
}
}
Let’s check current framework
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"prettyID": "UA-F-2023-01-01-000001",
"title": "Узагальнена назва закупівлі",
"description": "Назва предмета закупівлі",
"status": "active",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДК003",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"questions": [
{
"id": "bfbf3b0718564cc1b1d4dab56c4d796f",
"author": {
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
},
"title": "Калорійність",
"description": "Просимо додати таблицю потрібної калорійності харчування",
"date": "2023-01-01T00:00:00+02:00",
"answer": "Таблицю додано в файлі",
"dateAnswered": "2023-01-01T00:00:00+02:00"
}
],
"owner": "broker",
"date": "2023-01-01T00:00:00+02:00",
"dateCreated": "2023-01-01T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"period": {
"startDate": "2023-01-01T00:00:00+02:00",
"endDate": "2023-01-31T00:00:00+02:00"
},
"qualificationPeriod": {
"startDate": "2023-01-01T00:00:00+02:00",
"endDate": "2023-03-02T00:00:00+02:00"
},
"enquiryPeriod": {
"startDate": "2023-01-01T00:00:00+02:00",
"endDate": "2023-01-14T00:00:00+02:00",
"clarificationsUntil": "2023-01-19T00:00:00+02:00"
},
"next_check": "2023-01-28T00:00:00+02:00",
"frameworkType": "dynamicPurchasingSystem",
"procuringEntity": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"legalName": "Назва організації"
},
"address": {
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220"
},
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000",
"email": "aa@aa.com"
},
"kind": "defense"
},
"agreementID": "d99f25c41f374c55854ba197e2e4c560",
"id": "6f4f10deaaae4f8b9d117837474a9333"
},
"config": {
"restrictedDerivatives": true
}
}
You can see that agreementID appeared in current framework, so let’s check that agreement.
Request Agreement with restricted access
Let’s check agreement by all participants:
Broker (Procuring Entity)
Let’s check agreement feed for Broker that is Procuring Entity and has access to agreement of framework:
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"status": "active",
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "d99f25c41f374c55854ba197e2e4c560"
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/agreements?opt_fields=status&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=status&offset=1674165600.0"
}
}
Now make request by Broker for agreement:
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"agreementID": "UA-2023-01-20-000001",
"status": "active",
"period": {
"startDate": "2023-01-20T00:00:00+02:00",
"endDate": "2023-03-02T00:00:00+02:00"
},
"contracts": [
{
"id": "71db124af9ca43028e5ea65abbbfee2b",
"qualificationID": "f72e3f40acc64e4085046733e60d7ebb",
"status": "active",
"submissionID": "fd9a2e1f2e674531813756d4d0aaa351",
"suppliers": [
{
"name": "ДКП «Школяр»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137256",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр»",
"uri": "http://www.sc.gov.ua/"
},
"scale": "micro",
"contactPoint": {
"name": "Сергій Олексюк",
"email": "soleksuk@gmail.com",
"telephone": "+380432216930"
},
"address": {
"streetAddress": "вул. Островського, 33",
"locality": "м. Вінниця",
"region": "Вінницька область",
"postalCode": "21100",
"countryName": "Україна"
}
}
],
"milestones": [
{
"id": "96b66040100f4816bcb1ce812a3f2746",
"type": "activation",
"status": "scheduled",
"dueDate": "2023-03-02T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00"
}
],
"date": "2023-01-20T00:00:00+02:00"
},
{
"id": "17d17b140f1e4aedaf9e5378a40ce8ab",
"qualificationID": "7f54f20afbae46de95952e02da039fd8",
"status": "active",
"submissionID": "e0fc16d4a32e49bbb327106221ee3afe",
"suppliers": [
{
"name": "ДКП «Книга»",
"identifier": {
"scheme": "UA-EDR",
"id": "00137226",
"legalName": "Державне комунальне підприємство громадського харчування «Школяр 2»",
"uri": "http://www.sc.gov.ua/"
},
"scale": "sme",
"contactPoint": {
"name": "Андрій Олексюк",
"email": "aagt@gmail.com",
"telephone": "+380322916930"
},
"address": {
"streetAddress": "вул. Островського, 34",
"locality": "м. Львів",
"region": "Львівська область",
"postalCode": "79013",
"countryName": "Україна"
}
}
],
"milestones": [
{
"id": "aed449f019bd4f828af68cec547119fe",
"type": "activation",
"status": "scheduled",
"dueDate": "2023-03-02T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00"
}
],
"date": "2023-01-20T00:00:00+02:00"
}
],
"dateCreated": "2023-01-20T00:00:00+02:00",
"dateModified": "2023-01-20T00:00:00+02:00",
"date": "2023-01-20T00:00:00+02:00",
"owner": "broker",
"agreementType": "dynamicPurchasingSystem",
"procuringEntity": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"legalName": "Назва організації"
},
"address": {
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220"
},
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000",
"email": "aa@aa.com"
},
"kind": "defense"
},
"frameworkID": "6f4f10deaaae4f8b9d117837474a9333",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДК003",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"next_check": "2023-03-02T00:00:00+02:00",
"id": "d99f25c41f374c55854ba197e2e4c560"
},
"config": {
"restricted": true
}
}
Broker 1 (Supplier 1)
Let’s check agreement feed for Broker 1:
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "d99f25c41f374c55854ba197e2e4c560",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/agreements?opt_fields=status&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=status&offset=1674165600.0"
}
}
Now make request by Broker 1 for agreement:
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for agreement object"
}
]
}
Broker 2 (Supplier 2)
Let’s check agreement feed for Broker 2:
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "d99f25c41f374c55854ba197e2e4c560",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/agreements?opt_fields=status&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=status&offset=1674165600.0"
}
}
Now make request by Broker 2 for agreement:
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for agreement object"
}
]
}
Anonymous
Let’s check agreement feed with anonymous request (or any broker that is not Broker or Broker 1):
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": [
{
"dateModified": "2023-01-20T00:00:00+02:00",
"id": "d99f25c41f374c55854ba197e2e4c560",
"restricted": true
}
],
"next_page": {
"offset": 1674165600.0,
"path": "/api/2.5/agreements?opt_fields=status&offset=1674165600.0",
"uri": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/agreements?opt_fields=status&offset=1674165600.0"
}
}
Now make request for agreement:
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for agreement object"
}
]
}