Example for Tender

Tender ownership change

Let’s view transfer example for tender.

Tender creation

At first let’s create a tender:

Request

POST /api/2.5/tenders?opt_pretty=1 HTTP/1.0
Authorization: Bearer brokerx
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "title": "футляри до державних нагород",
    "mainProcurementCategory": "goods",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/",
        "legalName": "Державне управління справами"
      },
      "address": {
        "countryName": "Україна",
        "postalCode": "01220",
        "region": "м. Київ",
        "locality": "м. Київ",
        "streetAddress": "вул. Банкова, 11, корпус 1"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      },
      "kind": "general"
    },
    "value": {
      "amount": 500,
      "currency": "UAH"
    },
    "minimalStep": {
      "amount": 15,
      "currency": "UAH"
    },
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "id": "44617100-9",
          "description": "Cartons"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кг",
          "code": "KGM",
          "value": {
            "amount": 6
          }
        },
        "quantity": 5,
        "deliveryDate": {
          "startDate": "2023-10-12T01:00:00+03:00",
          "endDate": "2023-10-15T01:00:00+03:00"
        },
        "deliveryAddress": {
          "countryName": "Україна",
          "postalCode": "79000",
          "region": "м. Київ",
          "locality": "м. Київ",
          "streetAddress": "вул. Банкова 1"
        }
      }
    ],
    "enquiryPeriod": {
      "endDate": "2023-10-17T01:00:00+03:00"
    },
    "tenderPeriod": {
      "endDate": "2023-10-24T01:00:00+03:00"
    },
    "procurementMethodType": "belowThreshold",
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "code": "prepayment",
        "type": "financing",
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0,
        "percentage": 45.55
      },
      {
        "title": "deliveryOfGoods",
        "code": "postpayment",
        "type": "financing",
        "duration": {
          "days": 900,
          "type": "calendar"
        },
        "sequenceNumber": 0,
        "percentage": 54.45
      }
    ]
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "hasPrequalification": false,
    "minBidsNumber": 1,
    "hasPreSelectionAgreement": false,
    "hasTenderComplaints": false,
    "hasAwardComplaints": false,
    "hasCancellationComplaints": false,
    "restricted": false
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/tenders/c710ed7a14274e5c969285e368125b9c

{
  "data": {
    "mainProcurementCategory": "goods",
    "title": "футляри до державних нагород",
    "status": "draft",
    "awardCriteria": "lowestCost",
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "minimalStep": {
      "amount": 15.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "tenderPeriod": {
      "startDate": "2023-10-17T01:00:00+03:00",
      "endDate": "2023-10-24T01:00:00+03:00"
    },
    "items": [
      {
        "id": "c38231f6a2e24ff1899ff69758f08c0e",
        "description": "футляри до державних нагород",
        "unit": {
          "name": "кг",
          "value": {
            "amount": 6.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryDate": {
          "startDate": "2023-10-12T01:00:00+03:00",
          "endDate": "2023-10-15T01:00:00+03:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        }
      }
    ],
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "054e167d8b7c4b74b887f71705f45375",
        "title": "deliveryOfGoods",
        "type": "financing",
        "code": "postpayment",
        "percentage": 54.45,
        "duration": {
          "days": 900,
          "type": "calendar"
        },
        "sequenceNumber": 0
      }
    ],
    "procurementMethodType": "belowThreshold",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Державне управління справами",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      },
      "kind": "general"
    },
    "enquiryPeriod": {
      "endDate": "2023-10-17T01:00:00+03:00",
      "startDate": "2023-10-10T01:00:00+03:00",
      "clarificationsUntil": "2023-10-19T00:00:00+03:00"
    },
    "tenderID": "UA-2023-10-10-000001-a",
    "owner": "brokerx",
    "procurementMethod": "open",
    "submissionMethod": "electronicAuction",
    "date": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "id": "c710ed7a14274e5c969285e368125b9c"
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "hasPrequalification": false,
    "minBidsNumber": 1,
    "hasPreSelectionAgreement": false,
    "hasTenderComplaints": false,
    "hasAwardComplaints": false,
    "hasCancellationComplaints": false,
    "restricted": false
  },
  "access": {
    "token": "65fcb9f8dae2415bafa9c76b76f77151",
    "transfer": "6d25791d89994de4bb70f222c937647f"
  }
}

broker is current tender’s owner.

Note that response’s access section contains a transfer key which is used to change tender ownership.

After tender’s registration in CDB broker has to provide its customer with transfer key.

Transfer creation

Broker that is going to become new tender owner should create a Transfer.

Request

POST /api/2.5/transfers HTTP/1.0
Authorization: Bearer broker1
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": "25fafe0b73174e8787b7b6daf9270d0c"
  },
  "access": {
    "token": "59c78f8d7a9f4dd9ba83db1835329029",
    "transfer": "ce2b8807a617410aa8a7f2746707ee31"
  }
}

Transfer object contains new access token and new transfer token for the object that will be transferred to new broker.

Transfer can be retrieved by id:

Request

GET /api/2.5/transfers/25fafe0b73174e8787b7b6daf9270d0c HTTP/1.0
Authorization: Bearer broker1
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",
    "id": "25fafe0b73174e8787b7b6daf9270d0c"
  }
}

Changing tender’s owner

An ability to change tender’s ownership depends on tender’s status:

Allowed

Not Alowwed

belowThreshold

active.enquiries

active.tendering

active.auction

active.qualification

active.awarded

complete

cancelled

unsuccessful

aboveThresholdUA

active.tendering

active.auction

active.qualification

active.awarded

