Зміни у елктронний котнратк

Цей розділ описує новий принцип внесення змін до активного договору.

Договір

Давайте уявим, що ми вже маємо активний договір з усією потрібною інформацією:

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

EContractOrganization

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 будуть застосовані до договору.