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

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

Ключі API

Basic Authenication

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

Bearer Authenication

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

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

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

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

POST /api/2.5/tenders?opt_pretty=1 HTTP/1.0
Authorization: Bearer broker
Content-Length: 4584
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "milestones": [
      {
        "code": "prepayment",
        "sequenceNumber": 0,
        "title": "signingTheContract",
        "duration": {
          "type": "banking",
          "days": 2
        },
        "percentage": 45.55,
        "type": "financing",
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      },
      {
        "code": "postpayment",
        "sequenceNumber": 0,
        "title": "deliveryOfGoods",
        "duration": {
          "type": "calendar",
          "days": 900
        },
        "percentage": 54.45,
        "type": "financing"
      }
    ],
    "mainProcurementCategory": "services",
    "tenderPeriod": {
      "endDate": "2020-09-22T00:00:00+02:00"
    },
    "title": "футляри до державних нагород",
    "minimalStep": {
      "currency": "UAH",
      "amount": 35
    },
    "enquiryPeriod": {
      "endDate": "2020-09-15T00:00:00+02:00"
    },
    "procurementMethodType": "belowThreshold",
    "value": {
      "currency": "UAH",
      "amount": 500
    },
    "mode": "test",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "countryName": "Україна",
        "postalCode": "01220",
        "region": "м. Київ",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "locality": "м. Київ"
      }
    },
    "title_ru": "футляры к государственным наградам",
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "id": "44617100-9",
          "description": "Cartons"
        },
        "description_en": "Cases with state awards",
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "description_ru": "футляры к государственным наградам",
        "id": "2f4859b56059422a99bc049e22039809",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5
      }
    ],
    "title_en": "Cases with state awards",
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "description": "Ефективна потужність всмоктування пилососа, в ватах (аероватах)",
        "title": "Потужність всмоктування",
        "enum": [
          {
            "value": 0.1,
            "title": "До 1000 Вт"
          },
          {
            "value": 0.15,
            "title": "Більше 1000 Вт"
          }
        ],
        "title_en": "Air Intake",
        "relatedItem": "2f4859b56059422a99bc049e22039809",
        "featureOf": "item"
      },
      {
        "code": "OCDS-123454-YEARS",
        "description": "Кількість років, які організація учасник працює на ринку",
        "title": "Років на ринку",
        "enum": [
          {
            "value": 0.05,
            "title": "До 3 років"
          },
          {
            "value": 0.1,
            "title": "Більше 3 років, менше 5 років"
          },
          {
            "value": 0.15,
            "title": "Більше 5 років"
          }
        ],
        "title_en": "Years trading",
        "featureOf": "tenderer"
      }
    ]
  }
}

Response: 201 Created
Content-Type: application/json; charset=UTF-8
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/tenders/17edf8a737ff45e19054a293f439f8f7
{
  "access": {
    "transfer": "84f61b780ca744ad8bf1bafc44cf9a0a",
    "token": "8b6dbf231e4c4f00a98b3abdede1c370"
  },
  "data": {
    "procurementMethod": "open",
    "mainProcurementCategory": "services",
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "description": "Ефективна потужність всмоктування пилососа, в ватах (аероватах)",
        "title": "Потужність всмоктування",
        "enum": [
          {
            "value": 0.1,
            "title": "До 1000 Вт"
          },
          {
            "value": 0.15,
            "title": "Більше 1000 Вт"
          }
        ],
        "title_en": "Air Intake",
        "relatedItem": "2f4859b56059422a99bc049e22039809",
        "featureOf": "item"
      },
      {
        "code": "OCDS-123454-YEARS",
        "description": "Кількість років, які організація учасник працює на ринку",
        "title": "Років на ринку",
        "enum": [
          {
            "value": 0.05,
            "title": "До 3 років"
          },
          {
            "value": 0.1,
            "title": "Більше 3 років, менше 5 років"
          },
          {
            "value": 0.15,
            "title": "Більше 5 років"
          }
        ],
        "title_en": "Years trading",
        "featureOf": "tenderer"
      }
    ],
    "enquiryPeriod": {
      "startDate": "2020-09-08T01:00:00+03:00",
      "endDate": "2020-09-15T00:00:00+02:00"
    },
    "submissionMethod": "electronicAuction",
    "next_check": "2020-09-15T01:00:00+03:00",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "owner": "broker",
    "id": "17edf8a737ff45e19054a293f439f8f7",
    "title": "[ТЕСТУВАННЯ] футляри до державних нагород",
    "tenderID": "UA-2020-09-08-000002",
    "dateModified": "2020-09-08T01:00:00+03:00",
    "status": "active.enquiries",
    "tenderPeriod": {
      "startDate": "2020-09-15T00:00:00+02:00",
      "endDate": "2020-09-22T00:00:00+02:00"
    },
    "procurementMethodType": "belowThreshold",
    "title_en": "[TESTING] Cases with state awards",
    "date": "2020-09-08T01:00:00+03:00",
    "milestones": [
      {
        "code": "prepayment",
        "sequenceNumber": 0,
        "title": "signingTheContract",
        "duration": {
          "type": "banking",
          "days": 2
        },
        "percentage": 45.55,
        "type": "financing",
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      },
      {
        "code": "postpayment",
        "sequenceNumber": 0,
        "title": "deliveryOfGoods",
        "duration": {
          "type": "calendar",
          "days": 900
        },
        "percentage": 54.45,
        "type": "financing",
        "id": "bd1562f18e7845369bf252e44b20d082"
      }
    ],
    "minimalStep": {
      "currency": "UAH",
      "amount": 35.0,
      "valueAddedTaxIncluded": true
    },
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "description_en": "Cases with state awards",
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "description_ru": "футляры к государственным наградам",
        "id": "2f4859b56059422a99bc049e22039809",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5.0
      }
    ],
    "value": {
      "currency": "UAH",
      "amount": 500.0,
      "valueAddedTaxIncluded": true
    },
    "mode": "test",
    "title_ru": "[ТЕСТИРОВАНИЕ] футляры к государственным наградам",
    "awardCriteria": "lowestCost"
  }
}

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

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

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

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

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

