Приклад для договору

Зміна власника договору

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

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

Спочатку отримаємо доступ до договору:

Request

PATCH /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/credentials?acc_token=cb43a6ebac1af6a2f9f8bbbe823e917271caf0cc9675013f26478eeed8030605a96a6e856b34063dd1696510aced32e8c3d41448c2a395e5aa1bae4531fdbb6c HTTP/1.0
Authorization: Bearer brokerx
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": ""
}

Response

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

{
  "data": {
    "awardID": "8481d7eb01694c25b18658036c236c5d",
    "contractID": "UA-2016-03-18-000001-1",
    "contractNumber": "contract #13111",
    "period": {
      "startDate": "2016-03-18T18:47:47.155143+02:00",
      "endDate": "2017-03-18T18:47:47.155143+02:00"
    },
    "value": {
      "amount": 238.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 237.0
    },
    "items": [
      {
        "id": "c6c6e8ed4b1542e4bf13d3f98ec5ab59",
        "description": "футляри до державних нагород",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "CPV",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.8,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "deliveryDate": {
          "startDate": "2016-03-20T18:47:47.136678+02:00",
          "endDate": "2016-03-23T18:47:47.136678+02:00"
        }
      }
    ],
    "suppliers": [
      {
        "name": "ДКП «Книга»",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137226",
          "uri": "http://www.sc.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Островського, 34",
          "locality": "м. Львів",
          "region": "Львівська область",
          "postalCode": "79013",
          "countryName": "Україна"
        },
        "contactPoint": {
          "name": "Андрій Олексюк",
          "email": "aagt@gmail.com",
          "telephone": "+380322916930"
        }
      }
    ],
    "owner": "brokerx",
    "tender_id": "232024f88849442aae6b031afd11a28b",
    "status": "active",
    "dateSigned": "2023-10-10T01:00:00+03:00",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      }
    },
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "2b264b733b7546749561d03ffa5e7971"
  },
  "config": {
    "restricted": false
  },
  "access": {
    "token": "8d19b16d50724c8ea5cc3c9dcede3832",
    "transfer": "97d050219a734eb791b1fee00b50d095"
  }
}

Майданчик broker є поточним власником owner договору.

Зверніть увагу, що секція відповіді access містить ключ transfer, який використовується для зміни власника договору.

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

Ініціація зміни власника

Перш за все, необхідно знати ID договору, власника якого ви хочете змінити.

Майданчик, що стане новим власником договору, повинен створити об’єкт Transfer.

Request

POST /api/2.5/transfers HTTP/1.0
Authorization: Bearer broker3
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {}
}

Response

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

{
  "data": {
    "date": "2023-10-10T01:00:00+03:00",
    "id": "0a30abb09f71439fa89d9a4c5bb50ea4"
  },
  "access": {
    "token": "08f1d49be1284d93b4a95928f9028b33",
    "transfer": "9763efce634449088e1683021b9db077"
  }
}

Об’єкт Transfer містить новий ключ доступу token та новий ключ transfer для об’єкта, власник якого буде змінений.

Зміна власника договору

Можливість зміни власника договору залежить від статусу договору:

Дозволено

Не дозволено

active

pending

terminated

cancelled

Щоб змінити власника договору новий майданчик повинен надіслати POST запит на відповідний /contracts/id/ з секцією data, що міститиме ідентифікатор id для Transfer та ключ transfer отриманий від клієнта:

Request

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer broker3
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "id": "0a30abb09f71439fa89d9a4c5bb50ea4",
    "transfer": "97d050219a734eb791b1fee00b50d095"
  }
}

Response

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

{
  "data": {
    "owner": "broker3",
    "id": "2b264b733b7546749561d03ffa5e7971"
  }
}

Оновлене значення властивості owner вказує, що власник був успішно змінений.

Зверніть увагу, що новий майданчик повинен довести до відома клієнта новий ключ transfer (згенерований в об’єкті Transfer).

Можна перевірити чи після застосування об’єкта Transfer шлях до договору зберігається у властивості usedFor.

Request

GET /api/2.5/transfers/0a30abb09f71439fa89d9a4c5bb50ea4 HTTP/1.0
Authorization: Bearer broker3
Host: public-api-sandbox.prozorro.gov.ua

Response

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

{
  "data": {
    "date": "2023-10-10T01:00:00+03:00",
    "usedFor": "/contracts/2b264b733b7546749561d03ffa5e7971",
    "id": "0a30abb09f71439fa89d9a4c5bb50ea4"
  }
}

Спробуємо змінити договір за допомогою ключа token, отриманого при створенні об’єкта Transfer.

Request

PATCH /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971?acc_token=08f1d49be1284d93b4a95928f9028b33 HTTP/1.0
Authorization: Bearer broker3
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "broker3 now can change the contract"
  }
}

Response

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

{
  "data": {
    "awardID": "8481d7eb01694c25b18658036c236c5d",
    "contractID": "UA-2016-03-18-000001-1",
    "contractNumber": "contract #13111",
    "description": "broker3 now can change the contract",
    "dateSigned": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "items": [
      {
        "id": "c6c6e8ed4b1542e4bf13d3f98ec5ab59",
        "description": "футляри до державних нагород",
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "CPV",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "value": {
            "amount": 20.8,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "deliveryDate": {
          "startDate": "2016-03-20T18:47:47.136678+02:00",
          "endDate": "2016-03-23T18:47:47.136678+02:00"
        }
      }
    ],
    "tender_id": "232024f88849442aae6b031afd11a28b",
    "owner": "broker3",
    "status": "active",
    "period": {
      "startDate": "2016-03-18T18:47:47.155143+02:00",
      "endDate": "2017-03-18T18:47:47.155143+02:00"
    },
    "suppliers": [
      {
        "name": "ДКП «Книга»",
        "identifier": {
          "scheme": "UA-EDR",
          "id": "00137226",
          "uri": "http://www.sc.gov.ua/"
        },
        "address": {
          "streetAddress": "вул. Островського, 34",
          "locality": "м. Львів",
          "region": "Львівська область",
          "postalCode": "79013",
          "countryName": "Україна"
        },
        "contactPoint": {
          "name": "Андрій Олексюк",
          "email": "aagt@gmail.com",
          "telephone": "+380322916930"
        }
      }
    ],
    "value": {
      "amount": 238.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 237.0
    },
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      }
    },
    "id": "2b264b733b7546749561d03ffa5e7971"
  },
  "config": {
    "restricted": false
  }
}

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

Request

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer broker2
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "id": "1a24daa0b7ff4c3aa2a7e9986dc0fba2",
    "transfer": "97d050219a734eb791b1fee00b50d095"
  }
}

Response

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

{
  "status": "error",
  "errors": [
    {
      "location": "url",
      "name": "accreditation",
      "description": "Broker Accreditation level does not permit ownership change"
    }
  ]
}

Зміна власника дозволена тільки якщо поточний власник тендера має спеціальний рівень акредетації, що дозволяє зміну:

Request

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer brokerx
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "id": "b0ad624db0924215957296c3c371e069",
    "transfer": "97d050219a734eb791b1fee00b50d095"
  }
}

Response

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

{
  "status": "error",
  "errors": [
    {
      "location": "url",
      "name": "accreditation",
      "description": "Owner Accreditation level does not permit ownership change"
    }
  ]
}