{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"40d77160-1d63-4378-a295-b0444491bad8","name":"Elpako Docs","description":"[Elpako](https://) - skaitmeninių/elektroninių dokumentų pasirašymo ir susijusios veiklos paslaugos.\n\n# Apie\n\nElpako susideda iš dviejų dalių:\n\n- API - naudojamas įvairiems pasirašymo procesams valdyti. REST api jūsų sistemai dokumentų įkėlimui, pasirašymui, valdymui ir pan.\n    \n- Naudotojo sąsaja - jeigu jūs nenorite kurti savo personalizuotos naudotojo sąsajos, galima naudoti paruoštą sąsaja. Jūsų sistema gaus adresus(URL), kurie galės būti atidaromi iframe pagalba arba kaip atskiras pasirašymo ar elektroninio dokumento peržiūros langas naršyklėje.\n    \n\n# Autentifikacija į šį servisą\n\nNaudojamas API key autentifikacijos mechanizmas. Kiekviena užklausa į API turi turėti nurodytą užklausos parametrą (query param.) `?access_token=<>`.\n\nPavyzdžiui: `https://api.elpako.lt/api/v1/check.json?access_token=`\n\n**Gateway naudojami adresai nereikalauja access_token parametro. Jūsų sistemai suteikta access_token reikšmė neturi būt matoma viešai.**\n\nNorint gauti demonstracinę access_token reikšmę, tiesiog susisiekite su mumis ([sales@elpako.lt](https://)).\n\n# Užklausos duomenų tipas\n\nŠioje dokumentacijoje pateikti užklausų pavyzdžiai yra form-data tipo. API veikia universaliai ir priima JSON tipo užklausas visoms užklausoms ir visiems parametrams.\n\nPavyzdžiui form-data tipo užklausoje yra laukas signers\\[0\\]\\[id\\]:123\n\nJSON atitikmuo būtų:\n\n`{ \"signers\": [ { \"id\": 123 } ] }`\n\n# Response kodai\n\nVisos API užklausos gražina šiuos kodus:\n\n- 200 - viskas gerai\n    \n- 400 - kažkas negerai. Mums pavyko atsakyti į jūsų užklausą, tačiau kilo kažkokių klaidų, kurios yra detalizuotos errors skiltyje. _Pavyzdžiui, jūs bandėte patikrinti elektroninį dokumentą ir mes jame radome validacijos klaidų._\n    \n- 403 - neautorizuotos užklausos\n    \n- 500 - įvyko kažkas nenumatyto. Mes prisiimame atsakomybę už šias klaidas. Informuokite mus ([support@elpako.lt](https://)).\n    \n\nPavyzdinis atsakymas, kai yra tikrinamas elektroninis dokumentas ir mes radome jame validacijos klaidą:\n\n```\n{\n\"structure\": {...},\n\"message\": \"Atverto dokumento struktūroje aptikta klaidų\",\n\"errors\": [\n    {\n        \"message\": \"El. parašo sertifikatas \\\"CN=John Doe, OU=Employees\\\" išduotas nepatikimo CA\",\n        \"error_code\": 14008,\n        \"field\": \"\",\n        \"signature_id\": \"META-INF/signatures/signatures2.xml#signature_2\"\n    }\n],\n\"status\": \"error\",\n\"error_code\": 8013\n}\n\n ```\n\n# Užklausų kiekio ribojimas (Rate limit)\n\nUžklausos į API nėra ribojamos. Tam kad šios paslaugos išliktų neribojamos - naudokime protingai, nedarykime nereikalingų užklausų.\n\n# Didelių failų operacijos\n\nNaudojant Elpako pasirašymo paslaugą, visas operacijas galima atilikti su failais iki 1GB dydžio (bendra failų suma konteineriniuose el. dokumentuose pvz. ADOC). Visos operacijos priimančios failus turi kelis būdus kaip juos mums pateikti:\n\n1. file\\[content\\] - base64 string tipo parametras\n    \n2. file\\[stream\\] - multipart form-data stream\n    \n\nJeigu planuojate atlikti operacijas su didesniais nei 100MB failais, dėl efektyvumo ir greitaveikos, rekomenduojame naudoti failų perdavimą **stream** būdu. Operacijos su base64 koduotais failas galimos iki 200MB.\n\nPasirašius didelius failus per Gateway(naudotojo sąsają), failą atsisiusti galite irgi dviem būdais:\n\n1. [Failo atsisiuntimas (json)](https://) - base64 string. Iki 200MB.\n    \n2. [Failo atsisiuntimas (stream)](https://) - Palaikoma iki 1GB\n    \n\nAtliekant pasirašymo, archyvavimo ar kitas operacijas per API(nenaudojant naudotojo sąsajos), failo gražinimas į Jūsų sistemą valdomas užklausos metu parametru **file_return_mode: base64string | url** _(default - base64string)_ . Operacijos rezultate gausite arba:\n\n1. file.content - base64 string failą, kurį iškart galėsite išsaugoti\n    \n2. file.download_url - suformuota nuoroda į \"[Failo atsisiuntimas (stream)](https://)\"\n    \n\n# Klaidų kodai\n\n- 0 - Nežinoma klaida\n    \n- 4002 - Rakto „token“ klaida\n    \n- 4100 - Failo turinys neatitinka kontrolinės sumos „digest“ reikšmės\n    \n- 4101 - Failo turinys nėra tinkamai suformuoti pagal base64 koduotę\n    \n- 10000 - Neįmanoma patikrinti ADOC\n    \n- 10008 - PDF dokumentas netinkamas tikrinimui\n    \n- 10009 - Nepavyko rasti nurodyto lauko\n    \n- 10010 - Zip formato klaida\n    \n- 5104 - Sertifikatas yra atšauktas\n    \n- 5105 - Sertifikato grandinės kūrimo klaida\n    \n- 7018 - Nerasta Mobile-ID sesija\n    \n- 7019 - Aptikta nenustatyta autentifikacijos sesijos klaida\n    \n- 7020 - SIM kortelės klaida\n    \n- 7051 - Nepavyko gauti sertifikatų iš mobilaus ryšio operatoriaus\n    \n- 7052 - Mobilus pasirašymas nepavyko\n    \n- 7053 - Mobilus pasirašymas/autentifikacija buvo atšaukta\n    \n- 7054 - Mobiliam pasirašymui/autentifikavimui skirtas laikas baigėsi\n    \n- 7055 - Nepavyko nustatyti sertifikato\n    \n- 7056 - Nepavyko suformuoti elektroninio parašo\n    \n- 7057 - Smart-ID operacija atšaukta\n    \n- 7058 - Smart-ID operacijai skirtas laikas baigėsi\n    \n- 7059 - Nerastas kvalifikuotas Smart-ID sertifikatas\n    \n- 7060 - Nenumatyta klaida smart-id autentifikacijos metu\n    \n- 8001 - Nepavyko atverti dokumento\n    \n- 8002 - Nepavyko atverti dokumento pasirašymui\n    \n- 8013 - Dokumentas turi validacijos klaidų\n    \n- 11002 - Naudojamas nepalaikomas šifravimo algoritmas\n    \n- 11003 - Nepavyko dokumento tikrinimas prieš paruošimą ilgalaikiam saugojimui\n    \n- 11004 - Laiko žymos klaidos\n    \n- 11005 - Naudojamas nepalaikomas šifravimo algoritmas CRL\n    \n- 14001 - Netinkamas ADOC failo turinio formatas\n    \n- 14002 - Laiko žymos uždėjimas nepavyko, reiktų pakartoti vėliau\n    \n- 14003 - Archyvinės laiko žymos uždėjimas nepavyko, reiktų pakartoti vėliau\n    \n- 14004 - Parašas nerastas\n    \n- 14005 - Nepavyko pakelti parašo lygio\n    \n- 14006 - Nepavyko XML parašo validacija\n    \n- 14007 - Sertifikato galiojimo laikas pasibaigė\n    \n- 14008 - Sertifikatas nėra patikimas\n    \n- 14009 - Sertifikato tikrinimas neįvyko\n    \n- 14010 - Sertifikato patikra per CRL nepavyko\n    \n- 14011 - Sertifikato atšaukimo laikotarpis („grace period“) dar nepraėjo\n    \n- 14012 - Laiko žymos uždėjimas negalimas šiam dokumentui\n    \n- 14013 - Archyvinės laiko žymos uždėjimas negalimas šiam dokumentui\n    \n- 14014 - Parašas suarchyvuotas ir baigęs galioti\n    \n- 14015 - Pasirašymui skirto sertifikato validacija nesėkminga\n    \n- 14016 - Sertifikato grandinės kūrimo klaida\n    \n- 14017 - Trūksta sertifikato atšaukimo duomenų\n    \n- 14018 - Trūksta metaduomenų pasirašymui\n    \n- 14019 - Trūksta paprastos laiko žymos prieš archyvavimą\n    \n- 14020 - LTV laiko žymos uždėjimo klaida\n    \n- 14021 - Netinkami užklausos duomenys\n    \n- 14022 - Užklausos duomenys nerasti\n    \n- 14023 - Užklausos laukas yra tuščias\n    \n- 14024 - Failas nėra pasirašytas\n    \n- 14025 - Failas nerastas\n    \n- 14026 - Failas naudojamas kitame pasirašymo procese\n    \n- 14027 - Nepavyko paruošti parašo ilgalaikiam saugojimui. Trūksta atšaukimo duomenų\n    \n- 14028 - Sertifiakte nurodytas asmuo nesutampa su pateiktu\n    \n- 14029 - Sertifiaktas yra nekvalifikuotas\n    \n- 14030 - Trūksta privalomų metaduomenų\n    \n- 15001 - Pasirašymo procesas dar nepradėtas\n    \n- 15002 - Pasirašantysis jau egzistuoja\n    \n- 15003 - Nežinomas pasirašantysis\n    \n- 15004 - Pasirašantysis jau pasirašė\n    \n- 15005 - Pasirašymo procese įvyko klaida\n    \n- 15006 - Pasirašantysis nepriklauso šiam pasirašymo procesui\n    \n- 15007 - Nesutampa pasirašymo metaduomenys\n    \n- 15008 - Api metodui trūksta teisių\n    \n- 15009 - Pasirašantysis atsisakė pasirašyti\n    \n- 15010 - Aptiktas pasirašymas vienu metu to pačio dokumento\n    \n- 15011 - Failas nerastas, kuris nurodytas manifest.xml faile\n    \n- 15012 - Dokumento konteineryje nėra pasirašomo failo\n    \n- 15013 - Neatpažįstamas ASiC formatas\n    \n- 15014 - Netinkamas failo mimetype\n    \n- 15015 - Nepalaikomas parašo tipas\n    \n- 15016 - Nepalaikomas archyvo tipas\n    \n- 15017 - Nepalaikomas konteinerio tipas\n    \n- 15018 - Trūksta manifest ar konteinerio failo\n    \n- 15019 - Vyksta spaudo operacija\n    \n- 15020 - Sertifkato ir parašo duomenys nesutampa\n    \n- 15021 - Sertifikatas netinkamas autentifikacijai\n    \n- 15022 - Autentifikacijos procesas nerastas\n    \n- 15023 - Autentifikacijos procesas nepabaigtas\n    \n- 15024 - Pasirašymo algoritmas ir pasirašymo raktas nesutampa\n    \n- 15025 - Failas per didelis parsisiuntimui base64 formatu\n    \n\n# Testavimo aplinka\n\nTestinės aplinkos adresas: [https://api-staging.elpako.lt](https://)\n\nTestinėje aplinkoje laiko žymos, mobilieji ir Smart-ID parašai yra nekvalifikuoti. T.y. šioje aplinkoje sukurti dokumentai nėra skirti naudoti realiems gyvenimo scenarijams, kitos programinės įrangos gali rodyti, kad parašų sertifikatai yra nepatikimi ir pan.\n\nTestuojant pasirašymą mobiliais įrenginiais, pasirašoma bus netikru(sugeneruotu) sertifikatu.\n\nMobilaus pasirašymo duomenys/scenarijai:\n\n- Tel.nr: betkoks; AK:betkoks - Sėkmingas pasirašymas\n    \n- Tel.nr: +37061234567; AK:36601010001 / 10101010005 - Sėkmingas pasirašymas\n    \n- Tel.nr: +37061234567; AK:36601010002 / 20202020004 - Pasirašymas atšauktas (cancel)\n    \n- Tel.nr: +37061234567; AK:36601010003 / 30303030004 - Pasirašymo laikas baigėsi (timeout)\n    \n- Tel.nr: +37061234567; AK:36601010004 / 40404040009 - Nežinoma klaida iš mob. parašo infrastruktūros\n    \n\nSmart-ID pasirašymo duomenys/scenarijai:\n\n- AK:30303039914 - Sėkmingas pasirašymas\n    \n- AK:30403039917 - Pasirašymas atšauktas (cancel)\n    \n- AK:30403039983 - Pasirašymo laikas baigėsi (timeout)\n    \n\nLT ID pasirašymo duomenys/scenarijai:\n\n- AK:betkoks- Sėkmingas pasirašymas\n    \n- AK:baigiasi skaičiumi 2 - Pasirašymas atšauktas (cancel)\n    \n- AK:baigiasi skaičiumi 3 - Pasirašymo laikas baigėsi (timeout)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"11918038","team":1149963,"collectionId":"40d77160-1d63-4378-a295-b0444491bad8","publishedId":"T17FATVh","public":true,"publicUrl":"https://documenter-api.postman.tech/view/11918038/T17FATVh","privateUrl":"https://go.postman.co/documentation/11918038-40d77160-1d63-4378-a295-b0444491bad8","customColor":{"top-bar":"FFFFFF","right-sidebar":"060A47","highlight":"10BF80"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-11-17T07:40:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Elpako public","id":"26368bd4-c961-46d2-a2f4-b022cf48e685","owner":"11918038","values":[{"key":"env_var_base_url","value":"https://api-staging.elpako.lt","enabled":true},{"key":"env_var_access_token","value":"contact_us_for_demo","enabled":true},{"key":"env_var_seal_key","value":"contact_us_for_demo","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/356ab90790a8189cc4deb5d02baddb3738c6ccfa62c261bbd684d9f00ee70649","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Elpako public","value":"11918038-26368bd4-c961-46d2-a2f4-b022cf48e685"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/T17FATVh"}