Туторіал

Створення договору

Нехай у нас відбулась закупівля і є переможець. Після вибору перможця автоматично створюється контракт в закупівлі з обмеженим набором полів(id, awardID, status, date, value) та в системі договорів з повним набором полів(EContract) у статусі pending.

Майданчики (брокери) не мають можливості створювати договори в системі договорів.

Договір створюється з додатковими полями:

  • contractTemplateName - копіюється з закупівлі, якщо вона встановлена (більше про це в Надання проекту договору)

  • period - startDate дорівнює dateCreated контракту + 5 календарних днів, endDate дорівнює кінець року, що вказаний у startDate

Договір PQ створюється з додатковими полями:

  • attributes - формується з вимог та відповідей на вимоги у закупівлі

Отримання договору

Договір в системі закупівель

Request

GET /api/2.5/tenders/1640f9c9f12d4f74b35596c849f209a4/contracts/37d2cea7a3564774858ad5c8681f57b1 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": "37d2cea7a3564774858ad5c8681f57b1",
    "status": "pending",
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "date": "2023-10-10T01:00:00+03:00",
    "contractID": "UA-2023-10-10-000001-a-1",
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    }
  }
}

Ідентифікатор `id` договору однаковий в системах закупівель та договорів.

Спробуємо отримати створений об’єкт по URL:

Request

GET /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2023-10-15T00:00:00+03:00",
      "endDate": "2023-12-31T23:59:59+03:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Test Testovich",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents/6118e25141d74341b26001da0c0357f5?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "6118e25141d74341b26001da0c0357f5",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "37d2cea7a3564774858ad5c8681f57b1"
  },
  "config": {
    "restricted": false
  }
}

Отримання доступу

Більше інформації Авторизація користувачів з різних майданчиків (нова версія)

Для отримання доступу для замовника або постачальника використовується ендпоінт contracts/{contract_id}/access після ствворення контракту.

Алгоритм отримання доступу:

  • POST /access з індентифікатором клієнта - повертає токен для клієнта

Треба зробити POST /access - запит з індентифікатором клієнта, по якому визначається чи це buyer чи supplier. Якщо ідентифікатор не відповідає жодній із сутностей, то видається помилка:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/access HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "identifier": {
      "scheme": "UA-EDR",
      "id": "123456780"
    }
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Invalid identifier"
    }
  ]
}

Якщо індентифікатор знайшло, після цього відбувається валідація чи підходить майданчик, з якого робиться запит для цієї ролі:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/access HTTP/1.0
Authorization: Bearer token
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037257",
      "uri": "http://www.dus.gov.ua/"
    }
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Owner mismatch"
    }
  ]
}

Якщо індентифікатор знайшло і owner підходить, то сетапиться токен відповідно до сутності для постачальника або замовника:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/access HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037257",
      "uri": "http://www.dus.gov.ua/"
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037257",
      "uri": "http://www.dus.gov.ua/"
    }
  },
  "access": {
    "token": "e062b9ad8c5f453f9343377d4fcce628",
    "transfer": "594765ed2bfc40df90e7401f5483e4aa"
  }
}

Якщо замовник запитує доступ, то у відповіді також буде згенерований новий transfer токен.

Після генерації токену все ще дозволено перегенерувати токен, тому можна робити нові POST запити з цим ідентифікатором:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/access HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037257",
      "uri": "http://www.dus.gov.ua/"
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037257",
      "uri": "http://www.dus.gov.ua/"
    }
  },
  "access": {
    "token": "838bca54aee04fbaabd502cb2c7b28a4",
    "transfer": "59e83bca2364481789368d2893158992"
  }
}

NOTE: Тепер користувачу дозволено редагувати контракт як замовник тільки використовуючи останній згенерований токен.

Після того, як токен був перегенерований, попередній токен при редагуванні контракту вже не можна буде використати:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents?acc_token=e062b9ad8c5f453f9343377d4fcce628 HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "url",
      "name": "permission",
      "description": "Forbidden"
    }
  ]
}

Такий самий алгоритм і для отримання доступу постачальником.

