Аутентифікація

Деякі запити API (особливо GET запити лише для читання) не потребують аутентифікації. Інші, ті, які модифікують дані у базі даних, потребують аутентифікації брокера через ключ API. Додатково видаються токени власника, щоб забезпечити кілька ролей дійових осіб при створенні об’єкта.

Ключі API

Basic Authenication

Ключ API - це ім’я користувача, що буде використовуватись зі схемою базової аутентифікації (див. RFC 2617#section-2).

Bearer Authenication

Ключ API - це токен, що буде використовуватись для аутентифікації.

Токени власника

Отримання токена

Токен видається, коли об’єкт створюється в базі даних:

Request

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

{
  "data": {
    "title": "футляри до державних нагород",
    "title_en": "Cases with state awards",
    "title_ru": "футляры к государственным наградам",
    "procuringEntity": {
      "name": "Державне управління справами",
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "countryName": "Україна",
        "postalCode": "01220",
        "region": "м. Київ",
        "locality": "м. Київ",
        "streetAddress": "вул. Банкова, 11, корпус 1"
      },
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "+0440000000"
      },
      "kind": "general"
    },
    "value": {
      "amount": 500,
      "currency": "UAH"
    },
    "minimalStep": {
      "amount": 5,
      "currency": "UAH"
    },
    "items": [
      {
        "id": "df827a0a87354ad59f985d4b31bbaf6c",
        "description": "футляри до державних нагород",
        "description_en": "Cases with state awards",
        "description_ru": "футляры к государственным наградам",
        "classification": {
          "scheme": "ДК021",
          "id": "44617100-9",
          "description": "Cartons"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кілограм",
          "code": "KGM",
          "value": {
            "amount": 6
          }
        },
        "quantity": 5
      }
    ],
    "enquiryPeriod": {
      "endDate": "2023-01-08T00:00:00+02:00"
    },
    "tenderPeriod": {
      "endDate": "2023-01-15T00:00:00+02:00"
    },
    "procurementMethodType": "belowThreshold",
    "mode": "test",
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "featureOf": "item",
        "relatedItem": "df827a0a87354ad59f985d4b31bbaf6c",
        "title": "Потужність всмоктування",
        "title_en": "Air Intake",
        "description": "Ефективна потужність всмоктування пилососа, в ватах (аероватах)",
        "enum": [
          {
            "value": 0.1,
            "title": "До 1000 Вт"
          },
          {
            "value": 0.15,
            "title": "Більше 1000 Вт"
          }
        ]
      },
      {
        "code": "OCDS-123454-YEARS",
        "featureOf": "tenderer",
        "title": "Років на ринку",
        "title_en": "Years trading",
        "description": "Кількість років, які організація учасник працює на ринку",
        "enum": [
          {
            "value": 0.05,
            "title": "До 3 років"
          },
          {
            "value": 0.1,
            "title": "Більше 3 років, менше 5 років"
          },
          {
            "value": 0.15,
            "title": "Більше 5 років"
          }
        ]
      }
    ],
    "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
      }
    ],
    "mainProcurementCategory": "services"
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "minBidsNumber": 1
  }
}

Response

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

