Вітаємо на сайті документації по openprocurement.contracting.api!

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

Зміст:

Огляд

Open Procurement Contracting це плагін до Open Procurement API. Цей модуль призначений для реєстрації метаінформації та документів (бінарних файлів), які пов’язані з договором і генеруються при його підписанні, виконанні та завершенні.

REST-ful інтерфейс для плагіна відповідає основним принципам дизайну програмного забезпечення.

Домовленості

Цей плагін підтримує домовленості Open Procurement API.

Стабільність API

API є дуже нестабільним. Хоча точки входу API залишатимуться відносно стабільними, формати обміну даними будуть часно змінюватись. Зміни в API обговорюються через Open Procurement API. Питання можна задати через Gitter.

Наступні кроки

Далі читайте Туторіал.

Стандарт даних

Стандарт даних змодельований згідно Open Contracting Standard з розширеннями в тих областях, які він не покриває.

Contract

Схема

id:

uid, генерується автоматично

OpenContracting Description: Ідентифікатор цього договору.

awardID:

рядок, обов’язковий

OpenContracting Description: Award.id вказує на рішення, згідно якого видається договір.

contractID:

рядок, генерується автоматично, лише для читання

contractNumber:

рядок

title:

рядок, обов’язковий

OpenContracting Description: Назва договору

description:

рядок

OpenContracting Description: Опис договору

status:

рядок, обов’язковий

OpenContracting Description: Поточний статус договору.

Можливі значення:

  • active - договір підписаний всіма учасниками, і зараз діє на законних підставах.

  • terminated - договір був підписаний та діяв, але вже завершився. Це може бути пов’язано з виконанням договору, або з достроковим припиненням через якусь незавершеність.

period:

Period

OpenContracting Description: Дата початку та завершення договору.

items:

Список об’єктів Item, генерується автоматично, лише для читання

OpenContracting Description: Товари, послуги та інші нематеріальні результати у цій угоді. Зверніть увагу: Якщо список співпадає з визначенням переможця award, то його не потрібно повторювати.

procuringEntity:
 

ProcuringEntity

OpenContracting Description: Об’єкт, що управляє закупівлею. Він не обов’язково є покупцем, який платить / використовує закуплені елементи.

suppliers:

Список об’єктів Organization, генерується автоматично, лише для читання

value:

Об’єкт Value, генерується автоматично, лише для читання

OpenContracting Description: Загальна вартість договору.

dateSigned:

рядок, Date, генерується автоматично

OpenContracting Description: Дата підписання договору. Якщо було декілька підписань, то береться дата останнього підписання.

documents:

Список об’єктів Document

OpenContracting Description: Усі документи та додатки пов’язані з договором, включно з будь-якими повідомленнями.

changes:

Список пов’язаних об’єктів Change

amountPaid:
amount:

число з рухомою комою, обов’язкове

currency:

рядок, обов’язковий, генерується автоматично

valueAddedTaxIncluded:
 

логічний (булевий) тип даних, обов’язковий, генерується автоматично

Дійсно оплачена сума.

terminationDetails:
 

рядок, обов’язковий для неуспішних договорів

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

Схема роботи

digraph G {
    A [ label="active*" ]
    B [ label="terminated"]
     A -> B;
}

* позначає початковий стан

Document

Схема

id:

рядок, генерується автоматично

documentType:

рядок

Можливі значення для Contract

  • notice - Повідомлення про угоду

    Офіційне повідомлення, що містить деталі підписання договору та початку його реалізації. Це може бути посилання на документ, веб-сторінку, чи на офіційний бюлетень, де розміщено повідомлення.

  • contractSigned - Підписаний договір

  • contractArrangements - Заходи для припинення договору

  • contractSchedule - Розклад та етапи

  • contractAnnexe - Додатки до договору

  • contractGuarantees - Забезпечення тендерних пропозицій

  • subContract - Субпідряд

title:

рядок, багатомовний

OpenContracting Description: Назва документа.

description:

рядок, багатомовний

OpenContracting Description: Короткий опис документа. Якщо документ не буде доступний онлайн, то поле опису можна використати для вказання способу отримання копії документа.

format:

рядок

OpenContracting Description: Формат документа зі списку кодів IANA Media Types, з одним додатковим значенням ‘offline/print’, що буде використовуватись, коли запис цього документа використовується для опису офлайнової публікації документа.