Запросимо доступ для постачальника:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/access HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037256",
      "uri": "http://www.dus.gov.ua/"
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "identifier": {
      "scheme": "UA-IPN",
      "id": "00037256",
      "uri": "http://www.dus.gov.ua/"
    }
  },
  "access": {
    "token": "47c3f4968e1341499809200105e2aade"
  }
}

WARNING: Отримання доступів дозволено тільки під час pending контракту.

Реєстрація договору

Якщо контракт був створений за правилами електронного контрактингу за новим флоу зі встановленними майданчиками для постачальника та замовника ще під час закупівлі, то для активації такого контракту обов’язковими є заповнення інформації підписантів та додавання підписів всіх учасників.

Для того, щоб активувати контракт, потрібно замовнику та постачальнику додати в якості документів електронні підписи.

Після того, як будуть накладені два підписи на поточну весрію контракту, контракт стає active.

Постачальник додає документ підпису використовуючи свій токен (supplier_token), який він отримав при запиті доступу:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/7f7d3898f20743798bf86ef67bf260d6

{
  "data": {
    "confidentiality": "public",
    "hash": "md5:00000000000000000000000000000000",
    "title": "sign.p7s",
    "format": "application/pkcs7-signature",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=%2BLgh9VhF5n7wmuNcFF6T%2Bjmx3ZE5OebUfgBYsTIQUnvJGC2XVvYlyijyC8iAq83srktGfhtCKMK8bky9f%2BnXCg%3D%3D&KeyID=a8968c46",
    "documentOf": "contract",
    "documentType": "contractSignature",
    "id": "7f7d3898f20743798bf86ef67bf260d6",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "author": "supplier"
  }
}

Замовник додає документ підпису використовуючи свій токен (buyer_token), який він отримав при запиті доступу:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/22ad6fee7d0042aaa9a1d88e22bf9d67

{
  "data": {
    "confidentiality": "public",
    "hash": "md5:00000000000000000000000000000000",
    "title": "sign.p7s",
    "format": "application/pkcs7-signature",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=%2BLgh9VhF5n7wmuNcFF6T%2Bjmx3ZE5OebUfgBYsTIQUnvJGC2XVvYlyijyC8iAq83srktGfhtCKMK8bky9f%2BnXCg%3D%3D&KeyID=a8968c46",
    "documentOf": "contract",
    "documentType": "contractSignature",
    "id": "22ad6fee7d0042aaa9a1d88e22bf9d67",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "author": "buyer"
  }
}

Коли обидва підписа є у системі, то система підтверджує, що контракт підписано і активує його:

Request

GET /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-2",
    "period": {
      "startDate": "2022-01-01T00:00:00+02:00",
      "endDate": "2026-01-01T00:00:00+02:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Another supplier",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "active",
    "author": "supplier",
    "date": "2023-10-10T01:00:00+03:00",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/d0cfb4b9efbc40338460f946b7932266?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "d0cfb4b9efbc40338460f946b7932266",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/7f7d3898f20743798bf86ef67bf260d6?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "7f7d3898f20743798bf86ef67bf260d6",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "supplier"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/22ad6fee7d0042aaa9a1d88e22bf9d67?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "22ad6fee7d0042aaa9a1d88e22bf9d67",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "buyer"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "dateSigned": "2023-10-10T01:00:00+03:00",
    "id": "d71a69be5f1a437abf5134881f4c4b98"
  },
  "config": {
    "restricted": false
  }
}

Нові версії договору

Якщо одна зі сторін договору не погоджується підписувати поточну версію контракту, існує можливість створити нову версію контракту, змінивши деякі поля.

Етапи:

  • скасування попереднього контракту

  • створення нової версії зі змінами (POST)

  • підписання нової версії і очікування поки друга сторона погодиться підписати дану версію (або створення нової версії контракту вже іншою стороною)

Скасування

Інсує можливість скасування поточної версії контракту та створення нової тільки поки контракт знаходиться в статусі pending.

Для того, щоб скасувати контракт, учасник договору має додати об’єкт cancellation обов’язково вказавши причину скасування:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/cancellations?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "reasonType": "requiresChanges",
    "reason": "want to change signerInfo"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "reason": "want to change signerInfo",
    "reasonType": "requiresChanges",
    "id": "c58f0f2f3df849e6bbe4ad1f4ca04144",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "status": "pending",
    "author": "supplier"
  }
}

