Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lt:xmlcore [2020/07/28 09:33] aurelija |
lt:xmlcore [2023/09/15 15:27] (esamas) jaroslav [3. Atsakymų kodai] |
||
---|---|---|---|
Linija 1: | Linija 1: | ||
======Bendras XML duomenų mainų sąsajos aprašymas====== | ======Bendras XML duomenų mainų sąsajos aprašymas====== | ||
+ | |||
+ | ====Bendra informacija==== | ||
+ | |||
+ | Jei pageidaujama, kiekvienoje Directo bazėje galima nustatyti duomenų mainų sąsają, įgalinančią dvipusį duomenų srautą. Svarbu atsiminti, kad sąsaja nėra prieinama pagal numatytuosius nustatymus, tačiau konfigūruojama kiekvienu konkrečiu atveju, atsižvelgiant į konkretaus užduočių rinkinio poreikius. Sąsajos įdiegimas yra apmokamas pagal kainoraštį, o apmokėjimo dydis priklauso nuo kiekviena kryptimi judančių duomenų tipų skaičiaus, todėl prieš pradedant darbą, būtina susisiekti su Directo prekybos atstovu ir susitarti dėl tikslių poreikių bei derinti projekto kainą. | ||
Integracijos principai: | Integracijos principai: | ||
- | * Duomenų formatas XML; | + | * Duomenų formatas XML; |
- | * Duomenų koduotė UTF-8; | + | * Duomenų koduotė UTF-8; |
- | * Metodas informacijai pasiekti HTTPS (sertifikatas viešai pripažįstamas); | + | * Metodas informacijai pasiekti HTTPS (sertifikatas viešai pripažįstamas); |
- | * GET metodas naudojamas duomenims gauti; | + | * GET metodas naudojamas duomenims gauti; |
- | * POST metodas yra naudojamas duomenis išsiųsti; | + | * POST metodas yra naudojamas duomenis išsiųsti; |
- | * Duomenų apsikeitimą visuomet inicijuoja išorinė šalis, nepriklausomai nuo apsikeitimo krypties; | + | * Duomenų apsikeitimą visuomet inicijuoja išorinė šalis, nepriklausomai nuo apsikeitimo krypties; |
- | * Į POST užklausą atsakoma sinchronizuotu XML pranešimu, kurio apdorojimas gali daryti įtaką sėkmingam procesui; | + | * Į POST užklausą atsakoma sinchronizuotu XML pranešimu, kurio apdorojimas gali daryti įtaką sėkmingam procesui; |
- | * Duomenų struktūra turi atitikti paruoštą XSD schemą. Pageidaujama reikšmes siųsti atributuose. | + | * Duomenų struktūra turi atitikti paruoštą XSD schemą. Pageidaujama reikšmes siųsti atributuose. |
+ | * Directo dokumentų numerių tipas yra integer, tai reiškia, kad didžiausias galimas skaičius yra 2147483647. | ||
+ | * Tuščios (NULL) reikšmės nebus įtraukiamos į XML su lauko pavadinimu. Tą patį darykite ir siųsdami duomenis į Directo - praleiskite laukus, kuriuose turi būti tuščių (NULL) reikšmių. Reikėtų vengti siųsti laukus su tuščia reikšme, kaip pavyzdžiui: ''customer_code = ""''. | ||
+ | **Endpoint URL:** [[https://login.directo.ee/xmlcore/demo_lt_153/xmlcore.asp]] (Jūsų sukurtam servisui pasikeis tik „demo_lt_153“ dalis). | ||
- | * **Endpoint URL:** https://login.directo.ee/xmlcore/demo_lt_153/xmlcore.asp (Jūsų sukurtam servisui pasikeis tik „demo_lt_153“ dalis). | ||
- | ==== 2.1. Informacijos pasiėmimas iš Directo (OUT) ==== | + | |
+ | ==== 1. Prieiga prie serviso ==== | ||
+ | |||
+ | Serviso nuorodos yra pasiekiamos ''form/urlencoded'' POST metodu. Autorizacijai reikalingas raktas turi būti perduodamas POST metodu kintamajame KEY: 2852DD553B767B463C807ADB36B5BB2F siunčiant užklausą. Jei raktas neteisingas arba raktas siunčiamas neteisingu būdu, gaunamas atsakymas: | ||
+ | <code xml><result type="5" desc="Unauthorized"/></code> | ||
+ | |||
+ | Pavyzdys naudojant cURL: | ||
+ | <code bash> | ||
+ | curl -v -d "key=2852DD553B767B463C807ADB36B5BB2F&what=item&get=1&ts=01.01.2021&code=000001" -H "Content-Type: application/x-www-form-urlencoded" -X POST "https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp" | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ====2. Pavydžiai ==== | ||
+ | Toliau pateikti pavyzdžiai turi būti laikomi tik apytiksliais ir svarbu atsiminti, kad konkrečioje kuriamoje sąsajoje beveik tikrai bus naudojamos kitokios **schemos, URL, parametrai, apribojimai, žinutės atsakymai ir raktai** nei pateiktos pavyzdyje. Jokiu būdu negarantuojama, kad šie URL iš tikrųjų atitiks užklausą. Jei užklausos metu duomenys yra gaunami, jie yra 100% fiktyvūs ir nesusiję su jokių tikrų įmonių duomenimis. | ||
+ | Norėdami išbandyti, naudokite šią formą: [[https://login.directo.ee/xmlcore/demo_ee/webupload.html]] | ||
+ | |||
+ | |||
+ | === 2.1. Informacijos pasiėmimas iš Directo (OUT) === | ||
GET metodo atveju bent 3 parametrai turi būti nurodyti: | GET metodo atveju bent 3 parametrai turi būti nurodyti: | ||
- | * get=1 | + | * ''get=1'' |
- | * what=SERVISO_KODAS | + | * ''what=SERVISO_KODAS'' |
- | * key=SUGENERUOTAS_RAKTAS | + | * ''key=SUGENERUOTAS_RAKTAS'' |
Papildomi parametrai yra derinami individualiai pagal poreikį, integracijos derinimo metu. | Papildomi parametrai yra derinami individualiai pagal poreikį, integracijos derinimo metu. | ||
+ | Šiame pavyzdyje naudojami ''what=item'' ir ''get=1''. Visi filtrai galimi, jei schemoje yra atitinkamas laukas. Pavyzdžiui, "class", "code", "barcode", "supplier", "supplieritem", "closed", "ts" straipsnių aprašomoji struktūros schema: [[https://login.directo.ee/xmlcore/demo_ee /ws_artiklid.xsd]] | ||
- | Šio pavyzdžio atveju yra naudjamas **what** = "item" ir **key** reikšmė yra "20DAF3F822B782AF12D1198C23F45604". Esant poreikiui, galite peržiūrėti šio pavyzdinio serviso XSD schemą: [[http://wiki.directo.ee/_media/et/ws_artiklid.xsd|ws_artiklid.xsd]]. | + | Užklausa prekėms pagal išsaugojimo datą (ts = Time stamp): [[https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?what=item&get=1&ts=01.01.2021]] |
+ | Laiko filtras taip pat gali naudoti laiką taip: & ts = 01.03.2021 12:30 / & ts = 01.03.2021%2012:30 | ||
Užklausos pavyzdys, norint gauti visų prekių sąrašą: | Užklausos pavyzdys, norint gauti visų prekių sąrašą: | ||
- | + | https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=item | |
- | https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=item&key=20DAF3F822B782AF12D1198C23F45604 | + | |
Užklausos pavyzdys, norint gauti konkrečios prekės informaciją: | Užklausos pavyzdys, norint gauti konkrečios prekės informaciją: | ||
+ | https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=item&code=0000 | ||
- | https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=item&code=0000&key=20DAF3F822B782AF12D1198C23F45604 | + | == Pirkėjo išvestis (OUT): == |
- | ==== 2.2. Informacijos siuntimas į Directo (IN) ==== | + | [[https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=customer&ts=01.01.2021]] |
- | Duomenys siunčiami naudojant POST metodą. | + | Filtro parinkčių pavyzdžiai: "code", "loyaltycard", "regno", "email", "phone", "closed", "ts" pirkėjo struktūros schema: https://login.directo.ee/xmlcore/demo_ee/ws_customers.xsd |
- | Užpildomi trys formos kintamieji: | + | == Sandėlio kiekio išvestis (OUT): == |
- | * put=1 | + | |
- | * what=INVOICE | + | |
- | * xmldata=<?xml version="1.0" encoding="utf-8"?><PAYLOAD> | + | |
+ | https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=stocklevel | ||
- | Šis siuntimas naudojamas, pavyzdžiui, kai pardavimo sąskaita yra sugeneruojama išorinėje sistemoje, kurią reikia perduoti į „Directo“. | + | Filtro parinkčių pavyzdžius: "code", "stock", apibūdinanti sandėlio kiekio schema: https://login.directo.ee/xmlcore/demo_ee/ws_laoseis.xsdt |
- | Šiame pavyzdyje nurodyti URL ir XML pvz. yra visiškai išgalvoti ir negali būti naudojami testavimui. Testavimas visada atliekamas realiame procese. | ||
- | Tarkime, kad šiuo atveju URL pvz. https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp | + | === 2.3. Informacijos siuntimas į Directo (IN) === |
- | Pavyzdinio serviso XSD schemą: [[http://wiki.directo.ee/_media/et/xml_in_arved.xsd|xml_in_arved.xsd]]. | + | Duomenys siunčiami naudojant ''form/urlencoded'' POST metodą. |
+ | |||
+ | Užpildomi formos kintamieji: | ||
+ | * ''put=1'' | ||
+ | * ''what=INVOICE'' | ||
+ | * ''key=SUGENERUOTAS_RAKTAS'' | ||
+ | * ''xmldata=<?xml version="1.0" encoding="utf-8"?><PAYLOAD>'' | ||
+ | |||
+ | Įvesties sąsajoje XML turi būti išsiųstas adresu [[https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp]] POST su kintamaisiais ''put = 1'', ''key = [appkey value]'', ''what = order'' (arba ''what = customer'' arba ''what = item'') ir ''xmldata = [XML turinys]'' XML įvestis turi atitikti schemą. | ||
+ | |||
+ | <wrap important> | ||
+ | Šiame pavyzdyje nurodyti URL ir XML pavyzdžiai yra visiškai išgalvoti ir negali būti naudojami testavimui. Testavimas visada atliekamas realiame procese. | ||
+ | </wrap> | ||
+ | |||
+ | **Praktinis pavyzdys** | ||
+ | |||
+ | Tokio tipo įvestis naudojama, pavyzdžiui, kai išorinėje sistemoje generuojami pardavimo užsakymai, kurie turi būti atspindėti Directo. Taip pat, pateikiamas pirkėjų schemos aprašymas. | ||
+ | |||
+ | Tarkime, kad šiuo atveju URL pvz. [[https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp]] | ||
+ | |||
+ | Pavyzdinio serviso XSD schemą: [[http://wiki.directo.ee/_media/et/xml_in_arved.xsd]]. | ||
Pavyzdinis XML: | Pavyzdinis XML: | ||
- | <code> | + | <code xml> |
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<invoices> | <invoices> | ||
- | <invoice AppKey="1234567879012345678790" InvoiceNr="123" | + | <invoice InvoiceNr="123" |
InvoiceDate="2015-06-07" CustomerCode="CUST001"> | InvoiceDate="2015-06-07" CustomerCode="CUST001"> | ||
<lines> | <lines> | ||
Linija 68: | Linija 110: | ||
</code> | </code> | ||
- | Servisas sinchroninškai grąžins XML atsakymą su pranešimu kas įvyko. | + | Servisas sinchroniškai grąžins XML atsakymą su pranešimu kas įvyko. |
Pavyzdžiui įkėlimas buvo sėkmingas ir Directo sąskaitos dokumentui priskyrė numerį 123: | Pavyzdžiui įkėlimas buvo sėkmingas ir Directo sąskaitos dokumentui priskyrė numerį 123: | ||
- | <code> | + | <code xml> |
<?xml version="1.0" encoding="UTF-8" ?> | <?xml version="1.0" encoding="UTF-8" ?> | ||
<results> | <results> | ||
Linija 83: | Linija 125: | ||
Pavyzdžiui sąskaita numeriu 123 buvo atmesta, nes Directo sistemoje jau egzistavo sąskaitos dokumentas tokiu numeriu: | Pavyzdžiui sąskaita numeriu 123 buvo atmesta, nes Directo sistemoje jau egzistavo sąskaitos dokumentas tokiu numeriu: | ||
- | <code> | + | <code xml> |
<?xml version="1.0" encoding="UTF-8" ?> | <?xml version="1.0" encoding="UTF-8" ?> | ||
<results> | <results> | ||
Linija 92: | Linija 134: | ||
Vienu siuntimu galima įkelti kelias sąskaitas iš karto. Tokiu atveju rezultatas turi būti grąžinamas kiekvienai sąskaitai: | Vienu siuntimu galima įkelti kelias sąskaitas iš karto. Tokiu atveju rezultatas turi būti grąžinamas kiekvienai sąskaitai: | ||
- | <code> | + | <code xml> |
<?xml version="1.0" encoding="UTF-8" ?> | <?xml version="1.0" encoding="UTF-8" ?> | ||
<results> | <results> | ||
Linija 100: | Linija 142: | ||
</code> | </code> | ||
- | :!: Svarbu sulaukti atsakymo apie sėkmingą įkėlimą. Jeigu tokio rezultato nesulaukiama arba yra gaunama klaida, siuntimą reikia pakartoti ne anksčiau kaip po minutės. | + | <wrap important> |
+ | Svarbu sulaukti atsakymo apie sėkmingą įkėlimą. Jeigu tokio rezultato nesulaukiama arba yra gaunama klaida, siuntimą reikia pakartoti ne anksčiau kaip po minutės. Reikėtų vengti kelių užklausų siuntimo vienu metu. | ||
+ | </wrap> | ||
- | ==== 2.3. HTML forma ==== | + | **Pirkėjo įvesties sąsaja:** |
+ | |||
+ | Duomenys aprašyti schemoje [[https://login.directo.ee/xmlcore/demo_ee/xml_IN_kliendid.xsd]] . Duomenų registravimas yra toks pat kaip užsakymų registravimas. XML, kuris atitinka schemą, bet nenaudoja visų galimų atributų, gali atrodyti taip: | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version = "1.0" encoding = "utf-8" ?> | ||
+ | <customers > | ||
+ | <customer code = "Customer code1 " name = "Name" address1 = "address11" address2 = "address21" address3 = "address31" email = " email1 " regno = " regno1 " class = " class1 " type = " 1 " > | ||
+ | </ customer > | ||
+ | </ customers > | ||
+ | </code> | ||
+ | |||
+ | === 2.4. HTML forma === | ||
Parametrai, kuriuos reikia nurodyti: | Parametrai, kuriuos reikia nurodyti: | ||
- | * **What** – webserviso pavadinimas. Pvz.: “invoice” jei tai sąskaitos dokumentas. | + | * **What** – web serviso pavadinimas. Pvz.: “invoice” jei tai sąskaitos dokumentas. |
* **Put** – statinis. Visada „1“ jei tai importas į Directo. | * **Put** – statinis. Visada „1“ jei tai importas į Directo. | ||
* **Get** - statinis. Visada „1“ jei tai eksportas iš Directo. | * **Get** - statinis. Visada „1“ jei tai eksportas iš Directo. | ||
+ | * **Key** - web serviso autorizacijos raktas. | ||
* **Xmldata** – dinaminis. Laukus reiktų derinti, kadangi servisas būtų programuojamas individualiai pagal poreikį. | * **Xmldata** – dinaminis. Laukus reiktų derinti, kadangi servisas būtų programuojamas individualiai pagal poreikį. | ||
Linija 113: | Linija 170: | ||
Pavyzdinė užsakymo forma: | Pavyzdinė užsakymo forma: | ||
- | <code> | + | <code html> |
- | <form method="POST" action="https://login.directo.ee/xmlcore/demo_lt_153/xmlcore.asp"> | + | <form method="POST" action="https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp"> |
<input name="what" value="order"> | <input name="what" value="order"> | ||
Linija 120: | Linija 177: | ||
<input name="put" value="1"> | <input name="put" value="1"> | ||
- | <textarea name="xmldata" rows="10"><orders><order key="asdf12345678" order_time="31.01.2018" number="111222" customer_code="FA" customer_name="TEST TEST pirkejas" customer_order="PORD11111" deliverydate="31.01.2018" paymentterm="10" customer_contact="customer contact" phone="phone" email="email@test.com <mailto:email@test.com> " email_notification="email notification" fax="fax" regno="regno" VATno="vatno" comment="comment" address1="Address1" address2="Address2" address3="Address3" deliveryaddress1="DAddress1" deliveryaddress2="DAddress2" deliveryaddress3="DAddress2" order_type="otype" order_status="ostatus"><line item="109819-0001" variant="Dydziai_a" price="100" discount="15" qty="10" unit="unit" description="item description" comment="comment" supplier="supp" rn="1"></line><line barcode="8714554972899" price="100" discount="15" qty="10" unit="unit" description="item description" comment="comment" supplier="supp" rn="2"></line></order></orders></textarea> | + | <input name="key" value="2852DD553B767B463C807ADB36B5BB2F"> |
+ | |||
+ | <textarea name="xmldata" rows="10"><orders><order order_time="31.01.2018" number="111222" customer_code="FA" customer_name="TEST TEST pirkejas" customer_order="PORD11111" deliverydate="31.01.2018" paymentterm="10" customer_contact="customer contact" phone="phone" email="email@test.com <mailto:email@test.com> " email_notification="email notification" fax="fax" regno="regno" VATno="vatno" comment="comment" address1="Address1" address2="Address2" address3="Address3" deliveryaddress1="DAddress1" deliveryaddress2="DAddress2" deliveryaddress3="DAddress2" order_type="otype" order_status="ostatus"><line item="109819-0001" variant="Dydziai_a" price="100" discount="15" qty="10" unit="unit" description="item description" comment="comment" supplier="supp" rn="1"></line><line barcode="8714554972899" price="100" discount="15" qty="10" unit="unit" description="item description" comment="comment" supplier="supp" rn="2"></line></order></orders></textarea> | ||
<input TYPE="submit"> | <input TYPE="submit"> | ||
Linija 128: | Linija 187: | ||
- | ==== 2.4. Pavyzdys PHP kalba ==== | + | === 2.5. Pavyzdys PHP kalba === |
Į servisą galima kreiptis bet kokia kalba, jeigu ta programavimo kalba yra galimybė padaryti https request‘ą, pateikiame pavyzdį PHP kalba: | Į servisą galima kreiptis bet kokia kalba, jeigu ta programavimo kalba yra galimybė padaryti https request‘ą, pateikiame pavyzdį PHP kalba: | ||
**OUT** | **OUT** | ||
- | <code> | + | <code php> |
- | $url = 'https://login.directo.ee/xmlcore/demo_ee/xmlcore.asp?get=1&what=item&key=20DAF3F822B782AF12D1198C23F45604'; | + | $url = 'https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp'; |
+ | $key = '2852DD553B767B463C807ADB36B5BB2F'; | ||
$ch = curl_init(); | $ch = curl_init(); | ||
Linija 141: | Linija 201: | ||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); | curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); | ||
curl_setopt($ch, CURLOPT_URL, $url ); | curl_setopt($ch, CURLOPT_URL, $url ); | ||
- | curl_setopt($ch, CURLOPT_POST, 0); | + | curl_setopt($ch, CURLOPT_POSTFIELDS, 'key='.urlencode($key) . '&what=item&get=1&ts=01.01.2021&code=000001' ); |
+ | curl_setopt($ch, CURLOPT_POST, 1); | ||
+ | |||
$result = curl_exec($ch); | $result = curl_exec($ch); | ||
Linija 152: | Linija 213: | ||
print '<pre>'; | print '<pre>'; | ||
- | + | print_r($data); | |
- | foreach ($data->items->item as $item) { | + | foreach ($data->item as $item) { |
- | print $item['Code'] . chr(9) . '<b>' . $item['Name'] . '</b>' . chr(9) . $item['Class'] . '<br>'; | + | print 'Code:'.$item['code'] . chr(9) . '<b>' . $item['name'] . '</b>' . chr(9) . $item['class'] . '<br>Datafields:<br>'; |
- | foreach ($item->datafields->data as $df ) { | + | foreach ($item->datafields->data as $df ) { |
- | print chr(9) . $df['code'] . ':' . $df['content'] . '<br>'; | + | print chr(9) . $df['code'] . ':' . $df['content'] . '<br>'; |
- | } | + | } |
} | } | ||
</code> | </code> | ||
Linija 163: | Linija 224: | ||
**IN** | **IN** | ||
- | <code> | + | <code php> |
- | $xmldata = '<'.'?xml version="1.0" encoding="UTF-8"?> | + | $url = 'https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp'; |
- | <invoice AppKey="1234567879012345678790" InvoiceNr="123" | + | $key = '2852DD553B767B463C807ADB36B5BB2F'; |
+ | |||
+ | $xmldata = <<<XML | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <invoice InvoiceNr="123" | ||
InvoiceDate="2015-06-07" CustomerCode="CUST001"> | InvoiceDate="2015-06-07" CustomerCode="CUST001"> | ||
<lines> | <lines> | ||
Linija 171: | Linija 236: | ||
<line ProductID="FREESAMPLE" Quantity="1" UnitPriceWoVAT="0.00"/> | <line ProductID="FREESAMPLE" Quantity="1" UnitPriceWoVAT="0.00"/> | ||
</lines> | </lines> | ||
- | </invoice>'; | + | </invoice> |
- | + | XML; | |
- | $url = 'https://login.directo.ee/xmlcore/this_is_the_worlds_greatest_company/xmlcore.asp'; | + | |
$ch = curl_init(); | $ch = curl_init(); | ||
+ | |||
curl_setopt($ch, CURLOPT_HEADER, 0); | curl_setopt($ch, CURLOPT_HEADER, 0); | ||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | ||
Linija 181: | Linija 247: | ||
curl_setopt($ch, CURLOPT_URL, $url ); | curl_setopt($ch, CURLOPT_URL, $url ); | ||
curl_setopt($ch, CURLOPT_POST, 1); | curl_setopt($ch, CURLOPT_POST, 1); | ||
- | + | curl_setopt($ch, CURLOPT_POSTFIELDS, 'key='.urlencode($key).'&xmldata='.urlencode($xmldata).'&put=1&what=invoice' ); | |
- | curl_setopt($ch, CURLOPT_POSTFIELDS, 'xmldata='.urlencode($xmldata).'&put=1&what=invoice' ); | + | |
$result = curl_exec($ch); | $result = curl_exec($ch); | ||
+ | curl_close($ch); | ||
- | print '<textarea cols=80 rows=10>' . $result . '</textarea>'; | + | echo '<pre>'; |
- | curl_close($ch); | + | print '</pre><textarea cols=80 rows=10>' . $result . '</textarea>'; |
</code> | </code> | ||
+ | |||
+ | === 2.6. Postman === | ||
+ | [[https://www.postman.com/|Postman]] aplinkos išvestį ir įvestį galima atsisiųsti [[https://wiki.directo.ee/_media/et/directo.demo.postman_collection.json|čia]], tada importuoti kaip kolekciją į Postman ir ten išbandyti. | ||
+ | |||
+ | ==== 3. Atsakymų kodai ==== | ||
+ | |||
+ | | **kodas** |**atsakymas/Response**|**Paaiškinimas**|**Description**| | ||
+ | | 0 | Created |Dokumentas sėkmingai sukurtas |Document successfully created| | ||
+ | | 0 | Updated |Dokumentas sėkmingai atnaujintas (jei naudojamas automatinis dokumentų atnaujinimas)| Document successfully updated (if document update feature is used)| | ||
+ | | 0 | Confirmed|Dokumentas sėkmingai patvirtintas (jei naudojamas automatinis dokumentų patvirtinimas)|Document successfully confirmed (if auto document confirmation is used)| | ||
+ | | | | ||
+ | | 2 | Too secure location | Informuokite Directo|Please inform Directo| | ||
+ | | 3 | Database is moved to a new server. Takes about 15 minutes |Duomenų bazė perkelta į kitą serverį, prašome palaukti 15 minučių|Database has been transferred to another server, please wait 15 minutes| | ||
+ | | 4 | Database is closed - user count is zero |Duomenų bazė uždaryta | Database closed| | ||
+ | | 5 | Unauthorized | Neteisingas raktas ar neteisingai paduotas raktas (key)|Incorrect key or incorrect given key| | ||
+ | | 6 | Invalid user given | Neegzistuojantis darbuotojas| Non-existent user| | ||
+ | | 7 | Invalid IP source given | Neegzistuojantis arba apribotas darbuotojas|Non-existent or restricted user| | ||
+ | | 8 | Invalid xml given: ... | Klaidingas ar neteisingos struktūros XML (skaityti pranešimo tekstą)|Invalid, incorrectly structured XML (please read the message) | | ||
+ | | 9 | Error on import: ... | Klaida susijusi su procedūra, informuokite Directo|An error is related to the procedure, please inform Directo| | ||
+ | | 11 | Duplicate | Toks dokumentas jau egzistuoja| Document already exists| | ||
+ | | 12 | Missing document identificator | Nenustatytas dokumento unikalus laukas|Document unique field has not been set | | ||
+ | | 13 | Missing customer code / Missing customer regno | Nenusiųstas arba nenustatytas pirkėjo unikalus laukas|Customer unique field has not been sent or set| | ||
+ | | 14 | Update not allowed | Negalima atnaujinti dokumento (greičiausiai su dokumentu yra kitų susijusių dokumentų)|Unable to update document (if document is commited or has related documents)| | ||
+ | | | | ||
+ | | 17 | Document insert failed |Dokumentas nesukurtas, nes nerasta numeracija (nenurodyta, nenustatyta, pasibaigusi,...) |Document not created, this is because the number has not been found (not identified, not set up, expired...)| | ||
+ | | 18 | uniqueid field not found | Nenustatytas unikalus laukas, reikalingi nustatymai transporto parametruose|Unique field has not been set up, please check transports parameters| | ||
+ | | 19 | Removal of document not allowed | Dokumento ištrinti nepavyko (gali būti patvirtintas, yra susijusių dokumentų,...)|Failed to delete document (can be confirmed, it has related documents,...)| | ||
+ | | 29 | Not confirmed: ...| Dokumentas nepatvirtintas, jei naudojamas automatinis patvirtinimas, priežastis pateikta atsakyme|Document not confirmed, reason given in response| | ||
+ | | | | ||
+ | | 30 | Created |Antrinis dokumentas sukurtas sėkmingai (susijusio dokumento: pirkėjo, apmokėjimo,...)|Related document created successfully| | ||
+ | | 30 | Updated |Antrinis dokumentas atnaujintas sėkmingai (susijusio dokumento: pirkėjo, apmokėjimo,...)|Related document updated successfully| | ||
+ | | 30 | Confirmed | Antrinis dokumentas patvirtintas sėkmingai (susijusio dokumento: pirkėjo, apmokėjimo,...)|Related document confirmed successfully| | ||
+ | | 31 | ... not found |Klaidos priežastis nurodyta atsakyme (neįvykdyta būtina sąlyga norint sukurti susijusį dokumentą, pvz., klientas, apmokėjimas ir pan.) |The reason for the error is given in the response (prerequisite of creation of related document like customer, payment etc. not met)| | ||
+ | | 39 | ... not confirmed: ... | Antrinio dokumento patvirtinti nepavyko (jei naudojamas susijusio dokumento automatinis dokumento patvirtinimas), priežastis nurodyrta atsakyme|The related document could not be confirmed (if auto document confirmation for related document is in use), reason is given in the responde| | ||
+ | | | | ||
+ | | 90 | Another request is currently active |Šiuo metu yra vykdoma kita užklausa. Palaukite, kol ankstesnė užklausa bus atlikta prieš siunčiant sekančią užklausą.|Another request is currently active. Please wait until previous request is completed before sending another request.| | ||
+ | | | | ||
+ | | 99 | No processable XML data found for document: ... |Informuokite Directo|Please inform Directo| |