Опції списку
Крім надання полів та їхніх значень у запиті ви можете ще вказати опції для контролю над тим, як буде оброблятись запит і як буде генеруватись відповідь.
Для 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
Список додаткових полів, що міститимуться у відповіді.