Подивимося на договір:

Request

GET /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2023-10-15T00:00:00+03:00",
      "endDate": "2023-12-31T23:59:59+03:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Test Testovich",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents/6118e25141d74341b26001da0c0357f5?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "6118e25141d74341b26001da0c0357f5",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents/8e9a0dd828594b84a952bd293bf939a4?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "8e9a0dd828594b84a952bd293bf939a4",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "buyer"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "cancellations": [
      {
        "reason": "want to change signerInfo",
        "reasonType": "requiresChanges",
        "id": "c58f0f2f3df849e6bbe4ad1f4ca04144",
        "dateCreated": "2023-10-10T01:00:00+03:00",
        "status": "pending",
        "author": "supplier"
      }
    ],
    "id": "37d2cea7a3564774858ad5c8681f57b1"
  },
  "config": {
    "restricted": false
  }
}

Заборонено додавати більше ніж один cancellation:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/cancellations?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "reasonType": "requiresChanges",
    "reason": "want to change signerInfo"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Cancellation for contract already exists"
    }
  ]
}

Після того, як додано cancellation, підписувати цю версію контракту вже заборонено:

Request

POST /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Forbidden to sign contract with cancellation"
    }
  ]
}

Створення нової версії договору

Після скасування той самий учасник має створити нову версію контракту, використовуючи свій токен.

Якщо постачальник спробує створити нову версію, то він побачить помилку, так як скасував попередню версію замовник:

Request

POST /api/2.5/contracts?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2023-10-15T00:00:00+03:00",
      "endDate": "2023-12-31T23:59:59+03:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Test Testovich",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Forbidden to create new version of contract by buyer, as previous was cancelled by supplier"
    }
  ]
}

Сторона, яка створює нову версію може змінити наступні поля:

  • period

  • contractNumber

  • items.unit

  • items.quantity

  • value

  • title

  • title_en

  • description

  • description_en

  • dateSigned

  • signerInfo (інформацію про підписанта своєї сторони)

Якщо учасник намагається змінити якесь інше поле, то він побачить помилку:

Request

POST /api/2.5/contracts?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2023-10-15T00:00:00+03:00",
      "endDate": "2023-12-31T23:59:59+03:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Another buyer",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Test Testovich",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending"
  }
}

Response

HTTP/1.0 422 Unprocessable Entity
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Updated could be only ('items', 'value', 'period', 'title', 'title_en', 'description', 'description_en', 'dateSigned', 'suppliers') in contract, buyer change forbidden"
    }
  ]
}

Змінемо наступні поля period та signerInfo.name, використовуючи токен замовника:

Request

POST /api/2.5/contracts?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2022-01-01",
      "endDate": "2026-01-01"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Another supplier",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-2",
    "period": {
      "startDate": "2022-01-01T00:00:00+02:00",
      "endDate": "2026-01-01T00:00:00+02:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Another supplier",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "pending",
    "author": "supplier",
    "date": "2023-10-10T01:00:00+03:00",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/d0cfb4b9efbc40338460f946b7932266?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "d0cfb4b9efbc40338460f946b7932266",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "d71a69be5f1a437abf5134881f4c4b98"
  },
  "config": {
    "restricted": false
  }
}

Успіх! Подивимося на попередню версію контракту, в нього статус тепер cancelled і cancellation тепер має статус active:

Request

GET /api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1 HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-1",
    "period": {
      "startDate": "2023-10-15T00:00:00+03:00",
      "endDate": "2023-12-31T23:59:59+03:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Test Testovich",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "cancelled",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents/6118e25141d74341b26001da0c0357f5?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "6118e25141d74341b26001da0c0357f5",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/37d2cea7a3564774858ad5c8681f57b1/documents/8e9a0dd828594b84a952bd293bf939a4?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "8e9a0dd828594b84a952bd293bf939a4",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "buyer"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "cancellations": [
      {
        "reason": "want to change signerInfo",
        "reasonType": "requiresChanges",
        "id": "c58f0f2f3df849e6bbe4ad1f4ca04144",
        "dateCreated": "2023-10-10T01:00:00+03:00",
        "status": "active",
        "author": "supplier"
      }
    ],
    "date": "2023-10-10T01:00:00+03:00",
    "id": "37d2cea7a3564774858ad5c8681f57b1"
  },
  "config": {
    "restricted": false
  }
}