url:

рядок, генерується автоматично

OpenContracting Description: Пряме посилання на документ чи додаток.

datePublished:

рядок, Date

OpenContracting Description: Дата, коли документ був опублікований вперше.

dateModified:

рядок, Date

OpenContracting Description: Дата, коли документ був змінений востаннє.

language:

рядок

Можливі значення:

  • uk - українська мова

  • en - англійська мова

  • ru - російська мова

OpenContracting Description: Вказує мову документа, використовуючи або двоцифровий код ISO 639-1, або розширений BCP47 language tags.

documentOf:

рядок

Можливі значення:

  • tender
  • contract
  • change
  • item
  • lot
relatedItem:

рядок

Ідентифікатор пов’язаних об’єктів Contract, Change, Lot або Item.

Organization

Схема

name:

рядок, багатомовний, обов’язковий переклад назв українською та англійською: uk (title) та en (title_en)

OpenContracting Description: Назва організації.

identifier:

Identifier

OpenContracting Description: Ідентифікатор цієї організації.

additionalIdentifiers:
 

Список об’єктів Identifier

address:

Address, обов’язково

contactPoint:

ContactPoint, обов’язково

Identifier

Схема

scheme:

рядок

OpenContracting Description: Ідентифікатори організації беруться з існуючої схеми ідентифікації. Це поле вказує схему або список кодів, де можна знайти ідентифікатор організації. Це значення повинно братись зі Схеми Ідентифікації Організацій.

id:

рядок, обов’язковий

OpenContracting Description: Ідентифікатор організації у вибраній схемі.

Дозволеними є коди зі спику кодів “Organisation Registration Agency” Стандарту IATI з додаванням коду UA-EDR для організацій, зареєстрованих в Україні (ЄДРПОУ та ІПН).

legalName:

рядок, багатомовний

OpenContracting Description: Офіційно зареєстрована назва організації.

uri:

uri

OpenContracting Description: URI для ідентифікації організації, наприклад, ті, які надають Open Corporates або інші постачальники URI. Це не для вебсайту організації, його можна надати в полі url в ContactPoint організації.

Address

Схема

streetAddress:

рядок, обов’язковий

OpenContracting Description: Вулиця. Наприклад, вул. Хрещатик, 22.

locality:

рядок, обов’язковий

OpenContracting Description: Населений пункт. Наприклад, Київ.

region:

рядок, обов’язковий

OpenContracting Description: Область. Наприклад, Київська.

postalCode:

рядок, обов’язковий

OpenContracting Description: Поштовий індекс, Наприклад, 78043.

countryName:

рядок, багатомовний, обов’язковий

OpenContracting Description: Назва країни. Наприклад, Україна.

ContactPoint

Схема

name:

рядок, багатомовний, обов’язковий

OpenContracting Description: Ім’я контактної особи, назва відділу чи контактного пункту для листування, що стосується цього процесу укладання договору.

email:

email

OpenContracting Description: Адреса електронної пошти контактної особи/пункту.

telephone:

рядок

OpenContracting Description: Номер телефону контактної особи/пункту. Повинен включати міжнародний телефонний код.

faxNumber:

рядок

OpenContracting Description: Номер факсу контактної особи/пункту. Повинен включати міжнародний телефонний код.

url:

URL-адреса

OpenContracting Description: Веб адреса контактної особи/пункту.

availableLanguage:
 

рядок

Можливі значення:

  • uk - українська мова

  • en - англійська мова

  • ru - російська мова

Визначає мови спілкування.

Повинне бути заповнене хоча б одне з полів: або email, або telephone.

Item

Схема

id:

рядок, генерується автоматично

description:

рядок, багатомовний, обов’язковий

OpenContracting Description: Опис товарів та послуг, які повинні бути надані.

classification:

Classification

OpenContracting Description: Початкова класифікація елемента. Дивіться у itemClassificationScheme, щоб визначити бажані списки класифікації, включно з CPV та GSIN.

Класифікація classification.scheme обов’язково повинна бути CPV. classification.id повинно бути дійсним CPV кодом.

additionalClassifications:
 

Список об’єктів Classification

OpenContracting Description: Масив додаткових класифікацій для елемента. Дивіться у список кодів itemClassificationScheme, щоб використати поширені варіанти в OCDS. Також можна використовувати для представлення кодів з внутрішньої схеми класифікації.

