Опції списку

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

Для GET запитів, опції вказуються як URL параметри з префіксом opt_.

Приклад:

GET /api/2.5/monitorings?mode=real_draft&opt_fields=status HTTP/1.0
Authorization: Basic dGVzdF9zYXM6dGVzdF9zYXNfdG9rZW4=
Host: audit-api-sandbox.prozorro.gov.ua

Response: 200 OK
Content-Type: application/json
Set-Cookie: SESSION=eyJvcGVyYXRpb25fdGltZSI6IHsiJHRpbWVzdGFtcCI6IHsidCI6IDE3MDg1Mjc4NzYsICJpIjogMn19LCAiY2x1c3Rlcl90aW1lIjogeyJjbHVzdGVyVGltZSI6IHsiJHRpbWVzdGFtcCI6IHsidCI6IDE3MDg1Mjc4NzYsICJpIjogMn19LCAic2lnbmF0dXJlIjogeyJoYXNoIjogeyIkYmluYXJ5IjogeyJiYXNlNjQiOiAiYnVobHZLSmtTRjFaUTJSRFJSazN6cWJoSVpZPSIsICJzdWJUeXBlIjogIjAwIn19LCAia2V5SWQiOiA3MzMzMTc5ODM5MjQwNzMyNjc3fX19; Path=/
{
  "data": [
    {
      "status": "draft",
      "dateModified": "2018-01-01T02:00:00+02:00",
      "id": "69e9ab96ff114aafbdddd4f131993ba4"
    }
  ],
  "next_page": {
    "offset": 1708527876.046,
    "path": "/api/2.5/monitorings?mode=real_draft&opt_fields=status&offset=1708527876.046",
    "uri": "http://audit-api-sandbox.prozorro.gov.ua/api/2.5/monitorings?mode=real_draft&opt_fields=status&offset=1708527876.046"
  }
}

Для POST чи PUT запитів опції вказуються в тілі, всередині об’єктів опцій вищого рівня (схожих на обє’кт даних).

Приклад:

POST /api/2.5/monitorings HTTP/1.0
Authorization: Basic dGVzdF9zYXM6dGVzdF9zYXNfdG9rZW4=
Content-Length: 169
Content-Type: application/json
Host: audit-api-sandbox.prozorro.gov.ua
DATA:
{
  "options": {
    "pretty": true
  },
  "data": {
    "tender_id": "780ae4efc1f83adb62c1471c27a82034",
    "reasons": [
      "public",
      "fiscal"
    ],
    "procuringStages": [
      "awarding",
      "contracting"
    ]
  }
}

Response: 201 Created
Content-Type: application/json
Location: http://audit-api-sandbox.prozorro.gov.ua/api/2.5/monitorings/69e9ab96ff114aafbdddd4f131993ba4
Set-Cookie: SESSION=eyJvcGVyYXRpb25fdGltZSI6IHsiJHRpbWVzdGFtcCI6IHsidCI6IDE3MDg1Mjc4NzYsICJpIjogMn19LCAiY2x1c3Rlcl90aW1lIjogeyJjbHVzdGVyVGltZSI6IHsiJHRpbWVzdGFtcCI6IHsidCI6IDE3MDg1Mjc4NzYsICJpIjogMn19LCAic2lnbmF0dXJlIjogeyJoYXNoIjogeyIkYmluYXJ5IjogeyJiYXNlNjQiOiAiYnVobHZLSmtTRjFaUTJSRFJSazN6cWJoSVpZPSIsICJzdWJUeXBlIjogIjAwIn19LCAia2V5SWQiOiA3MzMzMTc5ODM5MjQwNzMyNjc3fX19; Path=/
{
  "data": {
    "tender_id": "780ae4efc1f83adb62c1471c27a82034",
    "monitoring_id": "UA-M-2018-01-01-000001",
    "status": "draft",
    "reasons": [
      "public",
      "fiscal"
    ],
    "procuringStages": [
      "awarding",
      "contracting"
    ],
    "dateModified": "2018-01-01T02:00:00+02:00",
    "dateCreated": "2018-01-01T02:00:00+02:00",
    "restricted": false,
    "id": "69e9ab96ff114aafbdddd4f131993ba4"
  }
}

Опція вказана в тілі перевизначає opt_ опцію з URL параметра.

Ці опції можна комбінувати в одному запиті, хоча деякі з них можуть викликати конфлікт у відповіді.

pretty

?opt_pretty

options: { pretty: true }

Надає відповідь у форматі «pretty». У випадку з JSON це означає правильне розбиття рядків і відступи для зручності читання. Це займе додатковий час і збільшить розмір відповіді, тому краще буде використовувати цю опцію тільки під час налагоджування (debugging).

jsonp

?opt_jsonp=myCallback

Повертає відповідь у форматі JSON-P замість простого JSON, щоб дозволити запитам приходити з браузерів і працювати навколо "однакової політики походження (same origin policy)." Функція названа так само як значення параметра opt_jsonp буде викликана з одним аргументом - JavaScript об’єктом, що представляє відповідь.

fields

?opt_fields=comma,separated,field,list

Список додаткових полів, що міститимуться у відповіді.