Подивимося на всі контракти в закупівлі:

Request

GET /api/2.5/tenders/1640f9c9f12d4f74b35596c849f209a4/contracts 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": "37d2cea7a3564774858ad5c8681f57b1",
      "status": "cancelled",
      "awardID": "283d9284a6054a25a129e848808b75a1",
      "date": "2023-10-10T01:00:00+03:00",
      "contractID": "UA-2023-10-10-000001-a-1",
      "value": {
        "amount": 500.0,
        "currency": "UAH",
        "valueAddedTaxIncluded": true,
        "amountNet": 500.0
      }
    },
    {
      "id": "d71a69be5f1a437abf5134881f4c4b98",
      "status": "pending",
      "awardID": "283d9284a6054a25a129e848808b75a1",
      "date": "2023-10-10T01:00:00+03:00",
      "contractID": "UA-2023-10-10-000001-a-2",
      "value": {
        "amount": 500.0,
        "currency": "UAH",
        "valueAddedTaxIncluded": true,
        "amountNet": 500.0
      }
    }
  ]
}

Після цього починається новий етап підписання.

Замовник та постачальник можуть підписати нову версію договору, якщо їх влаштовують зміни або створити нову версію, якщо треба ще щось змінити.

Додаткові угоди (зміни) в EContract

Зміни в умови контрактів можуть бути внесені підписантами через подання і підписання додаткових угод. В системі використовується термінологія «змін» / «changes».

Ініціатором внесення змін може бути обидва замовник і постачальник.

Ініціатор заповнює три обов’язкових поля:

rationale:

string, причина змін

rationaleTypes:

list, типи причин

modifications:

object, нові значення в електронних полях

modifications це структура, що відображає зміни в електроних поля, які буде внесено:

title:

string

title_en:

string

description:

string

description_en:

string

period:

Period

Дата початку та кінця договору.

items:

List of Item objects

value:

ContractValue object

contractNumber:

string

Зміни можна вносити тільки в підписані контракти:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "priceReduction"
    ],
    "modifications": {
      "value": {
        "amount": 235,
        "amountNet": 200
      }
    }
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Can't add contract change in current (pending) contract status"
    }
  ]
}

Створення додаткових угод

Запит створення пропозиції змін:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "priceReduction"
    ],
    "modifications": {
      "value": {
        "amount": 535,
        "amountNet": 490
      }
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "priceReduction"
    ],
    "modifications": {
      "value": {
        "amount": 535.0,
        "currency": "UAH",
        "valueAddedTaxIncluded": true,
        "amountNet": 490.0
      }
    },
    "id": "68db49ecd6ef439a81feaec69cd6ab07",
    "status": "pending",
    "date": "2023-10-10T01:00:00+03:00",
    "author": "supplier"
  }
}

Для деяких полів договору існують валідації (такі самі як і були при PATCH для активного договору),

Наприклад, якщо замовник вирішив змінити валюту в value договору:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationaleTypes": [
      "volumeCuts"
    ],
    "modifications": {
      "value": {
        "currency": "USD",
        "amount": 500
      }
    }
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "value",
      "description": "Can't update currency for contract value"
    }
  ]
}

Наприклад, якщо постачальник вирішив змінити період договору на неправильну дату:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "durationExtension"
    ],
    "modifications": {
      "period": {
        "endDate": "2021-01-01T00:00:00+02:00"
      }
    }
  }
}

Response

HTTP/1.0 422 Unprocessable Entity
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "period should begin before its end"
    }
  ]
}

Підписання змін

Для того, щоб активувати зміни, потрібно замовнику та постачальнику додати в якості документів електронні підписи.

Після того, як будуть накладені два підписи на зміни, зміни стають active.

Постачальник додає документ підпису використовуючи свій токен (supplier_token):

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/c681b342eb664c3ab671f50a68860c14