Обов’язково мати хоча б один елемент з ДКПП у стрічці scheme.

unit:

Unit

OpenContracting Description: Опис одиниці виміру товару, наприклад, години, кілограми. Складається з назви одиниці та значення однієї одиниці.

quantity:

ціле число

OpenContracting Description: Кількість необхідних одиниць.

deliveryDate:

Period, обов’язково

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

deliveryAddress:
 

Address, обов’язково

Адреса місця, куди елемент повинен бути доставлений.

deliveryLocation:
 

словник

Географічні координати місця доставки. Складається з таких компонентів:

latitude:

рядок, обов’язковий

longitude:

рядок, обов’язковий

elevation:

стрічка, не обов’язково, переважно не використовується

deliveryLocation зазвичай має вищий пріоритет ніж deliveryAddress, якщо вони обидва вказані.

relatedLot:

рядок

ID пов’язаного Lot.

Classification

Схема

scheme:

рядок

OpenContracting Description: Класифікація повинна бути взята з існуючої схеми або списку кодів. Це поле використовується, щоб вказати схему/список кодів, з яких буде братись класифікація. Для класифікацій лінійних елементів це значення повинно представляти відому Схему Класифікації Елементів, де це можливо.

id:

рядок

OpenContracting Description: Код класифікації взятий з вибраної схеми.

description:

рядок

OpenContracting Description: Текстовий опис або назва коду.

uri:

uri

OpenContracting Description: URI для ідентифікації коду. Якщо індивідуальні URI не доступні для елементів у схемі ідентифікації це значення треба залишити пустим.

Unit

Схема

code:

рядок, обов’язковий

Код одиниці в UN/CEFACT Recommendation 20.

name:

рядок

OpenContracting Description: Назва одиниці

Period

Схема

startDate:

рядок, Date

OpenContracting Description: Початкова дата періоду.

endDate:

рядок, Date, обов’язково

OpenContracting Description: Кінцева дата періоду.

Значення startDate завжди повинно йти перед endDate.

Date

Дата/час у Date Format: ISO 8601.

Value

Схема

amount:

float, обов’язково

OpenContracting Description: Кількість як число.

Повинно бути додатнім.

currency:

рядок, обов’язковий

OpenContracting Description: Валюта у трибуквенному форматі ISO 4217.

valueAddedTaxIncluded:
 

bool, обов’язково

Change

Схема

id:

uid, генерується автоматично

Ідентифікатор цієї зміни.

rationale:

рядок, багатомовний, обов’язковий

Опис причини змін договору

rationaleTypes:

Список рядків, обов’язково

Тип причини додання змін до договору

Внесення змін до істотних умов договору можливі у випадках, описаних частиною четвертою статті 36 Закону України “Про публічні закупівлі”.

Можливі значення рядка:

  • volumeCuts - Зменшення обсягів закупівлі

    зменшення обсягів закупівлі, зокрема з урахуванням фактичного обсягу видатків замовника;

  • itemPriceVariation - Зміна ціни за одиницю товару

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

  • qualityImprovement - Покращення якості предмета закупівлі

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

  • durationExtension - Продовження строку дії договору (через документально підтверджені об’єктивні обставини)

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

  • priceReduction - Узгоджене зменшення ціни

    узгоджена зміна ціни в бік зменшення (без зміни кількості (обсягу) та якості товарів, робіт і послуг);

  • taxRate - Зміна ціни у зв’язку із зміною ставок податків і зборів

    зміна ціни у зв’язку із зміною ставок податків і зборів пропорційно до змін таких ставок;

  • thirdParty - Зміна сторонніх показників (курсу, тарифів...)

    зміна встановленого згідно із законодавством органами державної статистики індексу споживчих цін, зміни курсу іноземної валюти, зміни біржових котирувань або показників Platts, регульованих цін (тарифів) і нормативів, які застосовуються в договорі про закупівлю, у разі встановлення в договорі про закупівлю порядку зміни ціни;

  • fiscalYearExtension - Продовження строку дії договору на наступний рік

    зміна умов у зв’язку із застосуванням положень частини п’ятої статті 36.

    Стаття 36 Частина 5: Дія договору про закупівлю може продовжуватися на строк, достатній для проведення процедури закупівлі на початку наступного року, в обсязі, що не перевищує 20 відсотків суми, визначеної в договорі, укладеному в попередньому році, якщо видатки на цю мету затверджено в установленому порядку.

