lt:xmlcore
Skirtumai
Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
lt:xmlcore [2021/10/11 16:30] – [2.4. Pavyzdys PHP kalba] jaroslav | lt:xmlcore [2022/04/08 13:28] – [3. Atsakymų kodai] modesta | ||
---|---|---|---|
Linija 1: | Linija 1: | ||
======Bendras XML duomenų mainų sąsajos aprašymas====== | ======Bendras XML duomenų mainų sąsajos aprašymas====== | ||
+ | |||
+ | ====Bendra informacija==== | ||
+ | |||
+ | Jei pageidaujama, | ||
Integracijos principai: | Integracijos principai: | ||
- | | + | |
- | * 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. | + | * 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: | + | * 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: |
+ | **Endpoint URL:** [[https:// | ||
- | * **Endpoint URL:** https:// | ||
- | ==== 2.1. Prieiga prie serviso ==== | + | ==== 1. Prieiga prie serviso ==== |
- | Serviso nuorodos yra pasiekiamos '' | + | Serviso nuorodos yra pasiekiamos '' |
<code xml>< | <code xml>< | ||
Linija 28: | Linija 32: | ||
- | ==== 2.2. Informacijos pasiėmimas iš Directo (OUT) ==== | + | ====2. |
+ | 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, | ||
+ | Norėdami išbandyti, naudokite šią formą: [[https:// | ||
+ | |||
+ | |||
+ | === 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 | + | * '' |
- | * **what**=SERVISO_KODAS | + | * '' |
- | * **key**=SUGENERUOTAS_RAKTAS | + | * '' |
Papildomi parametrai yra derinami individualiai pagal poreikį, integracijos derinimo metu. | Papildomi parametrai yra derinami individualiai pagal poreikį, integracijos derinimo metu. | ||
- | <wrap important> | + | Šiame pavyzdyje naudojami '' |
- | Šiuose pavyzdžiuose esančios nuorodos yra iliustracinio pobūdžio. 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. | + | |
- | </wrap> | + | |
- | Šio pavyzdžio atveju yra naudojamas **what** = " | + | Užklausa prekėms pagal išsaugojimo datą (ts = Time stamp): [[https://login.directo.ee/ |
+ | Laiko filtras taip pat gali naudoti laiką taip: & ts = 01.03.2021 12:30 / & ts = 01.03.2021%2012: | ||
Užklausos pavyzdys, norint gauti visų prekių sąrašą: | Užklausos pavyzdys, norint gauti visų prekių sąrašą: | ||
- | |||
https:// | https:// | ||
Užklausos pavyzdys, norint gauti konkrečios prekės informaciją: | Užklausos pavyzdys, norint gauti konkrečios prekės informaciją: | ||
- | |||
https:// | https:// | ||
- | ==== 2.3. Informacijos siuntimas į Directo (IN) ==== | + | == Pirkėjo išvestis (OUT): == |
+ | |||
+ | [[https:// | ||
+ | |||
+ | Filtro parinkčių pavyzdžiai: | ||
+ | |||
+ | == Sandėlio kiekio išvestis (OUT): == | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Filtro parinkčių pavyzdžius: | ||
+ | |||
+ | |||
+ | === 2.3. Informacijos siuntimas į Directo (IN) === | ||
Duomenys siunčiami naudojant '' | Duomenys siunčiami naudojant '' | ||
Užpildomi formos kintamieji: | Užpildomi formos kintamieji: | ||
- | * **put**=1 | + | * '' |
- | * **what**=INVOICE | + | * '' |
- | * **key**=SUGENERUOTAS_RAKTAS | + | * '' |
- | * **xmldata**=<?xml version=" | + | * '' |
- | Šis siuntimas naudojamas, pavyzdžiui, | + | Įvesties |
<wrap important> | <wrap important> | ||
Linija 69: | Linija 87: | ||
</ | </ | ||
- | Tarkime, kad šiuo atveju URL pvz. https:// | + | **Praktinis pavyzdys** |
+ | |||
+ | Tokio tipo įvestis naudojama, pavyzdžiui, | ||
+ | |||
+ | Tarkime, kad šiuo atveju URL pvz. [[https:// | ||
- | Pavyzdinio serviso XSD schemą: | + | Pavyzdinio serviso XSD schemą: |
Pavyzdinis XML: | Pavyzdinis XML: | ||
Linija 124: | Linija 146: | ||
</ | </ | ||
- | ==== 2.4. HTML forma ==== | + | **Pirkėjo įvesties sąsaja: |
+ | |||
+ | Duomenys aprašyti schemoje [[https:// | ||
+ | |||
+ | <code xml> | ||
+ | <? | ||
+ | < | ||
+ | < | ||
+ | </ customer > | ||
+ | </ customers > | ||
+ | </ | ||
+ | |||
+ | === 2.4. HTML forma === | ||
Parametrai, kuriuos reikia nurodyti: | Parametrai, kuriuos reikia nurodyti: | ||
Linija 153: | Linija 187: | ||
- | ==== 2.4. Pavyzdys PHP kalba ==== | + | === 2.5. Pavyzdys PHP kalba === |
Į servisą | Į servisą | ||
Linija 223: | Linija 257: | ||
</ | </ | ||
+ | |||
+ | === 2.6. Postman === | ||
+ | [[https:// | ||
+ | |||
+ | ==== 3. Atsakymų kodai ==== | ||
+ | |||
+ | | **kodas** |**Atsakymo tekstas** |**Pastaba**|**Paaiškinimas**|Description | | ||
+ | | 0 | Created | |Dokumentas sėkmingai sukurtas |Document successfully created| | ||
+ | | 0 | Updated | (if document update feature is used) |Dokumentas sėkmingai atnaujintas (jei naudojamas automatinis dokumentų atnaujinimas)| Document successfully updated (if document update feature is used)| | ||
+ | | 0 | Confirmed | (if auto document confirmation is used) |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, | ||
+ | | 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 | (if code is not used) | Nenusiųstas arba nenustatytas pirkėjo unikalus laukas|Customer unique field has not been sent or set| | ||
+ | | 14 | Update not allowed | (if document is commited or has related documents) | Negalima atnaujinti dokumento (greičiausiai su dokumentu yra kitų susijusių dokumentų)|Unable to renew document (it is possible the document has been linked with other documents)| | ||
+ | | | | ||
+ | | 17 | Document insert failed | ||
+ | | 18 | uniqueid field not found | (needs to be set up correctly in transport parameters) | Nenustatytas unikalus laukas| | ||
+ | | 19 | Removal of document not allowed | | Dokumento ištrinti nepavyko (gali būti patvirtintas, | ||
+ | | 29 | Not confirmed: ... | (if auto document confirmation is used) | Dokumentas nepatvirtintas, | ||
+ | | | | ||
+ | | 30 | Created | (creation of related document like customer, payment etc.) | Antrinis dokumentas sukurtas sėkmingai| | ||
+ | | 30 | Updated | (update of related document like customer, payment etc.) | Antrinis dokumentas atnaujintas sėkmingai | | ||
+ | | 30 | Confirmed | (confirmed related document like payment etc.) | Antrinis dokumentas patvirtintas sėkmingai| | ||
+ | | 31 | ... not found | (prerequisite of creation of related document like customer, payment etc. not met) |(item IN) klaidos priežastis nurodyta atsakyme | | ||
+ | | 39 | ... not confirmed: ... | (if auto document confirmation for related document is in use) | Antrinio dokumento patvirtinti nepavyko, priežastis nurodyrta atsakyme| | ||
+ | | | | ||
+ | | 99 | No processable XML data found for document: |
lt/xmlcore.txt · Keista: 2023/09/15 15:27 vartotojo jaroslav