{
  "data": {
    "confidentiality": "public",
    "title": "sign.p7s",
    "format": "application/pkcs7-signature",
    "hash": "md5:00000000000000000000000000000000",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=%2BLgh9VhF5n7wmuNcFF6T%2Bjmx3ZE5OebUfgBYsTIQUnvJGC2XVvYlyijyC8iAq83srktGfhtCKMK8bky9f%2BnXCg%3D%3D&KeyID=a8968c46",
    "documentOf": "change",
    "documentType": "contractSignature",
    "id": "c681b342eb664c3ab671f50a68860c14",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "author": "supplier"
  }
}

Замовник додає документ підпису використовуючи свій токен (buyer_token):

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker6
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/dbfd77f646e24646b486c9993d548773

{
  "data": {
    "confidentiality": "public",
    "title": "sign.p7s",
    "format": "application/pkcs7-signature",
    "hash": "md5:00000000000000000000000000000000",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=%2BLgh9VhF5n7wmuNcFF6T%2Bjmx3ZE5OebUfgBYsTIQUnvJGC2XVvYlyijyC8iAq83srktGfhtCKMK8bky9f%2BnXCg%3D%3D&KeyID=a8968c46",
    "documentOf": "change",
    "documentType": "contractSignature",
    "id": "dbfd77f646e24646b486c9993d548773",
    "datePublished": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "author": "buyer"
  }
}

Коли обидва підписа є у системі, то система підтверджує, що зміни підписано і активує їх:

Request

GET /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07?acc_token=838bca54aee04fbaabd502cb2c7b28a4 HTTP/1.0
Authorization: Bearer broker6
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "priceReduction"
    ],
    "modifications": {
      "value": {
        "amount": 535.0,
        "currency": "UAH",
        "valueAddedTaxIncluded": true,
        "amountNet": 490.0
      }
    },
    "id": "68db49ecd6ef439a81feaec69cd6ab07",
    "status": "active",
    "date": "2023-10-10T01:00:00+03:00",
    "author": "supplier",
    "documents": [
      {
        "confidentiality": "public",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/c681b342eb664c3ab671f50a68860c14?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "change",
        "documentType": "contractSignature",
        "id": "c681b342eb664c3ab671f50a68860c14",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "supplier"
      },
      {
        "confidentiality": "public",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "hash": "md5:00000000000000000000000000000000",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/dbfd77f646e24646b486c9993d548773?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "change",
        "documentType": "contractSignature",
        "id": "dbfd77f646e24646b486c9993d548773",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "buyer"
      }
    ]
  }
}

Скасування

Сторони можуть скасовувати дод. угоди, якщо вони неактуальні, надавши коментар.

Створимо ще одну додаткову угоду:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "durationExtension"
    ],
    "modifications": {
      "period": {
        "endDate": "2027-01-01T00:00:00+02:00"
      }
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "durationExtension"
    ],
    "modifications": {
      "period": {
        "endDate": "2027-01-01T00:00:00+02:00",
        "startDate": "2022-01-01T00:00:00+02:00"
      }
    },
    "id": "e3b63c3aac354f6db3fbc8f25d03cc7d",
    "status": "pending",
    "date": "2023-10-10T01:00:00+03:00",
    "author": "supplier"
  }
}

Для того, щоб скасувати угоду, учасник договору має додати об’єкт cancellation обов’язково вказавши причину скасування:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/e3b63c3aac354f6db3fbc8f25d03cc7d/cancellations?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "reasonType": "requiresChanges",
    "reason": "not actual change"
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "reason": "not actual change",
    "reasonType": "requiresChanges",
    "id": "3380e0835b714c2d8c6a852fbef4187e",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "status": "active",
    "author": "supplier"
  }
}

Подивимося на додаткову угоду:

Request

GET /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/e3b63c3aac354f6db3fbc8f25d03cc7d HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "durationExtension"
    ],
    "modifications": {
      "period": {
        "endDate": "2027-01-01T00:00:00+02:00",
        "startDate": "2022-01-01T00:00:00+02:00"
      }
    },
    "id": "e3b63c3aac354f6db3fbc8f25d03cc7d",
    "status": "cancelled",
    "date": "2023-10-10T01:00:00+03:00",
    "author": "supplier",
    "cancellations": [
      {
        "reason": "not actual change",
        "reasonType": "requiresChanges",
        "id": "3380e0835b714c2d8c6a852fbef4187e",
        "dateCreated": "2023-10-10T01:00:00+03:00",
        "status": "active",
        "author": "supplier"
      }
    ]
  }
}

