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

Деякі запити 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": {
    "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": "13df1db379a941f8bda8154f00ffcdb0",
        "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": "item",
          "code": "44617100-9"
        },
        "quantity": 5
      }
    ],
    "enquiryPeriod": {
      "endDate": "2021-03-23T00:00:00+02:00"
    },
    "tenderPeriod": {
      "endDate": "2021-03-30T00:00:00+02:00"
    },
    "procurementMethodType": "belowThreshold",
    "mode": "test",
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "featureOf": "item",
        "relatedItem": "13df1db379a941f8bda8154f00ffcdb0",
        "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"
  }
}

Response: 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/tenders/2f65d75dc90b4213936ce4a2515ced76
X-Content-Type-Options: nosniff
{
  "data": {
    "title": "[ТЕСТУВАННЯ] футляри до державних нагород",
    "title_en": "[TESTING] Cases with state awards",
    "title_ru": "[ТЕСТИРОВАНИЕ] футляры к государственным наградам",
    "date": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-03-16T00:00:00+02:00",
    "tenderID": "UA-2021-03-16-000002",
    "owner": "broker",
    "mode": "test",
    "mainProcurementCategory": "services",
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "fb260d80e19e4e609762c0a115c79cf2",
        "title": "deliveryOfGoods",
        "type": "financing",
        "code": "postpayment",
        "percentage": 54.45,
        "duration": {
          "days": 900,
          "type": "calendar"
        },
        "sequenceNumber": 0
      }
    ],
    "procurementMethod": "open",
    "awardCriteria": "lowestCost",
    "submissionMethod": "electronicAuction",
    "status": "active.enquiries",
    "items": [
      {
        "id": "13df1db379a941f8bda8154f00ffcdb0",
        "description": "футляри до державних нагород",
        "description_en": "Cases with state awards",
        "description_ru": "футляры к государственным наградам",
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "item",
          "code": "44617100-9"
        },
        "quantity": 5.0,
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        }
      }
    ],
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "enquiryPeriod": {
      "startDate": "2021-03-16T00:00:00+02:00",
      "endDate": "2021-03-23T00:00:00+02:00"
    },
    "tenderPeriod": {
      "startDate": "2021-03-23T00:00:00+02:00",
      "endDate": "2021-03-30T00:00:00+02: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"
      },
      "kind": "general"
    },
    "minimalStep": {
      "amount": 5.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "features": [
      {
        "code": "OCDS-123454-AIR-INTAKE",
        "featureOf": "item",
        "relatedItem": "13df1db379a941f8bda8154f00ffcdb0",
        "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 років"
          }
        ]
      }
    ],
    "procurementMethodType": "belowThreshold",
    "id": "2f65d75dc90b4213936ce4a2515ced76",
    "next_check": "2021-03-23T00:00:00+02:00"
  },
  "access": {
    "token": "97a2483d5b524bd6b15bacc6a505cca0",
    "transfer": "4833e9409564474db4b4690268bec152"
  }
}

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

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

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

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

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

PATCH /api/2.5/tenders/4826290bfb064165b70a94d71e93a63b?acc_token=e6b4c4ef7b894e8da225bae574bf7b61 HTTP/1.0
Authorization: Bearer broker
Content-Length: 68
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua
DATA:
{
  "data": {
    "tenderPeriod": {
      "endDate": "2021-03-31T00:00:11+02:00"
    }
  }
}

Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
  "data": {
    "title": "футляри до державних нагород",
    "date": "2021-03-16T00:00:00+02:00",
    "dateModified": "2021-03-16T00:00:01+02:00",
    "tenderID": "UA-2021-03-16-000001",
    "owner": "broker",
    "mainProcurementCategory": "goods",
    "milestones": [
      {
        "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "title": "signingTheContract",
        "type": "financing",
        "code": "prepayment",
        "percentage": 45.55,
        "duration": {
          "days": 2,
          "type": "banking"
        },
        "sequenceNumber": 0
      },
      {
        "id": "f9864a1afd7048e19c55bbef4bae07ec",
        "title": "deliveryOfGoods",
        "type": "financing",
        "code": "postpayment",
        "percentage": 54.45,
        "duration": {
          "days": 900,
          "type": "calendar"
        },
        "sequenceNumber": 0
      }
    ],
    "procurementMethod": "open",
    "awardCriteria": "lowestCost",
    "submissionMethod": "electronicAuction",
    "status": "active.enquiries",
    "items": [
      {
        "id": "ca8069063cb44e45afe6bb5f71ef33f8",
        "description": "футляри до державних нагород",
        "additionalClassifications": [
          {
            "scheme": "ДКПП",
            "id": "17.21.1",
            "description": "папір і картон гофровані, паперова й картонна тара"
          }
        ],
        "unit": {
          "name": "item",
          "code": "44617100-9"
        },
        "quantity": 5.0,
        "deliveryDate": {
          "startDate": "2021-03-18T00:00:00+02:00",
          "endDate": "2021-03-21T00:00:00+02:00"
        },
        "deliveryAddress": {
          "streetAddress": "вул. Банкова 1",
          "locality": "м. Київ",
          "region": "м. Київ",
          "postalCode": "79000",
          "countryName": "Україна"
        },
        "classification": {
          "description": "Cartons",
          "scheme": "ДК021",
          "id": "44617100-9"
        }
      }
    ],
    "value": {
      "amount": 500.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "enquiryPeriod": {
      "startDate": "2021-03-16T00:00:00+02:00",
      "endDate": "2021-03-25T00:00:00+02:00"
    },
    "tenderPeriod": {
      "startDate": "2021-03-25T00:00:00+02:00",
      "endDate": "2021-03-31T00:00:11+02:00"
    },
    "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"
    },
    "minimalStep": {
      "amount": 15.0,
      "currency": "UAH",
      "valueAddedTaxIncluded": true
    },
    "procurementMethodType": "belowThreshold",
    "id": "4826290bfb064165b70a94d71e93a63b",
    "next_check": "2021-03-25T00:00:00+02:00"
  }
}