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.
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
}
}
Response
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:
Request
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"
}
}
Response
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:
Request
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": "ДКП «Книга»"
}
}
}
Response
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:
Request
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": "Таблицю додано в файлі"
}
}
Response
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:
Request
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": "Таблицю додано"
}
}
Response
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:
Request
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": "Таблицю додано в файлі"
}
}
Response
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "url",
"name": "permission",
"description": "Forbidden"
}
]
}
To retrieve the questions list:
Request
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333/questions/bfbf3b0718564cc1b1d4dab56c4d796f HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
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": "ДКП «Книга»"
}
}
}
Response
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:
Request
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
}
}
Response
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:
Request
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"
}
}
Response
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:
Request
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
}
}
Response
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:
Request
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"
}
}
Response
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:
Request
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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):
Request
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/fd9a2e1f2e674531813756d4d0aaa351 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions/e0fc16d4a32e49bbb327106221ee3afe HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/submissions?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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):
Request
GET /api/2.5/qualifications?opt_fields=frameworkID,status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/f72e3f40acc64e4085046733e60d7ebb HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/qualifications/7f54f20afbae46de95952e02da039fd8 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
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"
}
}
Response
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
}
}
Request
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"
}
}
Response
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
Request
GET /api/2.5/frameworks/6f4f10deaaae4f8b9d117837474a9333 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Authorization: Bearer broker2
Host: public-api-sandbox.prozorro.gov.ua
Response
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):
Request
GET /api/2.5/agreements?opt_fields=status HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
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:
Request
GET /api/2.5/agreements/d99f25c41f374c55854ba197e2e4c560 HTTP/1.0
Host: public-api-sandbox.prozorro.gov.ua
Response
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "body",
"name": "data",
"description": "Access restricted for agreement object"
}
]
}