date:

рядок, Date, генерується автоматично

dateSigned:

рядок, Date

contractNumber:

рядок

status:

рядок, обов’язковий

Поточний статус зміни.

Можливі значення:

  • pending - ця зміна додана.

  • active - ця зміна підтверджена/застосована.

Схема роботи

digraph G {
    A [ label="pending*" ]
    B [ label="active"]
     A -> B;
}

* позначає початковий стан

Туторіал

Розглянемо основні правила

Подивимось як працює точка входу /contracts:

GET /api/2.3/contracts HTTP/1.0
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "next_page": {
    "path": "/api/2.3/contracts?offset=",
    "uri": "http://api-sandbox.openprocurement.org/api/2.3/contracts?offset=",
    "offset": ""
  },
  "data": []
}

При виклику видає пустий набір.

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

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

Нехай у нас відбулась закупівля і вона є в статусі complete. Після цього договір, створений в системі закупівель, потрапляє в систему договорів.

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

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

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

GET /api/2.3/tenders/7dc086c4a213492ab9c43b95b43bd817/contracts/bebdbaf7777d4bd39756f3e8872c1f46 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      },
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "c008a4d57c584dafa187ea72647e3cb7",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "value": {
      "currency": "UAH",
      "amount": 500.0,
      "valueAddedTaxIncluded": true
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "date": "2017-06-21T17:53:04.600513+03:00",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "contractID": "UA-2017-06-21-000001-1"
  }
}

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

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

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46 HTTP/1.0
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 500.0,
      "valueAddedTaxIncluded": true
    },
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      },
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "c008a4d57c584dafa187ea72647e3cb7",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "dateModified": "2017-06-21T17:53:04.877904+03:00",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

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

Для того, щоб отримати права для майбутнього редагування договору, необхідно використати таку в’юшку PATCH: /contracts/{id}/credentials?acc_token={tender_token} з API ключем майданчика, де була згенерована закупівля.

В PATCH: /contracts/{id}/credentials?acc_token={tender_token}:

  • id - це ідентифікатор договору,

  • tender_token - це токен закупівлі (використовується для генерування токена договору).

У відповіді буде access.token для договору, який буде використовуватись для модифікації договору.

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/credentials?acc_token=7d16511a9bb949ad9df35d12de325162 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 0
Content-Type: application/json
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "access": {
    "token": "2f1294ae618e49219d85607d17afabf6"
  },
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 500.0,
      "valueAddedTaxIncluded": true
    },
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      },
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "c008a4d57c584dafa187ea72647e3cb7",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "dateModified": "2017-06-21T17:53:04.954121+03:00",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

Переглянемо договори.

GET /api/2.3/contracts HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "next_page": {
    "path": "/api/2.3/contracts?offset=2017-06-21T17%3A53%3A04.954121%2B03%3A00",
    "uri": "http://api-sandbox.openprocurement.org/api/2.3/contracts?offset=2017-06-21T17%3A53%3A04.954121%2B03%3A00",
    "offset": "2017-06-21T17:53:04.954121+03:00"
  },
  "data": [
    {
      "id": "bebdbaf7777d4bd39756f3e8872c1f46",
      "dateModified": "2017-06-21T17:53:04.954121+03:00"
    }
  ]
}

Ми бачимо внутрішнє id договору (що може бути використано для побудови повної URL-адреси, якщо додати http://api-sandbox.openprocurement.org/api/0/contracts/) та його dateModified дату.

Редагування договору

Внесення змін до істотних умов договору можливі у випадках, описаних частиною четвертою статті 36 Закону України “Про публічні закупівлі”.

Істотні умови договору можуть бути змінені поданням нового об’єкта Change в котейнер Contract.changes.

Всі зміни change обробляються точкою входу (endpoint) /contracts/{id}/changes.

Подання зміни

Додамо нову зміну change до договору:

POST /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/changes?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 267
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "rationaleTypes": [
      "volumeCuts",
      "priceReduction"
    ],
    "rationale_en": "Contract change cause",
    "rationale": "Опис причини змін контракту"
  }
}

Response: 201 Created
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "pending",
    "rationaleTypes": [
      "volumeCuts",
      "priceReduction"
    ],
    "rationale_en": "Contract change cause",
    "rationale": "Опис причини змін контракту",
    "date": "2017-06-21T17:53:05.109702+03:00",
    "id": "c382f2a7da3647bbb4e8fea2af514157"
  }
}

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

