Вітаємо на сайті документації по openregistry.assets.claimrights!¶
Будь ласка повідомляйте про всі проблеми та поради покращень або через розсилку, або через issue tracker.
Зміст:
Огляд¶
openregistry.assets.claimrights contains the description of the Registry Data Base.
Особливості¶
claimRights представляють права вимог по кредтній заборгованості фізичної/юридичної особи банку.
У структуру claimRights включено об’єкти items і debt.
Домовленості¶
API приймає JSON або form-encoded вміст у запитах. Він повертає JSON вміст у всіх свої відповідях, включно з помилками. Підтримується лише UTF-8 кодування і для запитів, і для відповідей.
Всі API POST та PUT запити очікують об’єкт верхнього рівня з єдиним елементом з назвою data. Відповіді з повідомленням про успіх будуть віддзеркалювати цей формат. Елемент data повинен сам бути об’єктом, що містить параметри запиту.
Якщо запит був успішним, ми отримаємо код відповіді 201, який вказує, що об’єкт був створений. Ця відповідь буде мати data поле на верхньому рівні, яке вміщуватиме повну інформацію про новий актив, включно з ID.
Якщо під час запиту виникли труднощі, ми отримаємо інший код стану та JSON, який при поверненні міститиме errors поле на верхньому рівні зі списком проблем. Ми дивимось на першу з них і видруковуємо її повідомлення.
Стан проекту¶
Статус цього проекту - пре альфа.
The source repository for this project is on GitHub: https://github.com/openprocurement/openprocurement.api
Стабільність API¶
API є відносно стабільним. Зміни в API обговорюються через Open Procurement API розсилку.
Change log¶
0.1¶
Not Released
- Set up general build, testing, deployment, and ci framework.
- Creating/modifying asset
Наступні кроки¶
You might find it helpful to look at the Туторіал, or the Command Reference.
Стандарт даних¶
Стандарт даних змодельований згідно Open Contracting Standard з розширеннями в тих областях, які він не покриває.
Claim Right¶
Схема¶
id: | рядок, генерується автоматично, лише для читання |
||||||
---|---|---|---|---|---|---|---|
assetID: | рядок, генерується автоматично, лише для читання Ідентифікатор права вимоги, щоб знайти його у паперовій документації. OpenContracting Description: AssetID включають, щоб зробити структуру даних більш зручною та читабельною. |
||||||
date: | рядок, генерується автоматично, лише для читання Дата створення/знищення права вимоги. |
||||||
dateModified: | рядок, генерується автоматично, лише для читання OpenContracting Description: Дата внесення останніх змін до права вимоги. |
||||||
mode: | не обов’язково Додатковий параметр, що вказує на тестовий режим. |
||||||
status: | рядок, обов’язковий, Схема роботи прав вимоги Статус запису в реєстрі активів. |
||||||
value: | Value, обов’язковий Оціночна вартість права вимоги |
||||||
relatedLot: | рядок, обов’язковий у статусі active Ідентифікатор лоту, до якого належить право вимоги. |
||||||
assetType: | рядок, обов’язковий Для продажу прав вимог використовується assetType claimRights. |
||||||
title: | рядок, багатомовний
Вказання заголовку англійсько/російською не обов’язкове. |
||||||
description: | рядок, багатомовний, не обов’язковий OpenContracting Description: Опис товарів та послуг, які повинні бути надані.
|
||||||
documents: | OpenContracting Description: Пов’язані з правом вимоги документи та додатки. |
||||||
assetCustodian: | Organization, обов’язково Розпорядник права вимоги. |
||||||
classification: | Classification, обов’язково Початкова класифікація права вимоги. Класифікація classification.scheme обов’язково повинна бути CAV. classification.id повинно бути дійсним CAV кодом. |
||||||
additionalClassifications: | |||||||
Список об’єктів Classification, не обов’язково OpenContracting Description: Масив додаткових класифікацій для елемента. Дивіться у список кодів itemClassificationScheme, щоб використати поширені варіанти в OCDS. Також можна використовувати для представлення кодів з внутрішньої схеми класифікації. The possible additional classifiers are CPVS and koatuu. |
|||||||
unit: | Unit, обов’язково OpenContracting Description: Опис одиниці виміру товару, наприклад, години, кілограми. Складається з назви одиниці та значення однієї одиниці. |
||||||
quantity: | ціле число, обов’язково OpenContracting Description: Кількість необхідних одиниць. |
||||||
location: | словник Географічні координати місця розташування. Складається з таких компонентів:
|
||||||
items: |
Список активів вказаних в межах прав вимоги |
||||||
debt: | Debt, не обов’язковий |
Classification¶
Схема¶
scheme: | рядок OpenContracting Description: Класифікація повинна бути взята з існуючої схеми або списку кодів. Це поле використовується, щоб вказати схему/список кодів, з яких буде братись класифікація. Для класифікацій лінійних елементів це значення повинно представляти відому Схему Класифікації Елементів, де це можливо. |
---|---|
id: | рядок OpenContracting Description: Код класифікації взятий з вибраної схеми. |
description: | рядок OpenContracting Description: Код класифікації взятий з вибраної схеми. |
uri: | uri OpenContracting Description: URI для ідентифікації коду. Якщо індивідуальні URI не доступні для елементів у схемі ідентифікації, це значення треба залишити пустим. |
Unit¶
Схема¶
code: | рядок, обов’язковий Код одиниці виміру в UN/CEFACT Recommendation 20. |
---|---|
name: | рядок OpenContracting Description: Назва одиниці виміру |
Value¶
Схема¶
amount: | float, обов’язково Повинно бути додатним. |
---|---|
currency: | рядок, обов’язковий OpenContracting Description: Валюта у трибуквенному форматі ISO 4217. |
valueAddedTaxIncluded: | |
булеве значення, обов’язково |
Debt¶
Схема¶
agreementNumber: | |
---|---|
рядок Номер підписаної угоди. |
|
dateSigned: | рядок OpenContracting Description: Дата підписання угоди. У випадку багаторазового підписання, дата останнього підписання угоди. |
debtorType: | рядок Можливі значення naturalPerson і legalPerson. |
value: |
заборгованість, UAH |
debtCurrencyValue: | |
debtValue¶
Схема¶
currency: | рядок OpenContracting Description: Валюта у трибуквенному форматі ISO 4217. Єдине можливе значення - UAH |
---|---|
amount: | float Сукупна сума заборгованості, розрахована у UAH. |
debtCurrencyValue¶
Схема¶
currency: | рядок OpenContracting Description: Валюта у трибуквенному форматі ISO 4217. Валюта боргу. |
---|---|
amount: | float Сукупна сума заборгованості, розрахована у валюті боргу. |
Item¶
Схема¶
id: | рядок, генерується автоматично |
||||||
---|---|---|---|---|---|---|---|
description: | рядок, багатомовний, обов’язковий OpenContracting Description: Опис товарів та послуг, які повинні бути надані. Короткий опис права вимоги. |
||||||
classification: |
OpenContracting Description: Початкова класифікація елемента. Дивіться у itemClassificationScheme, щоб визначити бажані списки класифікації, включно з CAV та GSIN. Класифікація classification.scheme обов’язково повинна бути CAV. classification.id повинно бути дійсним CAV кодом. |
||||||
additionalClassifications: | |||||||
Список об’єктів Classification OpenContracting Description: Масив додаткових класифікацій для елемента. Дивіться у список кодів itemClassificationScheme, щоб використати поширені варіанти в OCDS. Також можна використовувати для представлення кодів з внутрішньої схеми класифікації. |
|||||||
unit: |
OpenContracting Description: Опис одиниці виміру товару, наприклад, години, кілограми. Складається з назви одиниці та значення однієї одиниці. |
||||||
quantity: | неціле число OpenContracting Description: Кількість необхідних одиниць. |
||||||
address: |
Адреса місцезнаходження права вимоги. |
||||||
location: | словник Географічні координати місця розташування. Складається з таких компонентів:
Параметр location зазвичай має вищий пріоритет ніж address, якщо вони обидва вказані. |
Organization¶
Схема¶
name: | рядок, багатомовний Назва організації. |
---|---|
identifier: |
Ідентифікатор цієї організації. |
additionalIdentifiers: | |
Список об’єктів Identifier |
|
address: | Address, обов’язково |
contactPoint: | ContactPoint, обов’язково |
Identifier¶
Схема¶
scheme: | рядок OpenContracting Description: Ідентифікатори організації беруться з існуючої схеми ідентифікації. Це поле вказує схему або список кодів, де можна знайти ідентифікатор організації. Це значення повинно братись зі Схеми Ідентифікації Організацій. |
---|---|
id: | рядок, обов’язковий OpenContracting Description: Ідентифікатор організації у вибраній схемі. Дозволеними є коди зі спику кодів “Organisation Registration Agency” Стандарту IATI з додаванням коду UA-EDR для організацій, зареєстрованих в Україні (ЄДРПОУ та ІПН). |
legalName: | рядок, багатомовний OpenContracting Description: Легально зареєстрована назва організації. Повна юридична назва (наприклад - “Надра Банк”). |
uri: | uri OpenContracting Description: URI для ідентифікації організації, наприклад, ті, які надають Open Corporates або інші постачальники URI. Це не для вебсайту організації, його можна надати в полі url в ContactPoint організації. |
Address¶
Схема¶
streetAddress: | рядок OpenContracting Description: Вулиця. Наприклад, вул.Хрещатик, 22. |
---|---|
locality: | рядок OpenContracting Description: Населений пункт. Наприклад, Київ. |
region: | рядок OpenContracting Description: Область. Наприклад, Київська. |
postalCode: | рядок OpenContracting Description: Поштовий індекс, Наприклад, 78043. |
countryName: | рядок, багатомовний, обов’язковий OpenContracting Description: Назва країни. Наприклад, Україна. |
ContactPoint¶
Схема¶
name: | рядок, багатомовний, обов’язковий OpenContracting Description: Ім’я контактної особи, назва відділу чи контактного пункту для листування, що стосується цього процесу укладання договору. |
---|---|
email: | OpenContracting Description: Адреса електронної пошти контактної особи/пункту. |
telephone: | рядок OpenContracting Description: Номер телефону контактної особи/пункту. Повинен включати міжнародний телефонний код. |
faxNumber: | рядок OpenContracting Description: Номер факсу контактної особи/пункту. Повинен включати міжнародний телефонний код. |
url: | URL-адреса OpenContracting Description: Веб адреса контактної особи/пункту. |
Повинне бути заповнене хоча б одне з полів: або email, або telephone.
Document¶
Схема¶
id: | рядок, генеруєьтся автоматично |
---|---|
documentType: | рядок |
title: | рядок, багатомовний OpenContracting Description: Назва документа. |
description: | рядок, багатомовний OpenContracting Description: Короткий опис документа. Якщо документ не буде доступний онлайн, то поле опису можна використати для вказання способу отримання копії документа. |
format: | рядок OpenContracting Description: Формат документа зі списку кодів IANA Media Types, з одним додатковим значенням ‘offline/print’, що буде використовуватись, коли запис цього документа використовується для опису офлайнової публікації документа. |
url: | рядок, генеруєьтся автоматично OpenContracting Description: Пряме посилання на документ чи додаток. |
datePublished: | рядок, Date OpenContracting Description: Дата, коли документ був опублікований вперше. |
dateModified: | рядок, Date OpenContracting Description: Дата, коли документ був змінений востаннє. |
language: | рядок OpenContracting Description: Вказує мову документа, використовуючи або двоцифровий код ISO 639-1, чи розширений BCP47 language tags. |
documentOf: | рядок |
relatedItem: | рядок Ідентифікатор лоту, до якого прикріплене право вимоги Item. |
Схема роботи прав вимоги¶
Умовні позначення¶
пунктирна лінія - дії користувача
суцільна лінія - автоматичні дії
Туторіал¶
Базові правила¶
Подивимось як працює точка входу claimRights:
GET /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"next_page": {
"path": "/api/0.1/assets?offset=",
"uri": "http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets?offset=",
"offset": ""
},
"data": []
}
При виклику видає пустий набір.
Спробуймо створити нове право вимоги:
POST /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 4
Content-Type: application/x-www-form-urlencoded
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 415 Unsupported Media Type
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"status": "error",
"errors": [
{
"description": "Content-Type header should be one of ['application/json']",
"location": "header",
"name": "Content-Type"
}
]
}
Помилка вказує, що єдиний прийнятний тип вмісту це application/json.
Задовільнимо вимогу типу вмісту:
POST /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 4
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"status": "error",
"errors": [
{
"description": "Expecting value: line 1 column 1 (char 0)",
"location": "body",
"name": "data"
}
]
}
Помилка вказує, що data не знайдено у тілі JSON.
Створення активу¶
Створимо claim right з мінімально допустимим набором даних (тільки параметри, обовязкові для заповнення):
POST /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 3673
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
DATA:
{
"data": {
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Земельні ділянки"
},
"title": "Земля для космодрому",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Cartons"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Cartons"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100
},
"unit": {
"code": "39513200-3",
"name": "item"
},
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100
},
"value": {
"currency": "UAH",
"amount": 1
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"debtorType": "legalPerson"
},
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ"
}
},
"quantity": 5
}
}
Response: 201 Created
Content-Type: application/json
Location: http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets/6aa3093c0b00447abefcacf9a11da277
X-Content-Type-Options: nosniff
{
"access": {
"token": "431a00c918cd47d48d6f37d62f631c37"
},
"data": {
"status": "draft",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000001",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "d778f751485b4bd79f285fc6e8fa90c1",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ada801c8e60b41e3a3164b2ab42aff15",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:03.842028+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:03.835865+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6aa3093c0b00447abefcacf9a11da277",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
PATCH /api/0.1/assets/6aa3093c0b00447abefcacf9a11da277?acc_token=431a00c918cd47d48d6f37d62f631c37 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 31
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
DATA:
{
"data": {
"status": "pending"
}
}
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "pending",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000001",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "d778f751485b4bd79f285fc6e8fa90c1",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ada801c8e60b41e3a3164b2ab42aff15",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:03.936033+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:03.935835+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6aa3093c0b00447abefcacf9a11da277",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Успіх! Тепер ми бачимо, що новий об’єкт було створено. Код відповіді 201 та заголовок відповіді Location вказує місцерозташування створеного об’єкта. Тіло відповіді показує інформацію про створене право вимоги, його внутрішній id (яке співпадає з сегментом Location), його офіційний assetID та dateModified (дату, що показує час, коли право вимоги востаннє модифікувалося). Зверніть увагу на assetType, а також на те, що право вимоги створюється зі статусом pending.
Використаємо URL створеного об’єкта (заголовок відповіді Location):
GET /api/0.1/assets/6aa3093c0b00447abefcacf9a11da277 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "pending",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000001",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "d778f751485b4bd79f285fc6e8fa90c1",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ada801c8e60b41e3a3164b2ab42aff15",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:03.936033+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:03.935835+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6aa3093c0b00447abefcacf9a11da277",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Ми бачимо ту ж відповідь, що і після створення активу.
Подивимось, що показує список прав вимоги:
GET /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"next_page": {
"path": "/api/0.1/assets?offset=",
"uri": "http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets?offset=",
"offset": ""
},
"data": []
}
Ми бачимо внутрішнє id активу та його dateModified.
Попередній актив був створений лише з обов’язковими полями. Тепер додамо актив з максимально допустимим набором даних при створенні (статус created):
POST /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 3673
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
DATA:
{
"data": {
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Земельні ділянки"
},
"title": "Земля для космодрому",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Cartons"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"id": "39513200-3",
"description": "Cartons"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100
},
"unit": {
"code": "39513200-3",
"name": "item"
},
"address": {
"countryName": "Україна",
"postalCode": "79000",
"region": "м. Київ",
"streetAddress": "вул. Банкова 1",
"locality": "м. Київ"
},
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100
},
"value": {
"currency": "UAH",
"amount": 1
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"debtorType": "legalPerson"
},
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"countryName": "Україна",
"postalCode": "01220",
"region": "м. Київ",
"streetAddress": "вул. Банкова, 11, корпус 1",
"locality": "м. Київ"
}
},
"quantity": 5
}
}
Response: 201 Created
Content-Type: application/json
Location: http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets/6f32878c0ec44d8e992cf5365fa919ee
X-Content-Type-Options: nosniff
{
"access": {
"token": "1bfd7fe16c4d496ea7f780aa35ad53af"
},
"data": {
"status": "draft",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000002",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "a290d61cb5304a1cba4ca8652c31d915",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "7bfe30e3c1ce4c53991e2540f6b5845d",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:04.131200+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:04.127806+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6f32878c0ec44d8e992cf5365fa919ee",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
І знову код відповіді 201 Created, заголовок Location і тіло з додатковим id, assetID, та властивість dateModified.
Перевіримо, що містить реєстр активів:
GET /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"next_page": {
"path": "/api/0.1/assets?offset=2018-01-09T18%3A31%3A03.936033%2B02%3A00",
"uri": "http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets?offset=2018-01-09T18%3A31%3A03.936033%2B02%3A00",
"offset": "2018-01-09T18:31:03.936033+02:00"
},
"data": [
{
"id": "6aa3093c0b00447abefcacf9a11da277",
"dateModified": "2018-01-09T18:31:03.936033+02:00"
}
]
}
Дійсно, в нас зараз є два активи.
Модифікація права вимоги¶
Оновимо право вимоги шляхом надання йому усіх інших важливих властивостей:
PATCH /api/0.1/assets/6aa3093c0b00447abefcacf9a11da277?acc_token=431a00c918cd47d48d6f37d62f631c37 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 347
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
DATA:
{
"data": {
"description": "Земельні ділянки із великими покладами благородних металів"
}
}
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "pending",
"assetType": "claimRights",
"description": "Земельні ділянки із великими покладами благородних металів",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000001",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "d778f751485b4bd79f285fc6e8fa90c1",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ada801c8e60b41e3a3164b2ab42aff15",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:04.262976+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:03.935835+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6aa3093c0b00447abefcacf9a11da277",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Ми бачимо, що додаткові властивості об’єднані з існуючими даними права вимоги. Додатково оновлена властивість dateModified, щоб відображати останню дату модифікації.
Ще одна перевірка списку відображає нову дату модифікації:
GET /api/0.1/assets?opt_pretty=1 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"next_page": {
"path": "/api/0.1/assets?offset=2018-01-09T18%3A31%3A03.936033%2B02%3A00",
"uri": "http://lb.api-sandbox.registry.ea.openprocurement.net/api/0.1/assets?offset=2018-01-09T18%3A31%3A03.936033%2B02%3A00",
"offset": "2018-01-09T18:31:03.936033+02:00"
},
"data": [
{
"id": "6aa3093c0b00447abefcacf9a11da277",
"dateModified": "2018-01-09T18:31:03.936033+02:00"
}
]
}
Видалення права вимоги¶
Видалимо право вимоги
PATCH /api/0.1/assets/6aa3093c0b00447abefcacf9a11da277?acc_token=431a00c918cd47d48d6f37d62f631c37 HTTP/1.0
Authorization: Basic YnJva2VyOg==
Content-Length: 31
Content-Type: application/json
Host: lb.api-sandbox.registry.ea.openprocurement.net
DATA:
{
"data": {
"status": "deleted"
}
}
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "deleted",
"assetType": "claimRights",
"description": "Земельні ділянки із великими покладами благородних металів",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000001",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "d778f751485b4bd79f285fc6e8fa90c1",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ada801c8e60b41e3a3164b2ab42aff15",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:04.355377+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:04.355162+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "6aa3093c0b00447abefcacf9a11da277",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Інтеграція з лотами¶
Припустімо, до лоту ‘причеплено’ активи:
GET /api/0.1/assets/68dcee4e1af44aa493c6a040a924c03f HTTP/1.0
Authorization: Basic Y29uY2llcmdlOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "active",
"relatedLot": "960b16754d55425db2d6d5063b7df083",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000004",
"assetType": "claimRights",
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:05.506163+02:00",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "35e00aa638364d06a829a616854dca25",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "8fa1341b52a840539d5093471193adaa",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:05.505967+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "68dcee4e1af44aa493c6a040a924c03f",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Спробуймо перевести статус лоту в recomposed.
Після виконання такої дії, активи ‘відкріплюються’ від лоту, відтак їхній статус атоматично переходить у pending.
GET /api/0.1/assets/68dcee4e1af44aa493c6a040a924c03f HTTP/1.0
Authorization: Basic Y29uY2llcmdlOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "pending",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000004",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "35e00aa638364d06a829a616854dca25",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "8fa1341b52a840539d5093471193adaa",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:05.592916+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:05.592681+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "68dcee4e1af44aa493c6a040a924c03f",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
GET /api/0.1/assets/b1845029a72a4077aeff912604721ee7 HTTP/1.0
Authorization: Basic Y29uY2llcmdlOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "active",
"relatedLot": "9939b607995a4c799969c97222957f24",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000003",
"assetType": "claimRights",
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:04.788157+02:00",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ecc9f4ec8b524f51a21c2736724f7848",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "5262128ff2d344a9b720227e724840db",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:04.787961+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "b1845029a72a4077aeff912604721ee7",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
GET /api/0.1/assets/b1845029a72a4077aeff912604721ee7 HTTP/1.0
Authorization: Basic Y29uY2llcmdlOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "pending",
"assetType": "claimRights",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000003",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ecc9f4ec8b524f51a21c2736724f7848",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "5262128ff2d344a9b720227e724840db",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:04.904205+02:00",
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:04.903875+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "b1845029a72a4077aeff912604721ee7",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
GET /api/0.1/assets/b1845029a72a4077aeff912604721ee7 HTTP/1.0
Authorization: Basic Y29uY2llcmdlOg==
Host: lb.api-sandbox.registry.ea.openprocurement.net
Response: 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
{
"data": {
"status": "complete",
"relatedLot": "b5ca6aa850694154b6a5f6db4e65f5da",
"classification": {
"scheme": "CAV",
"description": "Земельні ділянки",
"id": "39513200-3"
},
"title": "Земля для космодрому",
"assetID": "UA-AR-DGF-2018-01-09-000003",
"assetType": "claimRights",
"value": {
"currency": "UAH",
"amount": 100.0,
"valueAddedTaxIncluded": true
},
"dateModified": "2018-01-09T18:31:05.192219+02:00",
"items": [
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "ecc9f4ec8b524f51a21c2736724f7848",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
},
{
"description": "футляри до державних нагород",
"classification": {
"scheme": "CAV",
"description": "Cartons",
"id": "39513200-3"
},
"additionalClassifications": [
{
"scheme": "ДКПП",
"id": "17.21.1",
"description": "папір і картон гофровані, паперова й картонна тара"
}
],
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"id": "5262128ff2d344a9b720227e724840db",
"unit": {
"code": "44617100-9",
"name": "item"
},
"quantity": 5
}
],
"owner": "broker",
"assetCustodian": {
"contactPoint": {
"name": "Державне управління справами",
"telephone": "0440000000"
},
"identifier": {
"scheme": "UA-EDR",
"id": "00037256",
"uri": "http://www.dus.gov.ua/"
},
"name": "Державне управління справами",
"address": {
"postalCode": "01220",
"countryName": "Україна",
"streetAddress": "вул. Банкова, 11, корпус 1",
"region": "м. Київ",
"locality": "м. Київ"
}
},
"address": {
"postalCode": "79000",
"countryName": "Україна",
"streetAddress": "вул. Банкова 1",
"region": "м. Київ",
"locality": "м. Київ"
},
"date": "2018-01-09T18:31:05.191861+02:00",
"debt": {
"agreementNumber": "42",
"debtCurrencyValue": {
"currency": "USD",
"amount": 100.0
},
"dateSigned": "2017-08-16T12:30:17.615196+03:00",
"value": {
"currency": "UAH",
"amount": 1.0
},
"debtorType": "legalPerson"
},
"id": "b1845029a72a4077aeff912604721ee7",
"unit": {
"code": "39513200-3",
"name": "item"
},
"quantity": 5
}
}
Аутентифікація¶
Деякі запити API (особливо GET запити лише для читання) не потребують аутентифікації. Інші, ті, які модифікують дані у базі даних, потребують аутентифікації брокера через ключ API. Додатково видаються токени власника, щоб забезпечити кілька ролей дійових осіб при створенні об’єкта.
Ключі API¶
Ключ API - це ім’я користувача, що буде використовуватись зі схемою базової аутентифікації.
Токени власника¶
Отримання токена¶
Токен видається, коли об’єкт створюється в базі даних:
У відповіді є access разом з token. Це значення можна використати для модифікації об’єктів у “ролі Власника”.
Використання токена¶
Ви можете передати токен доступу такими способами:
параметр рядка URL запиту acc_token
заголовок HTTP запиту X-Access-Token
- access.token in the body of POST/PUT/PATCH request
Ось приклад, де токен передається як рядок URL запиту:
Робота з API в режимі кластеру¶
Дані синхронізуються на кластері з декількох серверів. Для узгодження між окремими запитами до RDB важливо, щоб клієнт працював завжди з одним сервером. Тому обов’язково використовувати реп’яшок (сookie) при подачі POST/PUT/PATCH/DELETE запитів. Реп’яшки (сookies) забезпечують прив’язку до сервера. Такий реп’яшок можна отримати через GET запит, а тоді використовувати його в POST/PUT/PATCH/DELETE.
Якщо під час операцій сервер запитаний реп’яшком недоступний або впав, клієнт отримає 412 код стану запиту і новий реп’яшок. Запит потрібно повторити з використанням нового реп’яшка.
Опції¶
Крім надання полів та їхніх значень у запиті ви можете ще вказати опції для контролю над тим, як буде оброблятись запит і як буде генеруватись відповідь. Для GET запитів, опції вказуються як URL параметри з префіксом opt_. Для POST чи PUT запитів опції вказуються в тілі, всередині об’єктів опцій вищого рівня (схожих на обє’кт даних). Опція вказана в тілі перевизначає 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 Список додаткових полів, що міститимуться у відповіді. |
Рекомендації для роботи¶
Контроль частоти запитів¶
На “агресивні” IP адреси може бути накладено обмеження на швидкість, з якою сервери RDB опрацьовують запити. У відповідь на запити, які прийшли швидше ніж дозволено, RDB відповідає з кодом статусу 429
Очікується, що на такий код відповіді ПЗ майданчика буде реагувати таким чином: буде повторювати запити, які повернулися з таким кодом помилки, збільшуючи затримку між окремими запитами, що посилаються на RDB, доти доки запити не почнуть вдаватися (2xx/3xx відповіді).
Така поведінка серверів RDB необхідна, щоб рівномірніше розподіляти ресурси серверів між майданчиками.
Відповіді¶
Після обробки API завжди надає відповідь, звітуючи або про успіх, або про помилку.
Коди стану¶
У будь-якому випадку API повинен повернути Код стану HTTP, що вказуватиме природу помилки (див. внизу), з тілом відповіді у форматі JSON, що міститиме додаткову інформацію.
- 200
Успіх. Якщо це був запит про інформацію, то вона буде доступна у data полі на верхньому рівні тіла відповіді.
- 201
Створено. Його інформація доступна у data полі на верхньому рівні тіла відповіді. API URL, де об’єкт можна прочитати, міститься у Location заголовку відповіді.
- 400
Неправильний запит. Зазвичай це відбувається через відсутній або неправильний параметр. Перевірте документацію та синтаксис вашого запиту і спробуйте ще раз.
- 401
Несанкційонований доступ. Не було надано дійсного API ключа разом із запитом, тому API не може зв’язати користувача із запитом.
- 403
Заборонено. API ключ та синтаксис запиту були дійсними, але сервер відмовляється виконати запит. Це може статися, якщо ви пробуєте прочитати або записати об’єкти чи властивості, до яких не маєте доступу.
- 404
Ресурс не знайдено. Або даний метод та шлях запиту не вказують відому дію для API, або об’єкт, вказаний у запиті, не існує.
- 412
Збій під час обробки попередньої умови. Дивіться розділ Pобота з API в режимі API in cluster mode.
- 429
Перевищено допустиму частоту запитів. Дивіться розділ Контроль частоти запитів.
- 500
Помилка сервера. Була проблема зі сторони OpenProcurement.
Відповідь з повідомленням про успіх¶
Кожен успішний запит вичитки, створення, оновлення, чи заміни отримує відповідь, що містить data атрибут. Цей data атрибут містить повне представлення JSON об’єкта після операції. Якщо деякі дані були згенеровані у результаті обробки (наприклад, нові ID об’єкта або modified дата), то вони присутні у відповіді.
Запити списку отримують схожі відповіді, але замість одного об’єкта в data атрибуті, JSON відповідь містить колекцію об’єктів.
Приклад відповіді з повідомленням про успіх¶
Here is a response that describes ....
Відповідь з повідомленням про помилку¶
У випадку помилки, тіло відповіді міститиме errors поле на вищому рівні. Воно містить масив як мінімум одного помилкового об’єкта описаного нижче:
location: | Частина запиту спричинює помилку. Можливі значення це header (заголовок) або body (тіло). |
---|---|
name: |
|
description: | Докладний (придатний для читання людиною) опис помилки. |
Приклад відповіді з повідомленням про помилку¶
Зразок нижче вказує на неповний запит.