complete

cancelled

unsuccessful

aboveThresholdEU

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.auction

active.qualification

active.awarded

complete

cancelled

unsuccessful

aboveThresholdUA.defense

active.tendering

active.auction

active.qualification

active.awarded

complete

cancelled

unsuccessful

competitiveDialogueUA

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.stage2.pending

active.stage2.waiting

complete

unsuccessful

cancelled

competitiveDialogueUA.stage2

draft.stage2

active.tendering

active.auction

active.qualification

active.awarded

complete

unsuccessful

cancelled

competitiveDialogueEU

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.stage2.pending

active.stage2.waiting

complete

unsuccessful

cancelled

competitiveDialogueEU.stage2

draft.stage2

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.auction

active.qualification

active.awarded

complete

unsuccessful

cancelled

esco

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.auction

active.qualification

active.awarded

complete

unsuccessful

cancelled

closeFrameworkAgreementUA

active.tendering

active.pre-qualification

active.pre-qualification.stand-still

active.auction

active.qualification

active.qualification.stand-still

active.awarded

complete

unsuccessful

cancelled

closeFrameworkAgreementSelectionUA

draftactive.enquiries

active.tendering

active.auction

active.qualification

active.awarded

draft.pending

draft.unsuccessful

complete

unsuccessful

cancelled

reporting

active

complete

cancelled

negotiation

active

complete

cancelled

negotiation.quick

active

complete

To change tender’s ownership new broker should send POST request to appropriate /tenders/id/ with data section containing id of Transfer and transfer token received from customer:

Request

POST /api/2.5/tenders/c710ed7a14274e5c969285e368125b9c/ownership HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "id": "25fafe0b73174e8787b7b6daf9270d0c",
    "transfer": "6d25791d89994de4bb70f222c937647f"
  }
}

Response

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

{
  "data": {
    "owner": "broker1",
    "id": "c710ed7a14274e5c969285e368125b9c"
  }
}

Updated owner value indicates that ownership is successfully changed.

Note that new broker has to provide its customer with new transfer key (generated in Transfer object).

After Transfer is applied it stores tender path in usedFor property:

Request

GET /api/2.5/transfers/25fafe0b73174e8787b7b6daf9270d0c HTTP/1.0
Authorization: Bearer broker1
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": "/tenders/c710ed7a14274e5c969285e368125b9c",
    "id": "25fafe0b73174e8787b7b6daf9270d0c"
  }
}

‘Used’ Transfer can’t be applied to any other object.

Let’s try to change the tender using token received on Transfer creation:

Request

PATCH /api/2.5/tenders/c710ed7a14274e5c969285e368125b9c?acc_token=59c78f8d7a9f4dd9ba83db1835329029 HTTP/1.0
Authorization: Bearer broker1
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "broker1 now can change the tender"
  }
}

Response

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

{
  "data": {
    "description": "broker1 now can change the tender",
    "date": "2023-10-10T01:00:00+03:00",
    "dateModified": "2023-10-10T01:00:00+03:00",
    "dateCreated": "2023-10-10T01:00:00+03:00",
    "tenderID": "UA-2023-10-10-000001-a",
    "status": "draft",
    "owner": "broker1",
    "title": "футляри до державних нагород",
    "mainProcurementCategory": "goods",
    "procurementMethod": "open",
    "submissionMethod": "electronicAuction",
    "awardCriteria": "lowestCost",
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "minimalStep": {
      "amount": 15.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "tenderPeriod": {
      "startDate": "2023-10-17T01:00:00+03:00",
      "endDate": "2023-10-24T01:00:00+03:00"
    },
    "items": [
      {
        "id": "c38231f6a2e24ff1899ff69758f08c0e",
        "description": "футляри до державних нагород",
        "unit": {
          "name": "кг",
          "value": {
            "amount": 6.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryDate": {
          "startDate": "2023-10-12T01:00:00+03:00",
          "endDate": "2023-10-15T01:00:00+03:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        }
      }
    ],
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "054e167d8b7c4b74b887f71705f45375",
        "title": "deliveryOfGoods",
        "type": "financing",
        "code": "postpayment",
        "percentage": 54.45,
        "duration": {
          "days": 900,
          "type": "calendar"
        },
        "sequenceNumber": 0
      }
    ],
    "procurementMethodType": "belowThreshold",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "legalName": "Державне управління справами",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      },
      "kind": "general"
    },
    "enquiryPeriod": {
      "startDate": "2023-10-10T01:00:00+03:00",
      "clarificationsUntil": "2023-10-19T00:00:00+03:00",
      "endDate": "2023-10-17T01:00:00+03:00"
    },
    "id": "c710ed7a14274e5c969285e368125b9c"
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "hasPrequalification": false,
    "minBidsNumber": 1,
    "hasPreSelectionAgreement": false,
    "hasTenderComplaints": false,
    "hasAwardComplaints": false,
    "hasCancellationComplaints": false,
    "restricted": false
  }
}

Pay attention that only broker with appropriate accreditation level can become new owner. Otherwise broker will be forbidden from this action.

Request

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

{
  "data": {
    "id": "5aeb1e829b40424d8d3c292a6b57fed8",
    "transfer": "6d25791d89994de4bb70f222c937647f"
  }
}

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"
    }
  ]
}

Also ownership change is allowed only if current owner has a special accreditation level that allows ownership change:

Request

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

{
  "data": {
    "id": "b5cc707cf9ec4c508995219a1e048fd6",
    "transfer": "6d25791d89994de4bb70f222c937647f"
  }
}

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"
    }
  ]
}