Ви можете переглянути зміну change:

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/changes/c382f2a7da3647bbb4e8fea2af514157 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "pending",
    "rationaleTypes": [
      "volumeCuts",
      "priceReduction"
    ],
    "rationale_en": "Contract change cause",
    "rationale": "Опис причини змін контракту",
    "date": "2017-06-21T17:53:05.109702+03:00",
    "id": "c382f2a7da3647bbb4e8fea2af514157"
  }
}

Зміну change можна модифікувати доки вона має статус pending.

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/changes/c382f2a7da3647bbb4e8fea2af514157?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 255
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "rationale": "Друга і третя поставка має бути розфасована"
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "pending",
    "rationaleTypes": [
      "volumeCuts",
      "priceReduction"
    ],
    "rationale_en": "Contract change cause",
    "rationale": "Друга і третя поставка має бути розфасована",
    "date": "2017-06-21T17:53:05.109702+03:00",
    "id": "c382f2a7da3647bbb4e8fea2af514157"
  }
}

Завантаження документа зміни

Документ можна додати доки зміна change має статус pending.

Документ додається в два етапи:

  • ви повинні завантажити документ

POST /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 199
Content-Type: multipart/form-data; boundary=----------a_BoUnDaRy995442828706$
Host: api-sandbox.openprocurement.org

Response: 201 Created
Content-Type: application/json; charset=UTF-8
Location: http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7
{
  "data": {
    "title": "contract_changes.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
    "format": "application/msword",
    "documentOf": "contract",
    "datePublished": "2017-06-21T17:53:05.477533+03:00",
    "id": "853ad85f888c403eb64b3db2ce16fed7",
    "dateModified": "2017-06-21T17:53:05.477575+03:00"
  }
}
  • ви повинні задати властивості документа: "documentOf": "change" та "relatedItem": "{change.id}", щоб “прив’язати” завантажений документ до зміни change:

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 85
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "documentOf": "change",
    "relatedItem": "c382f2a7da3647bbb4e8fea2af514157"
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "title": "contract_changes.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
    "format": "application/msword",
    "documentOf": "change",
    "datePublished": "2017-06-21T17:53:05.477533+03:00",
    "id": "853ad85f888c403eb64b3db2ce16fed7",
    "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
    "dateModified": "2017-06-21T17:53:05.477575+03:00"
  }
}

Оновлення властивостей зміни

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

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 144
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "value": {
      "amount": 438
    }
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 438.0,
      "valueAddedTaxIncluded": true
    },
    "documents": [
      {
        "title": "contract_changes.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
        "format": "application/msword",
        "documentOf": "change",
        "datePublished": "2017-06-21T17:53:05.477533+03:00",
        "id": "853ad85f888c403eb64b3db2ce16fed7",
        "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
        "dateModified": "2017-06-21T17:53:05.477575+03:00"
      }
    ],
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      },
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "c008a4d57c584dafa187ea72647e3cb7",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "changes": [
      {
        "status": "pending",
        "rationaleTypes": [
          "volumeCuts",
          "priceReduction"
        ],
        "rationale_en": "Contract change cause",
        "rationale": "Друга і третя поставка має бути розфасована",
        "date": "2017-06-21T17:53:05.109702+03:00",
        "id": "c382f2a7da3647bbb4e8fea2af514157"
      }
    ],
    "dateModified": "2017-06-21T17:53:05.673576+03:00",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

Ми бачимо, що додаткові властивості об’єднані з існуючими даними закупівлі. Додатково оновлена властивість dateModified, щоб відображати останню дату модифікації.

Поля, які можна модифікувати: title, description, status, value.amount, period, items, amountPaid.amount, terminationDetails.

