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

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

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

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

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

PATCH /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/credentials?acc_token=cb43a6ebac1af6a2f9f8bbbe823e917271caf0cc9675013f26478eeed8030605a96a6e856b34063dd1696510aced32e8c3d41448c2a395e5aa1bae4531fdbb6c HTTP/1.0
Authorization: Bearer broker
Content-Length: 12
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": ""
}

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "id": "2b264b733b7546749561d03ffa5e7971",
    "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"
    },
    "dateSigned": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-03-16T00:00:00+02:00",
    "items": [
      {
        "id": "c6c6e8ed4b1542e4bf13d3f98ec5ab59",
        "description": "футляри до державних нагород",
        "unit": {
          "name": "item",
          "code": "44617100-9"
        },
        "quantity": 5.0,
        "deliveryDate": {
          "startDate": "2016-03-20T18:47:47.136678+02:00",
          "endDate": "2016-03-23T18:47:47.136678+02:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "classification": {
          "description": "Cartons",
          "scheme": "CPV",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ]
      }
    ],
    "tender_id": "232024f88849442aae6b031afd11a28b",
    "owner": "broker",
    "status": "active",
    "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": "+380 (322) 91-69-30"
        }
      }
    ],
    "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"
      }
    },
    "value": {
      "amount": 238.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 237.0
    }
  },
  "access": {
    "token": "aea7d4af9665400f944ae12ac26ae04e",
    "transfer": "3f800b21f7514e47bf1b065360138f85"
  }
}

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

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

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

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

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

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

POST /api/2.5/transfers HTTP/1.0
Authorization: Bearer broker3
Content-Length: 12
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {}
}

Response: 201 Created
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "date": "2021-03-16T00:00:00+02:00",
    "id": "d1ef34a0f35740e5961646fccef522e4"
  },
  "access": {
    "token": "bdba313e349b45718d574fead77a65e1",
    "transfer": "537da892b56447b6b92d9988713d9838"
  }
}

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

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

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

Дозволено Не дозволено
active

pending

terminated

cancelled

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

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer broker3
Content-Length: 100
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "id": "d1ef34a0f35740e5961646fccef522e4",
    "transfer": "3f800b21f7514e47bf1b065360138f85"
  }
}

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "id": "2b264b733b7546749561d03ffa5e7971",
    "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"
    },
    "dateSigned": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-03-16T00:00:00+02:00",
    "items": [
      {
        "id": "c6c6e8ed4b1542e4bf13d3f98ec5ab59",
        "description": "футляри до державних нагород",
        "unit": {
          "name": "item",
          "code": "44617100-9"
        },
        "quantity": 5.0,
        "deliveryDate": {
          "startDate": "2016-03-20T18:47:47.136678+02:00",
          "endDate": "2016-03-23T18:47:47.136678+02:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "classification": {
          "description": "Cartons",
          "scheme": "CPV",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ]
      }
    ],
    "tender_id": "232024f88849442aae6b031afd11a28b",
    "owner": "broker3",
    "status": "active",
    "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": "+380 (322) 91-69-30"
        }
      }
    ],
    "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"
      }
    },
    "value": {
      "amount": 238.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 237.0
    }
  }
}

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

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

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

GET /api/2.5/transfers/d1ef34a0f35740e5961646fccef522e4 HTTP/1.0
Authorization: Bearer broker3
Host: lb-api-sandbox.prozorro.gov.ua

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "date": "2021-03-16T00:00:00+02:00",
    "usedFor": "/contracts/2b264b733b7546749561d03ffa5e7971",
    "id": "d1ef34a0f35740e5961646fccef522e4"
  }
}

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

PATCH /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971?acc_token=bdba313e349b45718d574fead77a65e1 HTTP/1.0
Authorization: Bearer broker3
Content-Length: 64
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "description": "broker3 now can change the contract"
  }
}

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "id": "2b264b733b7546749561d03ffa5e7971",
    "awardID": "8481d7eb01694c25b18658036c236c5d",
    "contractID": "UA-2016-03-18-000001-1",
    "contractNumber": "contract #13111",
    "description": "broker3 now can change the contract",
    "period": {
      "startDate": "2016-03-18T18:47:47.155143+02:00",
      "endDate": "2017-03-18T18:47:47.155143+02:00"
    },
    "dateSigned": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-03-16T00:00:00+02:00",
    "items": [
      {
        "id": "c6c6e8ed4b1542e4bf13d3f98ec5ab59",
        "description": "футляри до державних нагород",
        "unit": {
          "name": "item",
          "code": "44617100-9"
        },
        "quantity": 5.0,
        "deliveryDate": {
          "startDate": "2016-03-20T18:47:47.136678+02:00",
          "endDate": "2016-03-23T18:47:47.136678+02:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "classification": {
          "description": "Cartons",
          "scheme": "CPV",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ]
      }
    ],
    "tender_id": "232024f88849442aae6b031afd11a28b",
    "owner": "broker3",
    "status": "active",
    "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": "+380 (322) 91-69-30"
        }
      }
    ],
    "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"
      }
    },
    "value": {
      "amount": 238.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true,
      "amountNet": 237.0
    }
  }
}

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

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer broker2
Content-Length: 100
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "id": "1e23e422158242a9a7155e9ccfeabfbf",
    "transfer": "3f800b21f7514e47bf1b065360138f85"
  }
}

Response: 403 Forbidden
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "status": "error",
  "errors": [
    {
      "location": "url",
      "name": "accreditation",
      "description": "Broker Accreditation level does not permit ownership change"
    }
  ]
}

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

POST /api/2.5/contracts/2b264b733b7546749561d03ffa5e7971/ownership HTTP/1.0
Authorization: Bearer broker
Content-Length: 100
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "id": "035f6c48e39b451ba8dd2addc06bebee",
    "transfer": "3f800b21f7514e47bf1b065360138f85"
  }
}

Response: 403 Forbidden
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "status": "error",
  "errors": [
    {
      "location": "url",
      "name": "accreditation",
      "description": "Owner Accreditation level does not permit ownership change"
    }
  ]
}