PATCH /api/2.5/tenders/bc3a9016b29d4fed894cc62d3ff59680?acc_token=e6bb69a4c5474e4987130585951b6f3e HTTP/1.0
Authorization: Bearer broker
Content-Length: 68
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "tenderPeriod": {
      "endDate": "2020-09-23T01:00:11+03:00"
    }
  }
}

Response: 200 OK
Content-Type: application/json; charset=UTF-8
{
  "data": {
    "procurementMethod": "open",
    "status": "active.enquiries",
    "milestones": [
      {
        "code": "prepayment",
        "sequenceNumber": 0,
        "title": "signingTheContract",
        "duration": {
          "type": "banking",
          "days": 2
        },
        "percentage": 45.55,
        "type": "financing",
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      },
      {
        "code": "postpayment",
        "sequenceNumber": 0,
        "title": "deliveryOfGoods",
        "duration": {
          "type": "calendar",
          "days": 900
        },
        "percentage": 54.45,
        "type": "financing",
        "id": "af069a25c8f94e74a8b2428b51bcd1a7"
      }
    ],
    "mainProcurementCategory": "goods",
    "tenderPeriod": {
      "startDate": "2020-09-15T01:00:00+03:00",
      "endDate": "2020-09-23T01:00:11+03:00"
    },
    "title": "футляри до державних нагород",
    "minimalStep": {
      "currency": "UAH",
      "amount": 15.0,
      "valueAddedTaxIncluded": true
    },
    "items": [
      {
        "description": "футляри до державних нагород",
        "classification": {
          "scheme": "ДК021",
          "description": "Cartons",
          "id": "44617100-9"
        },
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "deliveryAddress": {
          "postalCode": "79000",
          "countryName": "Україна",
          "streetAddress": "вул. Банкова 1",
          "region": "м. Київ",
          "locality": "м. Київ"
        },
        "deliveryDate": {
          "startDate": "2020-09-10T01:00:00+03:00",
          "endDate": "2020-09-13T01:00:00+03:00"
        },
        "id": "53de0c90af0e430ea270c5970351ba0c",
        "unit": {
          "code": "44617100-9",
          "name": "item"
        },
        "quantity": 5.0
      }
    ],
    "procurementMethodType": "belowThreshold",
    "value": {
      "currency": "UAH",
      "amount": 500.0,
      "valueAddedTaxIncluded": true
    },
    "submissionMethod": "electronicAuction",
    "date": "2020-09-08T01:00:00+03:00",
    "next_check": "2020-09-15T01:00:00+03:00",
    "procuringEntity": {
      "contactPoint": {
        "name": "Державне управління справами",
        "telephone": "0440000000"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "legalName": "Державне управління справами",
        "id": "00037256",
        "uri": "http://www.dus.gov.ua/"
      },
      "name": "Державне управління справами",
      "kind": "general",
      "address": {
        "postalCode": "01220",
        "countryName": "Україна",
        "streetAddress": "вул. Банкова, 11, корпус 1",
        "region": "м. Київ",
        "locality": "м. Київ"
      }
    },
    "awardCriteria": "lowestCost",
    "enquiryPeriod": {
      "startDate": "2020-09-08T01:00:00+03:00",
      "endDate": "2020-09-15T01:00:00+03:00"
    },
    "owner": "broker",
    "dateModified": "2020-09-08T01:00:01+03:00",
    "id": "bc3a9016b29d4fed894cc62d3ff59680",
    "tenderID": "UA-2020-09-08-000001"
  }
}