Туторіал

Базові правила

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

GET /api/2.5/agreements HTTP/1.0
Host: lb-api-sandbox.prozorro.gov.ua

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": [],
  "next_page": {
    "offset": "",
    "path": "/api/2.5/agreements?offset=",
    "uri": "http://lb-api-sandbox.prozorro.gov.ua/api/2.5/agreements?offset="
  }
}

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

Угода автоматично переноситься з модуля тендера.

Створення реєстру

Припустимо, що є кваліфікація, заявка та рішення по заявці в статусах active. Коли заявка в стаусі active і ви оновлюєте рішення по заявці до active статусу система автоматично створює реєстр(з кваліфікації) з контрактом(з рішення по заявці).

Отримання реєстру

Перевіримо нашу кваліфікацію:

GET /api/2.5/frameworks/d1274eabb3694d9db3ba73681d6ed0dd HTTP/1.0
Authorization: Bearer token
Host: lb-api-sandbox.prozorro.gov.ua

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "prettyID": "UA-F-2021-03-16-000001",
    "title": "Узагальнена назва закупівлі",
    "description": "Назва предмета закупівлі",
    "date": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-04-01T01:00:00+03:00",
    "owner": "test",
    "status": "active",
    "period": {
      "startDate": "2021-03-16T00:00:00+02:00",
      "endDate": "2021-04-15T00:00:00+02:00"
    },
    "qualificationPeriod": {
      "startDate": "2021-03-26T00:00:00+02:00",
      "endDate": "2021-05-16T00:00:00+02:00"
    },
    "enquiryPeriod": {
      "startDate": "2021-03-16T00:00:00+02:00",
      "endDate": "2021-03-26T00:00:00+02:00"
    },
    "frameworkType": "electronicCatalogue",
    "procuringEntity": {
      "name": "Повна назва юридичної організації.",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "40996564",
        "legalName": "Назва організації(ЦЗО)"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Назва організації(ЦЗО)",
        "email": "aa@aa.com",
        "telephone": "+0440000000"
      },
      "kind": "central"
    },
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "agreementID": "2c88cbfb9f454f82976cb11006b46885",
    "id": "d1274eabb3694d9db3ba73681d6ed0dd",
    "next_check": "2021-04-13T00:00:00+02:00"
  }
}

В нашій кваліфікації ви можете знайти поле agreementID в якому зберегіється ідентифікатор пов’язоного реєстру. Тепер ми можемо отримати на реєстр:

GET /api/2.5/agreements/2c88cbfb9f454f82976cb11006b46885 HTTP/1.0
Authorization: Bearer token
Host: lb-api-sandbox.prozorro.gov.ua

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "id": "2c88cbfb9f454f82976cb11006b46885",
    "agreementID": "UA-2021-04-01-000001",
    "status": "active",
    "date": "2021-04-01T01:00:00+03:00",
    "dateModified": "2021-04-01T01:00:00+03:00",
    "owner": "test",
    "agreementType": "electronicCatalogue",
    "frameworkID": "d1274eabb3694d9db3ba73681d6ed0dd",
    "period": {
      "startDate": "2021-04-01T01:00:00+03:00",
      "endDate": "2021-05-16T00:00:00+02:00"
    },
    "procuringEntity": {
      "name": "Повна назва юридичної організації.",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "40996564",
        "legalName": "Назва організації(ЦЗО)"
      },
      "address": {
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220"
      },
      "contactPoint": {
        "name": "Назва організації(ЦЗО)",
        "email": "aa@aa.com",
        "telephone": "+0440000000"
      },
      "kind": "central"
    },
    "classification": {
      "description": "Mustard seeds",
      "scheme": "ДК021",
      "id": "03111600-8"
    },
    "additionalClassifications": [
      {
        "scheme": "ДК003",
        "id": "17.21.1",
        "description": "папір і картон гофровані, паперова й картонна тара"
      }
    ],
    "contracts": [
      {
        "id": "53366f7e1d7d453b9241a14615ff29a8",
        "qualificationID": "05d1cb43d20a4c558a24474dee8c8dd3",
        "status": "active",
        "submissionID": "42965fa7e82b42a289fbe8a3206b3581",
        "suppliers": [
          {
            "name": "ДКП «Школяр»",
            "identifier": {
              "scheme": "UA-EDR",
              "id": "00137256",
              "uri": "http://www.sc.gov.ua/"
            },
            "address": {
              "streetAddress": "вул. Островського, 33",
              "locality": "м. Вінниця",
              "region": "Вінницька область",
              "postalCode": "21100",
              "countryName": "Україна"
            },
            "contactPoint": {
              "name": "Сергій Олексюк",
              "email": "soleksuk@gmail.com",
              "telephone": "+380432216930"
            },
            "scale": "micro"
          }
        ],
        "milestones": [
          {
            "id": "89cb8eac041549eabe8ea8de2d78e195",
            "type": "activation",
            "status": "scheduled",
            "dueDate": "2021-05-16T00:00:00+02:00",
            "dateModified": "2021-04-01T01:00:00+03:00"
          }
        ],
        "date": "2021-04-01T01:00:00+03:00"
      },
      {
        "id": "391acac5215446eeb6fc77beaa747403",
        "qualificationID": "281dd54719ce43a58e8c4cab10c627b0",
        "status": "active",
        "submissionID": "0be27726372147fd9cb86c0e08873c15",
        "suppliers": [
          {
            "name": "ДКП «Школяр»",
            "identifier": {
              "scheme": "UA-EDR",
              "id": "00137257",
              "uri": "http://www.sc.gov.ua/"
            },
            "address": {
              "streetAddress": "вул. Островського, 33",
              "locality": "м. Вінниця",
              "region": "Вінницька область",
              "postalCode": "21100",
              "countryName": "Україна"
            },
            "contactPoint": {
              "name": "Сергій Олексюк",
              "email": "soleksuk@gmail.com",
              "telephone": "+380432216930"
            },
            "scale": "micro"
          }
        ],
        "milestones": [
          {
            "id": "3fe881cc13824149bb8f655de17cae47",
            "type": "activation",
            "status": "scheduled",
            "dueDate": "2021-05-16T00:00:00+02:00",
            "dateModified": "2021-04-01T01:00:00+03:00"
          }
        ],
        "date": "2021-04-01T01:00:00+03:00"
      }
    ],
    "next_check": "2021-05-16T00:00:00+02:00"
  }
}

