API přístup
API je určené pouze pro úřady soudních exekutorů, přes které je možné pouze vkládat a upravovat dražby. Skrze API není možné provádět jednotlivá podání. Přístupové údaje pro API je možné obdržet od technické podpory na e-mailu: helpdesk@portaldrazeb.cz.
Příklad vložení dražby přes API
Informace o změnách
- 2024-03-01: Spuštění nové verze API 2.1.0, změna v přikládání dokumentů (viz FAQ pro vývojáře -> Přílohy).
- 2019-01-01: Spuštění nové verze API 2.0.0, původní verze API již není podporována.
Práce s API
API je koncipováno jako REST-ful, pro komunikaci je použitý datový formát JSON.
Jednotlivé metody doporučujeme volat s hlavičkami application/json, kódování
je UTF-8 (Content-Type: application/json;charset=utf-8
). Pro přístup k jednotlivým
metodám API je nutné získat autorizační token,
dle standardu JWT. Token získáte zasláním
přístupových údajů do sytému, které obdržíte od technické podpory na patřičný autorizační endpoint.
Následně pro práci s ostatními API metodami, vždy zašlete token ve formě HTTP headeru
Authorization: Bearer {token}
.
Ukázku získání API tokenu naleznete v příkladu níže. K dispozici je také automatizovaná dokumentace ve formátu OpenApi 3.0.1 a její zobrazení pomocí nástroje Swagger UI, níže na této stránce.
Věnujte pozornost položce servers v dokumentaci jednotlivých endpointů. V současnosti platí, že všechny endpointy kromě autentizačního mají url prefix /admin, tedy například pro výpis dražeb je potřeba volat GET /admin/auctions.json.
Autentizace
Získání tokenu provedete odesláním requestu na /login/jwt. Úspěšná autentizace vrátí JWT autorizační token + status 200, neúspěšná status 401.
Endpoint
POST /login/jwt
Headers
Content-Type: application/json;charset=utf-8
Body
{
"username": "string",
"password": "string"
}
Response
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1Nzc0ODU3NzAsImV4cCI6MTU3NzQ4OTM3MCwicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJ1c2VybmFtZSI6ImFkbWluQHRlc3QuYXJvZGF4LmNvbSJ9.c6xh1Mgbik2clswF4q8T3cGoUmevqDCS2LzNLDR-pOfCUdjybonkwoi0_BjDuFeFJbrKa0M8yYCevbWE14N4olxxxJZZKzQGIXrnAoQkDNZhkOWNBO7EXZzUT0c176XUdtEBC3fziZQ8K1FGb13cgXw30-RLpkpIc_vjNxOb65kuWzyuYTP5lButKkcwyS8eIsVIkisb7VZFiD_rDNcPD9w6ycT8pW9A4VlhuQYY5_idWhZQHh1J9k8bEVckVjJKWSIhHgnyw6Q6Sx2OZevWIIGrcMXrUiaPiRB6o6x3mWnYpKyqLwqsY8h--9W5cqGx8PwOCMpIiqBReXgJQjCsDvSjYELXmC28_LHfkydG0Pltydn5t250aII-kS01HLsL5vvMWX4aiSqsoNxoAVVGbaqzFNz1ZqcGHmRBvkNHDorxFFlAFbEchMijqd0ptTYfGTIeBMUVUpi5fqSdkakHoJGTYvjR6gYL6slb4Brb_Xh0VidyTPO4gxtnFsQdWTfwq4Oawe707ojn2BlcLpeK6RvWUMLuEGsZuKmyIcd4UnACeMk9V8-ViyXNovdbeBOYP0f8PrNbDmxLR7d-5px1vQFLYE8pl7m0E7s9vdMgqKiGDxVLlGBU_CjihNNaasPUGKYP4_1kx7cjcWcFZ5GwblUNlfrucnt8q938EMOgKBI"
}
Curl
curl -X POST -k -H 'Content-Type: application/json;charset=utf-8' -i 'https://www.portaldrazeb.cz/login/jwt' --data '{
"username": "john@example.com",
"password": "pa$$word"
}'
Autorizace
Do všech requestů na všechny ostatní endpointy vložte autorizační hlavičku a token:
Authorization: Bearer {token}
Headers
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1Nzc0ODU3NzAsImV4cCI6MTU3NzQ4OTM3MCwicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJ1c2VybmFtZSI6ImFkbWluQHRlc3QuYXJvZGF4LmNvbSJ9.c6xh1Mgbik2clswF4q8T3cGoUmevqDCS2LzNLDR-pOfCUdjybonkwoi0_BjDuFeFJbrKa0M8yYCevbWE14N4olxxxJZZKzQGIXrnAoQkDNZhkOWNBO7EXZzUT0c176XUdtEBC3fziZQ8K1FGb13cgXw30-RLpkpIc_vjNxOb65kuWzyuYTP5lButKkcwyS8eIsVIkisb7VZFiD_rDNcPD9w6ycT8pW9A4VlhuQYY5_idWhZQHh1J9k8bEVckVjJKWSIhHgnyw6Q6Sx2OZevWIIGrcMXrUiaPiRB6o6x3mWnYpKyqLwqsY8h--9W5cqGx8PwOCMpIiqBReXgJQjCsDvSjYELXmC28_LHfkydG0Pltydn5t250aII-kS01HLsL5vvMWX4aiSqsoNxoAVVGbaqzFNz1ZqcGHmRBvkNHDorxFFlAFbEchMijqd0ptTYfGTIeBMUVUpi5fqSdkakHoJGTYvjR6gYL6slb4Brb_Xh0VidyTPO4gxtnFsQdWTfwq4Oawe707ojn2BlcLpeK6RvWUMLuEGsZuKmyIcd4UnACeMk9V8-ViyXNovdbeBOYP0f8PrNbDmxLR7d-5px1vQFLYE8pl7m0E7s9vdMgqKiGDxVLlGBU_CjihNNaasPUGKYP4_1kx7cjcWcFZ5GwblUNlfrucnt8q938EMOgKBI
Curl
curl -X GET -k -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1Nzc0ODU3NzAsImV4cCI6MTU3NzQ4OTM3MCwicm9sZXMiOlsiUk9MRV9BRE1JTiJdLCJ1c2VybmFtZSI6ImFkbWluQHRlc3QuYXJvZGF4LmNvbSJ9.c6xh1Mgbik2clswF4q8T3cGoUmevqDCS2LzNLDR-pOfCUdjybonkwoi0_BjDuFeFJbrKa0M8yYCevbWE14N4olxxxJZZKzQGIXrnAoQkDNZhkOWNBO7EXZzUT0c176XUdtEBC3fziZQ8K1FGb13cgXw30-RLpkpIc_vjNxOb65kuWzyuYTP5lButKkcwyS8eIsVIkisb7VZFiD_rDNcPD9w6ycT8pW9A4VlhuQYY5_idWhZQHh1J9k8bEVckVjJKWSIhHgnyw6Q6Sx2OZevWIIGrcMXrUiaPiRB6o6x3mWnYpKyqLwqsY8h--9W5cqGx8PwOCMpIiqBReXgJQjCsDvSjYELXmC28_LHfkydG0Pltydn5t250aII-kS01HLsL5vvMWX4aiSqsoNxoAVVGbaqzFNz1ZqcGHmRBvkNHDorxFFlAFbEchMijqd0ptTYfGTIeBMUVUpi5fqSdkakHoJGTYvjR6gYL6slb4Brb_Xh0VidyTPO4gxtnFsQdWTfwq4Oawe707ojn2BlcLpeK6RvWUMLuEGsZuKmyIcd4UnACeMk9V8-ViyXNovdbeBOYP0f8PrNbDmxLR7d-5px1vQFLYE8pl7m0E7s9vdMgqKiGDxVLlGBU_CjihNNaasPUGKYP4_1kx7cjcWcFZ5GwblUNlfrucnt8q938EMOgKBI' -i 'https://portaldrazeb.cz/admin/auctions.json'
Vložení dražby do systému
Vložení dražby do sytému je provedeno zasláním požadavku metodou POST na adresu /admin/auctions/new/typ dažby/druh předmětu dražby.json. Je třeba mít na paměti, že vzhledem k různým řežimům práce s dražbami, není možné po založení dražby provést změnu například z movitosti na nemovitost a dražbu je nutné založit zcela novou.
typ dražby | druh předmětu | url |
---|---|---|
exekuční | nemovitost | /admin/auctions/new/execution/real.json |
exekuční | movitost | /admin/auctions/new/execution/movable.json |
exekuční | nehmotná | /admin/auctions/new/execution/virtual.json |
Práce s přílohami
Pro vložení příloh či obrázků k dražbě je nejdříve potřeba nahrát přílohu na server, který obratem vrátí jako odpoveď dočasný interní identifikátor souboru. Přílohy jsou na server nahrávány odesláním požadavku metodou POST na danou nahrávací URL upload_file ve formě multipart/form-data, tedy jako standardní webový formulář.
Accept: application/json Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Content-Type: multipart/form-data; Content-Length: 226612
Odpověď ze serveru bude textový řetězec obsahující interní cestu k příloze a HTTP kód odpovědi 201. v případě úspešeného nahrání, případně jeden z chybových kódů.
"/ae19076f7f06a2bddf5acec4a43298e8.pdf"
Uvedený identifikátor souboru je pak použit pro další práci s přílohou.
Práce s časy
Všechny časy vkládané přes API či vrácené z API jsou uváděné v Zulu time / UTC. V GUI jsou pak převedené do cs timezone (CET/CEST).
Spisová značka
Spisová značka musí splňovat regex
/^(\d{3}(DD|EX)\d{1,6}\/\d{2})(-[0-9a-zA-Z]{1,6})?$/
Lze vyzkoušet zde. První trojčílí musí být číslo kanceláře exekutora.
Exekuční dražba musí obsahovat EX v kombinaci s
voluntary:false
, dobrovolná musí obsahovat DD v kombinaci s
voluntary:true
.
Stavy dražby
Workflow přechodů stavu dražby
Typy dokumentů
Array ( [draft] => Array ( [auction_decree] => 1 [expert_report] => 1 [expert_report_appendix] => 1 [resolution_post] => 0 [resolution_pre] => 1 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 1 [initiation_notice] => 1 ) [upcoming] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 0 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [bidding] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 0 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [objections] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 0 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [finished] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 1 [resolution_pre] => 0 [resolution_award] => 1 [resolution_overbid] => 1 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [paid] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 1 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 1 [resolution_defer] => 0 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [deferred] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 1 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 1 [resolution_cancel] => 0 [other_doc] => 0 [initiation_notice] => 0 ) [cancelled] => Array ( [auction_decree] => 0 [expert_report] => 0 [expert_report_appendix] => 0 [resolution_post] => 1 [resolution_pre] => 0 [resolution_award] => 0 [resolution_overbid] => 0 [resolution_paid] => 0 [resolution_defer] => 0 [resolution_cancel] => 1 [other_doc] => 0 [initiation_notice] => 0 ) )
Automatická dokumentace
Níže najdete automatizovaný přehled všech API metod, se kterými je možné pracovat.