Дивіться приклади зміни елемента (items) нижче. Ви можете:

  • оновити елемент (items):

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 42
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "items": [
      {
        "quantity": 2
      },
      {}
    ]
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 438.0,
      "valueAddedTaxIncluded": true
    },
    "documents": [
      {
        "title": "contract_changes.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
        "format": "application/msword",
        "documentOf": "change",
        "datePublished": "2017-06-21T17:53:05.477533+03:00",
        "id": "853ad85f888c403eb64b3db2ce16fed7",
        "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
        "dateModified": "2017-06-21T17:53:05.477575+03:00"
      }
    ],
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 2
      },
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "c008a4d57c584dafa187ea72647e3cb7",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "changes": [
      {
        "status": "pending",
        "rationaleTypes": [
          "volumeCuts",
          "priceReduction"
        ],
        "rationale_en": "Contract change cause",
        "rationale": "Друга і третя поставка має бути розфасована",
        "date": "2017-06-21T17:53:05.109702+03:00",
        "id": "c382f2a7da3647bbb4e8fea2af514157"
      }
    ],
    "dateModified": "2017-06-21T17:53:05.807714+03:00",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}
  • видалити елемент (items):

Request example for cases when contract has several items:

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 1160
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 2
      }
    ]
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 438.0,
      "valueAddedTaxIncluded": true
    },
    "documents": [
      {
        "title": "contract_changes.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
        "format": "application/msword",
        "documentOf": "change",
        "datePublished": "2017-06-21T17:53:05.477533+03:00",
        "id": "853ad85f888c403eb64b3db2ce16fed7",
        "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
        "dateModified": "2017-06-21T17:53:05.477575+03:00"
      }
    ],
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 2
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "changes": [
      {
        "status": "pending",
        "rationaleTypes": [
          "volumeCuts",
          "priceReduction"
        ],
        "rationale_en": "Contract change cause",
        "rationale": "Друга і третя поставка має бути розфасована",
        "date": "2017-06-21T17:53:05.109702+03:00",
        "id": "c382f2a7da3647bbb4e8fea2af514157"
      }
    ],
    "dateModified": "2017-06-21T17:53:05.942313+03:00",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

Застосування зміни

Зміна change застосовується при переключенні в статус active.

Щоб застосувати статус active потрібно встановити поле dateSigned.

ПІсля цього модифікувати зміну change вже не можна.

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/changes/c382f2a7da3647bbb4e8fea2af514157?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 80
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "status": "active",
    "dateSigned": "2017-06-21T17:53:05.978602+03:00"
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "rationaleTypes": [
      "volumeCuts",
      "priceReduction"
    ],
    "rationale_en": "Contract change cause",
    "dateSigned": "2017-06-21T17:53:05.978602+03:00",
    "rationale": "Друга і третя поставка має бути розфасована",
    "date": "2017-06-21T17:53:06.002992+03:00",
    "id": "c382f2a7da3647bbb4e8fea2af514157"
  }
}

Валідація поля dateSigned:

  • для першої зміни change договору дата повинна бути після contract.dateSigned;

  • для всіх наступних змін change договору дата повинна бути після попередньої дати change.dateSigned.

Ви можете переглянути всі зміни:

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/changes HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": [
    {
      "status": "active",
      "rationaleTypes": [
        "volumeCuts",
        "priceReduction"
      ],
      "rationale_en": "Contract change cause",
      "dateSigned": "2017-06-21T17:53:05.978602+03:00",
      "rationale": "Друга і третя поставка має бути розфасована",
      "date": "2017-06-21T17:53:06.002992+03:00",
      "id": "c382f2a7da3647bbb4e8fea2af514157"
    }
  ]
}

Всі зміни присутні при перегляді контракту.

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "active",
    "value": {
      "currency": "UAH",
      "amount": 438.0,
      "valueAddedTaxIncluded": true
    },
    "documents": [
      {
        "title": "contract_changes.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
        "format": "application/msword",
        "documentOf": "change",
        "datePublished": "2017-06-21T17:53:05.477533+03:00",
        "id": "853ad85f888c403eb64b3db2ce16fed7",
        "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
        "dateModified": "2017-06-21T17:53:05.477575+03:00"
      }
    ],
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 2
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "changes": [
      {
        "status": "active",
        "rationaleTypes": [
          "volumeCuts",
          "priceReduction"
        ],
        "rationale_en": "Contract change cause",
        "dateSigned": "2017-06-21T17:53:05.978602+03:00",
        "rationale": "Друга і третя поставка має бути розфасована",
        "date": "2017-06-21T17:53:06.002992+03:00",
        "id": "c382f2a7da3647bbb4e8fea2af514157"
      }
    ],
    "dateModified": "2017-06-21T17:53:06.006808+03:00",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

Завантаження документації

Замовник може завантажити PDF файл у створений договір. Завантаження повинно відбуватись згідно правил Documents Uploading.