Заборонено додавати більше ніж один cancellation:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/e3b63c3aac354f6db3fbc8f25d03cc7d/cancellations?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "reasonType": "requiresChanges",
    "reason": "not actual change"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Can't update contract change in current (cancelled) status"
    }
  ]
}

Після того, як додано cancellation, підписувати цю додаткову угоду вже заборонено:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/e3b63c3aac354f6db3fbc8f25d03cc7d/documents?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "documentType": "contractSignature",
    "title": "sign.p7s",
    "url": "http://public-docs-sandbox.prozorro.gov.ua/get/9dc6bfe4683b4e63a799bbe366ba9376?Signature=7DWfdBRHAAJ%2B1P1BSGB%2FmCbWTCo%2BtmGS9jsRJ8ZjGLgs3620bu7fab8LAVooJfFR4ddSLVDqvY%2Brn2aywo2TAg%3D%3D&KeyID=a8968c46",
    "hash": "md5:00000000000000000000000000000000",
    "format": "application/pkcs7-signature"
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Can't update contract change in current (cancelled) status"
    }
  ]
}

Підписання додаткових угод не змінює електронні поля самого контракту. Тобто якщо, наприклад, вартість контракту було змінено додатковою угодою, то в changes буде актуальне значення, а в контракті - актуальне на момент підписання контракту.

Request

GET /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Host: public-api-sandbox.prozorro.gov.ua

Response

HTTP/1.0 200 OK
Content-Type: application/json

