Приклад для плану закупівлі
Зміна власника плану закупівлі
Переглянемо приклад зміни власника для плану.
Створення плану закупівлі
Спочатку створимо план закупівлі:
POST /api/2.5/plans?opt_pretty=1 HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"tender": {
"procurementMethod": "open",
"procurementMethodType": "belowThreshold",
"tenderPeriod": {
"startDate": "2023-10-17T01:00:00+03:00"
}
},
"items": [
{
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.92",
"description": "Насіння гірчиці"
}
],
"unit": {
"code": "KGM",
"name": "кг"
},
"classification": {
"scheme": "ДК021",
"description": "Mustard seeds",
"id": "03111600-8"
},
"quantity": 1000,
"description": "Насіння гірчиці"
},
{
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.95",
"description": "Насіння соняшнику"
}
],
"unit": {
"code": "KGM",
"name": "кг"
},
"classification": {
"scheme": "ДК021",
"description": "Sunflower seeds",
"id": "03111300-5"
},
"quantity": 2000,
"description": "Насіння соняшнику"
},
{
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.84",
"description": "Насіння бавовнику"
}
],
"unit": {
"code": "KGM",
"name": "кг"
},
"classification": {
"scheme": "ДК021",
"description": "Cotton seeds",
"id": "03111400-6"
},
"quantity": 3000,
"description": "Насіння бавовнику"
}
],
"classification": {
"scheme": "ДК021",
"description": "Seeds",
"id": "03111000-2"
},
"additionalClassifications": [
{
"scheme": "КЕКВ",
"id": "1",
"description": "-"
}
],
"procuringEntity": {
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"name": "ДУС",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1"
},
"kind": "general"
},
"buyers": [
{
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"name": "ДУС",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1"
},
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000"
},
"kind": "general"
}
],
"budget": {
"project": {
"name": "proj_name",
"id": "123"
},
"amount": 10000,
"amountNet": 12222,
"currency": "UAH",
"id": "12303111000-2",
"description": "budget_description",
"period": {
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-12-31T00:00:00"
},
"breakdown": [
{
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500,
"currency": "UAH"
}
}
]
}
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5
{
"data": {
"status": "scheduled",
"procuringEntity": {
"id": "348cb0420d074d0fa9c46e626ebc8e76",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general"
},
"tender": {
"procurementMethod": "open",
"procurementMethodType": "belowThreshold",
"tenderPeriod": {
"startDate": "2023-10-17T01:00:00+03:00"
}
},
"budget": {
"id": "12303111000-2",
"description": "budget_description",
"amount": 10000.0,
"currency": "UAH",
"amountNet": 12222.0,
"project": {
"id": "123",
"name": "proj_name"
},
"period": {
"startDate": "2024-01-01T00:00:00+02:00",
"endDate": "2024-12-31T00:00:00+02:00"
},
"breakdown": [
{
"id": "880d4e1ef7d84cd0be15ba5678c6306d",
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500.0,
"currency": "UAH"
}
}
]
},
"classification": {
"description": "Seeds",
"scheme": "ДК021",
"id": "03111000-2"
},
"additionalClassifications": [
{
"scheme": "КЕКВ",
"id": "1",
"description": "-"
}
],
"items": [
{
"id": "1cacdbcc3bb7446aab11f090bc5b971b",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.92",
"description": "Насіння гірчиці"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 1000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння гірчиці"
},
{
"id": "3aaa9e8a6a3e4d618bc8e8af0a406b45",
"classification": {
"description": "Sunflower seeds",
"scheme": "ДК021",
"id": "03111300-5"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.95",
"description": "Насіння соняшнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 2000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння соняшнику"
},
{
"id": "8ae59717ad824e6ba1988907e91c554c",
"classification": {
"description": "Cotton seeds",
"scheme": "ДК021",
"id": "03111400-6"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.84",
"description": "Насіння бавовнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 3000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння бавовнику"
}
],
"buyers": [
{
"id": "b70ea6f297d64c4a96a32ec1636b3eca",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000"
}
}
],
"planID": "UA-P-2023-10-10-000001-a",
"owner": "broker",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00",
"dateCreated": "2023-10-10T01:00:00+03:00",
"id": "7c7db9c9432746d19f41cd2b04bc65a5"
},
"access": {
"token": "4fce6f670b9247b2a5ae29ff970195cd",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
Майданчик broker є поточним власником owner
плану закупівлі.
Зверніть увагу, що секція відповіді access містить ключ transfer
, який використовується для зміни власника плану закупівлі.
Після реєстрація плану закупівлі в ЦБД майданчик повинен довести ключ transfer
до відома клієнта.
Ініціація зміни власника
Майданчик, що стане новим власником плану закупівлі, повинен створити об’єкт Transfer.
POST /api/2.5/transfers HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {}
}
HTTP/1.0 201 Created
Content-Type: application/json
{
"data": {
"date": "2023-10-10T01:00:00+03:00",
"id": "845293b7f3c2411e9ecbc6ba4a0cf557"
},
"access": {
"token": "dede6d098bfa4709a7bee0b08479d68b",
"transfer": "cc8b9847eee44a49ae3ddb50ac670093"
}
}
Об’єкт Transfer містить новий ключ доступу token
та новий ключ transfer
для об’єкта, власник якого буде змінений.
Об’єкт Transfer можна переглянути за допомогою ідентифікатора id:
GET /api/2.5/transfers/845293b7f3c2411e9ecbc6ba4a0cf557 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"date": "2023-10-10T01:00:00+03:00",
"id": "845293b7f3c2411e9ecbc6ba4a0cf557"
}
}
Зміна власника плану закупівлі
Можливість зміни власника плану закупівлі залежить від статусу плану закупівлі:
Дозволено |
Не дозволено |
scheduled |
draft cancelled complete |
Щоб змінити власника плану закупівлі новий майданчик повинен надіслати POST запит на відповідний /plans/id/ з секцією data, що міститиме ідентифікатор id
для Transfer та ключ transfer
отриманий від клієнта:
POST /api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5/ownership HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"id": "845293b7f3c2411e9ecbc6ba4a0cf557",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"owner": "broker1",
"id": "7c7db9c9432746d19f41cd2b04bc65a5"
}
}
Оновлене значення властивості owner
вказує, що власник був успішно змінений.
Зверніть увагу, що новий майданчик повинен довести до відома клієнта новий ключ transfer
(згенерований в об’єкті Transfer).
Після того, як об’єкт Transfer було застосовано, для нього генерується властивість usedFor
(вказується шлях до об’єкта, власника якого було змінено):
GET /api/2.5/transfers/845293b7f3c2411e9ecbc6ba4a0cf557 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"date": "2023-10-10T01:00:00+03:00",
"usedFor": "/plans/7c7db9c9432746d19f41cd2b04bc65a5",
"id": "845293b7f3c2411e9ecbc6ba4a0cf557"
}
}
„Використаний“ об’єкт Transfer вже не можна застосувати до іншого об’єкта.
Спробуємо змінити план закупівлі за допомогою ключа token
, отриманого при створенні об’єкта Transfer.
PATCH /api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5?acc_token=dede6d098bfa4709a7bee0b08479d68b HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"budget": {
"project": {
"name": "proj_name",
"id": "123"
},
"amount": 10000,
"amountNet": 12222,
"currency": "UAH",
"id": "12303111000-2",
"description": "broker1 now can change the plan",
"period": {
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-12-31T00:00:00"
},
"breakdown": [
{
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500,
"currency": "UAH"
}
}
]
}
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"status": "scheduled",
"procuringEntity": {
"id": "348cb0420d074d0fa9c46e626ebc8e76",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general"
},
"tender": {
"procurementMethod": "open",
"procurementMethodType": "belowThreshold",
"tenderPeriod": {
"startDate": "2023-10-17T01:00:00+03:00"
}
},
"budget": {
"id": "12303111000-2",
"description": "broker1 now can change the plan",
"amount": 10000.0,
"currency": "UAH",
"amountNet": 12222.0,
"project": {
"id": "123",
"name": "proj_name"
},
"period": {
"startDate": "2024-01-01T00:00:00+02:00",
"endDate": "2024-12-31T00:00:00+02:00"
},
"breakdown": [
{
"id": "e5e65888451d4f8587e90a3af0098f5d",
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500.0,
"currency": "UAH"
}
}
]
},
"classification": {
"description": "Seeds",
"scheme": "ДК021",
"id": "03111000-2"
},
"additionalClassifications": [
{
"scheme": "КЕКВ",
"id": "1",
"description": "-"
}
],
"planID": "UA-P-2023-10-10-000001-a",
"items": [
{
"id": "1cacdbcc3bb7446aab11f090bc5b971b",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.92",
"description": "Насіння гірчиці"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 1000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння гірчиці"
},
{
"id": "3aaa9e8a6a3e4d618bc8e8af0a406b45",
"classification": {
"description": "Sunflower seeds",
"scheme": "ДК021",
"id": "03111300-5"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.95",
"description": "Насіння соняшнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 2000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння соняшнику"
},
{
"id": "8ae59717ad824e6ba1988907e91c554c",
"classification": {
"description": "Cotton seeds",
"scheme": "ДК021",
"id": "03111400-6"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.84",
"description": "Насіння бавовнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 3000.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння бавовнику"
}
],
"buyers": [
{
"id": "b70ea6f297d64c4a96a32ec1636b3eca",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"contactPoint": {
"name": "Державне управління справами",
"telephone": "+0440000000"
}
}
],
"owner": "broker1",
"dateCreated": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00",
"datePublished": "2023-10-10T01:00:00+03:00",
"id": "7c7db9c9432746d19f41cd2b04bc65a5"
}
}
Зверніть увагу, що тільки майданчик з відповідним рівнем акредитації може стати новим власником. В іншому випадку майданчику така дія буде заборонена.
POST /api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5/ownership HTTP/1.0
Authorization: Bearer broker2
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"id": "3a5c56c87da24e6f8d1622d9c0655bfa",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "url",
"name": "accreditation",
"description": "Broker Accreditation level does not permit ownership change"
}
]
}
Зміна власника дозволена тільки якщо поточний власник тендера має спеціальний рівень акредетації, що дозволяє зміну:
POST /api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5/ownership HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"id": "7b46b5e1fc2847f895eeb0f4fc010673",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
HTTP/1.0 403 Forbidden
Content-Type: application/json
{
"status": "error",
"errors": [
{
"location": "url",
"name": "accreditation",
"description": "Owner Accreditation level does not permit ownership change"
}
]
}