POST /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 191
Content-Type: multipart/form-data; boundary=----------a_BoUnDaRy679645668448$
Host: api-sandbox.openprocurement.org

Response: 201 Created
Content-Type: application/json; charset=UTF-8
Location: http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/398c861329694c5fb8aad22169159606
{
  "data": {
    "title": "contract.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/398c861329694c5fb8aad22169159606?download=a0d8357d8aca4a81aafce6912df0a6f7",
    "format": "application/msword",
    "documentOf": "contract",
    "datePublished": "2017-06-21T17:53:06.124541+03:00",
    "id": "398c861329694c5fb8aad22169159606",
    "dateModified": "2017-06-21T17:53:06.124581+03:00"
  }
}

Код відповіді 201 Created та заголовок Location підтверджують, що документ було створено. Додатково можна зробити запит точки входу API колекції документів, щоб підтвердити дію:

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": [
    {
      "title": "contract_changes.doc",
      "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
      "format": "application/msword",
      "documentOf": "change",
      "datePublished": "2017-06-21T17:53:05.477533+03:00",
      "id": "853ad85f888c403eb64b3db2ce16fed7",
      "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
      "dateModified": "2017-06-21T17:53:05.477575+03:00"
    },
    {
      "title": "contract.doc",
      "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/398c861329694c5fb8aad22169159606?download=a0d8357d8aca4a81aafce6912df0a6f7",
      "format": "application/msword",
      "documentOf": "contract",
      "datePublished": "2017-06-21T17:53:06.124541+03:00",
      "id": "398c861329694c5fb8aad22169159606",
      "dateModified": "2017-06-21T17:53:06.124581+03:00"
    }
  ]
}

І знову можна перевірити, що є два завантажених документа.

POST /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 215
Content-Type: multipart/form-data; boundary=----------a_BoUnDaRy730885500672$
Host: api-sandbox.openprocurement.org

Response: 201 Created
Content-Type: application/json; charset=UTF-8
Location: http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1
{
  "data": {
    "title": "contract_additional_docs.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=e071206d6e464a2590fa505a5ba91c3d",
    "format": "application/msword",
    "documentOf": "contract",
    "datePublished": "2017-06-21T17:53:06.232704+03:00",
    "id": "167427d8f0ed431784f1a9b7dafe91b1",
    "dateModified": "2017-06-21T17:53:06.232747+03:00"
  }
}

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

PUT /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 226
Content-Type: multipart/form-data; boundary=----------a_BoUnDaRy0158879343206$
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "title": "contract_additional_docs.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=f9f4d77eb7fb4dfba28f96e89993e75e",
    "format": "application/msword",
    "documentOf": "contract",
    "datePublished": "2017-06-21T17:53:06.232704+03:00",
    "id": "167427d8f0ed431784f1a9b7dafe91b1",
    "dateModified": "2017-06-21T17:53:06.301704+03:00"
  }
}

І ми бачимо, що вона перекриває оригінальну версію:

GET /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: api-sandbox.openprocurement.org

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "title": "contract_additional_docs.doc",
    "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=f9f4d77eb7fb4dfba28f96e89993e75e",
    "format": "application/msword",
    "documentOf": "contract",
    "datePublished": "2017-06-21T17:53:06.232704+03:00",
    "previousVersions": [
      {
        "title": "contract_additional_docs.doc",
        "url": "/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=e071206d6e464a2590fa505a5ba91c3d",
        "format": "application/msword",
        "documentOf": "contract",
        "datePublished": "2017-06-21T17:53:06.232704+03:00",
        "id": "167427d8f0ed431784f1a9b7dafe91b1",
        "dateModified": "2017-06-21T17:53:06.232747+03:00"
      }
    ],
    "id": "167427d8f0ed431784f1a9b7dafe91b1",
    "dateModified": "2017-06-21T17:53:06.301704+03:00"
  }
}

Завершення договору

Перед завершенням договору необхідно встановити значення поля amountPaid (незалежно від того успішний договір чи ні). Договір можна завершити переключенням у статус terminated. Виконаємо ці дії єдиним запитом:

PATCH /api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46?acc_token=2f1294ae618e49219d85607d17afabf6 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 65
Content-Type: application/json
Host: api-sandbox.openprocurement.org
DATA:
{
  "data": {
    "status": "terminated",
    "amountPaid": {
      "amount": 430
    }
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "status": "terminated",
    "value": {
      "currency": "UAH",
      "amount": 438.0,
      "valueAddedTaxIncluded": true
    },
    "changes": [
      {
        "status": "active",
        "rationaleTypes": [
          "volumeCuts",
          "priceReduction"
        ],
        "rationale_en": "Contract change cause",
        "dateSigned": "2017-06-21T17:53:05.978602+03:00",
        "rationale": "Друга і третя поставка має бути розфасована",
        "date": "2017-06-21T17:53:06.002992+03:00",
        "id": "c382f2a7da3647bbb4e8fea2af514157"
      }
    ],
    "documents": [
      {
        "title": "contract_changes.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/853ad85f888c403eb64b3db2ce16fed7?download=6b9d115c4fa94edb8d1f07615ed5b85c",
        "format": "application/msword",
        "documentOf": "change",
        "datePublished": "2017-06-21T17:53:05.477533+03:00",
        "id": "853ad85f888c403eb64b3db2ce16fed7",
        "relatedItem": "c382f2a7da3647bbb4e8fea2af514157",
        "dateModified": "2017-06-21T17:53:05.477575+03:00"
      },
      {
        "title": "contract.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/398c861329694c5fb8aad22169159606?download=a0d8357d8aca4a81aafce6912df0a6f7",
        "format": "application/msword",
        "documentOf": "contract",
        "datePublished": "2017-06-21T17:53:06.124541+03:00",
        "id": "398c861329694c5fb8aad22169159606",
        "dateModified": "2017-06-21T17:53:06.124581+03:00"
      },
      {
        "title": "contract_additional_docs.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=e071206d6e464a2590fa505a5ba91c3d",
        "format": "application/msword",
        "documentOf": "contract",
        "datePublished": "2017-06-21T17:53:06.232704+03:00",
        "id": "167427d8f0ed431784f1a9b7dafe91b1",
        "dateModified": "2017-06-21T17:53:06.232747+03:00"
      },
      {
        "title": "contract_additional_docs.doc",
        "url": "http://api-sandbox.openprocurement.org/api/2.3/contracts/bebdbaf7777d4bd39756f3e8872c1f46/documents/167427d8f0ed431784f1a9b7dafe91b1?download=f9f4d77eb7fb4dfba28f96e89993e75e",
        "format": "application/msword",
        "documentOf": "contract",
        "datePublished": "2017-06-21T17:53:06.232704+03:00",
        "id": "167427d8f0ed431784f1a9b7dafe91b1",
        "dateModified": "2017-06-21T17:53:06.301704+03:00"
      }
    ],
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2017-06-23T17:53:02.070092+03:00",
          "endDate": "2017-06-26T17:53:02.070092+03:00"
        },
        "id": "f8a311c2c9a34ff08bdf59bbc8092348",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 2
      }
    ],
    "suppliers": [
      {
        "contactPoint": {
          "name": "Державне управління справами",
          "telephone": "0440000000"
        },
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00037256",
          "uri": "http://www.dus.gov.ua/"
        },
        "name": "Державне управління справами",
        "address": {
          "postalCode": "01220",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова, 11, корпус 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        }
      }
    ],
    "period": {
      "startDate": "2017-06-21T17:53:05.582663+03:00",
      "endDate": "2017-07-21T17:53:05.582718+03:00"
    },
    "dateSigned": "2017-06-21T17:53:04.594612+03:00",
    "id": "bebdbaf7777d4bd39756f3e8872c1f46",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "contractID": "UA-2017-06-21-000001-1",
    "owner": "broker",
    "awardID": "2f549474497c475b8023d51845cbb2bd",
    "amountPaid": {
      "currency": "UAH",
      "amount": 430.0,
      "valueAddedTaxIncluded": true
    },
    "dateModified": "2017-06-21T17:53:06.561834+03:00",
    "tender_id": "7dc086c4a213492ab9c43b95b43bd817"
  }
}

Зверніть увагу, що ви можете встановлювати/змінювати значення amountPaid.amount. А значення полів amountPaid.currency і amountPaid.valueAddedTaxIncluded генеруються з поля Contract.value.

Якщо договір неуспішний, то потрібно вказати причини його припинення terminationDetails.

Після цього додання змін до договору не дозволяється.

API Довідник

Індекси та таблиці