{
  "data": {
    "mainProcurementCategory": "services",
    "title_en": "[TESTING] Cases with state awards",
    "title_ru": "[ТЕСТИРОВАНИЕ] футляры к государственным наградам",
    "title": "[ТЕСТУВАННЯ] футляри до державних нагород",
    "mode": "test",
    "status": "draft",
    "procurementMethod": "open",
    "awardCriteria": "lowestCost",
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "minimalStep": {
      "amount": 5.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "tenderPeriod": {
      "startDate": "2023-01-08T00:00:00+02:00",
      "endDate": "2023-01-15T00:00:00+02:00"
    },
    "items": [
      {
        "id": "df827a0a87354ad59f985d4b31bbaf6c",
        "description": "футляри до державних нагород",
        "description_en": "Cases with state awards",
        "description_ru": "футляры к государственным наградам",
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кілограм",
          "value": {
            "amount": 6.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "quantity": 5.0
      }
    ],
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "featureOf": "item",
        "relatedItem": "df827a0a87354ad59f985d4b31bbaf6c",
        "title": "Потужність всмоктування",
        "title_en": "Air Intake",
        "description": "Ефективна потужність всмоктування пилососа, в ватах (аероватах)",
        "enum": [
          {
            "value": 0.1,
            "title": "До 1000 Вт"
          },
          {
            "value": 0.15,
            "title": "Більше 1000 Вт"
          }
        ]
      },
      {
        "code": "OCDS-123454-YEARS",
        "featureOf": "tenderer",
        "title": "Років на ринку",
        "title_en": "Years trading",
        "description": "Кількість років, які організація учасник працює на ринку",
        "enum": [
          {
            "value": 0.05,
            "title": "До 3 років"
          },
          {
            "value": 0.1,
            "title": "Більше 3 років, менше 5 років"
          },
          {
            "value": 0.15,
            "title": "Більше 5 років"
          }
        ]
      }
    ],
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "99b04fa2eebd4b3f86f53fdd0fc74756",
        "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",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "telephone": "+0440000000",
        "name": "Державне управління справами"
      },
      "kind": "general"
    },
    "enquiryPeriod": {
      "endDate": "2023-01-08T00:00:00+02:00",
      "startDate": "2023-01-01T00:00:00+02:00",
      "clarificationsUntil": "2023-01-09T00:00:00+02:00"
    },
    "tenderID": "UA-2023-01-01-000002-a",
    "owner": "broker",
    "submissionMethod": "electronicAuction",
    "date": "2023-01-01T00:00:00+02:00",
    "dateCreated": "2023-01-01T00:00:00+02:00",
    "dateModified": "2023-01-01T00:00:00+02:00",
    "id": "6f821eb52f1b4cfaa98210ca6e41e89d"
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "minBidsNumber": 1
  },
  "access": {
    "token": "5489a4b46edc47b1b63c2aa866e367ea",
    "transfer": "f3c8954e1b364a64ac29a2c6e12278bb"
  }
}

У відповіді є access разом з token. Це значення можна використати для модифікації об’єктів у «ролі Власника».

Використання токена

Ви можете передати токен доступу такими способами:

  1. параметр рядка URL запиту acc_token
  2. заголовок HTTP запиту X-Access-Token
  3. access.token в тілі запитів POST/PUT/PATCH

Ось приклад, де токен передається як рядок URL запиту:

Request

PATCH /api/2.5/tenders/f2ffdfd3a21b4081841738915486b18b?acc_token=b8bbe7f96c0a4205be28146aec83c55b HTTP/1.0
Authorization: Bearer broker
Content-Length: 110
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "tenderPeriod": {
      "startDate": "2023-01-08T00:00:00+02:00",
      "endDate": "2023-01-16T00:00:11+02:00"
    }
  }
}

Response

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

{
  "data": {
    "date": "2023-01-01T00:00:00+02:00",
    "dateModified": "2023-01-01T00:00:01+02:00",
    "dateCreated": "2023-01-01T00:00:00+02:00",
    "tenderID": "UA-2023-01-01-000001-a",
    "status": "active.enquiries",
    "owner": "broker",
    "title": "футляри до державних нагород",
    "mainProcurementCategory": "goods",
    "submissionMethod": "electronicAuction",
    "procurementMethod": "open",
    "awardCriteria": "lowestCost",
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "next_check": "2023-01-08T00:00:00+02:00",
    "minimalStep": {
      "amount": 15.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "tenderPeriod": {
      "startDate": "2023-01-08T00:00:00+02:00",
      "endDate": "2023-01-16T00:00:11+02:00"
    },
    "items": [
      {
        "id": "ffffffffffffffffffffffffffffffff",
        "description": "футляри до державних нагород",
        "description_en": "Cases with state awards",
        "description_ru": "футляры к государственным наградам",
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "кілограм",
          "value": {
            "amount": 6.0,
            "currency": "UAH",
            "valueAddedTaxIncluded": true
          },
          "code": "KGM"
        },
        "quantity": 5.0
      }
    ],
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "0f95cecf71134fa899a1be0dcf9ae13c",
        "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",
        "uri": "http://www.dus.gov.ua/"
      },
      "address": {
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ",
        "region": "м. Київ",
        "postalCode": "01220",
        "countryName": "Україна"
      },
      "contactPoint": {
        "telephone": "+0440000000",
        "name": "Державне управління справами"
      },
      "kind": "general"
    },
    "enquiryPeriod": {
      "startDate": "2023-01-01T00:00:00+02:00",
      "clarificationsUntil": "2023-01-09T00:00:00+02:00",
      "endDate": "2023-01-08T00:00:00+02:00"
    },
    "id": "f2ffdfd3a21b4081841738915486b18b"
  },
  "config": {
    "hasAuction": true,
    "hasAwardingOrder": true,
    "hasValueRestriction": true,
    "valueCurrencyEquality": true,
    "minBidsNumber": 1
  }
}