Зміни у елктронний котнратк
Цей розділ описує новий принцип внесення змін до активного договору.
Договір
Давайте уявим, що ми вже маємо активний договір з усією потрібною інформацією:
GET /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"awardID": "c220713cbd024586b6382ef97a852dc7",
"contractID": "UA-2023-10-10-000001-a-1",
"period": {
"startDate": "2023-10-10T01:00:00+03:00",
"endDate": "2024-10-09T01:00:00+03:00"
},
"dateSigned": "2023-10-10T01:00:00+03:00",
"date": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00",
"dateCreated": "2023-10-10T01:00:00+03:00",
"tender_id": "26fe592e6eb4454fb91865f39117fe4b",
"owner": "broker",
"documents": [
{
"id": "0042d18dfb254f4a8a0c166f1e980196",
"hash": "md5:00000000000000000000000000000000",
"title": "contract_first_document.doc",
"format": "application/msword",
"url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/0042d18dfb254f4a8a0c166f1e980196?download=d351f09369034d459a5cd87583381c73",
"documentOf": "contract",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
},
{
"id": "9202cd64da8f42a5942c68dc14bf534a",
"hash": "md5:00000000000000000000000000000000",
"title": "contract_second_document.doc",
"format": "application/msword",
"url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/9202cd64da8f42a5942c68dc14bf534a?download=1ea9c5fa82c84b2a8206318bc86360df",
"documentOf": "contract",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
}
],
"status": "active",
"buyer": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "234234234234234",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
},
"suppliers": [
{
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
}
],
"items": [
{
"id": "d7ba05ad129d4380b139d363df055ec0",
"description": "Комп’ютерне обладнання",
"quantity": 5.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"classification": {
"description": "Комп’ютерне обладнанн",
"scheme": "ДК021",
"id": "30230000-0"
},
"additionalClassifications": [
{
"scheme": "INN",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"unit": {
"name": "штук",
"value": {
"amount": 12.0,
"currency": "UAH",
"valueAddedTaxIncluded": true
},
"code": "H87"
}
},
{
"id": "98b99c56dacf48728e1a069205bdf6c2",
"description": "Комп’ютерне обладнання",
"quantity": 5.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"classification": {
"description": "Комп’ютерне обладнанн",
"scheme": "ДК021",
"id": "30230000-0"
},
"additionalClassifications": [
{
"scheme": "INN",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"unit": {
"name": "штук",
"value": {
"amount": 6.0,
"currency": "UAH",
"valueAddedTaxIncluded": true
},
"code": "H87"
}
}
],
"value": {
"amount": 238.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 230.0
},
"bid_owner": "broker",
"id": "eb4343b446004f47aa2ec7f6e542f196"
}
}
Подання зміни
Зміни до активного контракту можуть подавати як замовник так і постачальник.
При створені зміни потрібно вказати три обовʼязкових поля(в старій поведінці лише два: rationale, rationaleTypes):
- rationale
строка, причина змін
- rationaleTypes
список, типи змін
- modifications
обʼєкт, поля які потрібно змінити в котракті
modifications це нова структура, яка відображає які поля користувач хоче змінити в договорі, ці поля такого ж самого типу, що і аналогічні поля в контракті:
- title
строка
- description
строка
- buyer
- suppliers
Список EContractOrganization обʼєктів
- items
Список Item обʼєктів
- value
ContractValue обʼєкт
Після розʼяснення нової структури, давайте створимо зміну:
POST /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/changes?acc_token=1981a3b3a85d4159aabe55f5be082fd5 HTTP/1.0
Authorization: Bearer broker
Content-Length: 267
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"rationale": "Опис причини змін контракту",
"rationale_en": "Contract change cause",
"rationaleTypes": [
"volumeCuts",
"priceReduction"
],
"modifications": {
"value": {
"amount": 230.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 223.0
}
}
}
}
HTTP/1.0 201 Created
Content-Type: application/json
{
"data": {
"rationale": "Опис причини змін контракту",
"rationale_en": "Contract change cause",
"rationaleTypes": [
"volumeCuts",
"priceReduction"
],
"modifications": {
"value": {
"amount": 230.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 223.0
}
}
"id": "b9887678ba3c448b977467c0fe3ada31",
"status": "pending",
"date": "2023-10-10T01:00:00+03:00"
}
}
Активація зміни
По минулій логіці, для активації контракту потрібно було вказати лише dateSigned, за новими для активації змін замовнику та постачальнику потрібно додати документи підпису з розширенням .p7s і з типом документу contractChangeSignature до обʼєкту зміни.
Замовник завантажує документ:
POST /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents?acc_token=1981a3b3a85d4159aabe55f5be082fd5 HTTP/1.0
Authorization: Bearer broker
Content-Length: 333
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"documentType": "contractChangeSignature",
"title": "buyer_sign.p7s",
"url": "http://public-docs-sandbox.prozorro.gov.ua/get/34862599de094db7a8c9c37996ea4847?Signature=mFBbg4SYLP%2BQk4Cn6xwFtFp2XKpLLLIQmIqKvBsiciOF6nuiH7Gw9Wmk0IsPpNVvMLNn21PDO0c5XMfjxxX5Dw%3D%3D&KeyID=a8968c46",
"hash": "md5:00000000000000000000000000000000",
"format": "application/pkcs7-signature"
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/32ec55c6c6144f7a8fceea1ed68a5290
{
"data": {
"documentType": "contractChangeSignature",
"hash": "md5:00000000000000000000000000000000",
"title": "buyer_sign.p7s",
"format": "application/pkcs7-signature",
"url": "http://public-docs-sandbox.prozorro.gov.ua/get/34862599de094db7a8c9c37996ea4847?Signature=cG1JU%2F1r%2B2jlQbXxJsq3HCYzzTi9mderkkqPwomMk34J6oAJ%2B7GRNC3kUgPO3zskbNjKkMkhiaJY2PmkUlOkBA%3D%3D&KeyID=a8968c46",
"documentOf": "contract",
"id": "32ec55c6c6144f7a8fceea1ed68a5290",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
}
}
Постачальник завантажує документ:
POST /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents?acc_token=1981a3b3a85d4159aabe55f5be082fd5 HTTP/1.0
Authorization: Bearer broker
Content-Length: 333
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"documentType": "contractChangeSignature",
"title": "supplier_sign.p7s",
"url": "http://public-docs-sandbox.prozorro.gov.ua/get/34862599de094db7a8c9c37996ea4847?Signature=mFBbg4SYLP%2BQk4Cn6xwFtFp2XKpLLLIQmIqKvBsiciOF6nuiH7Gw9Wmk0IsPpNVvMLNn21PDO0c5XMfjxxX5Dw%3D%3D&KeyID=a8968c46",
"hash": "md5:00000000000000000000000000000000",
"format": "application/pkcs7-signature"
}
}
HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/32ec55c6c6144f7a8fceea1ed68a5290
{
"data": {
"documentType": "contractChangeSignature",
"hash": "md5:00000000000000000000000000000000",
"title": "supplier_sign.p7s",
"format": "application/pkcs7-signature",
"url": "http://public-docs-sandbox.prozorro.gov.ua/get/34862599de094db7a8c9c37996ea4847?Signature=cG1JU%2F1r%2B2jlQbXxJsq3HCYzzTi9mderkkqPwomMk34J6oAJ%2B7GRNC3kUgPO3zskbNjKkMkhiaJY2PmkUlOkBA%3D%3D&KeyID=a8968c46",
"documentOf": "contract",
"id": "32ec55c6c6144f7a8fceea1ed68a5290",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
}
}
Після завантаження документів підпису зʼявляється можливість активації зміни:
PATCH /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/changes/b9887678ba3c448b977467c0fe3ada31?acc_token=1981a3b3a85d4159aabe55f5be082fd5 HTTP/1.0
Authorization: Bearer broker
Content-Length: 73
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
{
"data": {
"status": "active",
"dateSigned": "2023-10-10T01:00:00+03:00"
}
}
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"rationale": "Друга і третя поставка має бути розфасована",
"rationale_en": "Contract change cause",
"rationaleTypes": [
"volumeCuts",
"priceReduction"
],
"modifications": {
"value": {
"amount": 230.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 223.0
}
},
"previousValues": {
"value": {
"amount": 238.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 230.0
}
}
"dateSigned": "2023-10-10T01:00:00+03:00",
"id": "b9887678ba3c448b977467c0fe3ada31",
"status": "active",
"date": "2023-10-10T01:00:00+03:00"
}
}
Після активації в зміні зʼявиться нове поле previousValues, яке містить інформацію про минулі значення змінених полів в договорі.
Такого після активації зміни, значення вказаних полів в modifications застосовуються до контракут:
GET /api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua
HTTP/1.0 200 OK
Content-Type: application/json
{
"data": {
"awardID": "c220713cbd024586b6382ef97a852dc7",
"contractID": "UA-2023-10-10-000001-a-1",
"period": {
"startDate": "2023-10-10T01:00:00+03:00",
"endDate": "2024-10-09T01:00:00+03:00"
},
"dateSigned": "2023-10-10T01:00:00+03:00",
"date": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00",
"dateCreated": "2023-10-10T01:00:00+03:00",
"tender_id": "26fe592e6eb4454fb91865f39117fe4b",
"owner": "broker",
"documents": [
{
"id": "0042d18dfb254f4a8a0c166f1e980196",
"hash": "md5:00000000000000000000000000000000",
"title": "contract_first_document.doc",
"format": "application/msword",
"url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/0042d18dfb254f4a8a0c166f1e980196?download=d351f09369034d459a5cd87583381c73",
"documentOf": "contract",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
},
{
"id": "9202cd64da8f42a5942c68dc14bf534a",
"hash": "md5:00000000000000000000000000000000",
"title": "contract_second_document.doc",
"format": "application/msword",
"url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/eb4343b446004f47aa2ec7f6e542f196/documents/9202cd64da8f42a5942c68dc14bf534a?download=1ea9c5fa82c84b2a8206318bc86360df",
"documentOf": "contract",
"datePublished": "2023-10-10T01:00:00+03:00",
"dateModified": "2023-10-10T01:00:00+03:00"
}
],
"status": "active",
"buyer": {
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "234234234234234",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
},
"suppliers": [
{
"name": "Державне управління справами",
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"address": {
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "01220",
"countryName": "Україна"
},
"signerInfo": {
"name": "Test Testovich",
"email": "example@email.com",
"telephone": "+380950000000",
"iban": "111111111111111",
"position": "Генеральний директор",
"authorizedBy": "Статут компанії"
}
}
],
"items": [
{
"id": "d7ba05ad129d4380b139d363df055ec0",
"description": "Комп’ютерне обладнання",
"quantity": 5.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"classification": {
"description": "Комп’ютерне обладнанн",
"scheme": "ДК021",
"id": "30230000-0"
},
"additionalClassifications": [
{
"scheme": "INN",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"unit": {
"name": "штук",
"value": {
"amount": 12.0,
"currency": "UAH",
"valueAddedTaxIncluded": true
},
"code": "H87"
}
},
{
"id": "98b99c56dacf48728e1a069205bdf6c2",
"description": "Комп’ютерне обладнання",
"quantity": 5.0,
"deliveryDate": {
"startDate": "2023-10-12T01:00:00+03:00",
"endDate": "2023-10-15T01:00:00+03:00"
},
"classification": {
"description": "Комп’ютерне обладнанн",
"scheme": "ДК021",
"id": "30230000-0"
},
"additionalClassifications": [
{
"scheme": "INN",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"deliveryAddress": {
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ",
"region": "м. Київ",
"postalCode": "79000",
"countryName": "Україна"
},
"unit": {
"name": "штук",
"value": {
"amount": 6.0,
"currency": "UAH",
"valueAddedTaxIncluded": true
},
"code": "H87"
}
}
],
"value": {
"amount": 230.0,
"currency": "UAH",
"valueAddedTaxIncluded": true,
"amountNet": 223.0
},
"id": "eb4343b446004f47aa2ec7f6e542f196"
}
}
Висновок
Зміну можуть подати як замовник так і постачальник.
Будуть додані два поля до обʼєкту Change: modifications - зміни які будуть застосовані до контракту там previousValues - автогенеруєме поле для зберігання історії змін.
Для активації обʼєкту Change замовник і постачальник повинні підписати зміни шляхом подання документів підпису до зміни.
Після активації обʼєкту Change всі поля вказані в modifications будуть застосовані до договору.