{
  "data": {
    "awardID": "283d9284a6054a25a129e848808b75a1",
    "contractID": "UA-2023-10-10-000001-a-2",
    "period": {
      "startDate": "2022-01-01T00:00:00+02:00",
      "endDate": "2026-01-01T00:00:00+02:00"
    },
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 500.0
    },
    "items": [
      {
        "id": "29cbde01600848de837efe5448e726fb",
        "description": "Комп’ютерне обладнання для біда",
        "quantity": 10.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 40.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        },
        "attributes": [
          {
            "name": "Форма випуску",
            "values": [
              "Розчин для інфузій"
            ]
          },
          {
            "name": "Доза діючої речовини",
            "unit": {
              "name": "кілограми",
              "code": "KGM"
            },
            "value": 5
          },
          {
            "name": "Форма випуску 1",
            "values": [
              "Відповідь1",
              "Відповідь2"
            ]
          }
        ]
      },
      {
        "id": "24726f3002834ed287ec1c07b91606cf",
        "description": "Комп’ютерне обладнання",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "INN",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": false
          },
          "code": "KGM"
        },
        "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"
        }
      }
    ],
    "buyer": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-IPN",
        "id": "00037257",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contract_owner": "broker6",
      "kind": "general",
      "signerInfo": {
        "name": "Test Testovich",
        "email": "example@email.com",
        "telephone": "+380950000000",
        "iban": "111111111111111",
        "position": "Генеральний директор",
        "authorizedBy": "Статут компанії"
      }
    },
    "suppliers": [
      {
        "name": "Державне управління справами",
        "identifier": {
          "scheme": "UA-IPN",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "01220",
          "countryName": "Україна"
        },
        "contract_owner": "broker",
        "scale": "micro",
        "signerInfo": {
          "name": "Another supplier",
          "email": "example@email.com",
          "telephone": "+380950000000",
          "iban": "111111111111111",
          "position": "Генеральний директор",
          "authorizedBy": "Статут компанії"
        }
      }
    ],
    "owner": "broker",
    "tender_id": "1640f9c9f12d4f74b35596c849f209a4",
    "contractTemplateName": "00000000.0002.01",
    "status": "active",
    "author": "supplier",
    "date": "2023-10-10T01:00:00+03:00",
    "documents": [
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "contract.pdf",
        "format": "application/pdf",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/d0cfb4b9efbc40338460f946b7932266?download=acdee3c5fbb14da0b63000963dea8a81",
        "documentOf": "contract",
        "id": "d0cfb4b9efbc40338460f946b7932266",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "documentType": "contractNotice"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/7f7d3898f20743798bf86ef67bf260d6?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "7f7d3898f20743798bf86ef67bf260d6",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "supplier"
      },
      {
        "confidentiality": "public",
        "hash": "md5:00000000000000000000000000000000",
        "title": "sign.p7s",
        "format": "application/pkcs7-signature",
        "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/documents/22ad6fee7d0042aaa9a1d88e22bf9d67?download=9dc6bfe4683b4e63a799bbe366ba9376",
        "documentOf": "contract",
        "documentType": "contractSignature",
        "id": "22ad6fee7d0042aaa9a1d88e22bf9d67",
        "datePublished": "2023-10-10T01:00:00+03:00",
        "dateModified": "2023-10-10T01:00:00+03:00",
        "author": "buyer"
      }
    ],
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "dateSigned": "2023-10-10T01:00:00+03:00",
    "changes": [
      {
        "rationale": "причина зміни укр",
        "rationale_en": "change cause en",
        "rationaleTypes": [
          "priceReduction"
        ],
        "modifications": {
          "value": {
            "amount": 535.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": true,
            "amountNet": 490.0
          }
        },
        "id": "68db49ecd6ef439a81feaec69cd6ab07",
        "status": "active",
        "date": "2023-10-10T01:00:00+03:00",
        "author": "supplier",
        "documents": [
          {
            "confidentiality": "public",
            "title": "sign.p7s",
            "format": "application/pkcs7-signature",
            "hash": "md5:00000000000000000000000000000000",
            "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/c681b342eb664c3ab671f50a68860c14?download=9dc6bfe4683b4e63a799bbe366ba9376",
            "documentOf": "change",
            "documentType": "contractSignature",
            "id": "c681b342eb664c3ab671f50a68860c14",
            "datePublished": "2023-10-10T01:00:00+03:00",
            "dateModified": "2023-10-10T01:00:00+03:00",
            "author": "supplier"
          },
          {
            "confidentiality": "public",
            "title": "sign.p7s",
            "format": "application/pkcs7-signature",
            "hash": "md5:00000000000000000000000000000000",
            "url": "http://public-api-sandbox.prozorro.gov.ua/api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes/68db49ecd6ef439a81feaec69cd6ab07/documents/dbfd77f646e24646b486c9993d548773?download=9dc6bfe4683b4e63a799bbe366ba9376",
            "documentOf": "change",
            "documentType": "contractSignature",
            "id": "dbfd77f646e24646b486c9993d548773",
            "datePublished": "2023-10-10T01:00:00+03:00",
            "dateModified": "2023-10-10T01:00:00+03:00",
            "author": "buyer"
          }
        ]
      },
      {
        "rationale": "причина зміни укр",
        "rationale_en": "change cause en",
        "rationaleTypes": [
          "durationExtension"
        ],
        "modifications": {
          "period": {
            "endDate": "2027-01-01T00:00:00+02:00",
            "startDate": "2022-01-01T00:00:00+02:00"
          }
        },
        "id": "e3b63c3aac354f6db3fbc8f25d03cc7d",
        "status": "cancelled",
        "date": "2023-10-10T01:00:00+03:00",
        "author": "supplier",
        "cancellations": [
          {
            "reason": "not actual change",
            "reasonType": "requiresChanges",
            "id": "3380e0835b714c2d8c6a852fbef4187e",
            "dateCreated": "2023-10-10T01:00:00+03:00",
            "status": "active",
            "author": "supplier"
          }
        ]
      }
    ],
    "id": "d71a69be5f1a437abf5134881f4c4b98"
  },
  "config": {
    "restricted": false
  }
}

Оновлення специфікації Договору

Існує можливість змінювати і додавати новий масив items в активному статусі контракту через changes.

Дозволяється додавати новий item, але при цьому основні поля мають відповідати попереднім значенням в масиві items.

Поля, які не можна змінювати:

  • classification

  • relatedLot

  • relatedBuyer

  • additionalClassifications

  • attributes

