Приклад для плану закупівлі
Зміна власника плану закупівлі
Переглянемо приклад зміни власника для плану.
Створення плану закупівлі
Спочатку створимо план закупівлі:
Request
POST /api/2.5/plans?opt_pretty=1 HTTP/1.0
Authorization: Bearer brokerx
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"rationale": {
"description": "Недостатньо змістовне обгрунтування"
},
"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"
},
"deliveryAddress": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова 1"
},
"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"
},
"deliveryAddress": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова 1"
},
"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"
},
"deliveryAddress": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова 1"
},
"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": "2000",
"description": "Поточні видатки"
}
],
"procuringEntity": {
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"name": "ДУС",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"telephone": "+380950000000",
"email": "example@email.com",
"iban": "111111111111111",
"authorizedBy": "Статут компанії",
"position": "Генеральний директор"
}
},
"buyers": [
{
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"name": "ДУС",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"locality": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"telephone": "+380950000000",
"email": "example@email.com",
"iban": "111111111111111",
"authorizedBy": "Статут компанії",
"position": "Генеральний директор"
}
}
],
"budget": {
"project": {
"name": "proj_name",
"id": "123"
},
"amount": 10000,
"amountNet": 12222,
"currency": "UAH",
"id": "12303111000-2",
"description": "budget_description",
"period": {
"startDate": "2023-01-01T00:00:00",
"endDate": "2023-12-31T00:00:00"
},
"breakdown": [
{
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500,
"currency": "UAH"
}
}
]
},
"project": {
"title": "DREAMs come true",
"uri": "https://dream.gov.ua/ua/project/DREAM-UA-030524-EE48E08C/profile"
}
}
}
Response
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": "052f948ae08e4180a51ad3fa2dd3c133",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
},
"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": "2023-01-01T00:00:00+02:00",
"endDate": "2023-12-31T00:00:00+02:00"
},
"breakdown": [
{
"id": "90b65573cfc84791abede2218887339c",
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500.0,
"currency": "UAH"
}
}
]
},
"classification": {
"description": "Seeds",
"scheme": "ДК021",
"id": "03111000-2"
},
"additionalClassifications": [
{
"scheme": "КЕКВ",
"id": "2000",
"description": "Поточні видатки"
}
],
"items": [
{
"id": "e2416b1f782a44ce9e8541ded14967eb",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.92",
"description": "Насіння гірчиці"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 1000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння гірчиці"
},
{
"id": "90a7464a77b34e0dba168a75ab12b8cd",
"classification": {
"description": "Sunflower seeds",
"scheme": "ДК021",
"id": "03111300-5"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.95",
"description": "Насіння соняшнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 2000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння соняшнику"
},
{
"id": "52e51cefc0ba4acd9a63f574f35625dd",
"classification": {
"description": "Cotton seeds",
"scheme": "ДК021",
"id": "03111400-6"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.84",
"description": "Насіння бавовнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 3000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння бавовнику"
}
],
"buyers": [
{
"id": "cba2865389f24652833d7c8f03619448",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
}
],
"rationale": {
"description": "Недостатньо змістовне обгрунтування",
"date": "2023-10-10T01:00:00+03:00"
},
"project": {
"title": "DREAMs come true",
"uri": "https://dream.gov.ua/ua/project/DREAM-UA-030524-EE48E08C/profile"
},
"planID": "UA-P-2023-10-10-000001-a",
"owner": "brokerx",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateCreated": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00",
"id": "7c7db9c9432746d19f41cd2b04bc65a5"
},
"access": {
"token": "4fce6f670b9247b2a5ae29ff970195cd",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
Майданчик broker є поточним власником owner плану закупівлі.
Зверніть увагу, що секція відповіді access містить ключ transfer, який використовується для зміни власника плану закупівлі.
Після реєстрація плану закупівлі в ЦБД майданчик повинен довести ключ transfer до відома клієнта.
Ініціація зміни власника
Майданчик, що стане новим власником плану закупівлі, повинен створити об’єкт Transfer.
Request
POST /api/2.5/transfers HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {}
}
Response
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:
Request
GET /api/2.5/transfers/845293b7f3c2411e9ecbc6ba4a0cf557 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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 отриманий від клієнта:
Request
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"
}
}
Response
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"owner": "broker1",
"id": "7c7db9c9432746d19f41cd2b04bc65a5"
}
}
Оновлене значення властивості owner вказує, що власник був успішно змінений.
Зверніть увагу, що новий майданчик повинен довести до відома клієнта новий ключ transfer (згенерований в об’єкті Transfer).
Після того, як об’єкт Transfer було застосовано, для нього генерується властивість usedFor (вказується шлях до об’єкта, власника якого було змінено):
Request
GET /api/2.5/transfers/845293b7f3c2411e9ecbc6ba4a0cf557 HTTP/1.0
Authorization: Bearer broker1
Host: public-api-sandbox.prozorro.gov.ua
Response
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.
Request
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": "2023-01-01T00:00:00",
"endDate": "2023-12-31T00:00:00"
},
"breakdown": [
{
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500,
"currency": "UAH"
}
}
]
}
}
}
Response
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"status": "scheduled",
"procuringEntity": {
"id": "052f948ae08e4180a51ad3fa2dd3c133",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
},
"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": "2023-01-01T00:00:00+02:00",
"endDate": "2023-12-31T00:00:00+02:00"
},
"breakdown": [
{
"id": "1d6a31660b38450483f11dd643327495",
"title": "other",
"description": "Breakdown other description.",
"value": {
"amount": 1500.0,
"currency": "UAH"
}
}
]
},
"classification": {
"description": "Seeds",
"scheme": "ДК021",
"id": "03111000-2"
},
"additionalClassifications": [
{
"scheme": "КЕКВ",
"id": "2000",
"description": "Поточні видатки"
}
],
"planID": "UA-P-2023-10-10-000001-a",
"items": [
{
"id": "e2416b1f782a44ce9e8541ded14967eb",
"classification": {
"description": "Mustard seeds",
"scheme": "ДК021",
"id": "03111600-8"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.92",
"description": "Насіння гірчиці"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 1000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння гірчиці"
},
{
"id": "90a7464a77b34e0dba168a75ab12b8cd",
"classification": {
"description": "Sunflower seeds",
"scheme": "ДК021",
"id": "03111300-5"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.95",
"description": "Насіння соняшнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 2000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння соняшнику"
},
{
"id": "52e51cefc0ba4acd9a63f574f35625dd",
"classification": {
"description": "Cotton seeds",
"scheme": "ДК021",
"id": "03111400-6"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "01.11.84",
"description": "Насіння бавовнику"
}
],
"unit": {
"name": "кг",
"code": "KGM"
},
"quantity": 3000.0,
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"description": "Насіння бавовнику"
}
],
"buyers": [
{
"id": "cba2865389f24652833d7c8f03619448",
"name": "ДУС",
"identifier": {
"scheme": "UA-EDR",
"id": "111983",
"legalName": "ДП Державне Управління Справами"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"kind": "general",
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
}
],
"rationale": {
"description": "Недостатньо змістовне обгрунтування",
"date": "2023-10-10T01:00:00+03:00"
},
"project": {
"title": "DREAMs come true",
"uri": "https://dream.gov.ua/ua/project/DREAM-UA-030524-EE48E08C/profile"
},
"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"
}
}
Зверніть увагу, що тільки майданчик з відповідним рівнем акредитації може стати новим власником. В іншому випадку майданчику така дія буде заборонена.
Request
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"
}
}
Response
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"
}
]
}
Зміна власника дозволена тільки якщо поточний власник тендера має спеціальний рівень акредетації, що дозволяє зміну:
Request
POST /api/2.5/plans/7c7db9c9432746d19f41cd2b04bc65a5/ownership HTTP/1.0
Authorization: Bearer brokerx
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"id": "7b46b5e1fc2847f895eeb0f4fc010673",
"transfer": "8922ed835f03478a82a84df60c4eea7e"
}
}
Response
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"
}
]
}