Зміна реєстру

Всі операцї над реєстром може виконувати лише framework_owner. Лише одна річ, яку може робити framework_owner це додавати майлстони до контракту.

Контракт - об’єкт що зберігає інформацію про учасника.

Майлстон - це історія контраку.

Бан контракту

Для того щоб забанити контракт, потрібно лише створити майлстон зі статусом ban:

POST /api/2.5/agreements/2c88cbfb9f454f82976cb11006b46885/contracts/53366f7e1d7d453b9241a14615ff29a8/milestones?acc_token=dd875ed1c80d40c38602ee0c12d1374b HTTP/1.0
Authorization: Bearer token
Content-Length: 499
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "type": "ban",
    "documents": [
      {
        "hash": "md5:00000000000000000000000000000000",
        "title": "milestone.doc",
        "format": "application/msword",
        "datePublished": "2020-09-08T01:00:00+03:00",
        "id": "cd52b90af77e4f5b8cb0f210e83987b5",
        "dateModified": "2020-09-08T01:00:00+03:00",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/a93994f065df4d3ca64b444542d551af?Signature=%2BNZZ8%2BIb30igB2SXP64vkhVPx55JtgjaDVmG8aTdIRpE%2FHw2buxAhU0WbBBsj%2BA%2Brv1WmgJ4Fz49XON7gek4Bg%3D%3D&KeyID=a8968c46"
      }
    ]
  }
}

Response: 201 Created
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "id": "44a9a193da9d4886b988a4863372bf29",
    "type": "ban",
    "status": "scheduled",
    "documents": [
      {
        "id": "d0ef917276b1483594d290e21063e857",
        "hash": "md5:00000000000000000000000000000000",
        "title": "milestone.doc",
        "format": "application/msword",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/a93994f065df4d3ca64b444542d551af?Signature=ssBl83MWeot5d8sSBJb2t%2FjtQfgSoyUUn2h20%2BrYm6aGNPkRW0PrdrMCQ4iyBjCYoSov83mdaHr4lCi5qfofBg%3D%3D&KeyID=a8968c46",
        "datePublished": "2021-04-01T01:00:00+03:00",
        "dateModified": "2021-04-01T01:00:00+03:00"
      }
    ],
    "dateModified": "2021-04-01T01:00:00+03:00",
    "dueDate": "2021-07-01T00:00:00+03:00"
  }
}

Дискваліфікація контракту

Для дискваліфікації контракту, потрібно додати майлстон до контракту в статусі disqualification:

POST /api/2.5/agreements/2c88cbfb9f454f82976cb11006b46885/contracts/391acac5215446eeb6fc77beaa747403/milestones?acc_token=dd875ed1c80d40c38602ee0c12d1374b HTTP/1.0
Authorization: Bearer token
Content-Length: 506
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "type": "disqualification",
    "documents": [
      {
        "hash": "md5:00000000000000000000000000000000",
        "title": "milestone.doc",
        "format": "application/msword",
        "datePublished": "2020-09-08T01:00:00+03:00",
        "id": "cd52b90af77e4f5b8cb0f210e83987b5",
        "dateModified": "2020-09-08T01:00:00+03:00",
        "url": "http://public-docs-sandbox.prozorro.gov.ua/get/a117dbccdbe947eb832962bc34a243b2?Signature=7UD43Grdv0LqSgZPiWN8c73GzI9n4P7qRXNGKGWk2zpiW4%2BFQzKx%2Fw2Qt1Nz2vH8UUYz8GS6ykrhhVDJAMVGDQ%3D%3D&KeyID=a8968c46"
      }
    ]
  }
}