Спробуємо додати новий item з новим полем classification і побачимо помилку:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "itemPriceChange"
    ],
    "modifications": {
      "items": [
        {
          "id": "29cbde01600848de837efe5448e726fb",
          "description": "Комп’ютерне обладнання для біда",
          "quantity": 10.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 40.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        },
        {
          "id": "24726f3002834ed287ec1c07b91606cf",
          "description": "Комп’ютерне обладнання",
          "quantity": 5.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 20.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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": "Картон ручного виготовлення",
          "quantity": 10.0,
          "classification": {
            "id": "22992000-0",
            "scheme": "ДК021",
            "description": "Папір або картон ручного виготовлення"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 40.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        }
      ]
    }
  }
}

Response

HTTP/1.0 403 Forbidden
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Forbidden to add new items main information in contract, all main fields should be the same as in previous items: classification, relatedLot, relatedBuyer, attributtes, additionalClassifications"
    }
  ]
}

Наприклад, розділимо перший item на дві номенклатури з такими самими основними полями.

Але при цьому все ще існує валідація на суму цін за одиницю для всіх items:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "itemPriceChange"
    ],
    "modifications": {
      "items": [
        {
          "id": "29cbde01600848de837efe5448e726fb",
          "description": "Комп’ютерне обладнання для біда",
          "quantity": 10.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 40.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        },
        {
          "id": "24726f3002834ed287ec1c07b91606cf",
          "description": "Комп’ютерне обладнання",
          "quantity": 5.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 20.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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": "Додаткове комп’ютерне обладнання",
          "quantity": 20,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 2,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        }
      ]
    }
  }
}

Response

HTTP/1.0 422 Unprocessable Entity
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "items",
      "description": "Total amount of unit values must be no more than contract.value.amount and no less than net contract amount"
    }
  ]
}

Відредагуємо quantity в першому item і додамо новий item з коректною ціною unit.value:

Request

POST /api/2.5/contracts/d71a69be5f1a437abf5134881f4c4b98/changes?acc_token=47c3f4968e1341499809200105e2aade HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "itemPriceChange"
    ],
    "modifications": {
      "items": [
        {
          "id": "29cbde01600848de837efe5448e726fb",
          "description": "Комп’ютерне обладнання для біда",
          "quantity": 9,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 40.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        },
        {
          "id": "24726f3002834ed287ec1c07b91606cf",
          "description": "Комп’ютерне обладнання",
          "quantity": 5.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 20.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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": "Додаткове комп’ютерне обладнання",
          "quantity": 20,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 2,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        }
      ]
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json

{
  "data": {
    "rationale": "причина зміни укр",
    "rationale_en": "change cause en",
    "rationaleTypes": [
      "itemPriceChange"
    ],
    "modifications": {
      "items": [
        {
          "id": "29cbde01600848de837efe5448e726fb",
          "description": "Комп’ютерне обладнання для біда",
          "quantity": 9.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 40.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        },
        {
          "id": "24726f3002834ed287ec1c07b91606cf",
          "description": "Комп’ютерне обладнання",
          "quantity": 5.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 20.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          }
        },
        {
          "id": "4cb1f7ec4fff4cb8bb98b26103e494b3",
          "description": "Додаткове комп’ютерне обладнання",
          "quantity": 20.0,
          "classification": {
            "description": "Cartons",
            "scheme": "ДК021",
            "id": "44617100-9"
          },
          "additionalClassifications": [
            {
              "scheme": "INN",
              "id": "17.21.1",
              "description": "папір і картон гофровані, паперова й картонна тара"
            }
          ],
          "unit": {
            "name": "кг",
            "value": {
              "amount": 2.0,
              "currency": "UAH",
              "valueAddedTaxIncluded": false
            },
            "code": "KGM"
          },
          "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"
          },
          "attributes": [
            {
              "name": "Форма випуску",
              "values": [
                "Розчин для інфузій"
              ]
            },
            {
              "name": "Доза діючої речовини",
              "unit": {
                "name": "кілограми",
                "code": "KGM"
              },
              "value": 5
            },
            {
              "name": "Форма випуску 1",
              "values": [
                "Відповідь1",
                "Відповідь2"
              ]
            }
          ]
        }
      ]
    },
    "id": "5a6edb03ef214eb1a35197f1ff71ae91",
    "status": "pending",
    "date": "2023-10-10T01:00:00+03:00",
    "author": "supplier"
  }
}